Package ucar.unidata.data.profiler
Class AddeProfilerDataSource
java.lang.Object
ucar.unidata.collab.SharableImpl
ucar.unidata.data.DataSourceImpl
ucar.unidata.data.profiler.AddeProfilerDataSource
- All Implemented Interfaces:
Sharable
,DataSource
,DataSourceFactory
,XmlPersistable
A data source for Profiler Network data from an ADDE server.
Can handle three types of Profiler data requests - for station
time/heihgt plots of wind, plan views of wind at a level above MSL,
and 3D plots of multistation wind at all levels.
- Version:
- $Revision: 1.50 $
- Author:
- MetApps/Unidata
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
set of all params to requeststatic final String
set of params for a single stationstatic final String
12 minute profiler data identifierstatic final String
1 hour profiler data identifierstatic final String
30 minute profiler data identifierstatic final String
6 minute profiler data identifierstatic final String
Data source interval identifierstatic final String
Data interval identifierstatic final String
Profile namestatic final String
Profiler server identifierstatic final String
6 minute server interval identifierstatic final String
Hourly server interval identifierstatic final String
Profiler stations identifierstatic final String
Profiler timesFields inherited from class ucar.unidata.data.DataSourceImpl
changeDataPathsCbx, dataCacheKey, dataChoices, geoSelectionPanel, haveBeenUnPersisted, okToContinue, PARAM_SHOW_HIDE, PARAM_SHOW_NO, PARAM_SHOW_YES
Fields inherited from interface ucar.unidata.data.DataSource
DATAPATH_DATE_FORMAT, DATAPATH_DATE_PATTERN, MOST_RECENT, ordinalNames, PROP_AUTOCREATEDISPLAY, PROP_BASEDIRECTORY, PROP_CACHEABLE, PROP_DATACHOICENAME, PROP_DISPLAYPROPERTIES, PROP_DOCUMENTLINKS, PROP_FILEPATTERN, PROP_GEOLOCATION, PROP_ICON, PROP_NAME, PROP_POLLINFO, PROP_RESOLVERURL, PROP_SERVICE_HTTP, PROP_SUBPROPERTIES, PROP_TIMELABELS, PROP_TIMESTRIDE, PROP_TITLE
-
Constructor Summary
ConstructorsConstructorDescriptionNo argument XML persistence constructorAddeProfilerDataSource
(DataSourceDescriptor descriptor, ArrayList stations, Hashtable properties) Create a new AddeProfilerDataSource -
Method Summary
Modifier and TypeMethodDescriptionvoid
Called by DataSourceImpl to make the actual DataChoice(s) and add them to a list of Datachoices; the DataSourceImpl then checks to see if any derived datachoices are possible to derive from these, and shows them if so.protected List
Get the list of times for this datasourceboolean
Check to see if this AddeProfilerDataSource is equal to the object in question.protected Data
getDataInner
(DataChoice dataChoice, DataCategory category, DataSelection dataSelection, Hashtable requestProperties) Actually get the data identified by the given DataChoce.Get the SelectedStations property.int
hashCode()
Return the hashcode for this objectvoid
Extends method in DataSourceImpl to call local initProfiler ()protected static FieldImpl
recastProfilerMultiStationData
(FieldImpl input, int obInt) Take a FieldImpl of National Profiler Network data obtained from the PointDataAdapter.getData() call based on an ADDE source request, and turn it into a FieldImpl of data of different FunctionType.protected static FieldImpl
recastProfilerSingleStationData
(FieldImpl input, int obInt) Take a FieldImpl of National Profiler Network data obtained from the PointDataAdapter.getData() call based on an ADDE source request, and turn it into a FieldImpl of data of different FunctionType.void
setSelectedStations
(List value) Set the SelectedStations property.Methods inherited from class ucar.unidata.data.DataSourceImpl
addActions, addDataChangeListener, addDataChoice, addPropertiesTabs, addReloadTab, applyFieldMask, applyProperties, beginWritingDataToLocalDisk, canAddCurrentName, canCacheDataToDisk, canChangeData, canDoAllLevels, canDoFieldMask, canDoGeoSelection, canDoGeoSelectionMap, canDoGeoSelectionStride, canPoll, canSaveDataToLocalDisk, canShowParameter, checkForInitAfterUnPersistence, clearCachedData, clearFileCache, clearTimes, convertSourceFile, convertToFilesIfDirectory, createAutoDisplay, createCacheKey, createElement, decrOutstandingGetDataCalls, doDirectory, doMakeGeoSelectionPanel, doMakeGeoSelectionPanel, doMakeGeoSelectionPanel, doMakeGeoSubsetPropertiesComponent, doRemove, endWritingDataToLocalDisk, expandIfNeeded, findDataChoice, findDataChoices, flushCache, getAbsoluteDateTimes, getActions, getAlias, getAllDateTimes, getAllDateTimes, getAllLevels, getAllLevels, getAllTimesForTimeDriver, getCache, getCache, getCacheClearDelay, getCacheDataToDisk, getCompositeDataChoices, getData, getData, getDataCachePath, getDataChangeListeners, getDataChoices, getDataContext, getDataInner, getDataIsEditable, getDataPaths, getDataPrefix, getDataSelection, getDataSelectionComponents, getDataSource, getDateTimes, getDateTimeSelection, getDefaultSave, getDescription, getDescriptor, getErrorMessage, getEverChangedName, getExtraGeoSelectionComponent, getExtraTimesComponent, getFileFilterForPolling, getFullDescription, getid, getIdv, getInError, getLocalDirectory, getLocationForPolling, getLocationsForPolling, getMostRecentFiles, getName, getNameForDataSource, getNeedToShowErrorToUser, getNextId, getOutstandingGetDataCalls, getPartialDescription, getPassword, getPathsThatCanBeRelative, getPollingInfo, getProperties, getPropertiesComponents, getPropertiesHeader, getProperty, getProperty, getProperty, getProperty, getProperty, getProperty, getProperty, getRelativePaths, getSampleDataProjection, getSaveDataFileLabel, getSelectedDateTimes, getSelectedDateTimes, getTimesFromDataSelection, getTmpPaths, getTypeName, getUserName, handlePropertiesAction, hasPollingInfo, holdsDateTimes, holdsIndices, identifiedBy, identifiedByName, incrOutstandingGetDataCalls, initAfter, initAfterCreation, initDataChoice, initDataSelectionComponents, initFromXml, isPolling, loadFieldMask, loadFieldMask, loadLatestFile, logException, logException, makeDerivedDataChoices, makeSaveLocalActions, newFileFromPolling, newFilesFromPolling, notifyDataChange, propertiesChanged, putCache, putCache, reloadData, reloadData, reloadProperties, removeCache, removeDataChangeListener, removeDataChoice, removeProperty, replaceDataChoice, resetTmpState, saveDataToLocalDisk, saveDataToLocalDisk, saveDataToLocalDisk, selectTimesFromList, setAlias, setAskToUpdate, setCacheClearDelay, setCacheDataToDisk, setDataEditableStrings, setDataIsEditable, setDataIsRelative, setDataRelativeStrings, setDataSelection, setDateTimeSelection, setDefaultSave, setDescription, setDescriptor, setDirectory, setEverChangedName, setInError, setInError, setInError, setName, setNewFiles, setObjectProperties, setObjectProperty, setPassword, setPollingInfo, setPollLocation, setProperties, setProperty, setProperty, setRelativePaths, setTemplateName, setTmpPaths, setUserName, shouldCache, shouldCache, showPasswordDialog, showPropertiesDialog, showPropertiesDialog, showPropertiesDialog, showWaitDialog, tick, toString, toStringTruncated, updateDetailsText, updateState, writeFieldMaskFile, writeFieldMaskFile
Methods inherited from class ucar.unidata.collab.SharableImpl
applySharableProperties, doShare, doShare, doShareExternal, doShareInternal, getReceiveShareTime, getSharablePropertiesComponent, getShareGroup, getSharing, getUniqueId, initSharable, receiveShareData, removeSharable, setReceiveShareTime, setShareGroup, setSharing, setUniqueId, showSharableDialog
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface ucar.unidata.data.DataSource
getUniqueId
-
Field Details
-
PARAMS_ALL
set of all params to request- See Also:
-
PARAMS_SINGLE
set of params for a single station- See Also:
-
PROFILER_NAME
Profile name- See Also:
-
PROFILER_TIMES
Profiler times- See Also:
-
PROFILER_INT
Data interval identifier- See Also:
-
PROFILER_DATAINT
Data source interval identifier- See Also:
-
PROFILER_STATIONS
Profiler stations identifier- See Also:
-
PROFILER_SERVER
Profiler server identifier- See Also:
-
PROFILER_6MIN
6 minute profiler data identifier- See Also:
-
PROFILER_12MIN
12 minute profiler data identifier- See Also:
-
PROFILER_30MIN
30 minute profiler data identifier- See Also:
-
PROFILER_1HR
1 hour profiler data identifier- See Also:
-
PROFILER_SERVER_INT_6MIN
6 minute server interval identifier- See Also:
-
PROFILER_SERVER_INT_HR
Hourly server interval identifier- See Also:
-
-
Constructor Details
-
AddeProfilerDataSource
No argument XML persistence constructor- Throws:
VisADException
- problem in VisAD
-
AddeProfilerDataSource
public AddeProfilerDataSource(DataSourceDescriptor descriptor, ArrayList stations, Hashtable properties) throws VisADException Create a new AddeProfilerDataSource- Parameters:
descriptor
- description of sourcestations
- stations to getproperties
- extra properties- Throws:
VisADException
- problem accessing data
-
-
Method Details
-
initAfterUnpersistence
public void initAfterUnpersistence()Extends method in DataSourceImpl to call local initProfiler ()- Specified by:
initAfterUnpersistence
in interfaceDataSource
- Overrides:
initAfterUnpersistence
in classDataSourceImpl
-
doMakeDataChoices
public void doMakeDataChoices()Called by DataSourceImpl to make the actual DataChoice(s) and add them to a list of Datachoices; the DataSourceImpl then checks to see if any derived datachoices are possible to derive from these, and shows them if so. Used data supplied in the constructor.- Overrides:
doMakeDataChoices
in classDataSourceImpl
-
getDataInner
protected Data getDataInner(DataChoice dataChoice, DataCategory category, DataSelection dataSelection, Hashtable requestProperties) throws VisADException, RemoteException Actually get the data identified by the given DataChoce. The default is to call the getDataInner that does not take the requestProperties. This allows other, non unidata.data DataSource-s (that follow the old API) to work.- Overrides:
getDataInner
in classDataSourceImpl
- Parameters:
dataChoice
- The data choice that identifies the requested data.category
- The data category of the request.dataSelection
- Identifies any subsetting of the data.requestProperties
- Hashtable that holds any detailed request properties.- Returns:
- The visad.Data object
- Throws:
RemoteException
- Java RMI problemVisADException
- VisAD problem
-
recastProfilerSingleStationData
protected static FieldImpl recastProfilerSingleStationData(FieldImpl input, int obInt) throws VisADException Take a FieldImpl of National Profiler Network data obtained from the PointDataAdapter.getData() call based on an ADDE source request, and turn it into a FieldImpl of data of different FunctionType. Input expects (index -> (TIME, Z, DIR, SPD, DAY)); all reals. Want to make FieldImpl with function (DateTime -> ((z)->(dir,spd)) ) suitable for display by a Unidata windBarbDisplayable. Skip some ob times depending on whether have 1 hourly or 6 minute data, and whether want 1 hour, 30 min, 12 min, or 6 min intervals in the displayed data.- Parameters:
input
- a FieldImpl of NOAA National Profiler Network data obtained from the PointDataAdapter.getData() call based on an ADDE source request.obInt
- an int how many time values to skip to get desired interval- Returns:
- FieldImpl of Profiler obs with rearranged function.
- Throws:
VisADException
-
recastProfilerMultiStationData
protected static FieldImpl recastProfilerMultiStationData(FieldImpl input, int obInt) throws VisADException, RemoteException Take a FieldImpl of National Profiler Network data obtained from the PointDataAdapter.getData() call based on an ADDE source request, and turn it into a FieldImpl of data of different FunctionType. Input expects (index -> (lat, lon, day, TIME, Z, DIR, SPD)); all reals. Want to make FieldImpl with function:(DateTime -> ((lat,lon,z)->(dir,spd)) )
suitable for display by a Unidata windBarbDisplayable.Skip some ob times depending on whether have 1 hourly or 6 minute data, and whether want 1 hour, 30 min, 12 min, or 6 min intervals in the displayed data.
level filtering accepts date in altitude range zlevel +/- 125 meters
- Parameters:
input
- a FieldImpl of NOAA National Profiler Network data obtained from the PointDataAdapter.getData() call based on an ADDE source request.obInt
- an int how many time values to skip to get desired interval- Returns:
- FieldImpl of Profiler obs with rearranged function.
- Throws:
RemoteException
VisADException
-
setSelectedStations
Set the SelectedStations property.- Parameters:
value
- The new value for SelectedStations
-
getSelectedStations
Get the SelectedStations property.- Returns:
- The SelectedStations
-
equals
Check to see if this AddeProfilerDataSource is equal to the object in question.- Overrides:
equals
in classDataSourceImpl
- Parameters:
o
- object in question- Returns:
- true if they are the same or equivalent objects
-
hashCode
public int hashCode()Return the hashcode for this object -
doMakeDateTimes
Get the list of times for this datasource- Overrides:
doMakeDateTimes
in classDataSourceImpl
- Returns:
- empty list from this class
-