Description
The main purpose of this patch is to refactor the metadata parsing functionality into an extensible framework of MetadataExtractors. The MetadataExtractor interface defines the general capability of parsing a metadata source and adding (name,value) pairs into the CAS metadata container. The existing code for parsing THREDDS metadata catalogs has been moved from the DatasetCrawler class to a ThreddsMetadataExtractor that implements the aforementioned interface. Additionally, another implementation, DasMetadataExtractor, has been added to parse an Opendap DAS stream and capture the NetCDF global attributes (for now). Finally, an NcmlMetadataExtractor has been added as a stub implementation for future parsing of NcML documents.
The patch also contains the following changes and additions:
o The OODT profiles are assigned a UUID as identifier, since the THREDDS dataset ID is used as the resource identifier
o The THREDDS catalogs are parsed to extract the CF standard names and variable long names, where found