DLESE Tools
v1.2

org.dlese.dpc.vocab
Class LoadMetadataVocabs

java.lang.Object
  extended byorg.dlese.dpc.vocab.LoadMetadataVocabs
All Implemented Interfaces:
ContentHandler

public class LoadMetadataVocabs
extends Object
implements 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:

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
LoadMetadataVocabs()
          Constructor 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)
          Constructor for the LoadMetadataVocabs object that loads an instance of a MetadataVocab object and sets it as a servlet context attribute.
 
Method Summary
 void characters(char[] ch, int start, int length)
          (SAX) Element data (characters between tags)
 void endDocument()
          (SAX) Required by SAX, but not used here
 void endElement(String namespaceURI, String localName, String qName)
          (SAX) Invoked upon closing tag of an XML element
 void endPrefixMapping(String prefix)
          (SAX) Required by SAX, but not used here
 String getMessage()
          Gets the message attribute of the LoadMetadataVocabs object
 void ignorableWhitespace(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.
 void load()
          Load (or reload) the vocabulary
 void processingInstruction(String target, String data)
          (SAX) Required by SAX, but not used here
 void setDocumentLocator(Locator locator)
          (SAX) Sets the SAX locator, which indicates the current position of the parser within the document (line number, column number).
 void skippedEntity(String name)
          (SAX) Required by SAX, but not used here
 void startDocument()
          (SAX) Required by SAX, but not used here
 void startElement(String namespaceURI, String localName, String qName, Attributes atts)
          (SAX) Invoked upon opening tag of an XML element
 void startPrefixMapping(String prefix, String uri)
          (SAX) Required by SAX, but not used here
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

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)
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 files
xmlParserClass - SAX parser class, i.e. "org.apache.xerces.parsers.SAXParser"
servletContext - The java servlet context in which to store the loaded vocabularies
sqlDriver - 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 tables
sqlPassword - Optional (can be NULL) password for access to SQL tables
configFile -
Method Detail

load

public void load()
Load (or reload) the vocabulary


getMessage

public String getMessage()
Gets the message attribute of the LoadMetadataVocabs object

Returns:
The message value

setDocumentLocator

public void setDocumentLocator(Locator locator)
(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:
setDocumentLocator in interface ContentHandler
Parameters:
locator - The new documentLocator value

startDocument

public void startDocument()
                   throws SAXException
(SAX) Required by SAX, but not used here

Specified by:
startDocument in interface ContentHandler
Throws:
SAXException

endDocument

public void endDocument()
                 throws SAXException
(SAX) Required by SAX, but not used here

Specified by:
endDocument in interface ContentHandler
Throws:
SAXException

startPrefixMapping

public void startPrefixMapping(String prefix,
                               String uri)
                        throws SAXException
(SAX) Required by SAX, but not used here

Specified by:
startPrefixMapping in interface ContentHandler
Parameters:
prefix -
uri -
Throws:
SAXException

endPrefixMapping

public void endPrefixMapping(String prefix)
                      throws SAXException
(SAX) Required by SAX, but not used here

Specified by:
endPrefixMapping in interface ContentHandler
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:
startElement in interface ContentHandler
Parameters:
namespaceURI - XML namespace
localName - local tag name
qName - fully qualified tag name
atts - tag attributes
Throws:
SAXException

endElement

public void endElement(String namespaceURI,
                       String localName,
                       String qName)
                throws SAXException
(SAX) Invoked upon closing tag of an XML element

Specified by:
endElement in interface ContentHandler
Parameters:
namespaceURI - XML namespace
localName - local tag name
qName - fully qualified tag name
Throws:
SAXException

characters

public void characters(char[] ch,
                       int start,
                       int length)
                throws SAXException
(SAX) Element data (characters between tags)

Specified by:
characters in interface ContentHandler
Parameters:
ch - character array
start - starting index of character data
length - length of character data
Throws:
SAXException

ignorableWhitespace

public void ignorableWhitespace(char[] ch,
                                int start,
                                int length)
                         throws SAXException
(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:
ignorableWhitespace in interface ContentHandler
Parameters:
ch -
start -
length -
Throws:
SAXException

processingInstruction

public void processingInstruction(String target,
                                  String data)
                           throws SAXException
(SAX) Required by SAX, but not used here

Specified by:
processingInstruction in interface ContentHandler
Parameters:
target -
data -
Throws:
SAXException

skippedEntity

public void skippedEntity(String name)
                   throws SAXException
(SAX) Required by SAX, but not used here

Specified by:
skippedEntity in interface ContentHandler
Parameters:
name -
Throws:
SAXException

DLESE Tools
v1.2