Package ucar.unidata.data.text
Class NwxTextProductDataSource
java.lang.Object
ucar.unidata.collab.SharableImpl
ucar.unidata.data.DataSourceImpl
ucar.unidata.data.FilesDataSource
ucar.unidata.data.text.TextProductDataSource
ucar.unidata.data.text.NwxTextProductDataSource
- All Implemented Interfaces:
Sharable
,DataSource
,DataSourceFactory
,XmlPersistable
- Direct Known Subclasses:
AddeTextProductDataSource
A class for handling text products configured from NWX tables
- Version:
- $Revision: 1.15 $
- Author:
- IDV development team
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected class
Class to hold the table information -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static String
the gui tableprotected static String
the master tableFields inherited from class ucar.unidata.data.FilesDataSource
adapters, oldSourceFromBundles, sources
Fields 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
ConstructorsConstructorDescriptionDefault bean constructor; does nothing.NwxTextProductDataSource
(DataSourceDescriptor descriptor, String filename, Hashtable properties) NwxTextProductDataSource
(DataSourceDescriptor descriptor, List newSources, String name, String description, Hashtable properties) Create a TrackDataSource from the specification given.NwxTextProductDataSource
(DataSourceDescriptor descriptor, List files, Hashtable properties) -
Method Summary
Modifier and TypeMethodDescriptionprotected boolean
Can we handle this type of data?Get the error message if additional resources aren't availableprotected NamedStationTable
getAvailableStations
(NamedStationTable all, NwxTextProductDataSource.TableInfo tableInfo, DateSelection dateSelection) Get the stations for a productTypestatic Date
getDateFromFileName
(String path) Get the Date from the file nameprotected String
This looks in the paths map for the given property.getPaths()
Get the Paths property.Get the list of product groupsgetStations
(ProductType productType, DateSelection dateSelection) Get the stations for a productTypegetTableInfo
(ProductType productType) Get the table for the product typeprotected String
Get the table path.protected void
Initialize after opening.static void
Test thisreadProducts
(NwxTextProductDataSource.TableInfo tableInfo, List<NamedStationImpl> stations, DateSelection dateSelection) Read the products for defined by the table info.readProducts
(ProductType productType, List<NamedStationImpl> stations, DateSelection dateSelection) Read productsprotected boolean
Set the additional resources needed for this to work.void
Set the Paths property.Methods inherited from class ucar.unidata.data.text.TextProductDataSource
doMakeDataChoices, makeStationMap
Methods inherited from class ucar.unidata.data.FilesDataSource
doRemove, equals, getDataFileExtension, getDataPaths, getFilePath, getFullDescription, getInputStreams, getLocationsForPolling, getPartialDescription, getSource, getSources, haveSources, initAfterCreation, initAfterUnpersistence, initWithPollingInfo, isFileBased, newFilesFromPolling, processDataFilename, propertiesChanged, reloadData, reloadData, saveDataToLocalDisk, setNewFiles, setSource, setSources, sourcesChanged, updateState
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, doMakeDateTimes, doMakeGeoSelectionPanel, doMakeGeoSelectionPanel, doMakeGeoSelectionPanel, doMakeGeoSubsetPropertiesComponent, 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, getDataInner, getDataIsEditable, getDataPrefix, getDataSelection, getDataSelectionComponents, getDataSource, getDateTimes, getDateTimeSelection, getDefaultSave, getDescription, getDescriptor, getErrorMessage, getEverChangedName, getExtraGeoSelectionComponent, getExtraTimesComponent, getFileFilterForPolling, getid, getIdv, getInError, getLocalDirectory, getLocationForPolling, getMostRecentFiles, getName, getNameForDataSource, getNeedToShowErrorToUser, getNextId, getOutstandingGetDataCalls, 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, initDataChoice, initDataSelectionComponents, initFromXml, isPolling, loadFieldMask, loadFieldMask, loadLatestFile, logException, logException, makeDerivedDataChoices, makeSaveLocalActions, newFileFromPolling, notifyDataChange, putCache, putCache, reloadProperties, removeCache, removeDataChangeListener, removeDataChoice, removeProperty, replaceDataChoice, resetTmpState, saveDataToLocalDisk, saveDataToLocalDisk, selectTimesFromList, setAlias, setAskToUpdate, setCacheClearDelay, setCacheDataToDisk, setDataEditableStrings, setDataIsEditable, setDataIsRelative, setDataRelativeStrings, setDataSelection, setDateTimeSelection, setDefaultSave, setDescription, setDescriptor, setDirectory, setEverChangedName, setInError, setInError, setInError, setName, setObjectProperties, setObjectProperty, setPassword, setPollingInfo, setPollLocation, setProperties, setProperty, setProperty, setRelativePaths, setTemplateName, setTmpPaths, setUserName, shouldCache, shouldCache, showPasswordDialog, showPropertiesDialog, showPropertiesDialog, showPropertiesDialog, showWaitDialog, tick, toString, toStringTruncated, updateDetailsText, 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, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface ucar.unidata.data.DataSource
getUniqueId
-
Field Details
-
MASTER_TABLE
the master table -
GUI_TABLE
the gui table
-
-
Constructor Details
-
NwxTextProductDataSource
public NwxTextProductDataSource()Default bean constructor; does nothing. -
NwxTextProductDataSource
public NwxTextProductDataSource(DataSourceDescriptor descriptor, String filename, Hashtable properties) - Parameters:
descriptor
- descriptor for this DataSourcefilename
- name of the file (or URL)properties
- extra data source properties
-
NwxTextProductDataSource
- Parameters:
descriptor
- Descriptor for this DataSourcefiles
- List of files or urlsproperties
- Extra data source properties
-
NwxTextProductDataSource
public NwxTextProductDataSource(DataSourceDescriptor descriptor, List newSources, String name, String description, Hashtable properties) Create a TrackDataSource from the specification given.- Parameters:
descriptor
- data source descriptornewSources
- List of sources of data (filename/URL)name
- my namedescription
- description of the dataproperties
- extra properties for initialization
-
-
Method Details
-
getTableInfo
Get the table for the product type- Parameters:
productType
- the product type- Returns:
- the table or null if one can't be found
-
getStations
public NamedStationTable getStations(ProductType productType, DateSelection dateSelection) throws Exception Get the stations for a productType- Specified by:
getStations
in classTextProductDataSource
- Parameters:
productType
- the product typedateSelection
- the date selection- Returns:
- the list of stations
- Throws:
Exception
- problem reading the stations
-
getAvailableStations
protected NamedStationTable getAvailableStations(NamedStationTable all, NwxTextProductDataSource.TableInfo tableInfo, DateSelection dateSelection) Get the stations for a productType- Parameters:
all
- all the possible stationtableInfo
- table info for the productdateSelection
- the date selection- Returns:
- the list of stations with reports
-
readProducts
public List<Product> readProducts(ProductType productType, List<NamedStationImpl> stations, DateSelection dateSelection) Read products- Specified by:
readProducts
in classTextProductDataSource
- Parameters:
productType
- the product typestations
- the stationsdateSelection
- the date selection- Returns:
- the list of products
-
getProductGroups
Get the list of product groups- Specified by:
getProductGroups
in classTextProductDataSource
- Returns:
- the list of product groups
-
getPath
This looks in the paths map for the given property. If not found it checks the environment variables. If still not found it prompts the user for a directory- Parameters:
prop
- property idtitle
- title for the file chooser- Returns:
- The path or null
-
getTablePath
Get the table path. Subclasses can overrid- Returns:
- the base path of the data.
-
setAdditionalResources
protected boolean setAdditionalResources()Set the additional resources needed for this to work.- Returns:
- true if resources set okay
-
getAdditionalResourcesError
Get the error message if additional resources aren't available- Returns:
- error messaage
-
initAfter
protected void initAfter()Initialize after opening.- Overrides:
initAfter
in classDataSourceImpl
-
readProducts
protected List<Product> readProducts(NwxTextProductDataSource.TableInfo tableInfo, List<NamedStationImpl> stations, DateSelection dateSelection) Read the products for defined by the table info. Subclasses need to override this method for their particular stuff- Parameters:
tableInfo
- the table infostations
- the stationsdateSelection
- the date selection- Returns:
- the products
-
getDateFromFileName
Get the Date from the file name- Parameters:
path
- file path- Returns:
- the date or null
-
canHandleType
Can we handle this type of data?- Parameters:
ti
- the table info- Returns:
- true if we can handle it.
-
setPaths
Set the Paths property.- Parameters:
value
- The new value for Paths
-
getPaths
Get the Paths property.- Returns:
- The Paths
-
main
Test this- Parameters:
args
- input
-