Package org.jdbf.engine.configuration

Source Code of org.jdbf.engine.configuration.ConfigurationBuilder

/*
* 04/04/2002 - 23:12:27
*
* $RCSfile: ConfigurationBuilder.java,v $ - JDBF Object Relational mapping system
*
* http://jdbf.sourceforge.net
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/

/*

  $Id: ConfigurationBuilder.java,v 1.7 2004/05/20 22:36:38 gmartone Exp $

*/

package org.jdbf.engine.configuration;


import java.io.*;

import org.xml.sax.*;
import org.xml.sax.helpers.*;

import org.jdbf.engine.xml.SAXConfigurationBuilder;
import org.jdbf.engine.mapping.MappingException;


/**
*
* This utility class will create a <code>Configuration</code> tree from an
* XML file.
*
* @author  Giovanni Martone
* @version $Revision $
* last changed by $Author $
*
*/
public class ConfigurationBuilder {

   /**
    *
    * Return the parsed configuration tree.
    *
  * @param is xml file to parse
  * @return Configuration configuration tree
  * @throws MappingException
    */
    public static Configuration build(InputStream is) throws MappingException{

        SAXConfigurationBuilder builder = new SAXConfigurationBuilder();

        try{
            XMLReader parser = XMLReaderFactory.createXMLReader(
                          "org.apache.xerces.parsers.SAXParser"
                         );

            parser.setContentHandler(builder);
            parser.parse( new InputSource( new InputStreamReader(is) ) );

        }
        catch (IOException except){
            throw new MappingException("mapping.missingDBConf",is.toString());
        }
      catch (SAXException except){
            throw new MappingException(except);
        }

        //return current configuration
        return builder.getConfiguration();
    }

    /**
     *
     * Return the parsed configuration tree.
     *
   * @param fileName name of file to parse
   * @return Configuration is the configuration tree
   * @throws MappingException
     */
    public static Configuration build(String fileName) throws MappingException{

        try{
      return build(new FileInputStream( new File(fileName)) );
    }
    catch(FileNotFoundException e){
      throw new MappingException(e);
    }
    }
}

/*

$Log: ConfigurationBuilder.java,v $
Revision 1.7  2004/05/20 22:36:38  gmartone
Changed for task 99073 (Coverage Javadocs)

Revision 1.6  2004/01/21 23:15:17  gmartone



task 88931, changed name of SAXParser class needed to parsing and cosmetics changes

Revision 1.5  2003/11/15 16:45:15  lechertl
task 88931, update to SAX 2 ready


*/
TOP

Related Classes of org.jdbf.engine.configuration.ConfigurationBuilder

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.