[exo-jcr-commits] exo-jcr SVN: r737 - jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/session.

do-not-reply at jboss.org do-not-reply at jboss.org
Wed Nov 18 03:33:14 EST 2009


Author: nzamosenchuk
Date: 2009-11-18 03:33:14 -0500 (Wed, 18 Nov 2009)
New Revision: 737

Modified:
   jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/session/LocalWorkspaceStorageDataManagerProxy.java
Log:
EXOJCR-242: LocalWorkspaceStorageDataManagerProxy updated to re-pack PlainChangesLog ad LockPlainChangesLog if it's type is ExtendedEvent.LOCK.

Modified: jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/session/LocalWorkspaceStorageDataManagerProxy.java
===================================================================
--- jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/session/LocalWorkspaceStorageDataManagerProxy.java	2009-11-18 08:03:56 UTC (rev 736)
+++ jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/session/LocalWorkspaceStorageDataManagerProxy.java	2009-11-18 08:33:14 UTC (rev 737)
@@ -23,6 +23,7 @@
 import org.exoplatform.services.jcr.dataflow.CompositeChangesLog;
 import org.exoplatform.services.jcr.dataflow.ItemState;
 import org.exoplatform.services.jcr.dataflow.ItemStateChangesLog;
+import org.exoplatform.services.jcr.dataflow.LockPlainChangesLogImpl;
 import org.exoplatform.services.jcr.dataflow.PlainChangesLog;
 import org.exoplatform.services.jcr.dataflow.PlainChangesLogImpl;
 import org.exoplatform.services.jcr.dataflow.TransactionChangesLog;
@@ -38,6 +39,7 @@
 import org.exoplatform.services.jcr.impl.dataflow.TransientNodeData;
 import org.exoplatform.services.jcr.impl.dataflow.TransientPropertyData;
 import org.exoplatform.services.jcr.impl.dataflow.persistent.LocalWorkspaceDataManagerStub;
+import org.exoplatform.services.jcr.observation.ExtendedEvent;
 
 import java.util.ArrayList;
 import java.util.Calendar;
@@ -92,7 +94,18 @@
                .getAncestorToSave(), change.isInternallyCreated(), change.isPersisted()));
          }
 
-         newLog.addLog(new PlainChangesLogImpl(states, changes.getSessionId(), changes.getEventType()));
+         // if it is a lockPlainChangesLog then pack it as following
+         if (changes.getEventType() == ExtendedEvent.LOCK)
+         {
+            LockPlainChangesLogImpl lockChangesLog =
+               new LockPlainChangesLogImpl(states, changes.getSessionId(), changes.getEventType());
+            lockChangesLog.setLockData(((LockPlainChangesLogImpl)changes).getLockData());
+            newLog.addLog(lockChangesLog);
+         }
+         else
+         {
+            newLog.addLog(new PlainChangesLogImpl(states, changes.getSessionId(), changes.getEventType()));
+         }
       }
 
       storageDataManager.save(newLog);



More information about the exo-jcr-commits mailing list