View Javadoc

1   /*
2    * Copyright 2001-2004 The Apache Software Foundation.
3    * 
4    * Licensed under the Apache License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    * 
8    *      http://www.apache.org/licenses/LICENSE-2.0
9    * 
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  
17  package org.apache.geronimo.ews.ws4j2ee.wsutils;
18  
19  import org.apache.geronimo.ews.ws4j2ee.toWs.GenerationConstants;
20  import org.apache.geronimo.ews.ws4j2ee.toWs.GenerationFault;
21  import org.apache.commons.logging.Log;
22  import org.apache.commons.logging.LogFactory;
23  
24  import java.io.FileInputStream;
25  import java.io.InputStream;
26  import java.util.Properties;
27  
28  /***
29   * Load a given property file
30   *
31   * @author Srinath Perera(hemapani@opensource.lk)
32   */
33  public class PropertyLoader {
34      protected static Log log =
35              LogFactory.getLog(PropertyLoader.class.getName());
36      public Properties loadProperties(String propertyFile) throws GenerationFault {
37          try {
38              Properties properties = new Properties();
39              InputStream proIn = getClass().getClassLoader().getResourceAsStream(propertyFile);
40              if (proIn == null) {
41                  proIn = GenerationConstants.class.getResourceAsStream("META-INF/" + propertyFile);
42              }
43              if (proIn == null) {
44                  proIn = new FileInputStream("conf/" + propertyFile);
45              }
46              if (proIn == null) {
47                  proIn = new FileInputStream(propertyFile);
48              }
49              if (proIn != null) {
50                  properties.load(proIn);
51              } else {
52                  throw new GenerationFault("the " + propertyFile + "not found");
53              }
54              return properties;
55          } catch (Exception e) {
56              log.error(e);
57              throw GenerationFault.createGenerationFault(e);
58          }
59      }
60  }