edu.wisc.ssec.mcidasv.chooser.adde
Class AddeRaobChooser

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 edu.wisc.ssec.mcidasv.chooser.adde.AddeChooser
                                      extended by edu.wisc.ssec.mcidasv.chooser.adde.AddePointDataChooser
                                          extended by edu.wisc.ssec.mcidasv.chooser.adde.AddeRaobChooser
All Implemented Interfaces:
Constants, ActionListener, ImageObserver, MenuContainer, Serializable, EventListener, Accessible, IdvConstants

public class AddeRaobChooser
extends AddePointDataChooser

A chooser class for selecting Raob data. Mostly just a wrapper around a SoundingSelector that does most of the work

Version:
$Revision$Date: 2011/03/24 16:06:32 $
Author:
IDV development team
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class edu.wisc.ssec.mcidasv.chooser.adde.AddeChooser
AddeChooser.GroupComparator, AddeChooser.ServerComparator
 
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
private  int connectionStep
          This is a virtual timestamp that tracks if the threaded adde connection should be aborted or not
static String DATA_TYPE
          Property for the data type.
private  JComboBox descriptorComboBox2
           
protected  String[] descriptorNames2
           
private  Hashtable descriptorTable2
          Significant level objects corresponding to mandatory level objects
private  String LABEL_SELECT2
           
private  JCheckBox mainHoursCbx
          We need to be able to enable/disable this based on sounding type
private  JList obsList
          list of observations
private  Object readSatelliteTask
           
private  Object readStationTask
          handle on the station update task
private  String satellitePixel
           
private  JTextField satellitePixelTextField
           
private  boolean satelliteSounding
          This flag keeps track of observed/satellite soundings
private  String satelliteTime
           
private  JButton satelliteTimeButton
           
private  JComboBox satelliteTimeComboBox
           
private  JLabel satelliteTimeLabel
          Selector for times when pointing to satellite data (required field)
private  JPanel satelliteTimePanel
           
private  List satelliteTimes
           
private  Vector selectedObs
          selected observations
private  JCheckBox showAll
           
private  boolean showMainHoursOnly
          flag for 0 and 12z only
(package private)  AddeSoundingAdapter soundingAdapter
          sounding adapter used by this selector
private  JList timesList
          list of times
 
Fields inherited from class edu.wisc.ssec.mcidasv.chooser.adde.AddePointDataChooser
archiveDay, archiveDayBtn, archiveDayLabel, DATASET_NAME_KEY, descriptorsAllowPrefix, firstTime, relTimeIncBox, relTimeIncLabel, retry, tryWithoutSampling
 
Fields inherited from class edu.wisc.ssec.mcidasv.chooser.adde.AddeChooser
allServersFlag, cb, CMD_MANAGER, commentList, compsThatNeedDescriptor, connectButton, DESCRIPTOR_TABLE, descriptorComboBox, descriptorLabel, descriptorList, descriptorNames, descriptorTable, ignoreDescriptorChange, LABEL_SELECT, manageButton, nameSeparator, parameterButton, publicButton, restoreElement, separator, serverManager
 
Fields inherited from class ucar.unidata.idv.chooser.adde.AddeChooser
CMD_CONNECT, DATA_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_NUM, 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
drivercbx, 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
 
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 edu.wisc.ssec.mcidasv.Constants
BLANK_COMP_GROUP, COMP_MONITORPANEL, DATASELECTOR_NAME, DEFAULT_DOCPATH, DEFAULT_SERVERSTATE, DISPLAY_NAME, DISPLAYCONTROLLER_NAME, ELEMENT_DOUBLE_WIDTH, ELEMENT_DOUBLEDOUBLE_WIDTH, ELEMENT_HALF_WIDTH, ELEMENT_ONEHALF_WIDTH, ELEMENT_WIDTH, FILTER_MCV, FILTER_MCVMCVZ, FILTER_MCVZ, GAP_RELATED, GAP_UNRELATED, HOMEPAGE_URL, ICON_ACCEPT_SMALL, ICON_ADD_SMALL, ICON_APPLY_SMALL, ICON_BACKGROUND_SMALL, ICON_CANCEL, ICON_CANCEL_SMALL, ICON_CHECKVERSION_SMALL, ICON_COLORTABLE_SMALL, ICON_CONNECT_SMALL, ICON_CONSOLE_SMALL, ICON_DATAEXPLORER_SMALL, ICON_DEFAULTLAYOUT_SMALL, ICON_DEFAULTLAYOUTADD_SMALL, ICON_DEFAULTLAYOUTDELETE_SMALL, ICON_DELETE_SMALL, ICON_DISCONNECT_SMALL, ICON_ERROR_SMALL, ICON_EXCLAMATION_SMALL, ICON_FAVORITE_SMALL, ICON_FAVORITEMANAGE_SMALL, ICON_FAVORITESAVE_SMALL, ICON_FORUMS_SMALL, ICON_GETTINGSTARTED_SMALL, ICON_HELP, ICON_HELP_SMALL, ICON_HELPTIPS_SMALL, ICON_INFORMATION_SMALL, ICON_LAYOUTEDIT_SMALL, ICON_LOCALDATA_SMALL, ICON_LOCATION_SMALL, ICON_MCIDASV_SMALL, ICON_NEWTAB_SMALL, ICON_NEWWINDOW_SMALL, ICON_NEXT_SMALL, ICON_NOTE_SMALL, ICON_OPEN, ICON_OPEN_SMALL, ICON_PREFERENCES_SMALL, ICON_PREVIOUS_SMALL, ICON_RANDOM_SMALL, ICON_RANGEANDBEARING_SMALL, ICON_REDO_SMALL, ICON_REFRESH, ICON_REFRESH_SMALL, ICON_REMOVE_SMALL, ICON_REMOVEDATA_SMALL, ICON_REMOVELAYERS_SMALL, ICON_REMOVELAYERSDATA_SMALL, ICON_SAVE, ICON_SAVE_SMALL, ICON_SAVEAS_SMALL, ICON_SUPPORT_SMALL, ICON_UNDO_SMALL, ICON_UPDATE, ICON_USERSGUIDE_SMALL, LOCAL_ADDE_PORT, MACRO_BUILDDATE, MACRO_COPYRIGHT_YEAR, MACRO_IDV_VERSION, MACRO_VERSION, MACRO_VISAD_VERSION, MAX_MEMORY_32BIT, MCV_BLUE, MCV_BLUE_DARK, NOTICE_URL, OS_OSX, PANEL_NAME, PREF_AUTO_SAVE_DEFAULT_LAYOUT, PREF_CONFIRM_REMOVE_BOTH, PREF_CONFIRM_REMOVE_DATA, PREF_CONFIRM_REMOVE_LAYERS, PREF_IMAGE_PREVIEW, PREF_LIST_ADDE_SERVERS, PREF_LIST_ADVANCED, PREF_LIST_AVAILABLE_DISPLAYS, PREF_LIST_DATA_CHOOSERS, PREF_LIST_FORMATS_DATA, PREF_LIST_GENERAL, PREF_LIST_LOCAL_ADDE, PREF_LIST_NAV_CONTROLS, PREF_LIST_TOOLBAR, PREF_LIST_VIEW, PREF_OPEN_LIMIT_WIN, PREF_PRERELEASE_CHECK, PREF_SAVE_DASHBOARD_VIZ, PREF_SERVERSTATE, PREF_SYSTEMSERVERSIMG, PREF_TBM_SIZE, PREF_VERSION_CHECK, PRERELEASE_URL, PROP_ABOUTTEXT, PROP_APP_ICON, PROP_BUILD_DATE, PROP_CHAN, PROP_COPYRIGHT_YEAR, PROP_DASHBOARD_BOUNDS, PROP_HOMEPAGE, PROP_SERVERS, PROP_SERVERS_ALL, PROP_SYSMEM, PROP_TABBED_UI, PROP_VERSION_MAJOR, PROP_VERSION_MINOR, PROP_VERSION_RELEASE, PROP_VERSIONFILE, PROP_VISAD_DATE, PROP_VISAD_ORIGINAL, PROP_VISAD_PARSE_FAIL, PROP_VISAD_REVISION, PROP_VP_CATOPEN, PROP_VP_SHOWCATS, PROP_VP_SHOWPOPUP, PROPERTIES_FILE, SCRUB_STRINGS_FILE, SUFFIX_MCV, SUFFIX_MCVZ, USER_DIRECTORY_NAME, VERSION_HANDLER_URL, VERSION_URL
 
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_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_NCIDV_VERSION, ID_VERSION, ID_VIEWMANAGERS, ID_WINDOWS, INITIAL_PROBE_EARTHLOCATION, NULL_DATA_SELECTION, NULL_STRING, 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_LARGE_REMOTE_DATA_WARN, 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_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_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
AddeRaobChooser(IdvChooserManager mgr, Element root)
          Construct a RaobChooser using the manager and the root XML that defines this object.
 
Method Summary
private  void checkSetObsSat()
          See if we are pointing to observed or satellite soundings
protected  void clearOnChange(JComboBox box)
          Add a listener to the given combobox that will set the state to unconnected
protected  void clearStations()
          Override clearStations to clear times as well
protected  void clearTimes()
          Remove all times from the user lists
protected  void connectToServer()
          Method to call if the server changed.
protected  StationLocationMap createStationMap()
          Overwrite base class method to create the station map with the appropriate properties.
private  JList createTimesList()
          Create the list of times.
protected  void descriptorChanged()
          Respond to a change in the descriptor list.
protected  void descriptorChanged(boolean checkObsSat)
          Respond to a change in the descriptor list.
 void doLoadInThread()
          Load the data source in a thread
 JComponent doMakeContents()
          Make the UI for this selector.
private  void doUpdateInner(boolean forceNewAdapter)
          Really update station map.
protected  void enableWidgets()
          Enable or disable the GUI widgets based on what has been selected.
private  List getCurrentSelectedStations()
          This looks in the selectedList of SoundingOb-s for all stations that are selected for the current time.
 String getDataName()
          Tell the AddeChooser our name
protected  String getDefaultDisplayType()
          get default display to create
protected  String getDescriptor2()
          Get the selected descriptor.
 String getDescriptorLabel()
          Get the descriptor widget label.
private  String getMandatoryDataset()
          Get the mandatory dataset name.
 List getSelectedSoundings()
          Get the selected soundings
 DateTime getSelectedTime()
          Get the selected time.
 List getSelectedTimes()
          Get the selected time.
private  String getSigLevelDataset()
          Get the sig level dataset name.
 void handleUpdate()
          Update the widget with the latest data.
protected  boolean haveTimeSelected()
          Are there any times selected.
protected  void initStationMap(StationLocationMap stationMap)
          Initialize the stations
protected  JPanel makeTimesPanel()
          Add the times selector to the component.
private  void newTimes(List times)
          Set the new times
private  void obsListClicked(MouseEvent event)
          Handle the selection of an ob
protected  void readDescriptors()
          Generate a list of image descriptors for the descriptor list.
 void readTimes()
          Do nothing for read times...
protected  void resetDescriptorBox()
          Reset the descriptor stuff
private  void sampleTimes()
          Wrapper for sampleTimesInner Starts in a new thread and handles UI updating
private  void sampleTimesInner()
          Different way of reading times... for satellite soundings, do the following: PTLIST GROUP/DESCRIPTOR.Z SEL='ROW X; COL Y' PAR=TIME where Z starts at 0 (expect an error), then goes to 1 and increases monotonically in outer loop until error and X starts at 1 and increases monotonically in middle loop until error and Y starts at 1 and increases by 25000 or so in inner loop until error This samples times across the dataset
private  void setAvailableStations(boolean forceNewAdapter)
          Update the station map with available stations.
protected  void setDescriptors2(String[] names2)
          Initialize the descriptor list from a list of names
protected  void setSoundingAdapter(AddeSoundingAdapter newAdapter)
          Set the SoundingAdapter used by this selector
private  void setStations()
          Get the current list of stations that are selected
private  void setTimesListData(List selected)
          Set the data in the times list
private  void stationSelected(Station station)
          Handle a station selection
private  void stationUnselected(Station station)
          Unselect a station
 boolean timesOk()
          Do we have times selected.
private  void unselectAll()
          Unselect all station
protected  void updateStatus()
          Update labels, etc.
 
Methods inherited from class edu.wisc.ssec.mcidasv.chooser.adde.AddePointDataChooser
appendRequestSelectClause, canReadTimes, doCancel, doMakeContents, getArchiveDay, getDataType, getDayTimeSelectString, getExtraTimeComponentAbsolute, getExtraTimeComponentRelative, getGroupType, getRelativeTimeIncrement, getRelBoxString, getRelBoxValue, getRequestUrl, getSelectedStationModel, getTimesRequest, handleConnectionError, isProfiler, isSynoptic, isUpperAir, readFromServer, readTimesInner, setRelativeTimeIncrement
 
Methods inherited from class edu.wisc.ssec.mcidasv.chooser.adde.AddeChooser
actionPerformed, addDescComp, appendMiscKeyValues, canAccessServer, checkIfServerIsOk, checkTimesLists, clearParameterSet, containsGroupName, containsServerName, doClickLoad, doManager, doParameters, getAccounting, getAccounting, getAccountingInfo, getAddeServer, getDefaultRelativeTimeIndex, getDescriptor, getDescriptorFromSelection, getDescriptorTable, getGroup, getGroup, getLastAddedProj, getLastAddedUser, getNumTimesToSelect, getParameterSetType, getSelectedDescriptor, getSelectorIndex, getServer, getServerSelector, getStateString, handleConnect, handleUnknownDataSetError, haveDescriptorSelected, hideParameterButton, isGroupEditable, isLocalServer, isLocalServer, isSeparator, makeTimesPanel, onServerManagerDataEvent, onServerManagerWindowEvent, restoreAbsoluteTimes, restoreParameterSet, saveServerState, setAbsoluteTimes, setDescriptors, setHaveData, setInnerPanel, setSelectString, setStatus, showGroups, showParameterButton, showServers, updateGroups, updateServerList, updateServers
 
Methods inherited from class ucar.unidata.idv.chooser.adde.AddeChooser
addServerComp, addTopComponents, addTopComponents, appendKeyValue, canDoCancel, doConnect, doUpdate, getConnectButton, getDataSetName, getGoodToGo, getGroupUrl, getLoadToolTip, getMiscKeyProps, getMiscKeywords, getPort, getState, getUrl, handleConnectFromThread, handleUpdateFromThread, readGroups, readTextLines, removeGroup, removeServer, setGroups, setState
 
Methods inherited from class ucar.unidata.idv.chooser.TimesChooser
absoluteTimesSelectionChanged, addTimeSelectionListener, checkActiveViewWithDriver, clearTimesList, disableTimeWidgets, doLoad, enableAbsoluteTimesList, enableTimeWidgets, getAbsoluteTimes, getAbsoluteTimeSelectMode, getDefaultTimeDriverIndex, getDoAbsoluteTimes, getDoRelativeTimes, getDoTimeDrivers, getExtraAbsoluteTimeComponent, getExtraRelativeTimeComponent, getExtraTimeComponent, getHaveAbsoluteTimesSelected, getRelativeTimeIndices, getRelativeTimesChooser, getRelativeTimesList, getSelectedAbsoluteTimes, getTimeDriverPopupMenu, getTimeDrivers, getTimeLine, getTimesList, haveAnyTimes, makeDatedObjects, makeTimesPanel, makeTimesPanel, makeTimesPanel, popupTimeline, readDrivers, setDoAbsoluteTimes, setDoTimeDrivers, setSelectedAbsoluteTime, setSelectedAbsoluteTime, setSelectedAbsoluteTimes, setSelectedAbsoluteTimes, setSelectedTimes, setTimeDrivers, updateTimeDriver, updatetimeline
 
Methods inherited from class ucar.unidata.idv.chooser.IdvChooser
clearSelectedStations, closeChooser, decorateButtons, doClose, errorMessage, getAttribute, getContents, getDataManager, getDataSource, getDataSourceId, getDataSourceId, getDataSourceProperties, 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, isReloadable, logException, 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, firePropertyChange, getButtonLabels, getDefaultButtons, getHaveData, getLoadCommandName, getMessageTemplate, getSimpleMode, getStatusComponent, getUpdateToolTip, padLabel, registerStatusComp, revalidate, setHelpPath, setMessageTemplate, 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

DATA_TYPE

public static String DATA_TYPE
Property for the data type.


descriptorTable2

private Hashtable descriptorTable2
Significant level objects corresponding to mandatory level objects


descriptorComboBox2

private JComboBox descriptorComboBox2

descriptorNames2

protected String[] descriptorNames2

LABEL_SELECT2

private String LABEL_SELECT2

showAll

private JCheckBox showAll

readSatelliteTask

private Object readSatelliteTask

satelliteSounding

private boolean satelliteSounding
This flag keeps track of observed/satellite soundings


satelliteTimeLabel

private JLabel satelliteTimeLabel
Selector for times when pointing to satellite data (required field)


satelliteTimePanel

private JPanel satelliteTimePanel

satelliteTimeButton

private JButton satelliteTimeButton

satelliteTimeComboBox

private JComboBox satelliteTimeComboBox

satellitePixelTextField

private JTextField satellitePixelTextField

satelliteTime

private String satelliteTime

satellitePixel

private String satellitePixel

satelliteTimes

private List satelliteTimes

mainHoursCbx

private JCheckBox mainHoursCbx
We need to be able to enable/disable this based on sounding type


connectionStep

private int connectionStep
This is a virtual timestamp that tracks if the threaded adde connection should be aborted or not


readStationTask

private Object readStationTask
handle on the station update task


timesList

private JList timesList
list of times


obsList

private JList obsList
list of observations


selectedObs

private Vector selectedObs
selected observations


soundingAdapter

AddeSoundingAdapter soundingAdapter
sounding adapter used by this selector


showMainHoursOnly

private boolean showMainHoursOnly
flag for 0 and 12z only

Constructor Detail

AddeRaobChooser

public AddeRaobChooser(IdvChooserManager mgr,
                       Element root)
Construct a RaobChooser using the manager and the root XML that defines this object.

Parameters:
mgr - IdvChooserManager that controls this chooser.
root - root element of the XML that defines this object
Method Detail

getDataName

public String getDataName()
Tell the AddeChooser our name

Overrides:
getDataName in class AddePointDataChooser
Returns:
The name

getDescriptorLabel

public String getDescriptorLabel()
Get the descriptor widget label.

Overrides:
getDescriptorLabel in class AddePointDataChooser
Returns:
label for the descriptor widget

getDefaultDisplayType

protected String getDefaultDisplayType()
get default display to create

Overrides:
getDefaultDisplayType in class IdvChooser
Returns:
default display

getMandatoryDataset

private String getMandatoryDataset()
Get the mandatory dataset name.

Returns:
mandatory dataset name

getSigLevelDataset

private String getSigLevelDataset()
Get the sig level dataset name.

Returns:
sig level dataset name

clearOnChange

protected void clearOnChange(JComboBox box)
Add a listener to the given combobox that will set the state to unconnected

Overrides:
clearOnChange in class AddeChooser
Parameters:
box - The box to listen to.

resetDescriptorBox

protected void resetDescriptorBox()
Reset the descriptor stuff

Overrides:
resetDescriptorBox in class AddeChooser

setDescriptors2

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

Parameters:
names - list of names

getDescriptor2

protected String getDescriptor2()
Get the selected descriptor.

Returns:
the currently selected descriptor.

connectToServer

protected void connectToServer()
Method to call if the server changed.

Overrides:
connectToServer in class AddeChooser

timesOk

public boolean timesOk()
Do we have times selected.

Overrides:
timesOk in class AddePointDataChooser
Returns:
Do we have times

haveTimeSelected

protected boolean haveTimeSelected()
Are there any times selected.

Overrides:
haveTimeSelected in class AddePointDataChooser
Returns:
Any times selected.

readTimes

public void readTimes()
Do nothing for read times... doUpdateInner handles all of this with an AddeSoundingAdapter

Overrides:
readTimes in class AddePointDataChooser

sampleTimes

private void sampleTimes()
Wrapper for sampleTimesInner Starts in a new thread and handles UI updating


sampleTimesInner

private void sampleTimesInner()
Different way of reading times... for satellite soundings, do the following: PTLIST GROUP/DESCRIPTOR.Z SEL='ROW X; COL Y' PAR=TIME where Z starts at 0 (expect an error), then goes to 1 and increases monotonically in outer loop until error and X starts at 1 and increases monotonically in middle loop until error and Y starts at 1 and increases by 25000 or so in inner loop until error This samples times across the dataset


readDescriptors

protected void readDescriptors()
Generate a list of image descriptors for the descriptor list.

Overrides:
readDescriptors in class AddePointDataChooser

checkSetObsSat

private void checkSetObsSat()
See if we are pointing to observed or satellite soundings


clearStations

protected void clearStations()
Override clearStations to clear times as well

Overrides:
clearStations in class IdvChooser

clearTimes

protected void clearTimes()
Remove all times from the user lists


updateStatus

protected void updateStatus()
Update labels, etc.

Overrides:
updateStatus in class AddePointDataChooser

createStationMap

protected StationLocationMap createStationMap()
Overwrite base class method to create the station map with the appropriate properties.

Overrides:
createStationMap in class IdvChooser
Returns:
The new station map

initStationMap

protected void initStationMap(StationLocationMap stationMap)
Initialize the stations

Overrides:
initStationMap in class IdvChooser
Parameters:
stationMap - The station map

stationSelected

private void stationSelected(Station station)
Handle a station selection

Parameters:
station - selected station

stationUnselected

private void stationUnselected(Station station)
Unselect a station

Parameters:
station - station to unselect

unselectAll

private void unselectAll()
Unselect all station


getCurrentSelectedStations

private List getCurrentSelectedStations()
This looks in the selectedList of SoundingOb-s for all stations that are selected for the current time. It creates and returns a list of the Station-s held by these current SoundingOb-s

Returns:
list of currently selected stations

setStations

private void setStations()
Get the current list of stations that are selected


setSoundingAdapter

protected void setSoundingAdapter(AddeSoundingAdapter newAdapter)
Set the SoundingAdapter used by this selector

Parameters:
newAdapter - new adapter

setTimesListData

private void setTimesListData(List selected)
Set the data in the times list

Parameters:
selected - a list of times that should be selected

getSelectedTime

public DateTime getSelectedTime()
Get the selected time.

Returns:
the time selected in the list

getSelectedTimes

public List getSelectedTimes()
Get the selected time.

Returns:
the time selected in the list

createTimesList

private JList createTimesList()
Create the list of times.

Returns:
List of times

newTimes

private void newTimes(List times)
Set the new times

Parameters:
times - new times to use

getSelectedSoundings

public List getSelectedSoundings()
Get the selected soundings

Returns:
List of selected soundings

obsListClicked

private void obsListClicked(MouseEvent event)
Handle the selection of an ob

Parameters:
event - MouseEvent for selection

handleUpdate

public void handleUpdate()
                  throws Exception
Update the widget with the latest data.

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

enableWidgets

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

Overrides:
enableWidgets in class AddePointDataChooser

descriptorChanged

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

Overrides:
descriptorChanged in class AddeChooser

descriptorChanged

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


setAvailableStations

private void setAvailableStations(boolean forceNewAdapter)
Update the station map with available stations.


doUpdateInner

private void doUpdateInner(boolean forceNewAdapter)
Really update station map.

Parameters:
forceNewAdapter - If true then create a new adapter. Else, tell the existing one to update.

doLoadInThread

public void doLoadInThread()
Load the data source in a thread

Overrides:
doLoadInThread in class AddePointDataChooser

makeTimesPanel

protected JPanel makeTimesPanel()
Add the times selector to the component.

Overrides:
makeTimesPanel in class AddePointDataChooser
Returns:
superclass component with extra stuff

doMakeContents

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

Overrides:
doMakeContents in class AddePointDataChooser
Returns:
The gui