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.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
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
          Property for image default value line/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_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
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_TDSRADARSERVER, PROP_CHOOSER_MAPS, PROP_CHOOSER_PROJECTION_BOUNDS, stationMap
 
Fields inherited from class ucar.unidata.ui.ChooserPanel
cancelButton, CMD_LOAD, contents, GRID_INSETS, GRID_SPACING, haveData, helpPath, loadButton, MAP_COLOR, simpleMode
 
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_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_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_TIMEZONE, FILE_VMSTATE, 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_HISTORY, PREF_LASTVERSION, PREF_LATLON_FORMAT, PREF_LOCALE, PREF_LOOKANDFEEL, PREF_MAXIMAGESIZE, 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_TIMEZONE, PREF_VERTICALCS, PREF_VERTICALUNIT, 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_JNLPCODEBASE, PROP_JNLPTEMPLATE, PROP_JNLPTITLE, PROP_LOADINGXML, PROP_OLDCONTROLDESCRIPTORS, PROP_ONEINSTANCEPORT, PROP_PREFERENCES, PROP_PROJ_NAME, PROP_RESOURCEFILES, PROP_SHOWDASHBOARD, PROP_SHOWDATATREE, PROP_SHOWFORMULAS, PROP_SHOWSPLASH, PROP_SPLASHICON, PROP_UI_DESKTOP, 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.
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()
          _more_
 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 getExtraTimeComponent()
          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)
          _more_
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()
          _more_
protected  List processServerComponents()
          _more_
protected  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 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, getServer, getServerSelector, getState, getUrl, handleConnectFromThread, handleUnknownDataSetError, handleUpdateFromThread, readGroups, readTextLines, removeGroup, removeServer, saveServerState, setGroups, setState, updateServerList
 
Methods inherited from class ucar.unidata.idv.chooser.TimesChooser
checkTimesLists, enableAbsoluteTimesList, getAbsoluteTimes, getAbsoluteTimeSelectMode, getDoAbsoluteTimes, getDoRelativeTimes, getHaveAbsoluteTimesSelected, getNumTimesToSelect, getRelativeTimeIncrement, getRelativeTimeIndices, getRelativeTimesChooser, getRelativeTimesList, getSelectedAbsoluteTimes, getTimesList, haveAnyTimes, haveTimeSelected, makeDatedObjects, makeTimesPanel, makeTimesPanel, makeTimesPanel, popupTimeline, setAbsoluteTimes, setDoAbsoluteTimes, setSelectedAbsoluteTime, setSelectedAbsoluteTime, setSelectedAbsoluteTimes, setSelectedAbsoluteTimes
 
Methods inherited from class ucar.unidata.idv.chooser.IdvChooser
clearSelectedStations, clearStations, closeChooser, createStationMap, decorateButtons, doClose, errorMessage, getAttribute, getContents, getDataManager, getDataSourceId, getDataSourceId, getDataSourcesComponent, getDataSourcesComponent, getDataSourcesComponent, getDataSourcesComponent, getDefaultButtons, getDefaultMap, getDefaultMaps, getDefaultProjection, getDefaultProjectionRect, getId, getIdv, getMenuTitle, getPreferenceList, getPreferenceList, getPreferenceList, getPreferenceList, getProperty, getProperty, getPropList, getSelectedStation, getSelectedStations, getShowInMenu, getStationMap, getTitle, getXmlNode, haveStationSelected, init, initChooserPanel, initStationMap, makeDataSource, makeDataSource, makeTimeMenus, newSelectedStations, resetDataSourceId, setDataSourceListener, shouldDoUpdateOnFirstDisplay, showNormalCursor, showWaitCursor, startTask, stopTask, stopTaskAndIsOk, taskOk, userMessage, usingStations
 
Methods inherited from class ucar.unidata.ui.ChooserPanel
addPropertyChangeListener, clearWaitCursor, doHelp, doLoad, firePropertyChange, getDefaultButtons, getHaveData, getLoadCommandName, getSimpleMode, getStatusComponent, getStatusLabel, getUpdateToolTip, registerStatusComp, revalidate, setHaveData, setHelpPath, setStatus, setStatus
 
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, 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,