dlr         01/08/20 20:39:04

  Modified:    src/java/org/apache/torque Torque.java
  Log:
  * Pushed setting of dependency configuration and logger into their
  appropriate mutator methods.
  
  * Added convenience method for initialization via a properties file.
  
  Revision  Changes    Path
  1.12      +35 -12    jakarta-turbine-torque/src/java/org/apache/torque/Torque.java
  
  Index: Torque.java
  ===================================================================
  RCS file: /home/cvs/jakarta-turbine-torque/src/java/org/apache/torque/Torque.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -u -r1.11 -r1.12
  --- Torque.java       2001/08/21 01:43:01     1.11
  +++ Torque.java       2001/08/21 03:39:04     1.12
  @@ -54,10 +54,17 @@
    * <http://www.apache.org/>.
    */
   
  +import java.io.FileInputStream;
   import java.util.HashMap;
   import java.util.Iterator;
   import java.util.Map;
  +import java.util.Properties;
   
  +import org.apache.commons.collections.ExtendedProperties;
  +
  +import org.apache.log4j.Category;
  +import org.apache.log4j.PropertyConfigurator;
  +
   import org.apache.torque.adapter.DB;
   import org.apache.torque.adapter.DBFactory;
   import org.apache.torque.map.DatabaseMap;
  @@ -68,9 +75,6 @@
   import org.apache.torque.pool.DBConnection;
   import org.apache.torque.util.BasePeer;
   
  -import org.apache.commons.collections.ExtendedProperties;
  -import org.apache.log4j.Category;
  -
   /**
    * The implementation of Torque.
    *
  @@ -78,7 +82,7 @@
    * @author <a href="mailto:[EMAIL PROTECTED]";>Magn�s ��r Torfason</a>
    * @author <a href="mailto:[EMAIL PROTECTED]";>Jason van Zyl</a>
    * @author <a href="mailto:[EMAIL PROTECTED]";>Rafal Krzewski</a>
  - * @version $Id: Torque.java,v 1.11 2001/08/21 01:43:01 dlr Exp $
  + * @version $Id: Torque.java,v 1.12 2001/08/21 03:39:04 dlr Exp $
    */
   public class Torque
   {
  @@ -130,14 +134,14 @@
       private static Monitor monitor;
   
       /**
  -     * Initializes the service.
  +     * Initializes Torque.
        */
       public static void init()
           throws Exception
       {
  -        dbMaps = (Map)new HashMap();
  +        dbMaps = new HashMap();
   
  -        pools = (Map) new HashMap();
  +        pools = new HashMap();
   
           // Create monitor thread
           monitor = new Monitor();
  @@ -148,19 +152,37 @@
           monitor.setDaemon(true);
           monitor.start();
   
  -        DBFactory.setConfiguration(configuration);
  -        DBFactory.setCategory(category);
           DBFactory.init();
  +    }
  +
  +    /**
  +     * Brute-force initialization of Torque via a configuration file.
  +     *
  +     * @param configFile The path to the configuration file.
  +     */
  +    public static void init(String configFile)
  +        throws Exception
  +    {
  +        ExtendedProperties c = new ExtendedProperties(configFile);
  +        c = c.subset("services.DatabaseService");
   
  -        BasePeer.setCategory(category);
  +        Properties p = new Properties();
  +        p.load(new FileInputStream(configFile));
  +        PropertyConfigurator.configure(p);
  +
  +        Torque.setConfiguration(c);
  +        Torque.setCategory(Category.getInstance("ALL"));
  +        Torque.init();
       }
   
       /**
  -     * Sets the logging category.
  +     * Sets the logging category for Torque and all dependencies.
        */
       public static void setCategory(Category c)
       {
           category = c;
  +        DBFactory.setCategory(c);
  +        BasePeer.setCategory(c);
       }
   
       /**
  @@ -172,11 +194,12 @@
       }
   
       /**
  -     * Sets the configuration.
  +     * Sets the configuration for Torque and all dependencies.
        */
       public static void setConfiguration(ExtendedProperties c)
       {
           configuration = c;
  +        DBFactory.setConfiguration(c);
       }
   
       /**
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to