ucar.unidata.data.text
Class TextProductDataSource

java.lang.Object
  extended by ucar.unidata.collab.SharableImpl
      extended by ucar.unidata.data.DataSourceImpl
          extended by ucar.unidata.data.FilesDataSource
              extended by ucar.unidata.data.text.TextProductDataSource
All Implemented Interfaces:
Sharable, DataSource, DataSourceFactory, XmlPersistable
Direct Known Subclasses:
NwxTextProductDataSource

public abstract class TextProductDataSource
extends FilesDataSource

A class for handling text products (e.g. weather bulletins)

Version:
$Revision: 1.15 $
Author:
IDV development team

Field Summary
 
Fields 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_TITLE
 
Constructor Summary
TextProductDataSource()
          Default bean constructor; does nothing.
TextProductDataSource(DataSourceDescriptor descriptor, List newSources, String description, Hashtable properties)
          Ctor
TextProductDataSource(DataSourceDescriptor descriptor, List newSources, String name, String description, Hashtable properties)
          Create a TrackDataSource from the specification given.
TextProductDataSource(DataSourceDescriptor descriptor, String name, String description, Hashtable properties)
          Ctor
 
Method Summary
protected  void doMakeDataChoices()
          Make the data choices
abstract  List<ProductGroup> getProductGroups()
          Get the list of product groups
abstract  NamedStationTable getStations(ProductType productType, DateSelection dateSelection)
          Get the stations for a productType
protected static Hashtable<String,Integer> makeStationMap(List<NamedStationImpl> stations)
          Make a mapping of station name to integer count
abstract  List<Product> readProducts(ProductType productType, List<NamedStationImpl> stations, DateSelection dateSelection)
          Read the products for the product type and station
 
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, 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, initAfter, 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, 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
 

Constructor Detail

TextProductDataSource

public TextProductDataSource()
Default bean constructor; does nothing.


TextProductDataSource

public TextProductDataSource(DataSourceDescriptor descriptor,
                             String name,
                             String description,
                             Hashtable properties)
Ctor

Parameters:
descriptor - The descriptor
name - The name
description - The long name
properties - properties

TextProductDataSource

public TextProductDataSource(DataSourceDescriptor descriptor,
                             List newSources,
                             String description,
                             Hashtable properties)
Ctor

Parameters:
descriptor - The descriptor
newSources - List of files or urls
description - The long name
properties - properties

TextProductDataSource

public TextProductDataSource(DataSourceDescriptor descriptor,
                             List newSources,
                             String name,
                             String description,
                             Hashtable properties)
Create a TrackDataSource from the specification given.

Parameters:
descriptor - data source descriptor
newSources - List of sources of data (filename/URL)
name - my name
description - description of the data
properties - extra properties for initialization
Method Detail

readProducts

public abstract List<Product> readProducts(ProductType productType,
                                           List<NamedStationImpl> stations,
                                           DateSelection dateSelection)
Read the products for the product type and station

Parameters:
productType - the product type
stations - the stations
dateSelection - the date selection
Returns:
the list of products

getStations

public abstract NamedStationTable getStations(ProductType productType,
                                              DateSelection dateSelection)
                                       throws Exception
Get the stations for a productType

Parameters:
productType - the product type
dateSelection - the date selection
Returns:
the list of stations
Throws:
Exception - problem getting the stations

makeStationMap

protected static Hashtable<String,Integer> makeStationMap(List<NamedStationImpl> stations)
Make a mapping of station name to integer count

Parameters:
stations - list of stations
Returns:
mapping of station name to integer count

getProductGroups

public abstract List<ProductGroup> getProductGroups()
Get the list of product groups

Returns:
the list of product groups

doMakeDataChoices

protected void doMakeDataChoices()
Make the data choices

Overrides:
doMakeDataChoices in class DataSourceImpl