Author: tolusha
Date: 2010-12-10 03:25:41 -0500 (Fri, 10 Dec 2010)
New Revision: 3655
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/DBCleanerService.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/cleaner/HSQLSingleDBCleaner.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/cleaner/IngresSQLMultiDBCleaner.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/cleaner/IngresSQLSingleDBCleaner.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/cleaner/MultiDBCleaner.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/cleaner/MySQLSingleDBCleaner.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/cleaner/OracleMultiDBCleaner.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/cleaner/OracleSingleDBCleaner.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/cleaner/PgSQLMultiDBCleaner.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/cleaner/PgSQLSingleDBCleaner.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/cleaner/SingleDBCleaner.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-09
16:49:48 UTC (rev 3654)
+++
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/cacheable/AbstractCacheableLockManager.java 2010-12-10
08:25:41 UTC (rev 3655)
@@ -19,6 +19,7 @@
import org.exoplatform.management.annotations.Managed;
import org.exoplatform.management.annotations.ManagedDescription;
import org.exoplatform.services.jcr.config.RepositoryConfigurationException;
+import org.exoplatform.services.jcr.config.SimpleParameterEntry;
import org.exoplatform.services.jcr.config.WorkspaceEntry;
import org.exoplatform.services.jcr.dataflow.ChangesLogIterator;
import org.exoplatform.services.jcr.dataflow.CompositeChangesLog;
@@ -128,6 +129,8 @@
protected LockActionNonTxAware<List<LockData>, Object> getLockList;
+ public static final String JDBC_TABLE_NAME_SUFFIX = "jdbc.table.name";
+
/**
* Constructor.
*
@@ -779,4 +782,20 @@
{
R execute(A arg) throws LockException;
}
+
+ /**
+ * Return table name for lock data.
+ */
+ public static String getLockTableName(WorkspaceEntry wsEntry)
+ {
+ for (SimpleParameterEntry entry : wsEntry.getLockManager().getParameters())
+ {
+ if
(entry.getName().contains(AbstractCacheableLockManager.JDBC_TABLE_NAME_SUFFIX))
+ {
+ return entry.getValue();
+ }
+ }
+
+ return null;
+ }
}
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-09
16:49:48 UTC (rev 3654)
+++
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/infinispan/ISPNCacheableLockManagerImpl.java 2010-12-10
08:25:41 UTC (rev 3655)
@@ -75,6 +75,8 @@
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_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-09
16:49:48 UTC (rev 3654)
+++
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/jbosscache/CacheableLockManagerImpl.java 2010-12-10
08:25:41 UTC (rev 3655)
@@ -31,8 +31,8 @@
import org.exoplatform.services.jcr.impl.storage.jdbc.DBConstants;
import org.exoplatform.services.jcr.impl.storage.jdbc.DialectDetecter;
import org.exoplatform.services.jcr.jbosscache.ExoJBossCacheFactory;
+import org.exoplatform.services.jcr.jbosscache.ExoJBossCacheFactory.CacheType;
import org.exoplatform.services.jcr.jbosscache.PrivilegedJBossCacheHelper;
-import org.exoplatform.services.jcr.jbosscache.ExoJBossCacheFactory.CacheType;
import org.exoplatform.services.log.ExoLogger;
import org.exoplatform.services.log.Log;
import org.exoplatform.services.naming.InitialContextInitializer;
@@ -82,6 +82,8 @@
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;
+
/**
* Indicate whether the JBoss Cache instance used can be shared with other caches
*/
@@ -559,4 +561,5 @@
}
node.setResident(true);
}
+
}
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/cleaner/DBCleanerService.java
===================================================================
---
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/cleaner/DBCleanerService.java 2010-12-09
16:49:48 UTC (rev 3654)
+++
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/cleaner/DBCleanerService.java 2010-12-10
08:25:41 UTC (rev 3655)
@@ -132,46 +132,46 @@
{
if (dbDialect == DBConstants.DB_DIALECT_ORACLEOCI || dbDialect ==
DBConstants.DB_DIALECT_ORACLE)
{
- dbCleaner = new OracleMultiDBCleaner(wsEntry.getName(), conn);
+ dbCleaner = new OracleMultiDBCleaner(wsEntry, conn);
}
else if (dbDialect == DBConstants.DB_DIALECT_PGSQL)
{
- dbCleaner = new PgSQLMultiDBCleaner(wsEntry.getName(), conn);
+ dbCleaner = new PgSQLMultiDBCleaner(wsEntry, conn);
}
else if (dbDialect == DBConstants.DB_DIALECT_INGRES)
{
- dbCleaner = new IngresSQLMultiDBCleaner(wsEntry.getName(), conn);
+ dbCleaner = new IngresSQLMultiDBCleaner(wsEntry, conn);
}
else
{
- dbCleaner = new MultiDBCleaner(wsEntry.getName(), conn);
+ dbCleaner = new MultiDBCleaner(wsEntry, conn);
}
}
else
{
if (dbDialect == DBConstants.DB_DIALECT_ORACLEOCI || dbDialect ==
DBConstants.DB_DIALECT_ORACLE)
{
- dbCleaner = new OracleSingleDBCleaner(wsEntry.getName(), conn);
+ dbCleaner = new OracleSingleDBCleaner(wsEntry, conn);
}
else if (dbDialect == DBConstants.DB_DIALECT_PGSQL)
{
- dbCleaner = new PgSQLSingleDBCleaner(wsEntry.getName(), conn);
+ dbCleaner = new PgSQLSingleDBCleaner(wsEntry, conn);
}
else if (dbDialect == DBConstants.DB_DIALECT_INGRES)
{
- dbCleaner = new IngresSQLSingleDBCleaner(wsEntry.getName(), conn);
+ dbCleaner = new IngresSQLSingleDBCleaner(wsEntry, conn);
}
else if (dbDialect == DBConstants.DB_DIALECT_HSQLDB)
{
- dbCleaner = new HSQLSingleDBCleaner(wsEntry.getName(), conn);
+ dbCleaner = new HSQLSingleDBCleaner(wsEntry, conn);
}
else if (dbDialect == DBConstants.DB_DIALECT_MYSQL || dbDialect ==
DBConstants.DB_DIALECT_MYSQL_UTF8)
{
- dbCleaner = new MySQLSingleDBCleaner(wsEntry.getName(), conn);
+ dbCleaner = new MySQLSingleDBCleaner(wsEntry, conn);
}
else
{
- dbCleaner = new SingleDBCleaner(wsEntry.getName(), conn);
+ dbCleaner = new SingleDBCleaner(wsEntry, conn);
}
}
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/cleaner/HSQLSingleDBCleaner.java
===================================================================
---
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/cleaner/HSQLSingleDBCleaner.java 2010-12-09
16:49:48 UTC (rev 3654)
+++
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/cleaner/HSQLSingleDBCleaner.java 2010-12-10
08:25:41 UTC (rev 3655)
@@ -16,6 +16,8 @@
*/
package org.exoplatform.services.jcr.impl.util.jdbc.cleaner;
+import org.exoplatform.services.jcr.config.WorkspaceEntry;
+
import java.sql.Connection;
import java.util.ArrayList;
import java.util.List;
@@ -30,9 +32,9 @@
/**
* HSQLSingleDBCleaner constructor.
*/
- public HSQLSingleDBCleaner(String containerName, Connection connection)
+ public HSQLSingleDBCleaner(WorkspaceEntry wsEntry, Connection connection)
{
- super(containerName, connection, true);
+ super(wsEntry, connection, true);
}
/**
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/cleaner/IngresSQLMultiDBCleaner.java
===================================================================
---
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/cleaner/IngresSQLMultiDBCleaner.java 2010-12-09
16:49:48 UTC (rev 3654)
+++
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/cleaner/IngresSQLMultiDBCleaner.java 2010-12-10
08:25:41 UTC (rev 3655)
@@ -16,6 +16,8 @@
*/
package org.exoplatform.services.jcr.impl.util.jdbc.cleaner;
+import org.exoplatform.services.jcr.config.WorkspaceEntry;
+
import java.sql.Connection;
import java.sql.SQLException;
@@ -29,9 +31,9 @@
/**
* IngresSQLMultiDBCleaner constructor.
*/
- public IngresSQLMultiDBCleaner(String containerName, Connection connection)
+ public IngresSQLMultiDBCleaner(WorkspaceEntry wsEntry, Connection connection)
{
- super(containerName, connection);
+ super(wsEntry, connection);
}
/**
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/cleaner/IngresSQLSingleDBCleaner.java
===================================================================
---
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/cleaner/IngresSQLSingleDBCleaner.java 2010-12-09
16:49:48 UTC (rev 3654)
+++
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/cleaner/IngresSQLSingleDBCleaner.java 2010-12-10
08:25:41 UTC (rev 3655)
@@ -16,6 +16,8 @@
*/
package org.exoplatform.services.jcr.impl.util.jdbc.cleaner;
+import org.exoplatform.services.jcr.config.WorkspaceEntry;
+
import java.sql.Connection;
import java.sql.SQLException;
@@ -32,9 +34,9 @@
/**
* IngresSQLSingleDBCleaner constructor.
*/
- public IngresSQLSingleDBCleaner(String containerName, Connection connection)
+ public IngresSQLSingleDBCleaner(WorkspaceEntry wsEntry, Connection connection)
{
- super(containerName, connection);
+ super(wsEntry, connection);
}
/**
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/cleaner/MultiDBCleaner.java
===================================================================
---
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/cleaner/MultiDBCleaner.java 2010-12-09
16:49:48 UTC (rev 3654)
+++
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/cleaner/MultiDBCleaner.java 2010-12-10
08:25:41 UTC (rev 3655)
@@ -16,6 +16,8 @@
*/
package org.exoplatform.services.jcr.impl.util.jdbc.cleaner;
+import org.exoplatform.services.jcr.config.WorkspaceEntry;
+
import java.sql.Connection;
import java.util.ArrayList;
import java.util.List;
@@ -35,15 +37,14 @@
/**
* MultiDBCleaner constructor.
*/
- public MultiDBCleaner(String containerName, Connection connection)
+ public MultiDBCleaner(WorkspaceEntry wsEntry, Connection connection)
{
- super(containerName, connection);
+ super(wsEntry, connection);
commonMutliDBCleanScripts.add("drop table JCR_MREF");
commonMutliDBCleanScripts.add("drop table JCR_MVALUE");
commonMutliDBCleanScripts.add("drop table JCR_MITEM");
- commonMutliDBCleanScripts.add("drop table JCR_LOCK_" +
containerName.toUpperCase());
- commonMutliDBCleanScripts.add("drop table JCR_LOCK_" +
containerName.toUpperCase() + "_D");
+ commonMutliDBCleanScripts.addAll(commonDBCleanScripts);
}
/**
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/cleaner/MySQLSingleDBCleaner.java
===================================================================
---
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/cleaner/MySQLSingleDBCleaner.java 2010-12-09
16:49:48 UTC (rev 3654)
+++
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/cleaner/MySQLSingleDBCleaner.java 2010-12-10
08:25:41 UTC (rev 3655)
@@ -16,6 +16,8 @@
*/
package org.exoplatform.services.jcr.impl.util.jdbc.cleaner;
+import org.exoplatform.services.jcr.config.WorkspaceEntry;
+
import java.sql.Connection;
import java.util.ArrayList;
import java.util.List;
@@ -30,9 +32,9 @@
/**
* MySQLSingleDBCleaner constructor.
*/
- public MySQLSingleDBCleaner(String containerName, Connection connection)
+ public MySQLSingleDBCleaner(WorkspaceEntry wsEntry, Connection connection)
{
- super(containerName, connection, true);
+ super(wsEntry, connection, true);
}
/**
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/cleaner/OracleMultiDBCleaner.java
===================================================================
---
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/cleaner/OracleMultiDBCleaner.java 2010-12-09
16:49:48 UTC (rev 3654)
+++
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/cleaner/OracleMultiDBCleaner.java 2010-12-10
08:25:41 UTC (rev 3655)
@@ -16,6 +16,8 @@
*/
package org.exoplatform.services.jcr.impl.util.jdbc.cleaner;
+import org.exoplatform.services.jcr.config.WorkspaceEntry;
+
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
@@ -30,9 +32,9 @@
/**
* Constructor OracleMultiDBCleaner.
*/
- public OracleMultiDBCleaner(String containerName, Connection connection)
+ public OracleMultiDBCleaner(WorkspaceEntry wsEntry, Connection connection)
{
- super(containerName, connection);
+ super(wsEntry, connection);
}
/**
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/cleaner/OracleSingleDBCleaner.java
===================================================================
---
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/cleaner/OracleSingleDBCleaner.java 2010-12-09
16:49:48 UTC (rev 3654)
+++
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/cleaner/OracleSingleDBCleaner.java 2010-12-10
08:25:41 UTC (rev 3655)
@@ -16,6 +16,8 @@
*/
package org.exoplatform.services.jcr.impl.util.jdbc.cleaner;
+import org.exoplatform.services.jcr.config.WorkspaceEntry;
+
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
@@ -34,9 +36,9 @@
/**
* OracleSingleDBCleaner constructor.
*/
- public OracleSingleDBCleaner(String containerName, Connection connection)
+ public OracleSingleDBCleaner(WorkspaceEntry wsEntry, Connection connection)
{
- super(containerName, connection);
+ super(wsEntry, connection);
}
/**
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/cleaner/PgSQLMultiDBCleaner.java
===================================================================
---
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/cleaner/PgSQLMultiDBCleaner.java 2010-12-09
16:49:48 UTC (rev 3654)
+++
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/cleaner/PgSQLMultiDBCleaner.java 2010-12-10
08:25:41 UTC (rev 3655)
@@ -16,6 +16,8 @@
*/
package org.exoplatform.services.jcr.impl.util.jdbc.cleaner;
+import org.exoplatform.services.jcr.config.WorkspaceEntry;
+
import java.sql.Connection;
import java.sql.SQLException;
@@ -29,9 +31,9 @@
/**
* Constructor PgSQLMultiDBCleaner.
*/
- public PgSQLMultiDBCleaner(String containerName, Connection connection)
+ public PgSQLMultiDBCleaner(WorkspaceEntry wsEntry, Connection connection)
{
- super(containerName, connection);
+ super(wsEntry, connection);
}
/**
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/cleaner/PgSQLSingleDBCleaner.java
===================================================================
---
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/cleaner/PgSQLSingleDBCleaner.java 2010-12-09
16:49:48 UTC (rev 3654)
+++
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/cleaner/PgSQLSingleDBCleaner.java 2010-12-10
08:25:41 UTC (rev 3655)
@@ -16,6 +16,8 @@
*/
package org.exoplatform.services.jcr.impl.util.jdbc.cleaner;
+import org.exoplatform.services.jcr.config.WorkspaceEntry;
+
import java.sql.Connection;
import java.sql.SQLException;
@@ -32,9 +34,9 @@
/**
* PgSQLSingleDBCleaner constructor.
*/
- public PgSQLSingleDBCleaner(String containerName, Connection connection)
+ public PgSQLSingleDBCleaner(WorkspaceEntry wsEntry, Connection connection)
{
- super(containerName, connection);
+ super(wsEntry, connection);
}
/**
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/cleaner/SingleDBCleaner.java
===================================================================
---
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/cleaner/SingleDBCleaner.java 2010-12-09
16:49:48 UTC (rev 3654)
+++
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/cleaner/SingleDBCleaner.java 2010-12-10
08:25:41 UTC (rev 3655)
@@ -16,6 +16,8 @@
*/
package org.exoplatform.services.jcr.impl.util.jdbc.cleaner;
+import org.exoplatform.services.jcr.config.WorkspaceEntry;
+
import java.sql.Connection;
import java.util.ArrayList;
import java.util.List;
@@ -45,17 +47,17 @@
/**
* SingleDBCleaner constructor.
*/
- public SingleDBCleaner(String containerName, Connection connection)
+ public SingleDBCleaner(WorkspaceEntry wsEntry, Connection connection)
{
- this(containerName, connection, false);
+ this(wsEntry, connection, false);
}
/**
* SingleDBCleaner constructor.
*/
- public SingleDBCleaner(String containerName, Connection connection, boolean
postHelpClean)
+ public SingleDBCleaner(WorkspaceEntry wsEntry, Connection connection, boolean
postHelpClean)
{
- super(containerName, connection);
+ super(wsEntry, connection);
this.postHelpClean = postHelpClean;
this.dbCleanHelper = new DBCleanHelper(containerName, connection);
@@ -66,8 +68,7 @@
commonSingleDBCleanScripts
.add("delete from JCR_SVALUE where exists(select * from JCR_SITEM where
JCR_SITEM.ID=JCR_SVALUE.PROPERTY_ID and JCR_SITEM.CONTAINER_NAME='"
+ containerName + "')");
- commonSingleDBCleanScripts.add("drop table JCR_LOCK_" +
containerName.toUpperCase());
- commonSingleDBCleanScripts.add("drop table JCR_LOCK_" +
containerName.toUpperCase() + "_D");
+ commonSingleDBCleanScripts.addAll(commonDBCleanScripts);
}
/**
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-09
16:49:48 UTC (rev 3654)
+++
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/cleaner/WorkspaceDBCleaner.java 2010-12-10
08:25:41 UTC (rev 3655)
@@ -17,7 +17,9 @@
package org.exoplatform.services.jcr.impl.util.jdbc.cleaner;
import org.exoplatform.commons.utils.SecurityHelper;
+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;
import org.exoplatform.services.jcr.impl.util.jdbc.DBInitializer;
import org.exoplatform.services.log.ExoLogger;
import org.exoplatform.services.log.Log;
@@ -27,6 +29,7 @@
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
+import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -60,6 +63,11 @@
protected final Pattern dbObjectNamePattern;
/**
+ * Common clean scripts for database.
+ */
+ protected final List<String> commonDBCleanScripts = new
ArrayList<String>();
+
+ /**
* WorkspaceDBCleaner constructor.
*
* @param containerName
@@ -67,11 +75,18 @@
* @param connection
* connection to database where workspace tables is placed
*/
- public WorkspaceDBCleaner(String containerName, Connection connection)
+ public WorkspaceDBCleaner(WorkspaceEntry wsEntry, Connection connection)
{
this.dbObjectNamePattern = Pattern.compile(DBInitializer.SQL_OBJECTNAME,
Pattern.CASE_INSENSITIVE);
this.connection = connection;
- this.containerName = containerName;
+ this.containerName = wsEntry.getName();
+
+ String lockTableName = AbstractCacheableLockManager.getLockTableName(wsEntry);
+ if (lockTableName != null)
+ {
+ commonDBCleanScripts.add(lockTableName);
+ commonDBCleanScripts.add(lockTableName + "_D");
+ }
}
/**