Package ucar.unidata.data.imagery
Class ImageXmlDataSource
java.lang.Object
ucar.unidata.collab.SharableImpl
ucar.unidata.data.DataSourceImpl
ucar.unidata.data.FilesDataSource
ucar.unidata.data.imagery.ImageXmlDataSource
- All Implemented Interfaces:
Sharable
,DataSource
,DataSourceFactory
,XmlPersistable
This is an implementation that will read in a generic data file
and return a single Data choice that is a VisAD Data object.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
xml attr namestatic final String
xml attr namestatic final String
xml attr namestatic final String
xml attr namestatic final String
xml attr namestatic final String
xml attr namestatic final String
xml attr namestatic final String
For ximg filesstatic final PatternFileFilter
For ximg filesstatic final String
xml tag namestatic final String
xml tag namestatic final String
xml tag namestatic final String
xml tag namestatic final String
xml tag nameFields 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
ConstructorsConstructorDescriptionParameterless ctor for xml encoding.ImageXmlDataSource
(DataSourceDescriptor descriptor, String filename, Hashtable properties) Just pass through to the base class the ctor arguments. -
Method Summary
Modifier and TypeMethodDescriptionboolean
Is this data source capable of saving its data to local diskprotected void
This method is called at initialization time and should create a set ofDirectDataChoice
-s and add them into the base class managed list of DataChoice-s with the method addDataChoice.protected List
You can also override the base class method to return the list of all date/times that this DataSource holds.getAllDateTimes
(DataChoice dataChoice) Override the base class method to return the times for the data choiceprotected Data
getDataInner
(DataChoice dataChoice, DataCategory category, DataSelection dataSelection, Hashtable requestProperties) This method should create and return the visad.Data that is identified by the givenDataChoice
.tmpprotected void
recurseXml
(Element root, CompositeDataChoice cdc) Process the xmlprotected List
saveDataToLocalDisk
(String prefix, Object loadId, boolean changeLinks) Save remote data to local disk.void
setXmlFile
(String value) Set the XmlFile property.static void
writeToFile
(String filename, GeoLocationInfo bounds, byte[] bytes, String format) A utility method that writes out the given image bytes and the ximg filestatic void
writeToFile
(String filename, GeoLocationInfo bounds, String imageFileName) A utility method that writes out the given image bytes and the ximg fileMethods inherited from class ucar.unidata.data.FilesDataSource
doRemove, equals, getDataFileExtension, getFilePath, getFullDescription, getInputStreams, getLocationsForPolling, getPartialDescription, getSource, getSources, haveSources, initAfterCreation, initAfterUnpersistence, initWithPollingInfo, isFileBased, newFilesFromPolling, processDataFilename, propertiesChanged, reloadData, reloadData, 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, canShowParameter, checkForInitAfterUnPersistence, clearCachedData, clearFileCache, clearTimes, convertSourceFile, convertToFilesIfDirectory, createAutoDisplay, createCacheKey, createElement, decrOutstandingGetDataCalls, doDirectory, doMakeGeoSelectionPanel, doMakeGeoSelectionPanel, doMakeGeoSelectionPanel, doMakeGeoSubsetPropertiesComponent, endWritingDataToLocalDisk, expandIfNeeded, findDataChoice, findDataChoices, flushCache, getAbsoluteDateTimes, getActions, getAlias, getAllDateTimes, getAllLevels, getAllLevels, getAllTimesForTimeDriver, getCache, getCache, getCacheClearDelay, getCacheDataToDisk, getCompositeDataChoices, getData, getData, getDataCachePath, getDataChangeListeners, getDataChoices, getDataContext, 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, 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, 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
-
FILTER_XIMG
For ximg files -
EXT_XIMG
For ximg files- See Also:
-
TAG_COLLECTION
xml tag name- See Also:
-
TAG_GROUP
xml tag name- See Also:
-
TAG_IMAGE
xml tag name- See Also:
-
TAG_BYTES
xml tag name- See Also:
-
TAG_SHAPE
xml tag name- See Also:
-
ATTR_BASE
xml attr name- See Also:
-
ATTR_ID
xml attr name- See Also:
-
ATTR_FORMAT
xml attr name- See Also:
-
ATTR_BYTES
xml attr name- See Also:
-
ATTR_DATE
xml attr name- See Also:
-
ATTR_URL
xml attr name- See Also:
-
ATTR_NAME
xml attr name- See Also:
-
-
Constructor Details
-
ImageXmlDataSource
public ImageXmlDataSource()Parameterless ctor for xml encoding. -
ImageXmlDataSource
public ImageXmlDataSource(DataSourceDescriptor descriptor, String filename, Hashtable properties) throws VisADException Just pass through to the base class the ctor arguments.- Parameters:
descriptor
- Describes this data source, has a label etc.filename
- This is the filename (or url) that points to the actual data source.properties
- General properties used in the base class- Throws:
VisADException
- problem getting the data
-
-
Method Details
-
getDataPaths
tmp- Specified by:
getDataPaths
in interfaceDataSource
- Overrides:
getDataPaths
in classFilesDataSource
- Returns:
- tmp
-
canSaveDataToLocalDisk
public boolean canSaveDataToLocalDisk()Is this data source capable of saving its data to local disk- Specified by:
canSaveDataToLocalDisk
in interfaceDataSource
- Overrides:
canSaveDataToLocalDisk
in classDataSourceImpl
- Returns:
- Can save to local disk
-
saveDataToLocalDisk
protected List saveDataToLocalDisk(String prefix, Object loadId, boolean changeLinks) throws Exception Save remote data to local disk. This is a NOOP.- Overrides:
saveDataToLocalDisk
in classFilesDataSource
- Parameters:
prefix
- file dir and prefixloadId
- For JobManagerchangeLinks
- Change internal references- Returns:
- List of files
- Throws:
Exception
- On badness
-
getAllDateTimes
Override the base class method to return the times for the data choice- Specified by:
getAllDateTimes
in interfaceDataSource
- Overrides:
getAllDateTimes
in classDataSourceImpl
- Parameters:
dataChoice
- DataChoice in question- Returns:
- List of all times for that choice
-
doMakeDataChoices
protected void doMakeDataChoices()This method is called at initialization time and should create a set ofDirectDataChoice
-s and add them into the base class managed list of DataChoice-s with the method addDataChoice.- Overrides:
doMakeDataChoices
in classDataSourceImpl
-
recurseXml
Process the xml- Parameters:
root
- xml nodecdc
- The parent data choice- Throws:
Exception
- On badness
-
getDataInner
protected Data getDataInner(DataChoice dataChoice, DataCategory category, DataSelection dataSelection, Hashtable requestProperties) throws VisADException, RemoteException This method should create and return the visad.Data that is identified by the givenDataChoice
.- Overrides:
getDataInner
in classDataSourceImpl
- Parameters:
dataChoice
- This is one of the DataChoice-s that was created in the doMakeDataChoices call above.category
- The specificDataCategory
which theDisplayControl
was instantiated with. Usually can be ignored.dataSelection
- This may contain a list of times which subsets the request.requestProperties
- extra request properties- Returns:
- The
Data
object represented by the given dataChoice - Throws:
RemoteException
- Java RMI problemVisADException
- VisAD problem
-
doMakeDateTimes
You can also override the base class method to return the list of all date/times that this DataSource holds.- Overrides:
doMakeDateTimes
in classDataSourceImpl
- Returns:
- This should be an List of
DateTime
objects.
-
setXmlFile
Set the XmlFile property.- Parameters:
value
- The new value for XmlFile
-
writeToFile
public static void writeToFile(String filename, GeoLocationInfo bounds, byte[] bytes, String format) throws FileNotFoundException, IOException A utility method that writes out the given image bytes and the ximg file- Parameters:
filename
- Filename to write to. Will use this to write the image.bounds
- The lat/lon boundsbytes
- The image bytesformat
- Image format- Throws:
FileNotFoundException
- On badnessIOException
- On badness
-
writeToFile
public static void writeToFile(String filename, GeoLocationInfo bounds, String imageFileName) throws FileNotFoundException, IOException A utility method that writes out the given image bytes and the ximg file- Parameters:
filename
- Filename to write to. Will use this to write the image.bounds
- The lat/lon boundsimageFileName
- The image file this represents- Throws:
FileNotFoundException
- On badnessIOException
- On badness
-