ucar.unidata.idv.chooser.adde
Class AddeImageChooser

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by ucar.unidata.ui.ChooserPanel
                      extended by ucar.unidata.idv.chooser.IdvChooser
                          extended by ucar.unidata.idv.chooser.TimesChooser
                              extended by ucar.unidata.idv.chooser.adde.AddeChooser
                                  extended by ucar.unidata.idv.chooser.adde.AddeImageChooser
All Implemented Interfaces:
ActionListener, ImageObserver, MenuContainer, Serializable, EventListener, Accessible, IdvConstants, ImageSelector
Direct Known Subclasses:
AddeRadarChooser, ImageChooser

public class AddeImageChooser
extends AddeChooser
implements ImageSelector

Widget to select images from a remote ADDE server Displays a list of the descriptors (names) of the image datasets available for a particular ADDE group on the remote server.

Author:
Don Murray
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
protected  String archiveDay
          archive date
protected static String ATTR_NAME
          Xml attr name for the defaults
protected static String ATTR_PATTERN
          Xml attr name for the defaults
protected  JComboBox bandComboBox
          Widget for selecting the band
protected  Hashtable bandTable
          Mapping of area directory to list of BandInfos
protected  JTextField centerElementFld
          Widget for the element center point in the advanced section
protected  JTextField centerLineFld
          Widget for the line center point in the advanced section
protected  ArrayList compsThatNeedDescriptor
          List of JComponent-s that depend on a descriptor being selected to be enabled
static String DESCRIPTOR_TABLE
          Property for the descriptor table
protected  JComboBox descriptorComboBox
          A widget for the list of dataset descriptors
protected  String[] descriptorNames
          The descriptor names
protected  Hashtable descriptorTable
          Descriptor/name hashtable
protected static String FILE_SATBAND
          Property for the satband file
protected static String LABEL_SELECT
          Selection label text
protected  LatLonWidget latLonWidget
          Input for lat/lon center point
protected  JComboBox navComboBox
          Widget for selecting image nav type
protected static String PROP_BAND
          Property for image default value band
protected static String PROP_ID
          Property for image default value id
protected static String PROP_KEY
          Property for image default value key
protected static String PROP_LATLON
          Property for image default value lat/lon
protected static String PROP_LINEELE
          Deprecated. use PROP_LINELE
protected static String PROP_LINELE
          Property for image default value lin/ele
protected static String PROP_LOC
          Property for image default value loc
protected static String PROP_MAG
          Property for image default value mag
protected static String PROP_NAV
          Property for image default value unit
protected static String PROP_NUM
          Property for num
protected static String PROP_PLACE
          Property for image default value place
protected static String PROP_SIZE
          Property for image default value size
protected static String PROP_SPAC
          Property for image default value spac
protected static String PROP_UNIT
          Property for image default value unit
protected static String TAG_DEFAULT
          Xml tag name for the defaults
protected  JComboBox unitComboBox
          Widget for selecting image units
protected static String VALUE_DEFAULT
          identifiere for the default value
 
Fields inherited from class ucar.unidata.idv.chooser.adde.AddeChooser
CMD_CONNECT, DATA_NAME_KEY, DATASET_NAME_KEY, DEFAULT_COMPRESS, DEFAULT_DEBUG, DEFAULT_PORT, DEFAULT_PROJ, DEFAULT_USER, DEFAULT_VERSION, FILE_PUBLICSRV, groupSelector, ignoreStateChangedEvents, LABEL_DATAINTERVAL, LABEL_DATASET, LABEL_DATATYPE, LABEL_SERVER, LABEL_STATIONS, LABEL_TIMES, MSG_TIMES, NEW_SELECTION, passwords, PROP_ADDEPORT, PROP_COMPRESS, PROP_CYD, PROP_DATANAME, PROP_DAY, PROP_DEBUG, PROP_DESCR, PROP_FILE, PROP_GROUP, PROP_HMS, PROP_PARAM, PROP_PORT, PROP_POS, PROP_PROJ, PROP_SELECT, PROP_TIME, PROP_USER, PROP_VERSION, REQ_DATASETINFO, REQ_IMAGEDATA, REQ_IMAGEDIR, REQ_POINTDATA, REQ_TEXT, serverTimeStamp, STATE_CONNECTED, STATE_CONNECTING, STATE_UNCONNECTED, STATUS_ERROR, STATUS_NEEDSLOGIN, STATUS_OK, WIDGET_MUTEX
 
Fields inherited from class ucar.unidata.idv.chooser.TimesChooser
selectedDriver, timesComponents, timesContainer
 
Fields inherited from class ucar.unidata.idv.chooser.IdvChooser
ATTR_ID, ATTR_SHOWDETAILS, dirHistoryCbx, ignoreDirHistory, NULL_PROPERTIES, NULL_STRING, PREF_ADDESERVERS, PREF_CATALOGLIST, PREF_DEFAULTDIR, PREF_IMAGEDESCLIST, PREF_POLLINGINFO, PREF_RADARDESCLIST, PREF_TDSPOINTOBSERVER, PREF_TDSRADARSERVER, PROP_CHOOSER_MAPS, PROP_CHOOSER_PROJECTION_BOUNDS, PROP_CHOOSERCLASSNAME, PROP_STATUS_BACKGROUND, PROP_STATUS_FOREGROUND, PROP_STATUS_TEMPLATE, stationMap
 
Fields inherited from class ucar.unidata.ui.ChooserPanel
cancelButton, CMD_LOAD, contents, GRID_INSETS, GRID_SPACING, GRID_SPACING_H, GRID_SPACING_V, haveData, helpPath, loadButton, MAP_COLOR, simpleMode, statusLabel
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface ucar.unidata.idv.IdvConstants
ARG_B64BUNDLE, ARG_B64ISL, ARG_BUNDLE, ARG_CATALOG, ARG_CHOOSER, ARG_CLEARDEFAULT, ARG_CODE, ARG_CONNECT, ARG_CURRENTTIME, ARG_DATA, ARG_DEBUG, ARG_DEFAULT, ARG_DISPLAY, ARG_DXML, ARG_FIXEDTIME, ARG_HELP, ARG_IMAGE, ARG_IMAGESERVER, ARG_INSTALLPLUGIN, ARG_ISLFILE, ARG_ISLINTERACTIVE, ARG_LISTRESOURCES, ARG_MAINCLASS, ARG_MOVIE, ARG_MSG_DEBUG, ARG_MSG_RECORD, ARG_NODEFAULT, ARG_NOERRORSINGUI, ARG_NOGUI, ARG_NOONEINSTANCE, ARG_NOPLUGINS, ARG_NOPREF, ARG_ONEINSTANCEPORT, ARG_PLUGIN, ARG_PORT, ARG_PRINTJNLP, ARG_PROPERTIES, ARG_SCRIPT, ARG_SERVER, ARG_SETFILES, ARG_SITEPATH, ARG_TEMPLATE, ARG_TEST, ARG_TESTEVAL, ARG_TRACE, ARG_TRACEONLY, ARG_USERPATH, DEFAULT_DATE_FORMAT, DEFAULT_DOCPATH, DEFAULT_MAX_PERMGENSIZE, DEFAULT_TIMEZONE, FILTER_CPT, FILTER_ISL, FILTER_JNLP, FILTER_XIDV, FILTER_XIDVZIDV, FILTER_XML, FILTER_ZIDV, ID_COMMANDSTORUN, ID_DATASOURCES, ID_DISPLAYCONTROLS, ID_IDV, ID_JYTHON, ID_MESSAGE, ID_MISCHASHTABLE, ID_VERSION, ID_VIEWMANAGERS, ID_WINDOWS, INITIAL_PROBE_EARTHLOCATION, NULL_DATA_SELECTION, PREF_ARCHIVEDIR, PREF_ARCHIVENAME, PREF_AUTODISPLAYS_ENABLE, PREF_AUTODISPLAYS_SHOWGUI, PREF_AUTOSELECTDATA, PREF_CACHESIZE, PREF_CONTROLSINTABS, PREF_DATAPREFIX, PREF_DATE_FORMAT, PREF_DISTANCEUNIT, PREF_DOCACHE, PREF_EMBEDDATACHOOSERINDASHBOARD, PREF_EMBEDFIELDSELECTORINDASHBOARD, PREF_EMBEDLEGENDINDASHBOARD, PREF_EMBEDQUICKLINKSINDASHBOARD, PREF_EVENT_KEYBOARDMAP, PREF_EVENT_MOUSEMAP, PREF_EVENT_WHEELMAP, PREF_FAST_RENDER, PREF_FIELD_CACHETHRESHOLD, PREF_FILEREADDIR, PREF_FILEWRITEDIR, PREF_GEOMETRY_BY_REF, PREF_HISTORY, PREF_IMAGE_BY_REF, PREF_LASTVERSION, PREF_LATLON_FORMAT, PREF_LEGEND_SHOWICONS, PREF_LOCALE, PREF_LOOKANDFEEL, PREF_MAX_PERMGENSIZE, PREF_MAXIMAGESIZE, PREF_MEMORY, PREF_NPOT_IMAGE, PREF_OPEN_ASK, PREF_OPEN_MERGE, PREF_OPEN_REMOVE, PREF_PROJ_LIST, PREF_SAMPLINGMODE, PREF_SHOWCONTROLWINDOW, PREF_SHOWDASHBOARD, PREF_SHOWDECODEDIALOG, PREF_SHOWHIDDENFILES, PREF_SHOWQUITCONFIRM, PREF_SITEPATH, PREF_THREADS_DATA, PREF_THREADS_RENDER, PREF_TIMEZONE, PREF_VERTICALCS, PREF_VERTICALUNIT, PREF_WINDOW_SHOWTOOLBAR, PREF_ZIDV_ASK, PREF_ZIDV_DIRECTORY, PREF_ZIDV_SAVETOTMP, PROP_3DMODE, PROP_ABOUTTEXT, PROP_APPRESOURCEPATH, PROP_CHOOSERS, PROP_CHOOSERS_ALL, PROP_CONTROLDESCRIPTORS, PROP_CONTROLDESCRIPTORS_ALL, PROP_DATAHOLDERBOUNDS, PROP_DEFAULTLOCATIONS, PROP_DISPLAYLIST_GROUP, PROP_FIXFILELOCKUP, PROP_JNLPCODEBASE, PROP_JNLPTEMPLATE, PROP_JNLPTITLE, PROP_LOADINGXML, PROP_MAP_GLOBE_LEVEL, PROP_MAP_MAP_LEVEL, PROP_MINIMUMFRAMECYCLETIME, PROP_MONITORPORT, PROP_OLDCONTROLDESCRIPTORS, PROP_ONEINSTANCEPORT, PROP_PREFERENCES, PROP_PROJ_NAME, PROP_RESOURCEFILES, PROP_SHOWCLOCK, PROP_SHOWDASHBOARD, PROP_SHOWDATATREE, PROP_SHOWFORMULAS, PROP_SHOWSPLASH, PROP_SPLASHICON, PROP_UI_DESKTOP, PROP_USE_TIMEDRIVER, PROP_VERSIONFILE, PROP_WINDOW_SCREENSIZEOFFSET, PROP_WINDOW_SIZEHEIGHT, PROP_WINDOW_SIZEWIDTH, PROP_WINDOW_USESCREENSIZE, SUFFIX_BAT, SUFFIX_CPT, SUFFIX_ISL, SUFFIX_JNLP, SUFFIX_RBI, SUFFIX_SH, SUFFIX_XIDV, SUFFIX_XML, SUFFIX_ZIDV
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
AddeImageChooser(IdvChooserManager mgr, Element root)
          Construct an Adde image selection widget
 
Method Summary
protected  void absoluteTimesSelectionChanged()
          Handle the absolute time selection changing
protected  JComponent addDescComp(JComponent comp)
          A utility to add a component to the list of components that need the descriptor
protected  JComponent addPropComp(String propId, JComponent comp)
          Associates the goven JComponent with the PROP_ property identified by the given propId
protected  void addTimesComponent(List comps)
          Add the times component to the list
protected  void appendMiscKeyValues(StringBuffer buff)
          Get any extra key=value pairs that are appended to all requests.
 boolean canDoCancel()
          Can we cancel
protected  boolean canReadTimes()
          Check if we are ready to read times
 void changePlace(String newPlace)
          Change the place
protected  boolean checkForValidValues()
          Check for valid lat/lon values
protected  void clearTimesList()
          Overwrite base class method to clear out the lastAD member here.
protected  void connectToServer()
          Connect to the server.
 void cyclePlace()
          Cycle the place
protected  void descriptorChanged()
          Respond to a change in the descriptor list.
 void doCancel()
          Handle a cancel
 void doLoadInThread()
          User said go, we go.
protected  JComponent doMakeContents()
          Make the UI for this selector.
protected  void enableWidgets()
          Enable or disable the GUI widgets based on what has been selected.
protected  String[] getAdvancedLabels()
          Get the list of advanced property labels
protected  String[] getAdvancedProps()
          Get the list of advanced property names
 void getArchiveDay()
          Show the groupds dialog.
protected  AreaDirectory getASelectedTime()
          Get one of the selected times.
protected  String getBaseUrl(AreaDirectory ad, boolean doTimes, int cnt)
          Create the appropriate request string for the image.
protected  String[] getBaseUrlProps()
          Get the list of properties for the base URL
protected  void getBottomComponents(List bottomComps)
          Add the bottom advanced gui panel to the list
protected  String[] getButtonLabels()
          Get the names for the buttons.
protected  void getComponents(List comps)
          Make the components (label/widget) and return them
 String getDataName()
          This allows derived classes to provide their own name for labeling, etc.
 String getDatasetDescription()
          Deprecated. use #getDatasetName()
 String getDatasetName()
          Get the name of the dataset.
protected  void getDataSourceProperties(Hashtable ht)
          Get the DataSource properties
 String getDataType()
          Get the data type for this chooser
protected  String getDefault(String property, String dflt)
          Get the default value for a key
protected  String getDefaultDisplayType()
          Get the id for the default display type
protected  String getDefaultPropValue(String prop, AreaDirectory ad, boolean forDisplay)
          Get the default property value for the adde request string
protected  int getDefaultRelativeTimeIndex()
          Get the default relative time index
protected  String getDescriptor()
          Get the selected descriptor.
protected  String getDescriptorFromSelection(String selection)
          Get the descriptor relating to the selection.
 String getDescriptorLabel()
          Get the descriptor widget label
 Hashtable getDescriptorTable()
          Get the descriptor table for this chooser
protected  JComponent getExtraAbsoluteTimeComponent()
          Get the time popup widget
protected  boolean getGoodToGo()
          Does this selector have all of its state set to load in data
protected  XmlResourceCollection getImageDefaults()
          Get the xml resource collection that defines the image default xml
 List getImageList()
          Returns a list of the images to load or null if none have been selected.
protected  String getPropertiesDescription()
          Get a description of the properties
protected  String getPropValue(String prop, AreaDirectory ad)
          Get the value for the given property.
 List<BandInfo> getSelectedBandInfos()
          Get the list of BandInfos for the current selected images
 String getSelectedBandName()
          Get the name of the selected band
 String getSelectedDescriptor()
          Get the selected descriptor.
protected  String getSelectedUnit()
          Get the selected calibration unit.
protected  int[] getSize(AreaDirectory ad)
          Get the size for the area directory
protected  String getSizeString(AreaDirectory ad)
          Get the image size string from the directory and defaults
protected  String getUserPropValue(String prop, AreaDirectory ad)
          Get the user supplied property value for the adde request string
 void handleConnect()
          Handle when the user presses the connect button
protected  void handleConnectionError(Exception excp)
          Show the given error to the user.
 void handleUpdate()
          Handle when the user presses the update button
protected  boolean haveDescriptorSelected()
          Check if a descriptor (image type) has been chosen
 void logException(String msg, Exception exc)
          Convenience method for lazy people who don't want to call LogUtil.logException(String, Throwable).
protected  String makeDateTimeString(AreaDirectory ad)
          Create the date time string for the given area directory
protected  String makeDateTimeString(AreaDirectory ad, int cnt, boolean doTimes)
          Create the date time string for the given area directory
protected  AddeImageInfo makeImageInfo(AreaDirectory dir, boolean isRelative, int num)
          Make an AddeImageInfo from a URL and an AreaDirectory
protected  String makeProps(String[] props, AreaDirectory ad)
          A utility that creates the url argument line for the given set of properties.
protected  String makeRequestString(AreaDirectory ad)
          Given the AreaDirectory, create the appropriate request string for the image.
protected  String makeRequestString(AreaDirectory ad, boolean doTimes, int cnt)
          Create the appropriate request string for the image.
protected  List processPropertyComponents()
          Process the property components
protected  List processServerComponents()
          Process server components
 void readTimes()
          Read the set of image times available for the current server/group/type This method is a wrapper, setting the wait cursor and wrapping the call to readTimesInner(); in a try/catch block
protected  void setDescriptors(String[] names)
          Initialize the descriptor list from a list of names
protected  void setImageInfoProps(AddeImageInfo aii, String[] props, AreaDirectory ad)
          Set the properties on the AddeImageInfo from the list of properties
protected  void setSelectedTimes(DateTime[] times)
          Set the selected times in the times list based on the input times
 void setToFullResolution()
          Set to full resolution
 void showAdvanced(JComponent holder)
          Show the advanced settings in the holder
 boolean showAdvancedInTab()
          Should we show the advanced properties component in a separate panel
 void showGroups()
          Show the groups dialog.
 void showPropPanel()
          Show the advanced properties dialog
 void showSettings(JComponent holder)
          Show the settings in the holder
protected  boolean timesOk()
          Do we have times selected.
protected  void updateStatus()
          Update labels, enable widgets, etc.
protected  boolean usePropFromUser(String propId)
          Should we use the user supplied property
 
Methods inherited from class ucar.unidata.idv.chooser.adde.AddeChooser
actionPerformed, addServerComp, addTopComponents, addTopComponents, appendKeyValue, canAccessServer, checkIfServerIsOk, clearOnChange, doConnect, doUpdate, getConnectButton, getDataSetName, getGroup, getGroupType, getGroupUrl, getLoadToolTip, getMiscKeyProps, getMiscKeywords, getPort, getServer, getServerSelector, getState, getUrl, handleConnectFromThread, handleUnknownDataSetError, handleUpdateFromThread, readGroups, readTextLines, removeGroup, removeServer, saveServerState, setGroups, setState, updateServerList
 
Methods inherited from class ucar.unidata.idv.chooser.TimesChooser
addTimeSelectionListener, checkTimesLists, enableAbsoluteTimesList, getAbsoluteTimes, getAbsoluteTimeSelectMode, getDefaultTimeDriverIndex, getDoAbsoluteTimes, getDoRelativeTimes, getDoTimeDrivers, getExtraRelativeTimeComponent, getExtraTimeComponent, getHaveAbsoluteTimesSelected, getNumTimesToSelect, getRelativeTimeIncrement, getRelativeTimeIndices, getRelativeTimesChooser, getRelativeTimesList, getSelectedAbsoluteTimes, getTimeDriverPopupMenu, getTimeDrivers, getTimeLine, getTimesList, haveAnyTimes, haveTimeSelected, makeDatedObjects, makeTimesPanel, makeTimesPanel, makeTimesPanel, makeTimesPanel, popupTimeline, readDrivers, setAbsoluteTimes, setDoAbsoluteTimes, setDoTimeDrivers, setSelectedAbsoluteTime, setSelectedAbsoluteTime, setSelectedAbsoluteTimes, setSelectedAbsoluteTimes, setTimeDrivers, updateTimeDriver, updatetimeline
 
Methods inherited from class ucar.unidata.idv.chooser.IdvChooser
clearSelectedStations, clearStations, closeChooser, createStationMap, decorateButtons, doClose, errorMessage, getAttribute, getContents, getDataManager, getDataSource, getDataSourceId, getDataSourceId, getDataSourcesComponent, getDataSourcesComponent, getDataSourcesComponent, getDataSourcesComponent, getDefaultButtons, getDefaultMap, getDefaultMaps, getDefaultProjection, getDefaultProjectionRect, getHaveStations, getId, getIdv, getMenuTitle, getPreferenceList, getPreferenceList, getPreferenceList, getPreferenceList, getProperty, getProperty, getPropList, getSelectedStation, getSelectedStations, getShowInMenu, getStationMap, getStatusLabel, getStatusLabelBackground, getStatusLabelForeground, getTitle, getXmlNode, haveStationSelected, init, initChooserPanel, initStationMap, isReloadable, makeDataSource, makeDataSource, makeTimeMenus, newSelectedStations, resetDataSourceId, setDataSource, setDataSourceListener, shouldDoUpdateOnFirstDisplay, showNormalCursor, showWaitCursor, startTask, stopTask, stopTaskAndIsOk, taskOk, userMessage, usingStations
 
Methods inherited from class ucar.unidata.ui.ChooserPanel
addPropertyChangeListener, canDoUpdate, clearWaitCursor, doHelp, doLoad, firePropertyChange, getDefaultButtons, getHaveData, getLoadCommandName, getMessageTemplate, getSimpleMode, getStatusComponent, getUpdateToolTip, padLabel, registerStatusComp, revalidate, setHaveData, setHelpPath, setMessageTemplate, setStatus, setStatus, showNormalCursor, showWaitCursor
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

DESCRIPTOR_TABLE

public static final String DESCRIPTOR_TABLE
Property for the descriptor table

See Also:
Constant Field Values

FILE_SATBAND

protected static final String FILE_SATBAND
Property for the satband file

See Also:
Constant Field Values

PROP_BAND

protected static final String PROP_BAND
Property for image default value band

See Also:
Constant Field Values

PROP_ID

protected static final String PROP_ID
Property for image default value id

See Also:
Constant Field Values

PROP_KEY

protected static final String PROP_KEY
Property for image default value key

See Also:
Constant Field Values

PROP_LATLON

protected static final String PROP_LATLON
Property for image default value lat/lon

See Also:
Constant Field Values

PROP_LINEELE

protected static final String PROP_LINEELE
Deprecated. use PROP_LINELE
Property for image default value line/ele

See Also:
Constant Field Values

PROP_LINELE

protected static final String PROP_LINELE
Property for image default value lin/ele

See Also:
Constant Field Values

PROP_LOC

protected static final String PROP_LOC
Property for image default value loc

See Also:
Constant Field Values

PROP_MAG

protected static final String PROP_MAG
Property for image default value mag

See Also:
Constant Field Values

PROP_NUM

protected static final String PROP_NUM
Property for num

See Also:
Constant Field Values

PROP_PLACE

protected static final String PROP_PLACE
Property for image default value place

See Also:
Constant Field Values

PROP_SIZE

protected static final String PROP_SIZE
Property for image default value size

See Also:
Constant Field Values

PROP_SPAC

protected static final String PROP_SPAC
Property for image default value spac

See Also:
Constant Field Values

PROP_UNIT

protected static final String PROP_UNIT
Property for image default value unit

See Also:
Constant Field Values

PROP_NAV

protected static final String PROP_NAV
Property for image default value unit

See Also:
Constant Field Values

TAG_DEFAULT

protected static final String TAG_DEFAULT
Xml tag name for the defaults

See Also:
Constant Field Values

VALUE_DEFAULT

protected static final String VALUE_DEFAULT
identifiere for the default value

See Also:
Constant Field Values

ATTR_NAME

protected static final String ATTR_NAME
Xml attr name for the defaults

See Also:
Constant Field Values

ATTR_PATTERN

protected static final String ATTR_PATTERN
Xml attr name for the defaults

See Also:
Constant Field Values

LABEL_SELECT

protected static final String LABEL_SELECT
Selection label text

See Also:
Constant Field Values

archiveDay

protected String archiveDay
archive date


compsThatNeedDescriptor

protected ArrayList compsThatNeedDescriptor
List of JComponent-s that depend on a descriptor being selected to be enabled


descriptorComboBox

protected JComboBox descriptorComboBox
A widget for the list of dataset descriptors


descriptorNames

protected String[] descriptorNames
The descriptor names


latLonWidget

protected LatLonWidget latLonWidget
Input for lat/lon center point


centerLineFld

protected JTextField centerLineFld
Widget for the line center point in the advanced section


centerElementFld

protected JTextField centerElementFld
Widget for the element center point in the advanced section


descriptorTable

protected Hashtable descriptorTable
Descriptor/name hashtable


bandTable

protected Hashtable bandTable
Mapping of area directory to list of BandInfos


unitComboBox

protected JComboBox unitComboBox
Widget for selecting image units


navComboBox

protected JComboBox navComboBox
Widget for selecting image nav type


bandComboBox

protected JComboBox bandComboBox
Widget for selecting the band

Constructor Detail

AddeImageChooser

public AddeImageChooser(IdvChooserManager mgr,
                        Element root)
Construct an Adde image selection widget

Parameters:
mgr - The chooser manager
root - The chooser.xml node
Method Detail

getImageDefaults

protected XmlResourceCollection getImageDefaults()
Get the xml resource collection that defines the image default xml

Returns:
Image defaults resources

getButtonLabels

protected String[] getButtonLabels()
Get the names for the buttons.

Overrides:
getButtonLabels in class ChooserPanel
Returns:
array of button names

updateStatus

protected void updateStatus()
Update labels, enable widgets, etc.

Overrides:
updateStatus in class AddeChooser

timesOk

protected boolean timesOk()
Do we have times selected. Either we are doing absolute times and there are some selected in the list. Or we are doing relative times and we have done a connect to the server

Returns:
Do we have times

getAdvancedProps

protected String[] getAdvancedProps()
Get the list of advanced property names

Returns:
array of advanced property names

getAdvancedLabels

protected String[] getAdvancedLabels()
Get the list of advanced property labels

Returns:
list of advanced property labels

logException

public void logException(String msg,
                         Exception exc)
Convenience method for lazy people who don't want to call LogUtil.logException(String, Throwable).

Overrides:
logException in class IdvChooser
Parameters:
msg - log message
exc - Exception to log

getDataName

public String getDataName()
This allows derived classes to provide their own name for labeling, etc.

Overrides:
getDataName in class AddeChooser
Returns:
the dataset name

getDescriptorLabel

public String getDescriptorLabel()
Get the descriptor widget label

Returns:
label for the descriptor widget

getDatasetName

public String getDatasetName()
Get the name of the dataset.

Returns:
descriptive name of the dataset.

canReadTimes

protected boolean canReadTimes()
Check if we are ready to read times

Returns:
true if times can be read

descriptorChanged

protected void descriptorChanged()
Respond to a change in the descriptor list.


haveDescriptorSelected

protected boolean haveDescriptorSelected()
Check if a descriptor (image type) has been chosen

Returns:
true if an image type has been chosen

handleConnect

public void handleConnect()
                   throws Exception
Handle when the user presses the connect button

Overrides:
handleConnect in class AddeChooser
Throws:
Exception - On badness

handleUpdate

public void handleUpdate()
                  throws Exception
Handle when the user presses the update button

Overrides:
handleUpdate in class AddeChooser
Throws:
Exception - On badness

clearTimesList

protected void clearTimesList()
Overwrite base class method to clear out the lastAD member here.

Overrides:
clearTimesList in class TimesChooser

showGroups

public void showGroups()
Show the groups dialog. This method is not meant to be called but is public by reason of implementation (or insanity).


getArchiveDay

public void getArchiveDay()
Show the groupds dialog. This method is not meant to be called but is public by reason of implementation (or insanity).


connectToServer

protected void connectToServer()
Connect to the server.


canDoCancel

public boolean canDoCancel()
Can we cancel

Overrides:
canDoCancel in class AddeChooser
Returns:
true

doMakeContents

protected JComponent doMakeContents()
Make the UI for this selector.

Overrides:
doMakeContents in class ChooserPanel
Returns:
The gui

processServerComponents

protected List processServerComponents()
Process server components

Returns:
the list of components

processPropertyComponents

protected List processPropertyComponents()
Process the property components

Returns:
the property components

showAdvancedInTab

public boolean showAdvancedInTab()
Should we show the advanced properties component in a separate panel

Returns:
true

showSettings

public void showSettings(JComponent holder)
Show the settings in the holder

Parameters:
holder - the holder

showAdvanced

public void showAdvanced(JComponent holder)
Show the advanced settings in the holder

Parameters:
holder - the holder of the settings

getBottomComponents

protected void getBottomComponents(List bottomComps)
Add the bottom advanced gui panel to the list

Parameters:
bottomComps - the bottom components

setToFullResolution

public void setToFullResolution()
Set to full resolution


cyclePlace

public void cyclePlace()
Cycle the place


changePlace

public void changePlace(String newPlace)
Change the place

Parameters:
newPlace - new place

showPropPanel

public void showPropPanel()
Show the advanced properties dialog


absoluteTimesSelectionChanged

protected void absoluteTimesSelectionChanged()
Handle the absolute time selection changing

Overrides:
absoluteTimesSelectionChanged in class TimesChooser

getComponents

protected void getComponents(List comps)
Make the components (label/widget) and return them

Parameters:
comps - The list to add components to

addTimesComponent

protected void addTimesComponent(List comps)
Add the times component to the list

Parameters:
comps - List to add to

getExtraAbsoluteTimeComponent

protected JComponent getExtraAbsoluteTimeComponent()
Get the time popup widget

Overrides:
getExtraAbsoluteTimeComponent in class TimesChooser
Returns:
a widget for selecing the day

addPropComp

protected JComponent addPropComp(String propId,
                                 JComponent comp)
Associates the goven JComponent with the PROP_ property identified by the given propId

Parameters:
propId - The property
comp - The gui component that allows the user to set the property
Returns:
Just returns the given comp

usePropFromUser

protected boolean usePropFromUser(String propId)
Should we use the user supplied property

Parameters:
propId - The property
Returns:
Should use the value from the advanced widget

addDescComp

protected JComponent addDescComp(JComponent comp)
A utility to add a component to the list of components that need the descriptor

Parameters:
comp - The component
Returns:
The component

getASelectedTime

protected AreaDirectory getASelectedTime()
Get one of the selected times.

Returns:
One of the selected times.

getDefaultRelativeTimeIndex

protected int getDefaultRelativeTimeIndex()
Get the default relative time index

Overrides:
getDefaultRelativeTimeIndex in class AddeChooser
Returns:
default index

enableWidgets

protected void enableWidgets()
Enable or disable the GUI widgets based on what has been selected.

Overrides:
enableWidgets in class AddeChooser

getDescriptor

protected String getDescriptor()
Get the selected descriptor.

Returns:
the currently selected descriptor.

getDescriptorFromSelection

protected String getDescriptorFromSelection(String selection)
Get the descriptor relating to the selection.

Parameters:
selection - String name from the widget
Returns:
the descriptor

getSelectedDescriptor

public String getSelectedDescriptor()
Get the selected descriptor.

Returns:
the selected descriptor

getSelectedUnit

protected String getSelectedUnit()
Get the selected calibration unit.

Returns:
the selected calibration unit

getDataType

public String getDataType()
Get the data type for this chooser

Overrides:
getDataType in class AddeChooser
Returns:
the data type

getDatasetDescription

public String getDatasetDescription()
Deprecated. use #getDatasetName()

Get a description of the currently selected dataset

Returns:
a description of the currently selected dataset

readTimes

public void readTimes()
Read the set of image times available for the current server/group/type This method is a wrapper, setting the wait cursor and wrapping the call to readTimesInner(); in a try/catch block

Overrides:
readTimes in class AddeChooser

doCancel

public void doCancel()
Handle a cancel

Overrides:
doCancel in class IdvChooser

setSelectedTimes

protected void setSelectedTimes(DateTime[] times)
Set the selected times in the times list based on the input times

Overrides:
setSelectedTimes in class TimesChooser
Parameters:
times - input times

getGoodToGo

protected boolean getGoodToGo()
Does this selector have all of its state set to load in data

Overrides:
getGoodToGo in class AddeChooser
Returns:
Has the user chosen everything they need to choose to load data

setDescriptors

protected void setDescriptors(String[] names)
Initialize the descriptor list from a list of names

Parameters:
names - list of names

getImageList

public List getImageList()
Returns a list of the images to load or null if none have been selected.

Specified by:
getImageList in interface ImageSelector
Returns:
list get the list of image descriptors

makeDateTimeString

protected String makeDateTimeString(AreaDirectory ad,
                                    int cnt,
                                    boolean doTimes)
Create the date time string for the given area directory

Parameters:
ad - The areadirectory to make the dttm string for
cnt - Which number in the list of selected times is this
doTimes - Should we do regular time or create a relative time
Returns:
ADDE image select string ("&DAY=day day&TIME=time time")

makeDateTimeString

protected String makeDateTimeString(AreaDirectory ad)
Create the date time string for the given area directory

Parameters:
ad - AreaDirectory with time
Returns:
ADDE image select string ("&DAY=day day&TIME=time time")

getDefault

protected String getDefault(String property,
                            String dflt)
Get the default value for a key

Parameters:
property - property (key type)
dflt - default value
Returns:
value for key or dflt if not found

appendMiscKeyValues

protected void appendMiscKeyValues(StringBuffer buff)
Get any extra key=value pairs that are appended to all requests.

Overrides:
appendMiscKeyValues in class AddeChooser
Parameters:
buff - The buffer to append to

getSizeString

protected String getSizeString(AreaDirectory ad)
Get the image size string from the directory and defaults

Parameters:
ad - image directory
Returns:
request size

checkForValidValues

protected boolean checkForValidValues()
Check for valid lat/lon values

Returns:
true if values are valid

makeRequestString

protected String makeRequestString(AreaDirectory ad)
Given the AreaDirectory, create the appropriate request string for the image.

Parameters:
ad - AreaDirectory for the image in question.
Returns:
the ADDE request URL

makeRequestString

protected String makeRequestString(AreaDirectory ad,
                                   boolean doTimes,
                                   int cnt)
Create the appropriate request string for the image.

Parameters:
ad - AreaDirectory for the image in question.
doTimes - true if this is for absolute times, false for relative
cnt - image count (position in dataset)
Returns:
the ADDE request URL

getBaseUrl

protected String getBaseUrl(AreaDirectory ad,
                            boolean doTimes,
                            int cnt)
Create the appropriate request string for the image.

Parameters:
ad - AreaDirectory for the image in question.
doTimes - true if this is for absolute times, false for relative
cnt - image count (position in dataset)
Returns:
the ADDE request URL

getBaseUrlProps

protected String[] getBaseUrlProps()
Get the list of properties for the base URL

Returns:
list of properties

makeProps

protected String makeProps(String[] props,
                           AreaDirectory ad)
A utility that creates the url argument line for the given set of properties.

Parameters:
props - The PROP_ properties to make the request string for
ad - The area directory.
Returns:
The adde request string

getPropValue

protected String getPropValue(String prop,
                              AreaDirectory ad)
Get the value for the given property. This can either be the value supplied by the end user through the advanced GUI or is the default

Parameters:
prop - The property
ad - The AreaDirectory
Returns:
The value of the property to use in the request string

getUserPropValue

protected String getUserPropValue(String prop,
                                  AreaDirectory ad)
Get the user supplied property value for the adde request string

Parameters:
prop - The property
ad - The AreaDirectory
Returns:
The value, supplied by the user, of the property to use in the request string

getDefaultPropValue

protected String getDefaultPropValue(String prop,
                                     AreaDirectory ad,
                                     boolean forDisplay)
Get the default property value for the adde request string

Parameters:
prop - The property
ad - The AreaDirectory
forDisplay - Is this to display to the user in the gui
Returns:
The default of the property to use in the request string

setImageInfoProps

protected void setImageInfoProps(AddeImageInfo aii,
                                 String[] props,
                                 AreaDirectory ad)
Set the properties on the AddeImageInfo from the list of properties

Parameters:
aii - The AddeImageInfo
props - list of props to set
ad - The AreaDirectory

getSelectedBandName

public String getSelectedBandName()
Get the name of the selected band

Returns:
the name of the band

getSize

protected int[] getSize(AreaDirectory ad)
Get the size for the area directory

Parameters:
ad - the area directory
Returns:
an array of lines,elements

makeImageInfo

protected AddeImageInfo makeImageInfo(AreaDirectory dir,
                                      boolean isRelative,
                                      int num)
Make an AddeImageInfo from a URL and an AreaDirectory

Parameters:
dir - AreaDirectory
isRelative - true if is relative
num - number (for relative images)
Returns:
corresponding AddeImageInfo

getPropertiesDescription

protected String getPropertiesDescription()
Get a description of the properties

Returns:
a description

handleConnectionError

protected void handleConnectionError(Exception excp)
Show the given error to the user. If it was an Adde exception that was a bad server error then print out a nice message.

Overrides:
handleConnectionError in class AddeChooser
Parameters:
excp - The exception

getDescriptorTable

public Hashtable getDescriptorTable()
Get the descriptor table for this chooser

Returns:
a Hashtable of descriptors and names

getSelectedBandInfos

public List<BandInfo> getSelectedBandInfos()
Get the list of BandInfos for the current selected images

Returns:
list of BandInfos

getDefaultDisplayType

protected String getDefaultDisplayType()
Get the id for the default display type

Overrides:
getDefaultDisplayType in class IdvChooser
Returns:
the display id

doLoadInThread

public void doLoadInThread()
User said go, we go. Simply get the list of images from the imageChooser and create the ADDE.IMAGE DataSource

Overrides:
doLoadInThread in class ChooserPanel

getDataSourceProperties

protected void getDataSourceProperties(Hashtable ht)
Get the DataSource properties

Overrides:
getDataSourceProperties in class IdvChooser
Parameters:
ht - Hashtable of properties