KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > tigris > scarab > util > TurbineInitialization


1 package org.tigris.scarab.util;
2
3 /* ================================================================
4  * Copyright (c) 2000-2002 CollabNet. All rights reserved.
5  *
6  * Redistribution and use in source and binary forms, with or without
7  * modification, are permitted provided that the following conditions are
8  * met:
9  *
10  * 1. Redistributions of source code must retain the above copyright
11  * notice, this list of conditions and the following disclaimer.
12  *
13  * 2. Redistributions in binary form must reproduce the above copyright
14  * notice, this list of conditions and the following disclaimer in the
15  * documentation and/or other materials provided with the distribution.
16  *
17  * 3. The end-user documentation included with the redistribution, if
18  * any, must include the following acknowlegement: "This product includes
19  * software developed by Collab.Net <http://www.Collab.Net/>."
20  * Alternately, this acknowlegement may appear in the software itself, if
21  * and wherever such third-party acknowlegements normally appear.
22  *
23  * 4. The hosted project names must not be used to endorse or promote
24  * products derived from this software without prior written
25  * permission. For written permission, please contact info@collab.net.
26  *
27  * 5. Products derived from this software may not use the "Tigris" or
28  * "Scarab" names nor may "Tigris" or "Scarab" appear in their names without
29  * prior written permission of Collab.Net.
30  *
31  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
32  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
33  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
34  * IN NO EVENT SHALL COLLAB.NET OR ITS CONTRIBUTORS BE LIABLE FOR ANY
35  * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
36  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
37  * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
38  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
39  * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
40  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
41  * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
42  *
43  * ====================================================================
44  *
45  * This software consists of voluntary contributions made by many
46  * individuals on behalf of Collab.Net.
47  */

48
49 import java.io.File JavaDoc;
50 import java.io.InputStream JavaDoc;
51 import java.util.Properties JavaDoc;
52
53 import org.apache.log4j.PropertyConfigurator;
54 import org.apache.turbine.TurbineConfig;
55
56 /**
57  * This is a class to help with initialization of Turbine in various
58  * packages such as the testing suite as well as in the XML Import/Export.
59  * It will initialize Log4J with a properties file as well.
60  *
61  * @author <a HREF="mailto:kevin.minshull@bitonic.com">Kevin Minshull</a>
62  * @author <a HREF="mailto:jon@collab.net">Jon S. Stevens</a>
63  * @version $Id: TurbineInitialization.java 9104 2004-05-10 21:04:51Z dabbous $
64  */

65 public class TurbineInitialization
66 {
67     private static String JavaDoc lTrProps = "/WEB-INF/conf/TurbineResources.properties";
68
69     protected static void initTurbine (String JavaDoc configDir)
70         throws Exception JavaDoc
71     {
72         TurbineConfig tc = new TurbineConfig(configDir, lTrProps);
73         tc.init();
74     }
75
76     public static void setTurbineResources(String JavaDoc trProps)
77     {
78         lTrProps = trProps;
79     }
80     
81     public static void setUp(String JavaDoc configDir, String JavaDoc configFile)
82         throws Exception JavaDoc
83     {
84         if (configDir == null || configFile == null)
85         {
86             System.err.println("config.dir System property was not defined");
87             throw new Exception JavaDoc ("configDir or configFile was null"); //EXCEPTION
88
}
89
90         // set this so that the proper substitution will happen in the
91
// configFile
92
System.getProperties().setProperty("configDir", configDir);
93
94         initTurbine(configDir);
95         
96         InputStream JavaDoc is = new File JavaDoc(configDir + configFile).toURL()
97             .openStream();
98         Properties JavaDoc props = new Properties JavaDoc();
99         try
100         {
101             props.load(is);
102             // init Log4J
103
PropertyConfigurator.configure(props);
104         }
105         catch (Exception JavaDoc e)
106         {
107             System.err.println("Can't read the properties file (" +
108                 configDir + configFile + "). ");
109         }
110     }
111 }
112
Popular Tags