You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by tr...@apache.org on 2006/10/26 12:06:23 UTC

svn commit: r467945 - in /jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core: persistence/db/ state/ state/db/

Author: tripod
Date: Thu Oct 26 03:06:22 2006
New Revision: 467945

URL: http://svn.apache.org/viewvc?view=rev&rev=467945
Log:
JCR-595 Refactoring of the Persistence Managers (fixing ddl loading)

Modified:
    jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/persistence/db/DatabasePersistenceManager.java
    jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/persistence/db/DerbyPersistenceManager.java
    jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/persistence/db/JNDIDatabasePersistenceManager.java
    jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/persistence/db/OraclePersistenceManager.java
    jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/persistence/db/SimpleDbPersistenceManager.java
    jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/state/AbstractPersistenceManager.java
    jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/state/db/DatabasePersistenceManager.java
    jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/state/db/DerbyPersistenceManager.java
    jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/state/db/JNDIDatabasePersistenceManager.java
    jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/state/db/OraclePersistenceManager.java
    jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/state/db/SimpleDbPersistenceManager.java

Modified: jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/persistence/db/DatabasePersistenceManager.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/persistence/db/DatabasePersistenceManager.java?view=diff&rev=467945&r1=467944&r2=467945
==============================================================================
--- jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/persistence/db/DatabasePersistenceManager.java (original)
+++ jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/persistence/db/DatabasePersistenceManager.java Thu Oct 26 03:06:22 2006
@@ -18,22 +18,21 @@
 
 import org.apache.jackrabbit.core.NodeId;
 import org.apache.jackrabbit.core.PropertyId;
-import org.apache.jackrabbit.core.persistence.AbstractPersistenceManager;
 import org.apache.jackrabbit.core.fs.FileSystem;
 import org.apache.jackrabbit.core.fs.local.LocalFileSystem;
+import org.apache.jackrabbit.core.persistence.AbstractPersistenceManager;
+import org.apache.jackrabbit.core.persistence.PMContext;
+import org.apache.jackrabbit.core.persistence.util.BLOBStore;
+import org.apache.jackrabbit.core.persistence.util.FileSystemBLOBStore;
+import org.apache.jackrabbit.core.persistence.util.Serializer;
 import org.apache.jackrabbit.core.state.ChangeLog;
+import org.apache.jackrabbit.core.state.ItemState;
 import org.apache.jackrabbit.core.state.ItemStateException;
 import org.apache.jackrabbit.core.state.NoSuchItemStateException;
 import org.apache.jackrabbit.core.state.NodeReferences;
 import org.apache.jackrabbit.core.state.NodeReferencesId;
 import org.apache.jackrabbit.core.state.NodeState;
-import org.apache.jackrabbit.core.persistence.PMContext;
 import org.apache.jackrabbit.core.state.PropertyState;
-import org.apache.jackrabbit.core.state.ItemState;
-import org.apache.jackrabbit.core.persistence.db.SimpleDbPersistenceManager;
-import org.apache.jackrabbit.core.persistence.util.BLOBStore;
-import org.apache.jackrabbit.core.persistence.util.FileSystemBLOBStore;
-import org.apache.jackrabbit.core.persistence.util.Serializer;
 import org.apache.jackrabbit.core.value.BLOBFileValue;
 import org.apache.jackrabbit.core.value.InternalValue;
 import org.apache.jackrabbit.util.Text;
@@ -43,19 +42,19 @@
 import javax.jcr.PropertyType;
 import javax.jcr.RepositoryException;
 import java.io.BufferedReader;
+import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
 import java.io.File;
+import java.io.FilterInputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStreamReader;
-import java.io.FilterInputStream;
-import java.io.ByteArrayInputStream;
 import java.sql.Connection;
+import java.sql.DatabaseMetaData;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.sql.Statement;
-import java.sql.DatabaseMetaData;
 
 /**
  * Abstract base class for database persistence managers. This class
@@ -951,7 +950,7 @@
 
         if (!schemaExists) {
             // read ddl from resources
-            InputStream in = getClass().getResourceAsStream(schema + ".ddl");
+            InputStream in = getSchemaDDL();
             if (in == null) {
                 String msg = "Configuration error: unknown schema '" + schema + "'";
                 log.debug(msg);
@@ -979,6 +978,14 @@
                 closeStatement(stmt);
             }
         }
+    }
+
+    /**
+     * Returns an input stream to the schema DDL resource.
+     * @return an input stream to the schema DDL resource.
+     */
+    protected InputStream getSchemaDDL() {
+        return getClass().getResourceAsStream(schema + ".ddl");
     }
 
     //--------------------------------------------------------< inner classes >

Modified: jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/persistence/db/DerbyPersistenceManager.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/persistence/db/DerbyPersistenceManager.java?view=diff&rev=467945&r1=467944&r2=467945
==============================================================================
--- jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/persistence/db/DerbyPersistenceManager.java (original)
+++ jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/persistence/db/DerbyPersistenceManager.java Thu Oct 26 03:06:22 2006
@@ -18,7 +18,6 @@
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.apache.jackrabbit.core.persistence.db.DatabasePersistenceManager;
 
 import java.sql.Connection;
 import java.sql.DriverManager;

Modified: jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/persistence/db/JNDIDatabasePersistenceManager.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/persistence/db/JNDIDatabasePersistenceManager.java?view=diff&rev=467945&r1=467944&r2=467945
==============================================================================
--- jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/persistence/db/JNDIDatabasePersistenceManager.java (original)
+++ jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/persistence/db/JNDIDatabasePersistenceManager.java Thu Oct 26 03:06:22 2006
@@ -16,14 +16,11 @@
  */
 package org.apache.jackrabbit.core.persistence.db;
 
-import org.apache.jackrabbit.core.persistence.db.DatabasePersistenceManager;
-
-import java.sql.Connection;
-import java.sql.SQLException;
-
 import javax.naming.InitialContext;
 import javax.naming.NamingException;
 import javax.sql.DataSource;
+import java.sql.Connection;
+import java.sql.SQLException;
 
 /**
  * Database persistence manager that uses JNDI to acquire the database

Modified: jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/persistence/db/OraclePersistenceManager.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/persistence/db/OraclePersistenceManager.java?view=diff&rev=467945&r1=467944&r2=467945
==============================================================================
--- jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/persistence/db/OraclePersistenceManager.java (original)
+++ jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/persistence/db/OraclePersistenceManager.java Thu Oct 26 03:06:22 2006
@@ -112,6 +112,7 @@
      * <code>MODE_READWRITE</code> constants defined there.
      * @see oracle.sql.BLOB#DURATION_SESSION
      * @see oracle.sql.BLOB#MODE_READWRITE
+     * @noinspection JavadocReference
      */
     public void init(PMContext context) throws Exception {
         super.init(context);
@@ -294,7 +295,7 @@
 
         if (!schemaExists) {
             // read ddl from resources
-            InputStream in = getClass().getResourceAsStream(schema + ".ddl");
+            InputStream in = getSchemaDDL();
             if (in == null) {
                 String msg = "Configuration error: unknown schema '" + schema + "'";
                 log.debug(msg);

Modified: jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/persistence/db/SimpleDbPersistenceManager.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/persistence/db/SimpleDbPersistenceManager.java?view=diff&rev=467945&r1=467944&r2=467945
==============================================================================
--- jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/persistence/db/SimpleDbPersistenceManager.java (original)
+++ jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/persistence/db/SimpleDbPersistenceManager.java Thu Oct 26 03:06:22 2006
@@ -16,12 +16,11 @@
  */
 package org.apache.jackrabbit.core.persistence.db;
 
+import org.apache.jackrabbit.core.persistence.util.Serializer;
+
 import java.sql.Connection;
 import java.sql.DriverManager;
 import java.sql.SQLException;
-
-import org.apache.jackrabbit.core.persistence.util.Serializer;
-import org.apache.jackrabbit.core.persistence.db.DatabasePersistenceManager;
 
 /**
  * <code>SimpleDbPersistenceManager</code> is a generic JDBC-based

Modified: jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/state/AbstractPersistenceManager.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/state/AbstractPersistenceManager.java?view=diff&rev=467945&r1=467944&r2=467945
==============================================================================
--- jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/state/AbstractPersistenceManager.java (original)
+++ jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/state/AbstractPersistenceManager.java Thu Oct 26 03:06:22 2006
@@ -21,6 +21,7 @@
  * @deprecated use {@link org.apache.jackrabbit.core.persistence.AbstractPersistenceManager}
  *             instead.
  */
-public abstract class AbstractPersistenceManager extends org.apache.jackrabbit.core.persistence.AbstractPersistenceManager {
+public abstract class AbstractPersistenceManager
+        extends org.apache.jackrabbit.core.persistence.AbstractPersistenceManager {
 
 }

Modified: jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/state/db/DatabasePersistenceManager.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/state/db/DatabasePersistenceManager.java?view=diff&rev=467945&r1=467944&r2=467945
==============================================================================
--- jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/state/db/DatabasePersistenceManager.java (original)
+++ jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/state/db/DatabasePersistenceManager.java Thu Oct 26 03:06:22 2006
@@ -16,6 +16,8 @@
  */
 package org.apache.jackrabbit.core.state.db;
 
+import java.io.InputStream;
+
 /**
  * Legacy class kept for backward compatibility reasons.
  * @deprecated use {@link org.apache.jackrabbit.core.persistence.db.DatabasePersistenceManager}
@@ -23,4 +25,13 @@
  */
 public abstract class DatabasePersistenceManager
         extends org.apache.jackrabbit.core.persistence.db.DatabasePersistenceManager {
+
+    /**
+     * {@inheritDoc}
+     *
+     * Needed to override in order to load the ddl from the new location
+     */
+    protected InputStream getSchemaDDL() {
+        return super.getClass().getResourceAsStream(schema + ".ddl");
+    }
 }

Modified: jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/state/db/DerbyPersistenceManager.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/state/db/DerbyPersistenceManager.java?view=diff&rev=467945&r1=467944&r2=467945
==============================================================================
--- jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/state/db/DerbyPersistenceManager.java (original)
+++ jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/state/db/DerbyPersistenceManager.java Thu Oct 26 03:06:22 2006
@@ -16,6 +16,8 @@
  */
 package org.apache.jackrabbit.core.state.db;
 
+import java.io.InputStream;
+
 /**
  * Legacy class kept for backward compatibility reasons.
   * @deprecated use {@link org.apache.jackrabbit.core.persistence.db.DerbyPersistenceManager}
@@ -23,4 +25,13 @@
   */
 public class DerbyPersistenceManager
         extends org.apache.jackrabbit.core.persistence.db.DerbyPersistenceManager {
+
+    /**
+     * {@inheritDoc}
+     *
+     * Needed to override in order to load the ddl from the new location
+     */
+    protected InputStream getSchemaDDL() {
+        return super.getClass().getResourceAsStream(schema + ".ddl");
+    }
 }

Modified: jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/state/db/JNDIDatabasePersistenceManager.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/state/db/JNDIDatabasePersistenceManager.java?view=diff&rev=467945&r1=467944&r2=467945
==============================================================================
--- jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/state/db/JNDIDatabasePersistenceManager.java (original)
+++ jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/state/db/JNDIDatabasePersistenceManager.java Thu Oct 26 03:06:22 2006
@@ -16,6 +16,8 @@
  */
 package org.apache.jackrabbit.core.state.db;
 
+import java.io.InputStream;
+
 /**
  * Legacy class kept for backward compatibility reasons.
   * @deprecated use {@link org.apache.jackrabbit.core.persistence.db.JNDIDatabasePersistenceManager}
@@ -23,4 +25,14 @@
   */
 public class JNDIDatabasePersistenceManager
         extends org.apache.jackrabbit.core.persistence.db.JNDIDatabasePersistenceManager {
+
+    /**
+     * {@inheritDoc}
+     *
+     * Needed to override in order to load the ddl from the new location
+     */
+    protected InputStream getSchemaDDL() {
+        return super.getClass().getResourceAsStream(schema + ".ddl");
+    }
+
 }

Modified: jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/state/db/OraclePersistenceManager.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/state/db/OraclePersistenceManager.java?view=diff&rev=467945&r1=467944&r2=467945
==============================================================================
--- jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/state/db/OraclePersistenceManager.java (original)
+++ jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/state/db/OraclePersistenceManager.java Thu Oct 26 03:06:22 2006
@@ -16,6 +16,8 @@
  */
 package org.apache.jackrabbit.core.state.db;
 
+import java.io.InputStream;
+
 /**
  * Legacy class kept for backward compatibility reasons.
   * @deprecated use {@link org.apache.jackrabbit.core.persistence.db.OraclePersistenceManager}
@@ -23,4 +25,14 @@
   */
 public class OraclePersistenceManager
         extends org.apache.jackrabbit.core.persistence.db.OraclePersistenceManager {
+
+    /**
+     * {@inheritDoc}
+     *
+     * Needed to override in order to load the ddl from the new location
+     */
+    protected InputStream getSchemaDDL() {
+        return super.getClass().getResourceAsStream(schema + ".ddl");
+    }
+
 }

Modified: jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/state/db/SimpleDbPersistenceManager.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/state/db/SimpleDbPersistenceManager.java?view=diff&rev=467945&r1=467944&r2=467945
==============================================================================
--- jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/state/db/SimpleDbPersistenceManager.java (original)
+++ jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/state/db/SimpleDbPersistenceManager.java Thu Oct 26 03:06:22 2006
@@ -16,6 +16,8 @@
  */
 package org.apache.jackrabbit.core.state.db;
 
+import java.io.InputStream;
+
 /**
  * Legacy class kept for backward compatibility reasons.
   * @deprecated use {@link org.apache.jackrabbit.core.persistence.db.SimpleDbPersistenceManager}
@@ -23,4 +25,14 @@
   */
 public class SimpleDbPersistenceManager
         extends org.apache.jackrabbit.core.persistence.db.SimpleDbPersistenceManager {
+
+    /**
+     * {@inheritDoc}
+     *
+     * Needed to override in order to load the ddl from the new location
+     */
+    protected InputStream getSchemaDDL() {
+        return super.getClass().getResourceAsStream(schema + ".ddl");
+    }
+
 }