public class McvDataManager extends ucar.unidata.data.DataManager
The McvDataManager exists purely as a UI nicety. In the IDV, the list of
DataSource
s are presented in the same ordering found in
datasources.xml
.
While ordering the contents of datasources.xml
certainly would have
been easier, the approach taken here is a bit more future-proof. McV simply
sorts the data sources known to the IDV.
Modifier and Type | Field and Description |
---|---|
private java.util.Map<ucar.unidata.data.DataChoice,HydraControl> |
hydraDataToControl |
private java.util.Map<ucar.unidata.data.DataChoice,MultiSpectralDisplay> |
hydraDataToDisplay |
private static java.lang.String |
STILL_LUCKY_ID
ID of the "I'm Still Feeling Lucky" data source.
|
allDataSourceIds, allFilters, ATTR_DOESMULTIPLES, ATTR_FACTORY, ATTR_FILESELECTION, ATTR_ID, ATTR_LABEL, ATTR_NAME, ATTR_NCMLTEMPLATE, ATTR_PATTERNS, ATTR_STANDALONE, ATTR_VALUE, dataSourceNameMap, DATATYPE_ID, DATATYPE_UNKNOWN, descriptors, fileDataSourceIds, fileFilters, idToDescriptor, PREF_GRIBINDEXINCACHE, PROP_CACHE_PERCENT, PROP_DEFAULT_DISPLAY, PROP_GEOSUBSET_BBOX, PROP_NETCDF_CONVENTIONHANDLERS, PROP_SHOW_IN_TREE, seenFilters, TAG_DATASOURCE, TAG_DATASOURCES, TAG_PROPERTY
Constructor and Description |
---|
McvDataManager()
Default constructor.
|
McvDataManager(ucar.unidata.data.DataContext dataContext)
Creates a new DataManager with the given
DataContext . |
Modifier and Type | Method and Description |
---|---|
boolean |
containsHydraControl(ucar.unidata.data.DataChoice choice) |
boolean |
containsHydraDisplay(ucar.unidata.data.DataChoice choice) |
HydraControl |
getHydraControl(ucar.unidata.data.DataChoice choice) |
MultiSpectralDisplay |
getHydraDisplay(ucar.unidata.data.DataChoice choice) |
void |
loadDataSourceXml(ucar.unidata.xml.XmlResourceCollection resources)
Process the list of xml documents that define the different
DataSource s used within the idv. |
void |
setHydraControl(ucar.unidata.data.DataChoice choice,
HydraControl control) |
void |
setHydraDisplay(ucar.unidata.data.DataChoice choice,
MultiSpectralDisplay display) |
private java.util.ArrayList<ucar.unidata.util.TwoFacedObject> |
sortTwoFacedObjects(java.util.ArrayList<ucar.unidata.util.TwoFacedObject> objs)
Sorts an
ArrayList of TwoFacedObject s by label. |
addDataSource, createDataSource, createDataSource, createDataSource, createDataSourceAndAskForType, findDataSource, getAllDataSourceIds, getCurrent, getDataCacheDirectory, getDataContext, getDataSourceHtml, getDataSources, getDatasourceXml, getDatasourceXml, getDescriptor, getDescriptors, getFileDataSourceList, getFileFilters, getNewVariableName, getProperty, getProperty, getStandaloneDescriptors, haveDataSource, initEncoder, initResources, initURLStreamHandlers, isFormulaDataSource, loadGribResources, loadIospResources, main, reloadAllDataSources, removeAllDataSources, removeDataSource, setDODSCompression, validDatasourceId, validDatasourceId
private static final java.lang.String STILL_LUCKY_ID
private final java.util.Map<ucar.unidata.data.DataChoice,HydraControl> hydraDataToControl
private final java.util.Map<ucar.unidata.data.DataChoice,MultiSpectralDisplay> hydraDataToDisplay
public McvDataManager()
public McvDataManager(ucar.unidata.data.DataContext dataContext)
DataContext
.dataContext
- The DataContext
that this DataManager exists
within (this is usually an instance of
IntegratedDataViewer
).public boolean containsHydraControl(ucar.unidata.data.DataChoice choice)
public boolean containsHydraDisplay(ucar.unidata.data.DataChoice choice)
public void setHydraControl(ucar.unidata.data.DataChoice choice, HydraControl control)
public void setHydraDisplay(ucar.unidata.data.DataChoice choice, MultiSpectralDisplay display)
public HydraControl getHydraControl(ucar.unidata.data.DataChoice choice)
public MultiSpectralDisplay getHydraDisplay(ucar.unidata.data.DataChoice choice)
public void loadDataSourceXml(ucar.unidata.xml.XmlResourceCollection resources)
DataSource
s used within the idv. Overridden so that McIDAS-V
can alphabetize the lists of DataSource
s presented in the UI.loadDataSourceXml
in class ucar.unidata.data.DataManager
resources
- The XmlResourceCollection
that holds the set of
datasource xml documents. This may be null.private java.util.ArrayList<ucar.unidata.util.TwoFacedObject> sortTwoFacedObjects(java.util.ArrayList<ucar.unidata.util.TwoFacedObject> objs)
Sorts an ArrayList
of TwoFacedObject
s by label. Case is
ignored.
NOTE: If the ID of one of the objects represents the "I'm Still Feeling Lucky" data source, it'll always wind up at the end of the list.
objs
- The list that needs some sortin' out.objs
.