I've completed this task - however, it would've been MUCH easier to just use a
properties file. Of course, it could just be my experience with XML parsing -
because I had to write a lot of code to grab 4 simple varaibles.
private synchronized void loadConfig() throws Exception {
// Initialize our configuration object
config = new Configuration();
logCat.debug("Looking for " + configFile + " in " +
Constants.USER_HOME);
// Acquire an input stream to our configuration file
InputStream is = new FileInputStream(Constants.USER_HOME + configFile);
// No file found in user.home
if (is == null) {
logCat.debug("File not found at " + Constants.USER_HOME +
configFile
+ " - looking in application's WEB-INF directory");
// Look for config.xml in WEB-INF
is = getServletContext()
.getResourceAsStream("/WEB-INF/" + configFile);
if (is == null) {
throw new Exception("Configuration file '"
+ configFile + "' not found in '"
+ Constants.USER_HOME + "', nor in '/WEB-INF/'");
}
}
// Get the XML Document
DocumentBuilderFactory builderFactory =
DocumentBuilderFactory.newInstance();
DocumentBuilder builder = builderFactory.newDocumentBuilder();
Document doc = builder.parse(is);
// close the input stream
is.close();
// get the repository root
NodeList rep = doc.getElementsByTagName("root");
Node node = rep.item(0);
Text rootDir = (Text) node.getFirstChild();
config.setRepositoryRootDir(rootDir.getNodeValue());
// get the assets directory
rep = doc.getElementsByTagName("assets");
node = rep.item(0);
Text assetDir = (Text) node.getFirstChild();
config.setAssetDir(assetDir.getNodeValue());
// get the assetView path
rep = doc.getElementsByTagName("viewPath");
node = rep.item(0);
Text viewPath = (Text) node.getFirstChild();
config.setAssetViewPath(viewPath.getNodeValue());
// get the assetView path
rep = doc.getElementsByTagName("default-passing-score");
node = rep.item(0);
Text minScore = (Text) node.getFirstChild();
config.setAssessmentMinScore(new
Double(minScore.getNodeValue()).doubleValue());
logCat.debug(config.toString());
}
--- Ronald Haring <[EMAIL PROTECTED]> wrote:
> > Nothing is wrong with the properties file...Xml is just better
> >
> > 1. one config.xml file in one central place...it's so much
> > easier to manage
> > then a whole bunch of properties
>
> You can put all your properties in one file as well, lets call that file
> config.properties
>
> > 2. xml handle the structure data much better then properties file
>
> data structure might be nice for communications between computers but for
> users?
> e.g.
> RepositoryRoot=d:\
> RepositoryAssets=assets
> RepositoryViewPath=file://d:/repository/assets
>
> seems just as clear to me as
> > > <respository>
> > > <root>d:/repository</root>
> > > <assets>assets</assets>
> > > <viewPath>file://d:/repository/assets</viewPath>
> > > </respository>
> etc.
>
> Cons of xml
> - Carefull with that ",<,> sign eugene,
> - Slow parsing
>
> Gr
> Ronald
>
>
> Furore B.V.
> Rijswijkstraat 175-8
> Postbus 9204
> 1006 AE Amsterdam
> tel. (020) 346 71 71
> fax. (020) 346 71 77
>
> ----------------------------------------------------------------------------
> ---------------
> The information transmitted is intended only for the person
> or entity to which it is addressed and may contain confidential
> and/or privileged material. Any review, retransmission,
> dissemination or other use of, or taking of any action in
> reliance upon, this information by persons or entities other
> than the intended recipient is prohibited. If you received
> this in error, please contact the sender and delete the material
> from any computer
> ----------------------------------------------------------------------------
> ---------------
>
>
__________________________________________________
Do You Yahoo!?
Try FREE Yahoo! Mail - the world's greatest free email!
http://mail.yahoo.com/
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>