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]>

Reply via email to