[exo-jcr-commits] exo-jcr SVN: r3664 - in jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl: core/lock/infinispan and 2 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Tue Dec 14 06:58:43 EST 2010


Author: tolusha
Date: 2010-12-14 06:58:43 -0500 (Tue, 14 Dec 2010)
New Revision: 3664

Modified:
   jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/cacheable/AbstractCacheableLockManager.java
   jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/infinispan/ISPNCacheableLockManagerImpl.java
   jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/jbosscache/CacheableLockManagerImpl.java
   jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/cleaner/WorkspaceDBCleaner.java
Log:
EXOJCR-939: get LockTableName from workspace configuration

Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/cacheable/AbstractCacheableLockManager.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/cacheable/AbstractCacheableLockManager.java	2010-12-14 09:15:53 UTC (rev 3663)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/cacheable/AbstractCacheableLockManager.java	2010-12-14 11:58:43 UTC (rev 3664)
@@ -41,6 +41,8 @@
 import org.exoplatform.services.jcr.impl.core.lock.LockRemover;
 import org.exoplatform.services.jcr.impl.core.lock.LockRemoverHolder;
 import org.exoplatform.services.jcr.impl.core.lock.SessionLockManager;
+import org.exoplatform.services.jcr.impl.core.lock.infinispan.ISPNCacheableLockManagerImpl;
+import org.exoplatform.services.jcr.impl.core.lock.jbosscache.CacheableLockManagerImpl;
 import org.exoplatform.services.jcr.impl.dataflow.TransientItemData;
 import org.exoplatform.services.jcr.impl.dataflow.TransientPropertyData;
 import org.exoplatform.services.jcr.impl.dataflow.persistent.WorkspacePersistentDataManager;
@@ -130,8 +132,6 @@
 
    protected LockActionNonTxAware<List<LockData>, Object> getLockList;
 
-   public static final String JDBC_TABLE_NAME_SUFFIX = "jdbc.table.name";
-
    /**
     * Constructor.
     * 
@@ -787,19 +787,36 @@
    /**
     * Return table name for lock data.
     */
-   public static String getLockTableName(LockManagerEntry lockManagerEntry)
+   public static List<String> getLockTableNames(LockManagerEntry lockManagerEntry)
    {
+      List<String> tableNames = new ArrayList<String>();
+
       if (lockManagerEntry != null)
       {
          for (SimpleParameterEntry entry : lockManagerEntry.getParameters())
          {
-            if (entry.getName().contains(AbstractCacheableLockManager.JDBC_TABLE_NAME_SUFFIX))
+            if (entry.getName().equals(CacheableLockManagerImpl.JBOSSCACHE_JDBC_TABLE_NAME))
             {
-               return entry.getValue();
+               tableNames.add(entry.getValue());
+               tableNames.add(entry.getValue() + "_D");
+
+               return tableNames;
             }
+            else if (entry.getName().equals(ISPNCacheableLockManagerImpl.INFINISPAN_JDBC_TABLE_NAME))
+            {
+               throw new RuntimeException("Not supported");
+            }
          }
       }
 
-      return null;
+      return tableNames;
    }
+
+   /**
+    * Return select data script.
+    */
+   public static String getSelectScript(String tableName)
+   {
+      return "select * from " + tableName;
+   }
 }

Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/infinispan/ISPNCacheableLockManagerImpl.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/infinispan/ISPNCacheableLockManagerImpl.java	2010-12-14 09:15:53 UTC (rev 3663)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/infinispan/ISPNCacheableLockManagerImpl.java	2010-12-14 11:58:43 UTC (rev 3664)
@@ -75,7 +75,7 @@
 
    public static final String INFINISPAN_JDBC_CL_ID_COLUMN = "infinispan-cl-cache.jdbc.id.type";
 
-   public static final String INFINISPAN_JDBC_TABLE_NAME = "infinispan-cl-cache." + JDBC_TABLE_NAME_SUFFIX;
+   public static final String INFINISPAN_JDBC_TABLE_NAME = "infinispan-cl-cache.jdbc.table.name";
 
    public static final String INFINISPAN_JDBC_CL_AUTO = "auto";
 

Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/jbosscache/CacheableLockManagerImpl.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/jbosscache/CacheableLockManagerImpl.java	2010-12-14 09:15:53 UTC (rev 3663)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/jbosscache/CacheableLockManagerImpl.java	2010-12-14 11:58:43 UTC (rev 3664)
@@ -82,7 +82,7 @@
 
    public static final String JBOSSCACHE_JDBC_CL_FQN_COLUMN = "jbosscache-cl-cache.jdbc.fqn.type";
 
-   public static final String JBOSSCACHE_JDBC_TABLE_NAME = "jbosscache-cl-cache." + JDBC_TABLE_NAME_SUFFIX;
+   public static final String JBOSSCACHE_JDBC_TABLE_NAME = "jbosscache-cl-cache.jdbc.table.name";
 
    /**
     * Indicate whether the JBoss Cache instance used can be shared with other caches

Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/cleaner/WorkspaceDBCleaner.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/cleaner/WorkspaceDBCleaner.java	2010-12-14 09:15:53 UTC (rev 3663)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/cleaner/WorkspaceDBCleaner.java	2010-12-14 11:58:43 UTC (rev 3664)
@@ -17,6 +17,7 @@
 package org.exoplatform.services.jcr.impl.util.jdbc.cleaner;
 
 import org.exoplatform.commons.utils.SecurityHelper;
+import org.exoplatform.services.jcr.config.LockManagerEntry;
 import org.exoplatform.services.jcr.config.WorkspaceEntry;
 import org.exoplatform.services.jcr.core.security.JCRRuntimePermissions;
 import org.exoplatform.services.jcr.impl.core.lock.cacheable.AbstractCacheableLockManager;
@@ -81,11 +82,13 @@
       this.connection = connection;
       this.containerName = wsEntry.getName();
 
-      String lockTableName = AbstractCacheableLockManager.getLockTableName(wsEntry.getLockManager());
-      if (lockTableName != null)
+      LockManagerEntry lockEntry = wsEntry.getLockManager();
+      if (lockEntry != null)
       {
-         commonDBCleanScripts.add(lockTableName);
-         commonDBCleanScripts.add(lockTableName + "_D");
+         for (String tableName : AbstractCacheableLockManager.getLockTableNames(lockEntry))
+         {
+            commonDBCleanScripts.add("drop table " + tableName);
+         }
       }
    }
 



More information about the exo-jcr-commits mailing list