Author: nzamosenchuk
Date: 2009-11-25 09:35:01 -0500 (Wed, 25 Nov 2009)
New Revision: 861
Modified:
jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/JBossCacheWorkspaceDataManager.java
Log:
EXOJCR-242: LockData removing logic changed. LockData is now removed on delete
"jcr:lockIsDeep"
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
14:05:17 UTC (rev 860)
+++
jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/JBossCacheWorkspaceDataManager.java 2009-11-25
14:35:01 UTC (rev 861)
@@ -45,8 +45,6 @@
/**
* Created by The eXo Platform SAS.
*
- * Extends WorkspacePersistentDataManager, providing ability for storing lockData.
- *
* <br/>Date: 23.10.2009
*
* @author <a href="mailto:peter.nedonosko@exoplatform.com.ua">Peter
Nedonosko</a>
@@ -56,7 +54,7 @@
{
/**
- * JBossCacheWorkspaceDataManager constructor.
+ * JBossCachePersistentDataManager constructor.
*
* @param dataContainer WorkspaceDataContainer
* @param systemDataContainerHolder SystemDataContainerHolder
@@ -67,9 +65,6 @@
super(dataContainer, systemDataContainerHolder);
}
- /**
- * @see
org.exoplatform.services.jcr.impl.dataflow.persistent.WorkspacePersistentDataManager#save(org.exoplatform.services.jcr.dataflow.ItemStateChangesLog)
- */
@Override
public void save(ItemStateChangesLog changesLog) throws RepositoryException
{
@@ -81,7 +76,6 @@
WorkspaceStorageConnection thisConnection = null;
WorkspaceStorageConnection systemConnection = null;
- List<String> removeLocksList = new ArrayList<String>();
// prepare changes log list
List<PlainChangesLog> chengesLogList = new
ArrayList<PlainChangesLog>();
@@ -198,22 +192,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());
+ if (!data.isNode() &
data.getQName().equals(Constants.JCR_LOCKISDEEP))
+ {
+ conn.removeLockData(data.getIdentifier());
+ }
}
else if (itemState.isRenamed())
{
doRename(data, conn, addedNodes);
- removeLocksList.remove(data.getIdentifier());
}
else if (itemState.isMixinChanged())
{
@@ -225,11 +219,6 @@
+ "ms, " + data.getQPath().getAsString());
}
}
- // cleanup lockData for removed nodes
- for (String identifier : removeLocksList)
- {
- thisConnection.removeLockData(identifier);
- }
if (thisConnection != null)
thisConnection.commit();
if (systemConnection != null &&
!systemConnection.equals(thisConnection))
@@ -261,4 +250,4 @@
return path.isDescendantOf(Constants.JCR_SYSTEM_PATH) ||
path.equals(Constants.JCR_SYSTEM_PATH);
}
-}
+}
\ No newline at end of file
Show replies by date