[exo-jcr-commits] exo-jcr SVN: r855 - jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent.
do-not-reply at jboss.org
do-not-reply at jboss.org
Wed Nov 25 05:59:30 EST 2009
Author: nzamosenchuk
Date: 2009-11-25 05:59:29 -0500 (Wed, 25 Nov 2009)
New Revision: 855
Modified:
jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/JBossCacheWorkspaceDataManager.java
Log:
EXOJCR-243: delete lock data on node deletion
Modified: jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/JBossCacheWorkspaceDataManager.java
===================================================================
--- jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/JBossCacheWorkspaceDataManager.java 2009-11-25 10:57:20 UTC (rev 854)
+++ jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/JBossCacheWorkspaceDataManager.java 2009-11-25 10:59:29 UTC (rev 855)
@@ -76,6 +76,7 @@
WorkspaceStorageConnection thisConnection = null;
WorkspaceStorageConnection systemConnection = null;
+ List<String> removeLocksList = new ArrayList<String>();
// prepare changes log list
List<PlainChangesLog> chengesLogList = new ArrayList<PlainChangesLog>();
@@ -192,18 +193,22 @@
if (itemState.isAdded())
{
doAdd(data, conn, addedNodes);
+ removeLocksList.remove(data.getIdentifier());
}
else if (itemState.isUpdated())
{
doUpdate(data, conn);
+ removeLocksList.remove(data.getIdentifier());
}
else if (itemState.isDeleted())
{
doDelete(data, conn);
+ removeLocksList.add(data.getIdentifier());
}
else if (itemState.isRenamed())
{
doRename(data, conn, addedNodes);
+ removeLocksList.remove(data.getIdentifier());
}
else if (itemState.isMixinChanged())
{
@@ -215,6 +220,10 @@
+ "ms, " + data.getQPath().getAsString());
}
}
+ for (String identifier : removeLocksList)
+ {
+ thisConnection.removeLockData(identifier);
+ }
if (thisConnection != null)
thisConnection.commit();
if (systemConnection != null && !systemConnection.equals(thisConnection))
More information about the exo-jcr-commits
mailing list