[exo-jcr-commits] exo-jcr SVN: r1225 - jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/optimisation.

do-not-reply at jboss.org do-not-reply at jboss.org
Tue Dec 29 04:21:36 EST 2009


Author: sergiykarpenko
Date: 2009-12-29 04:21:36 -0500 (Tue, 29 Dec 2009)
New Revision: 1225

Modified:
   jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/optimisation/CQJDBCWorkspaceDataContainer.java
Log:
EXOJCR-302: CQJDBCStorageConnection defaultConnectionFactory added

Modified: jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/optimisation/CQJDBCWorkspaceDataContainer.java
===================================================================
--- jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/optimisation/CQJDBCWorkspaceDataContainer.java	2009-12-29 09:20:10 UTC (rev 1224)
+++ jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/optimisation/CQJDBCWorkspaceDataContainer.java	2009-12-29 09:21:36 UTC (rev 1225)
@@ -23,11 +23,13 @@
 import org.exoplatform.services.jcr.config.WorkspaceEntry;
 import org.exoplatform.services.jcr.impl.storage.jdbc.DBConstants;
 import org.exoplatform.services.jcr.impl.storage.jdbc.JDBCWorkspaceDataContainer;
+import org.exoplatform.services.jcr.impl.storage.jdbc.db.GenericConnectionFactory;
 import org.exoplatform.services.jcr.impl.storage.jdbc.init.DBInitializer;
 import org.exoplatform.services.jcr.impl.storage.jdbc.init.DBInitializerException;
 import org.exoplatform.services.jcr.impl.storage.jdbc.init.IngresSQLDBInitializer;
 import org.exoplatform.services.jcr.impl.storage.jdbc.init.OracleDBInitializer;
 import org.exoplatform.services.jcr.impl.storage.jdbc.init.PgSQLDBInitializer;
+import org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.db.GenericCQConnectionFactory;
 import org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.db.HSQLDBConnectionFactory;
 import org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.db.MySQLConnectionFactory;
 import org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.db.OracleConnectionFactory;
@@ -233,4 +235,30 @@
       }
    }
 
+   /**
+    * Prepare sefault connection factory.
+    * 
+    * @return GenericConnectionFactory
+    * @throws NamingException
+    *           on JNDI error
+    * @throws RepositoryException
+    *           on Storage error
+    */
+   protected GenericConnectionFactory defaultConnectionFactory() throws NamingException, RepositoryException
+   {
+      // by default
+      if (dbSourceName != null)
+      {
+         DataSource ds = (DataSource)new InitialContext().lookup(dbSourceName);
+         if (ds != null)
+            return new GenericCQConnectionFactory(ds, containerName, multiDb, valueStorageProvider, maxBufferSize,
+               swapDirectory, swapCleaner);
+
+         throw new RepositoryException("Datasource '" + dbSourceName + "' is not bound in this context.");
+      }
+
+      return new GenericCQConnectionFactory(dbDriver, dbUrl, dbUserName, dbPassword, containerName, multiDb,
+         valueStorageProvider, maxBufferSize, swapDirectory, swapCleaner);
+   }
+
 }



More information about the exo-jcr-commits mailing list