cocoon-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From vgritse...@apache.org
Subject svn commit: r154169 - in cocoon/branches/BRANCH_2_1_X: ./ src/blocks/ojb/ src/blocks/ojb/conf/ src/blocks/ojb/java/org/apache/cocoon/ojb/broker/components/ src/blocks/ojb/java/org/apache/cocoon/ojb/components/ src/blocks/ojb/java/org/apache/cocoon/ojb/jdo/components/ src/blocks/ojb/java/org/apache/cocoon/ojb/odmg/components/
Date Thu, 17 Feb 2005 16:58:15 GMT
Author: vgritsenko
Date: Thu Feb 17 08:58:11 2005
New Revision: 154169

URL: http://svn.apache.org/viewcvs?view=rev&rev=154169
Log:
separate ojb connection factory config out of ojb access components (pb/jdo/odmg)
cleanup code
integrate ojb logging with cocoon logging.

Added:
    cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/conf/OJB-logging.properties   (with props)
    cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/conf/ojb-connection.xconf   (with props)
    cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/conf/ojb-jdo.xconf
      - copied, changed from r154160, cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/conf/ojb.xconf
    cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/conf/ojb-jdo.xroles
      - copied unchanged from r154160, cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/conf/ojb.xroles
    cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/conf/ojb-logger.xconf   (with props)
    cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/java/org/apache/cocoon/ojb/components/ConnectionFactoryImpl.java
  (with props)
    cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/java/org/apache/cocoon/ojb/components/LoggerImpl.java
  (with props)
Removed:
    cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/conf/ojb.xconf
    cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/conf/ojb.xroles
    cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/java/org/apache/cocoon/ojb/components/AbstractOjbImpl.java
    cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/java/org/apache/cocoon/ojb/components/ConnectionFactoryAvalonDataSource.java
Modified:
    cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/build.xml
    cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/conf/OJB.properties
    cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/conf/ojb-odmg.xconf
    cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/conf/ojb-pb.xconf
    cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/java/org/apache/cocoon/ojb/broker/components/PBFactory.java
    cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/java/org/apache/cocoon/ojb/broker/components/PBFactoryImpl.java
    cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/java/org/apache/cocoon/ojb/jdo/components/JdoPMF.java
    cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/java/org/apache/cocoon/ojb/jdo/components/JdoPMFImpl.java
    cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/java/org/apache/cocoon/ojb/odmg/components/OdmgImplementation.java
    cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/java/org/apache/cocoon/ojb/odmg/components/OdmgImplementationImpl.java
    cocoon/branches/BRANCH_2_1_X/status.xml

Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/build.xml
URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/build.xml?view=diff&r1=154168&r2=154169
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/build.xml (original)
+++ cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/build.xml Thu Feb 17 08:58:11 2005
@@ -39,6 +39,7 @@
     <copy file="${block.dir}/conf/repository.dtd" tofile="${build.webapp.classes}/repository.dtd"/>
     <copy file="${block.dir}/conf/repository.xml" tofile="${build.webapp.classes}/repository.xml"/>
     <copy file="${block.dir}/conf/OJB.properties" tofile="${build.webapp.classes}/OJB.properties"/>
+    <copy file="${block.dir}/conf/OJB-logging.properties" tofile="${build.webapp.classes}/OJB-logging.properties"/>
   </target>
 
   <!-- unfortunately this build.xml is called before the samples are compiled,

Added: cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/conf/OJB-logging.properties
URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/conf/OJB-logging.properties?view=auto&rev=154169
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/conf/OJB-logging.properties (added)
+++ cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/conf/OJB-logging.properties Thu Feb 17 08:58:11
2005
@@ -0,0 +1,95 @@
+#<!--
+#/* Copyright 2002-2005 The Apache Software Foundation
+# *
+# * Licensed under the Apache License, Version 2.0 (the "License");
+# * you may not use this file except in compliance with the License.
+# * You may obtain a copy of the License at
+# *
+# *     http://www.apache.org/licenses/LICENSE-2.0
+# *
+# * Unless required by applicable law or agreed to in writing, software
+# * distributed under the License is distributed on an "AS IS" BASIS,
+# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# * See the License for the specific language governing permissions and
+# * limitations under the License.
+# */
+#-->
+# OJB-logging.properties -- configuration of the logging within the OJB runtime environment
+# Version: 1.0
+# (c) 2001, 2002, 2003 Apache Software Foundation
+# Author: Thomas Mahler and many others
+# @version $Id$
+#----------------------------------------------------------------------------------------
+# The LoggerClass entry tells OJB which concrete Logger implementation is to be used.
+# If it is not specified (or this file is not present/found, then OJB will check
+# whether there is a log4j.properties or commons-logging.properties file, in which
+# case it will use Log4J/commons-logging. If neither is present, then OJB will default
+# to commons-logging.
+#
+# Integrated with Cocoon logging. Ignores settings below, use
+# central configuration place: logkit.xconf or log4j.xconf
+LoggerClass=org.apache.cocoon.ojb.components.LoggerImpl
+# Commons-logging
+#LoggerClass=org.apache.ojb.broker.util.logging.CommonsLoggerImpl
+# log4j based logging
+#LoggerClass=org.apache.ojb.broker.util.logging.Log4jLoggerImpl
+# OJB's own simple looging support
+#LoggerClass=org.apache.ojb.broker.util.logging.PoorMansLoggerImpl
+#LoggerConfigFile=log4j.properties
+#
+# The LogLevel entries tells OJB which LogLevels are active
+# for the different loggers used within OJB
+# Loglevels: DEBUG < INFO < WARN < ERROR < FATAL
+# That is loglevel WARN won't log DEBUG and INFO messages,
+# but will log WARN, ERROR, and FATAL messages
+#
+# Global default log level used for all logging
+# entities if not specified
+ROOT.LogLevel=ERROR
+#
+# The Default Logger instance used within OJB
+DEFAULT.LogLevel=WARN
+# Logger for PersistenceBrokerImpl class
+org.apache.ojb.broker.core.PersistenceBrokerImpl.LogLevel=WARN
+# Logger for PersistenceBrokerFactory class PersistenceBrokerFactoryDefaultImpl
+org.apache.ojb.broker.core.PersistenceBrokerFactoryDefaultImpl.LogLevel=WARN
+# Logger for RepositoryXmlHandler, useful for debugging parsing of repository.xml!
+# persistence capable object metadata
+org.apache.ojb.broker.metadata.RepositoryXmlHandler.LogLevel=WARN
+# Logger for ConnectionDescriptorXmlHandler, useful for debugging parsing of repository.xml!
+# connection specific metadata
+org.apache.ojb.broker.metadata.ConnectionDescriptorXmlHandler.LogLevel=WARN
+# Logger for JdbcAccess, useful for debugging JDBC related problems
+org.apache.ojb.broker.accesslayer.JdbcAccessImpl.LogLevel=WARN
+# Logger for RsIterator, useful for debugging problems with Object materialization
+org.apache.ojb.broker.accesslayer.RsIterator.LogLevel=WARN
+# Logger for StatementsForClass, useful for debugging JDBC Connection related problems
+org.apache.ojb.broker.accesslayer.StatementsForClassImpl.LogLevel=WARN
+# Logger for SqlGenerator, useful for debugging generation of SQL
+org.apache.ojb.broker.accesslayer.sql.SqlGeneratorDefaultImpl.LogLevel=WARN
+# Logger for RepositoryPersistor
+org.apache.ojb.broker.metadata.RepositoryPersistor.LogLevel=WARN
+# Logger for ConnectionFactory base class
+org.apache.ojb.broker.accesslayer.ConnectionFactoryAbstractImpl.LogLevel=WARN
+# Logger for ConnectionManager
+org.apache.ojb.broker.accesslayer.ConnectionManagerImpl.LogLevel=WARN
+# Logger for IndirectionHandler class
+org.apache.ojb.broker.core.proxy.IndirectionHandler.LogLevel=WARN
+#
+# Special Logger categories used in test suite and tutorials
+#
+# Logger for the ODMG Implementation
+ODMG.LogLevel=DEBUG
+# Logger for the JDO RI Implementation
+JDO.LogLevel=DEBUG
+# Logger for the performance tests
+performance.LogLevel=INFO
+# Logger for the soda api
+soda.LogLevel=WARN
+# Logger for the factory service
+ConfigurableFactory.LogLevel=WARN
+#
+#
+#----------------------------------------------------------------------------------------
+# End of OJB.properties file
+#----------------------------------------------------------------------------------------

Propchange: cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/conf/OJB-logging.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/conf/OJB-logging.properties
------------------------------------------------------------------------------
    svn:keywords = Id

Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/conf/OJB.properties
URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/conf/OJB.properties?view=diff&r1=154168&r2=154169
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/conf/OJB.properties (original)
+++ cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/conf/OJB.properties Thu Feb 17 08:58:11 2005
@@ -109,7 +109,7 @@
 # JDBC Connections. Current version ships four implementations:
 #
 # 1. ConnectionFactoryAvalonDatasource
-#    Uses a Cocoon configured DataSource specified with the jcd-alias attribute value in

+#    Uses a Cocoon configured DataSource specified with the jcd-alias attribute value in
 #    a jdbc-connection-descriptor element in the repository.xml file.
 # 2. ConnectionFactoryNotPooledImpl
 #    No pooling, no playing around.
@@ -133,7 +133,7 @@
 # take a look at the repository.dtd, there was a possibility to override
 # this default connection factory entry in each JDBCConnectionDescriptor.
 #
-ConnectionFactoryClass=org.apache.cocoon.ojb.components.ConnectionFactoryAvalonDataSource
+ConnectionFactoryClass=org.apache.cocoon.ojb.components.ConnectionFactoryImpl
 #ConnectionFactoryClass=org.apache.ojb.broker.accesslayer.ConnectionFactoryPooledImpl
 #ConnectionFactoryClass=org.apache.ojb.broker.accesslayer.ConnectionFactoryNotPooledImpl
 #ConnectionFactoryClass=org.apache.ojb.broker.accesslayer.ConnectionFactoryManagedImpl

Added: cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/conf/ojb-connection.xconf
URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/conf/ojb-connection.xconf?view=auto&rev=154169
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/conf/ojb-connection.xconf (added)
+++ cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/conf/ojb-connection.xconf Thu Feb 17 08:58:11
2005
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<xconf xpath="/cocoon" unless="component[class='org.apache.cocoon.ojb.components.ConnectionFactoryImpl']">
+  <!-- OJB Connection Factory -->
+  <component role="org.apache.cocoon.ojb.components.ConnectionFactory"
+             class="org.apache.cocoon.ojb.components.ConnectionFactoryImpl"
+             logger="core.ojb"/>
+</xconf>

Propchange: cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/conf/ojb-connection.xconf
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/conf/ojb-connection.xconf
------------------------------------------------------------------------------
    svn:keywords = Id

Copied: cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/conf/ojb-jdo.xconf (from r154160, cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/conf/ojb.xconf)
URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/conf/ojb-jdo.xconf?view=diff&rev=154169&p1=cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/conf/ojb.xconf&r1=154160&p2=cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/conf/ojb-jdo.xconf&r2=154169
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/conf/ojb.xconf (original)
+++ cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/conf/ojb-jdo.xconf Thu Feb 17 08:58:11 2005
@@ -15,9 +15,7 @@
   limitations under the License.
 -->
 
-<xconf xpath="/cocoon" unless="comment()[contains(., 'Persistent Manager Factory for JDO')]">
+<xconf xpath="/cocoon" unless="ojb-jdo">
   <!-- Persistent Manager Factory for JDO -->
-  <!-- uncomment in order to set the logger to a category other than core.startup
-  <ojb-jdo class="org.apache.cocoon.ojb.jdo.components.JdoPMFImpl" logger="core.ojb-jdo"/>
-  -->
+  <ojb-jdo logger="core.ojb.jdo"/>
 </xconf>

Added: cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/conf/ojb-logger.xconf
URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/conf/ojb-logger.xconf?view=auto&rev=154169
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/conf/ojb-logger.xconf (added)
+++ cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/conf/ojb-logger.xconf Thu Feb 17 08:58:11
2005
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<xconf xpath="/cocoon" unless="component[class='org.apache.cocoon.ojb.components.LoggerImpl']">
+  <!-- OJB Logger -->
+  <component role="org.apache.cocoon.ojb.components.Logger"
+             class="org.apache.cocoon.ojb.components.LoggerImpl"
+             logger="ojb"/>
+</xconf>

Propchange: cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/conf/ojb-logger.xconf
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/conf/ojb-logger.xconf
------------------------------------------------------------------------------
    svn:keywords = Id

Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/conf/ojb-odmg.xconf
URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/conf/ojb-odmg.xconf?view=diff&r1=154168&r2=154169
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/conf/ojb-odmg.xconf (original)
+++ cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/conf/ojb-odmg.xconf Thu Feb 17 08:58:11 2005
@@ -16,6 +16,6 @@
 -->
 
 <xconf xpath="/cocoon" unless="ojb-odmg">
-  <!-- ODMG Implementation Interface 
-  <ojb-odmg logger="core.ojb-odmg"/> -->
+  <!-- ODMG Implementation Interface -->
+  <ojb-odmg logger="core.ojb.odmg"/>
 </xconf>

Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/conf/ojb-pb.xconf
URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/conf/ojb-pb.xconf?view=diff&r1=154168&r2=154169
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/conf/ojb-pb.xconf (original)
+++ cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/conf/ojb-pb.xconf Thu Feb 17 08:58:11 2005
@@ -17,5 +17,5 @@
 
 <xconf xpath="/cocoon" unless="ojb-pb">
   <!-- PersistenceBroker Interface -->
-  <ojb-pb logger="core.ojb-pb"/>
+  <ojb-pb logger="core.ojb.pb"/>
 </xconf>

Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/java/org/apache/cocoon/ojb/broker/components/PBFactory.java
URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/java/org/apache/cocoon/ojb/broker/components/PBFactory.java?view=diff&r1=154168&r2=154169
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/java/org/apache/cocoon/ojb/broker/components/PBFactory.java
(original)
+++ cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/java/org/apache/cocoon/ojb/broker/components/PBFactory.java
Thu Feb 17 08:58:11 2005
@@ -16,6 +16,7 @@
 package org.apache.cocoon.ojb.broker.components;
 
 import org.apache.avalon.framework.component.Component;
+
 import org.apache.ojb.broker.PBFactoryException;
 import org.apache.ojb.broker.PBKey;
 import org.apache.ojb.broker.PersistenceBroker;

Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/java/org/apache/cocoon/ojb/broker/components/PBFactoryImpl.java
URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/java/org/apache/cocoon/ojb/broker/components/PBFactoryImpl.java?view=diff&r1=154168&r2=154169
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/java/org/apache/cocoon/ojb/broker/components/PBFactoryImpl.java
(original)
+++ cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/java/org/apache/cocoon/ojb/broker/components/PBFactoryImpl.java
Thu Feb 17 08:58:11 2005
@@ -15,8 +15,9 @@
  */
 package org.apache.cocoon.ojb.broker.components;
 
+import org.apache.avalon.framework.logger.AbstractLogEnabled;
 import org.apache.avalon.framework.thread.ThreadSafe;
-import org.apache.cocoon.ojb.components.AbstractOjbImpl;
+
 import org.apache.ojb.broker.PBFactoryException;
 import org.apache.ojb.broker.PBKey;
 import org.apache.ojb.broker.PersistenceBroker;
@@ -28,25 +29,8 @@
  * @author <a href="mailto:antonio@apache.org">Antonio Gallardo</a>
  * @version CVS $Id$
 */
-public class PBFactoryImpl
-        extends AbstractOjbImpl
-        implements PBFactory, ThreadSafe {
-
-    /* (non-Javadoc)
-     * @see org.apache.avalon.framework.activity.Disposable#dispose()
-     */
-    public void dispose() {
-        super.dispose();
-        getLogger().debug("Disposed");
-    }
-
-    /* (non-Javadoc)
-     * @see org.apache.avalon.framework.activity.Initializable#initialize()
-     */
-    public void initialize() throws Exception {
-        super.initialize();
-        getLogger().debug("Started");
-    }
+public class PBFactoryImpl extends AbstractLogEnabled
+                           implements PBFactory, ThreadSafe {
 
     /* (non-Javadoc)
      * @see org.apache.cocoon.ojb.broker.components.PBFactory#defaultPersistenceBroker()

Added: cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/java/org/apache/cocoon/ojb/components/ConnectionFactoryImpl.java
URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/java/org/apache/cocoon/ojb/components/ConnectionFactoryImpl.java?view=auto&rev=154169
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/java/org/apache/cocoon/ojb/components/ConnectionFactoryImpl.java
(added)
+++ cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/java/org/apache/cocoon/ojb/components/ConnectionFactoryImpl.java
Thu Feb 17 08:58:11 2005
@@ -0,0 +1,104 @@
+/*
+ * Copyright 1999-2002,2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cocoon.ojb.components;
+
+import org.apache.avalon.excalibur.datasource.DataSourceComponent;
+import org.apache.avalon.framework.CascadingRuntimeException;
+import org.apache.avalon.framework.activity.Disposable;
+import org.apache.avalon.framework.component.Component;
+import org.apache.avalon.framework.service.ServiceException;
+import org.apache.avalon.framework.service.ServiceManager;
+import org.apache.avalon.framework.service.ServiceSelector;
+import org.apache.avalon.framework.service.Serviceable;
+import org.apache.avalon.framework.thread.ThreadSafe;
+
+import org.apache.ojb.broker.accesslayer.ConnectionFactory;
+import org.apache.ojb.broker.accesslayer.LookupException;
+import org.apache.ojb.broker.metadata.JdbcConnectionDescriptor;
+
+import java.sql.Connection;
+import java.sql.SQLException;
+
+/**
+ * OJB ConnectionFactory implemenation to bridge into the Avalon DataSource
+ * connection pooling component defined in the Cocoon configuration.
+ *
+ * @author giacomo at apache.org
+ * @author <a href="mailto:vgritsenko@apache.org">Vadim Gritsenko</a>
+ * @version $Id$
+ */
+public class ConnectionFactoryImpl implements Component, ThreadSafe, Serviceable, Disposable,
+                                              ConnectionFactory {
+
+    /** The <code>ServiceManager</code> to be used */
+    private static ServiceManager manager;
+
+    /** The <code>ServiceSelector</code> to be used */
+    private static ServiceSelector datasources;
+
+    public void service(ServiceManager manager) throws ServiceException {
+        ConnectionFactoryImpl.manager = manager;
+        ConnectionFactoryImpl.datasources = (ServiceSelector) manager.lookup(DataSourceComponent.ROLE
+ "Selector");
+    }
+
+    public void dispose() {
+        if (ConnectionFactoryImpl.manager != null) {
+            ConnectionFactoryImpl.manager.release(ConnectionFactoryImpl.datasources);
+            ConnectionFactoryImpl.datasources = null;
+            ConnectionFactoryImpl.manager = null;
+        }
+    }
+
+    /* (non-Javadoc)
+     * @see org.apache.ojb.broker.accesslayer.ConnectionFactory#lookupConnection(org.apache.ojb.broker.metadata.JdbcConnectionDescriptor)
+     */
+    public Connection lookupConnection(final JdbcConnectionDescriptor conDesc)
+    throws LookupException {
+        if (ConnectionFactoryImpl.manager == null) {
+            throw new LookupException("ConnectionFactoryImpl is not initialized! Please check
your cocoon.xconf");
+        }
+
+        try {
+            return ((DataSourceComponent) ConnectionFactoryImpl.datasources.select(conDesc.getJcdAlias())).getConnection();
+        } catch (final ServiceException e) {
+            throw new LookupException("Cannot lookup DataSource named " +
+                                      conDesc.getJcdAlias(), e);
+        } catch (final SQLException e) {
+            throw new LookupException("Cannot get connection from DataSource named " +
+                                      conDesc.getDbAlias(), e);
+        }
+    }
+
+    /* (non-Javadoc)
+     * @see org.apache.ojb.broker.accesslayer.ConnectionFactory#releaseConnection(org.apache.ojb.broker.metadata.JdbcConnectionDescriptor,
java.sql.Connection)
+     */
+    public void releaseConnection(JdbcConnectionDescriptor conDesc, Connection con) {
+        try {
+            // The DataSource of this connection will take care of pooling
+            con.close();
+        } catch (final SQLException e) {
+            // This should not happen, but in case
+            throw new CascadingRuntimeException("Cannot release SQL Connection to DataSource",
e);
+        }
+    }
+
+    /* (non-Javadoc)
+     * @see org.apache.ojb.broker.accesslayer.ConnectionFactory#releaseAllResources()
+     */
+    public void releaseAllResources() {
+        // Nothing to do here
+    }
+}

Propchange: cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/java/org/apache/cocoon/ojb/components/ConnectionFactoryImpl.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/java/org/apache/cocoon/ojb/components/ConnectionFactoryImpl.java
------------------------------------------------------------------------------
    svn:keywords = Id

Added: cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/java/org/apache/cocoon/ojb/components/LoggerImpl.java
URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/java/org/apache/cocoon/ojb/components/LoggerImpl.java?view=auto&rev=154169
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/java/org/apache/cocoon/ojb/components/LoggerImpl.java
(added)
+++ cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/java/org/apache/cocoon/ojb/components/LoggerImpl.java
Thu Feb 17 08:58:11 2005
@@ -0,0 +1,228 @@
+/*
+ * Copyright 1999-2002,2004-2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cocoon.ojb.components;
+
+import org.apache.avalon.framework.activity.Initializable;
+import org.apache.avalon.framework.component.Component;
+import org.apache.avalon.framework.logger.AbstractLogEnabled;
+import org.apache.avalon.framework.thread.ThreadSafe;
+
+import org.apache.ojb.broker.util.configuration.Configuration;
+import org.apache.ojb.broker.util.configuration.ConfigurationException;
+import org.apache.ojb.broker.util.logging.Logger;
+
+/**
+ * OJB logger implementation delegating to the Avalon logger
+ *
+ * @author <a href="mailto:vgritsenko@apache.org">Vadim Gritsenko</a>
+ * @version $Id$
+ */
+public class LoggerImpl extends AbstractLogEnabled
+                                 implements Component, ThreadSafe, Initializable,
+                                            Logger {
+
+    /**
+     * Root logger for all OJB loggers
+     */
+    private static org.apache.avalon.framework.logger.Logger LOGGER;
+
+    private final String name;
+    private transient int level;
+    private transient org.apache.avalon.framework.logger.Logger logger;
+
+    /**
+     * Constructor used by Container
+     */
+    public LoggerImpl() {
+        this.name = null;
+    }
+
+    /**
+     * Constructor used by OJB to create a logger instance
+     */
+    public LoggerImpl(String name) {
+        this.name = name.startsWith("org.apache.ojb.")? name.substring(15): name;
+    }
+
+    /**
+     * Set root logger instance which will be used by OJB
+     */
+    public void initialize() {
+        LOGGER = getLogger();
+    }
+
+    protected int getLevel() {
+        if (logger == null) {
+            this.logger = LOGGER.getChildLogger(this.name);
+            if (this.logger.isDebugEnabled()) this.level = DEBUG;
+            else if (this.logger.isInfoEnabled()) this.level = INFO;
+            else if (this.logger.isWarnEnabled()) this.level = WARN;
+            else if (this.logger.isErrorEnabled()) this.level = ERROR;
+            else this.level = FATAL;
+        }
+        return level;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void debug(Object message) {
+        if (DEBUG >= getLevel()) {
+            logger.debug(toString(message));
+        }
+    }
+
+    public void debug(Object message, Throwable t) {
+        if (DEBUG >= getLevel()) {
+            logger.debug(toString(message), t);
+        }
+    }
+
+    public void safeDebug(String message, Object obj) {
+        if (DEBUG >= getLevel()) {
+            logger.debug(message + " : " + toString(obj));
+        }
+    }
+
+    public void safeDebug(String message, Object obj, Throwable t) {
+        if (DEBUG >= getLevel()) {
+            logger.debug(message + " : " + toString(obj), t);
+        }
+    }
+
+    public void info(Object message) {
+        if (INFO >= getLevel()) {
+            logger.info(toString(message));
+        }
+    }
+
+    public void info(Object message, Throwable t) {
+        if (INFO >= getLevel()) {
+            logger.info(toString(message), t);
+        }
+    }
+
+    public void safeInfo(String message, Object obj) {
+        if (INFO >= getLevel()) {
+            logger.info(message + " : " + toString(obj));
+        }
+    }
+
+    public void safeInfo(String message, Object obj, Throwable t) {
+        if (INFO >= getLevel()) {
+            logger.info(message + " : " + toString(obj), t);
+        }
+    }
+
+    public void warn(Object message) {
+        if (WARN >= getLevel()) {
+            logger.warn(toString(message));
+        }
+    }
+
+    public void warn(Object message, Throwable t) {
+        if (WARN >= getLevel()) {
+            logger.warn(toString(message), t);
+        }
+    }
+
+    public void safeWarn(String message, Object obj) {
+        if (WARN >= getLevel()) {
+            logger.warn(message + " : " + toString(obj));
+        }
+    }
+
+    public void safeWarn(String message, Object obj, Throwable t) {
+        if (WARN >= getLevel()) {
+            logger.warn(message + " : " + toString(obj), t);
+        }
+    }
+
+    public void error(Object message) {
+        if (ERROR >= getLevel()) {
+            logger.fatalError(toString(message));
+        }
+    }
+
+    public void error(Object message, Throwable t) {
+        if (ERROR >= getLevel()) {
+            logger.fatalError(toString(message), t);
+        }
+    }
+
+    public void safeError(String message, Object obj) {
+        if (ERROR >= getLevel()) {
+            logger.error(message + " : " + toString(obj));
+        }
+    }
+
+    public void safeError(String message, Object obj, Throwable t) {
+        if (ERROR >= getLevel()) {
+            logger.error(message + " : " + toString(obj), t);
+        }
+    }
+
+    public void fatal(Object message) {
+        if (FATAL >= getLevel()) {
+            logger.fatalError(toString(message));
+        }
+    }
+
+    public void fatal(Object message, Throwable t) {
+        if (FATAL >= getLevel()) {
+            logger.fatalError(toString(message), t);
+        }
+    }
+
+    public void safeFatal(String message, Object obj) {
+        if (FATAL >= getLevel()) {
+            logger.fatalError(message + " : " + toString(obj));
+        }
+    }
+
+    public void safeFatal(String message, Object obj, Throwable t) {
+        if (FATAL >= getLevel()) {
+            logger.fatalError(message + " : " + toString(obj), t);
+        }
+    }
+
+    public boolean isDebugEnabled() {
+        return isEnabledFor(DEBUG);
+    }
+
+    public boolean isEnabledFor(int priority) {
+        return priority >= getLevel();
+    }
+
+    /*
+     * @see org.apache.ojb.broker.util.configuration.Configurable#configure(Configuration)
+     */
+    public void configure(Configuration config) throws ConfigurationException {
+    }
+
+    private String toString(Object obj) {
+        if (obj != null) {
+            try {
+                return obj.toString();
+            } catch (Throwable throwable) {
+                return "BAD toString() impl for " + obj.getClass().getName();
+            }
+        }
+
+        return "null";
+    }
+}

Propchange: cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/java/org/apache/cocoon/ojb/components/LoggerImpl.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/java/org/apache/cocoon/ojb/components/LoggerImpl.java
------------------------------------------------------------------------------
    svn:keywords = Id

Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/java/org/apache/cocoon/ojb/jdo/components/JdoPMF.java
URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/java/org/apache/cocoon/ojb/jdo/components/JdoPMF.java?view=diff&r1=154168&r2=154169
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/java/org/apache/cocoon/ojb/jdo/components/JdoPMF.java
(original)
+++ cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/java/org/apache/cocoon/ojb/jdo/components/JdoPMF.java
Thu Feb 17 08:58:11 2005
@@ -1,12 +1,12 @@
 /*
  * Copyright 1999-2004 The Apache Software Foundation.
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *      http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -15,23 +15,23 @@
  */
 package org.apache.cocoon.ojb.jdo.components;
 
-import javax.jdo.PersistenceManager;
-
 import org.apache.avalon.framework.component.Component;
 
+import javax.jdo.PersistenceManager;
+
 /**
- *  Interface of the JDO Persistent Manager Factory.
+ * Interface of the JDO Persistent Manager Factory.
  * It is used to get the Persistence Manager to interact with JDO using OJB
  *
  * @author <a href="mailto:antonio@apache.org">Antonio Gallardo</a>
  * @version CVS $Id$
 */
 public interface JdoPMF extends Component {
-    
+
     String ROLE = JdoPMF.class.getName();
-	
+
     /**
-    * get a Persitence Manager.
-	*/
+     * Get a Persitence Manager.
+     */
     PersistenceManager getPersistenceManager();
 }

Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/java/org/apache/cocoon/ojb/jdo/components/JdoPMFImpl.java
URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/java/org/apache/cocoon/ojb/jdo/components/JdoPMFImpl.java?view=diff&r1=154168&r2=154169
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/java/org/apache/cocoon/ojb/jdo/components/JdoPMFImpl.java
(original)
+++ cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/java/org/apache/cocoon/ojb/jdo/components/JdoPMFImpl.java
Thu Feb 17 08:58:11 2005
@@ -1,12 +1,12 @@
 /*
  * Copyright 1999-2004 The Apache Software Foundation.
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *      http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -15,57 +15,37 @@
  */
 package org.apache.cocoon.ojb.jdo.components;
 
-import javax.jdo.PersistenceManager;
-import javax.jdo.PersistenceManagerFactory;
-
+import org.apache.avalon.framework.activity.Initializable;
+import org.apache.avalon.framework.logger.AbstractLogEnabled;
 import org.apache.avalon.framework.thread.ThreadSafe;
-import org.apache.cocoon.ojb.components.AbstractOjbImpl;
+
 import org.apache.ojb.jdori.sql.OjbStorePMF;
 
+import javax.jdo.PersistenceManager;
+import javax.jdo.PersistenceManagerFactory;
+
 /**
 * Implementation of the JdoPMF. Create one PMF and store it for future use
  *
  * @author <a href="mailto:antonio@apache.org">Antonio Gallardo</a>
  * @version CVS $Id$
 */
-public class JdoPMFImpl 
-    extends AbstractOjbImpl 
-    implements JdoPMF, ThreadSafe {
-	
-    protected PersistenceManagerFactory factory;
+public class JdoPMFImpl extends AbstractLogEnabled
+                        implements JdoPMF, ThreadSafe, Initializable {
 
-    /* (non-Javadoc)
-     * @see org.apache.avalon.framework.activity.Disposable#dispose()
-     */
-    public void dispose() {
-        super.dispose();
-        if (this.getLogger().isDebugEnabled()) {
-	    this.getLogger().debug("OJB-JDO: Disposed OK!");
-        }
-    }
+    protected PersistenceManagerFactory factory;
 
     /* (non-Javadoc)
      * @see org.apache.cocoon.ojb.jdori.components.JdoPMF#getPersistenceManager()
      */
     public PersistenceManager getPersistenceManager() {
-        return factory.getPersistenceManager();
+        return this.factory.getPersistenceManager();
     }
-    
+
     /* (non-Javadoc)
      * @see org.apache.avalon.framework.activity.Initializable#initialize()
      */
     public void initialize() throws Exception {
-        super.initialize();
-        try {
-            // Create the factory
-            factory = new OjbStorePMF();
-            if (this.getLogger().isDebugEnabled()) {
-                this.getLogger().debug("OJB-JDO: Started OK!");
-	    }
-        } catch (Throwable t) {
-            if (this.getLogger().isFatalErrorEnabled()) {
-                this.getLogger().fatalError("OJB-JDO: Started failed: Cannot create a Persistence
Manager Factory.",t);
-            }
-        }
+        this.factory = new OjbStorePMF();
     }
 }

Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/java/org/apache/cocoon/ojb/odmg/components/OdmgImplementation.java
URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/java/org/apache/cocoon/ojb/odmg/components/OdmgImplementation.java?view=diff&r1=154168&r2=154169
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/java/org/apache/cocoon/ojb/odmg/components/OdmgImplementation.java
(original)
+++ cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/java/org/apache/cocoon/ojb/odmg/components/OdmgImplementation.java
Thu Feb 17 08:58:11 2005
@@ -1,12 +1,12 @@
 /*
  * Copyright 1999-2002,2004 The Apache Software Foundation.
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *      http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -16,10 +16,10 @@
 package org.apache.cocoon.ojb.odmg.components;
 
 import org.apache.avalon.framework.component.Component;
+
 import org.odmg.Implementation;
 import org.odmg.ODMGException;
 
-
 /**
  * Interface of the ODMG Implementation. It is used to get the Implementation Object to interact
with ODMG using OJB
  *
@@ -39,7 +39,7 @@
      * @throws ODMGException DOCUMENT ME!
      */
     Implementation getInstance()
-        throws ODMGException;
+    throws ODMGException;
 
     /**
      * Get a ODMG Instance with a specific connection definition.
@@ -51,7 +51,7 @@
      * @throws ODMGException DOCUMENT ME!
      */
     Implementation getInstance(String connection)
-        throws ODMGException;
+    throws ODMGException;
 
     /**
      * Get a ODMG Instance with a specific connection definition and a Database operation
mode.
@@ -64,7 +64,7 @@
      * @throws ODMGException DOCUMENT ME!
      */
     Implementation getInstance(String connection, int mode)
-        throws ODMGException;
+    throws ODMGException;
 
     /**
      * Get a ODMG Instance with a default connection definition and a Database operation
mode.
@@ -76,5 +76,5 @@
      * @throws ODMGException DOCUMENT ME!
      */
     Implementation getInstance(int mode)
-        throws ODMGException;
+    throws ODMGException;
 }

Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/java/org/apache/cocoon/ojb/odmg/components/OdmgImplementationImpl.java
URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/java/org/apache/cocoon/ojb/odmg/components/OdmgImplementationImpl.java?view=diff&r1=154168&r2=154169
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/java/org/apache/cocoon/ojb/odmg/components/OdmgImplementationImpl.java
(original)
+++ cocoon/branches/BRANCH_2_1_X/src/blocks/ojb/java/org/apache/cocoon/ojb/odmg/components/OdmgImplementationImpl.java
Thu Feb 17 08:58:11 2005
@@ -1,12 +1,12 @@
 /*
  * Copyright 1999-2002,2004 The Apache Software Foundation.
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *      http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -15,17 +15,19 @@
  */
 package org.apache.cocoon.ojb.odmg.components;
 
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.Set;
-
+import org.apache.avalon.framework.activity.Disposable;
+import org.apache.avalon.framework.activity.Initializable;
+import org.apache.avalon.framework.logger.AbstractLogEnabled;
 import org.apache.avalon.framework.thread.ThreadSafe;
-import org.apache.cocoon.ojb.components.AbstractOjbImpl;
+
 import org.apache.ojb.odmg.OJB;
 import org.odmg.Database;
 import org.odmg.Implementation;
 import org.odmg.ODMGException;
 
+import java.util.Hashtable;
+import java.util.Iterator;
+import java.util.Set;
 
 /**
  * Implementation of the OdmgImplementation. Create a ODMG Implementation and store it for
future use
@@ -33,71 +35,49 @@
  * @author <a href="mailto:giacomo@apache.org">Giacomo Pati</a>
  * @version CVS $Id$
  */
-public class OdmgImplementationImpl
-    extends AbstractOjbImpl
-    implements OdmgImplementation, ThreadSafe {
+public class OdmgImplementationImpl extends AbstractLogEnabled
+                                    implements OdmgImplementation, ThreadSafe, Initializable,
Disposable {
 
     private final static String DEFAULT_CONNECTION ="default";
     private final static int DEFAULT_MODE = Database.OPEN_READ_WRITE;
     private Implementation odmg;
-    
+
     private Hashtable databases = new Hashtable();
-    
-    /*  (non-Javadoc)
+
+    /* (non-Javadoc)
      * @see org.apache.avalon.framework.activity.Disposable#dispose()
      */
     public void dispose() {
-        super.dispose();
-        synchronized(this.databases) {
-            final Set keys = this.databases.keySet();
-            for( Iterator i = keys.iterator(); i.hasNext(); )
-            {
-                final Database db = (Database)i.next();
-                try
-                {
-                    db.close();
-                }
-                catch( final ODMGException e) {
-                    getLogger().error( "OJB-ODMG: Cannot close Database", e);
-                }
-                i.remove();
+        final Set keys = this.databases.keySet();
+        for (Iterator i = keys.iterator(); i.hasNext();) {
+            final Database db = (Database) i.next();
+            try {
+                db.close();
+            } catch (ODMGException e) {
+                getLogger().error("OJB-ODMG: Cannot close Database", e);
             }
-        }
-        if (this.getLogger().isDebugEnabled()) {
-            this.getLogger().debug("OJB-ODMG: Disposed OK!");
+            i.remove();
         }
     }
 
     /* (non-Javadoc)
      * @see org.apache.avalon.framework.activity.Initializable#initialize()
      */
-    public void initialize()
-        throws Exception {
-        super.initialize();
-        try {
-            // Get the Implementation
-            this.odmg = OJB.getInstance();
-            
-            if (this.getLogger().isDebugEnabled()) {
-                this.getLogger().debug("OJB-ODMG: Started OK!");
-            }
-        } catch (Throwable t) {
-            if (this.getLogger().isFatalErrorEnabled()) {
-                this.getLogger().fatalError("OJB-ODMG: Started failed: Cannot get an ODMG
Implementation.", t);
-            }
-        }
+    public void initialize() throws Exception {
+        // Get the Implementation
+        this.odmg = OJB.getInstance();
     }
 
     /* (non-Javadoc)
      * @see org.apache.cocoon.ojb.odmg.components.Odmg#getInstance()
      */
     public Implementation getInstance() throws ODMGException {
-        Database db = (Database)this.databases.get( DEFAULT_CONNECTION );
-        if(null == db ) {
+        Database db = (Database) this.databases.get(DEFAULT_CONNECTION);
+        if (null == db) {
             db = this.odmg.newDatabase();
             db.open(DEFAULT_CONNECTION, DEFAULT_MODE);
             synchronized (this.databases) {
-                this.databases.put( DEFAULT_CONNECTION + DEFAULT_MODE, db );
+                this.databases.put(DEFAULT_CONNECTION + DEFAULT_MODE, db);
             }
         }
         return this.odmg;
@@ -107,12 +87,12 @@
      * @see org.apache.cocoon.ojb.odmg.components.Odmg#getInstance(java.lang.String, int)
      */
     public Implementation getInstance(String connection, int mode) throws ODMGException {
-        Database db = (Database)this.databases.get( connection + mode);
-        if(null == db ) {
+        Database db = (Database) this.databases.get(connection + mode);
+        if (null == db) {
             db = this.odmg.newDatabase();
             db.open(connection, mode);
             synchronized (this.databases) {
-                this.databases.put( connection + mode, db );
+                this.databases.put(connection + mode, db);
             }
         }
         return this.odmg;
@@ -122,26 +102,27 @@
      * @see org.apache.cocoon.ojb.odmg.components.Odmg#getInstance(java.lang.String)
      */
     public Implementation getInstance(String connection) throws ODMGException {
-        Database db = (Database)this.databases.get( connection + DEFAULT_MODE);
-        if(null == db ) {
+        Database db = (Database) this.databases.get(connection + DEFAULT_MODE);
+        if (null == db) {
             db = this.odmg.newDatabase();
             db.open(connection, DEFAULT_MODE);
             synchronized (this.databases) {
-                this.databases.put( connection + DEFAULT_MODE, db );
+                this.databases.put(connection + DEFAULT_MODE, db);
             }
         }
         return this.odmg;
     }
+
     /* (non-Javadoc)
      * @see org.apache.cocoon.ojb.odmg.components.OdmgImplementation#getInstance(int)
      */
-    public Implementation getInstance( int mode ) throws ODMGException  {
-        Database db = (Database)this.databases.get( DEFAULT_CONNECTION+ mode);
-        if(null == db ) {
+    public Implementation getInstance(int mode) throws ODMGException {
+        Database db = (Database) this.databases.get(DEFAULT_CONNECTION + mode);
+        if (null == db) {
             db = this.odmg.newDatabase();
             db.open(DEFAULT_CONNECTION, mode);
             synchronized (this.databases) {
-                this.databases.put( DEFAULT_CONNECTION+ mode, db );
+                this.databases.put(DEFAULT_CONNECTION + mode, db);
             }
         }
         return this.odmg;

Modified: cocoon/branches/BRANCH_2_1_X/status.xml
URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/status.xml?view=diff&r1=154168&r2=154169
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/status.xml (original)
+++ cocoon/branches/BRANCH_2_1_X/status.xml Thu Feb 17 08:58:11 2005
@@ -202,6 +202,9 @@
 
   <changes>
   <release version="@version@" date="@date@">
+   <action dev="VG" type="update">
+     OJB Block: Integrated OJB logging with Cocoon logging.
+   </action>
    <action dev="CZ" type="update">
      Add a deprecation logger that gives hint about used deprecated stuff.
    </action>



Mime
View raw message