Package org.dlese.dpc.vocab
Class LoadMetadataVocabs
java.lang.Object
org.dlese.dpc.vocab.LoadMetadataVocabs
- All Implemented Interfaces:
ContentHandler
Loads controlled vocabularies from files specified by a given XML
configuration file. The following are examples of how to use this class to
obtain a MetadataVocab class instance that is not stored as a servlet
context attribute:
"/devel/ryandear/dds_test_data/vocab/DLESE_Errors.xml",
"org.apache.xerces.parsers.SAXParser" );
"/devel/ryandear/dds_test_data/vocab/DLESE_Errors.xml",
"org.apache.xerces.parsers.SAXParser",
"org.gjt.mm.mysql.Driver",
"jdbc:mysql://quake.dpc.ucar.edu:3306/DLESE_Systems",
"myUser",
"myPasswd" );
No database connection
MetadataVocab vocab = new LoadMetadataVocabs().getVocabs("/devel/ryandear/dds_test_data/vocab/DLESE_Errors.xml",
"org.apache.xerces.parsers.SAXParser" );
Connected to an SQL database (for new encoded Id assignment and tracking of label changes)
MetadataVocab vocab = new LoadMetadataVocabs().getVocabs("/devel/ryandear/dds_test_data/vocab/DLESE_Errors.xml",
"org.apache.xerces.parsers.SAXParser",
"org.gjt.mm.mysql.Driver",
"jdbc:mysql://quake.dpc.ucar.edu:3306/DLESE_Systems",
"myUser",
"myPasswd" );
- Author:
- Ryan Deardorff
-
Constructor Summary
ConstructorsConstructorDescriptionConstructor for the LoadMetadataVocabs object that does nothing (use getMetadataVocabs() method to load and retrieve and instance of a vocab).LoadMetadataVocabs(String configDir, String configFile, String xmlParserClass, ServletContext servletContext, String sqlDriver, String sqlURL, String sqlUser, String sqlPassword, String vocabTextFile) Constructor for the LoadMetadataVocabs object that loads an instance of a MetadataVocab object and sets it as a servlet context attribute. -
Method Summary
Modifier and TypeMethodDescriptionvoidcharacters(char[] ch, int start, int length) (SAX) Element data (characters between tags)void(SAX) Required by SAX, but not used herevoidendElement(String namespaceURI, String localName, String qName) (SAX) Invoked upon closing tag of an XML elementvoidendPrefixMapping(String prefix) (SAX) Required by SAX, but not used hereGets the configFile attribute of the LoadMetadataVocabs objectGets the databaseURL attribute of the LoadMetadataVocabs objectGets the message attribute of the LoadMetadataVocabs objectGets the vocabTextFile attribute of the LoadMetadataVocabs objectvoidignorableWhitespace(char[] ch, int start, int length) (SAX) Reports any whitespace that is ignored because it falls outside of the DTD or schema definition--usefull for re-generating the file with indents intact, though.voidload()Load (or reload) the vocabularyvoidprocessingInstruction(String target, String data) (SAX) Required by SAX, but not used herevoidsetDocumentLocator(Locator locator) (SAX) Sets the SAX locator, which indicates the current position of the parser within the document (line number, column number).voidskippedEntity(String name) (SAX) Required by SAX, but not used herevoid(SAX) Required by SAX, but not used herevoidstartElement(String namespaceURI, String localName, String qName, Attributes atts) (SAX) Invoked upon opening tag of an XML elementvoidstartPrefixMapping(String prefix, String uri) (SAX) Required by SAX, but not used hereMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.xml.sax.ContentHandler
declaration
-
Constructor Details
-
LoadMetadataVocabs
public LoadMetadataVocabs()Constructor for the LoadMetadataVocabs object that does nothing (use getMetadataVocabs() method to load and retrieve and instance of a vocab). -
LoadMetadataVocabs
public LoadMetadataVocabs(String configDir, String configFile, String xmlParserClass, ServletContext servletContext, String sqlDriver, String sqlURL, String sqlUser, String sqlPassword, String vocabTextFile) Constructor for the LoadMetadataVocabs object that loads an instance of a MetadataVocab object and sets it as a servlet context attribute.- Parameters:
configDir- Base dir of vocab XML filesconfigFile- XML defining vocabs to be loadedxmlParserClass- SAX parser class, i.e. "org.apache.xerces.parsers.SAXParser"servletContext- The java servlet context in which to store the loaded vocabulariessqlDriver- Optional (can be NULL) driver class for SQL access, i.e. "org.gjt.mm.mysql.Driver"sqlURL- Optional (can be NULL) URL to SQL access, i.e. "jdbc:mysql://quake.dpc.ucar.edu:3306/DLESE_Systems"sqlUser- Optional (can be NULL) username for access to SQL tablessqlPassword- Optional (can be NULL) password for access to SQL tablesvocabTextFile- Optional (can be NULL) file where vocabs get listed as text strings (for use by log analysis/reporting)
-
-
Method Details
-
load
public void load()Load (or reload) the vocabulary -
getMessage
Gets the message attribute of the LoadMetadataVocabs object- Returns:
- The message value
-
getConfigFile
Gets the configFile attribute of the LoadMetadataVocabs object- Returns:
- The configFile value
-
getVocabTextFile
Gets the vocabTextFile attribute of the LoadMetadataVocabs object- Returns:
- The vocabTextFile value
-
getDatabaseURL
Gets the databaseURL attribute of the LoadMetadataVocabs object- Returns:
- The databaseURL value
-
setDocumentLocator
(SAX) Sets the SAX locator, which indicates the current position of the parser within the document (line number, column number). Could be used to indicate the spot where an error occured.- Specified by:
setDocumentLocatorin interfaceContentHandler- Parameters:
locator- The new documentLocator value
-
startDocument
(SAX) Required by SAX, but not used here- Specified by:
startDocumentin interfaceContentHandler- Throws:
SAXException
-
endDocument
(SAX) Required by SAX, but not used here- Specified by:
endDocumentin interfaceContentHandler- Throws:
SAXException
-
startPrefixMapping
(SAX) Required by SAX, but not used here- Specified by:
startPrefixMappingin interfaceContentHandler- Parameters:
prefix-uri-- Throws:
SAXException
-
endPrefixMapping
(SAX) Required by SAX, but not used here- Specified by:
endPrefixMappingin interfaceContentHandler- Parameters:
prefix-- Throws:
SAXException
-
startElement
public void startElement(String namespaceURI, String localName, String qName, Attributes atts) throws SAXException (SAX) Invoked upon opening tag of an XML element- Specified by:
startElementin interfaceContentHandler- Parameters:
namespaceURI- XML namespacelocalName- local tag nameqName- fully qualified tag nameatts- tag attributes- Throws:
SAXException
-
endElement
(SAX) Invoked upon closing tag of an XML element- Specified by:
endElementin interfaceContentHandler- Parameters:
namespaceURI- XML namespacelocalName- local tag nameqName- fully qualified tag name- Throws:
SAXException
-
characters
(SAX) Element data (characters between tags)- Specified by:
charactersin interfaceContentHandler- Parameters:
ch- character arraystart- starting index of character datalength- length of character data- Throws:
SAXException
-
ignorableWhitespace
(SAX) Reports any whitespace that is ignored because it falls outside of the DTD or schema definition--usefull for re-generating the file with indents intact, though.- Specified by:
ignorableWhitespacein interfaceContentHandler- Parameters:
ch-start-length-- Throws:
SAXException
-
processingInstruction
(SAX) Required by SAX, but not used here- Specified by:
processingInstructionin interfaceContentHandler- Parameters:
target-data-- Throws:
SAXException
-
skippedEntity
(SAX) Required by SAX, but not used here- Specified by:
skippedEntityin interfaceContentHandler- Parameters:
name-- Throws:
SAXException
-