View Javadoc

1   package org.apache.stratum.ojb;
2   
3   /*
4    * Copyright 2001-2005 The Apache Software Foundation or its licensors,
5    * as applicable.
6    *
7    * Licensed under the Apache License, Version 2.0 (the "License");
8    * you may not use this file except in compliance with the License.
9    * You may obtain a copy of the License at
10   *
11   *     http://www.apache.org/licenses/LICENSE-2.0
12   *
13   * Unless required by applicable law or agreed to in writing, software
14   * distributed under the License is distributed on an "AS IS" BASIS,
15   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16   * See the License for the specific language governing permissions and
17   * limitations under the License.
18   */
19  
20  import ojb.broker.PersistenceBroker;
21  import ojb.broker.PersistenceBrokerFactory;
22  
23  import org.apache.commons.configuration.Configuration;
24  import org.apache.commons.lang.exception.NestableException;
25  import org.apache.stratum.lifecycle.Configurable;
26  import org.apache.stratum.lifecycle.Initializable;
27  
28  /***
29   * This class is the Object Bridege component that
30   *
31   * @author <a href="mailto:john@zenplex.com">John Thorhauer</a>
32   * @version $Id: OJBComponent.java 264191 2005-08-29 18:07:52Z henning $
33   */
34  public class OJBComponent
35          implements Configurable, Initializable
36  {
37      /*** TODO: DOCUMENT ME! */
38      private PersistenceBroker pBroker = null;
39  
40      /*** The location of the OJB properties file */
41      private String propLocation;
42  
43      /*** The location of the OJB repository file */
44      private String repositoryLocation;
45  
46      /***
47       * Configure the Broker
48       *
49       * @param configuration TODO: DOCUMENT ME!
50       *
51       * @throws NestableException TODO: DOCUMENT ME!
52       */
53      public void configure(Configuration configuration)
54              throws NestableException
55      {
56          propLocation = configuration.getString("ojb.properties.location");
57          repositoryLocation = configuration.getString("ojb.repository.location");
58      }
59  
60      /***
61       * Initialize the OJB Broker
62       *
63       * @throws Exception TODO: DOCUMENT ME!
64       */
65      public void initialize()
66              throws Exception
67      {
68          if (propLocation == null)
69          {
70              throw new Exception("The property ojb.properties.location was not" + " found in the properties file");
71          }
72  
73          if (repositoryLocation == null)
74          {
75              throw new Exception("The property ojb.repository.location was not" + " found in the properties file");
76          }
77  
78          System.setProperty("OJB.properties", propLocation);
79          pBroker = PersistenceBrokerFactory.createPersistenceBroker(repositoryLocation);
80      }
81  
82      /***
83       * Retrieves the initialized persistence broker
84       *
85       * @return the initialized Persistence Broker
86       */
87      public PersistenceBroker getPersistenceBroker()
88      {
89          return pBroker;
90      }
91  }