edu.wisc.ssec.mcidasv.data
Class McvDataManager

java.lang.Object
  extended by ucar.unidata.data.DataManager
      extended by edu.wisc.ssec.mcidasv.data.McvDataManager

public class McvDataManager
extends DataManager

The McvDataManager exists purely as a UI nicety. In the IDV, the list of DataSources 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.


Field Summary
private  Map<DataChoice,HydraControl> hydraDataToControl
           
private  Map<DataChoice,MultiSpectralDisplay> hydraDataToDisplay
           
private static String STILL_LUCKY_ID
          ID of the "I'm Still Feeling Lucky" data source.
 
Fields inherited from class ucar.unidata.data.DataManager
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 Summary
McvDataManager()
          Default constructor.
McvDataManager(DataContext dataContext)
          Creates a new DataManager with the given DataContext.
 
Method Summary
 boolean containsHydraControl(DataChoice choice)
           
 boolean containsHydraDisplay(DataChoice choice)
           
 HydraControl getHydraControl(DataChoice choice)
           
 MultiSpectralDisplay getHydraDisplay(DataChoice choice)
           
 void loadDataSourceXml(XmlResourceCollection resources)
          Process the list of xml documents that define the different DataSources used within the idv.
 void setHydraControl(DataChoice choice, HydraControl control)
           
 void setHydraDisplay(DataChoice choice, MultiSpectralDisplay display)
           
private  ArrayList<TwoFacedObject> sortTwoFacedObjects(ArrayList<TwoFacedObject> objs)
           Sorts an ArrayList of TwoFacedObjects by label.
 
Methods inherited from class ucar.unidata.data.DataManager
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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

STILL_LUCKY_ID

private static final String STILL_LUCKY_ID
ID of the "I'm Still Feeling Lucky" data source. The IDV lowercases it automatically.

See Also:
Constant Field Values

hydraDataToControl

private final Map<DataChoice,HydraControl> hydraDataToControl

hydraDataToDisplay

private final Map<DataChoice,MultiSpectralDisplay> hydraDataToDisplay
Constructor Detail

McvDataManager

public McvDataManager()
Default constructor.


McvDataManager

public McvDataManager(DataContext dataContext)
Creates a new DataManager with the given DataContext.

Parameters:
dataContext - The DataContext that this DataManager exists within (this is usually an instance of IntegratedDataViewer).
Method Detail

containsHydraControl

public boolean containsHydraControl(DataChoice choice)

containsHydraDisplay

public boolean containsHydraDisplay(DataChoice choice)

setHydraControl

public void setHydraControl(DataChoice choice,
                            HydraControl control)

setHydraDisplay

public void setHydraDisplay(DataChoice choice,
                            MultiSpectralDisplay display)

getHydraControl

public HydraControl getHydraControl(DataChoice choice)

getHydraDisplay

public MultiSpectralDisplay getHydraDisplay(DataChoice choice)

loadDataSourceXml

public void loadDataSourceXml(XmlResourceCollection resources)
Process the list of xml documents that define the different DataSources used within the idv. Overridden so that McIDAS-V can alphabetize the lists of DataSources presented in the UI.

Overrides:
loadDataSourceXml in class DataManager
Parameters:
resources - The XmlResourceCollection that holds the set of datasource xml documents. This may be null.

sortTwoFacedObjects

private ArrayList<TwoFacedObject> sortTwoFacedObjects(ArrayList<TwoFacedObject> objs)

Sorts an ArrayList of TwoFacedObjects 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.

Parameters:
objs - The list that needs some sortin' out.
Returns:
The sorted contents of objs.