diff options
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.server.net4j/src/org/eclipse/emf/cdo/server/internal/net4j/protocol/CommitTransactionIndication.java')
-rw-r--r-- | plugins/org.eclipse.emf.cdo.server.net4j/src/org/eclipse/emf/cdo/server/internal/net4j/protocol/CommitTransactionIndication.java | 46 |
1 files changed, 16 insertions, 30 deletions
diff --git a/plugins/org.eclipse.emf.cdo.server.net4j/src/org/eclipse/emf/cdo/server/internal/net4j/protocol/CommitTransactionIndication.java b/plugins/org.eclipse.emf.cdo.server.net4j/src/org/eclipse/emf/cdo/server/internal/net4j/protocol/CommitTransactionIndication.java index facc99bf1f..0b38c4471c 100644 --- a/plugins/org.eclipse.emf.cdo.server.net4j/src/org/eclipse/emf/cdo/server/internal/net4j/protocol/CommitTransactionIndication.java +++ b/plugins/org.eclipse.emf.cdo.server.net4j/src/org/eclipse/emf/cdo/server/internal/net4j/protocol/CommitTransactionIndication.java @@ -126,44 +126,19 @@ public class CommitTransactionIndication extends CDOServerIndicationWithMonitori commitContext.preWrite(); long lastUpdateTime = in.readLong(); + boolean autoReleaseLocksEnabled = in.readBoolean(); int commitNumber = in.readInt(); String commitComment = in.readString(); - CDOLockState[] locksOnNewObjects = new CDOLockState[in.readInt()]; - CDOID[] idsToUnlock = new CDOID[in.readInt()]; InternalCDOPackageUnit[] newPackageUnits = new InternalCDOPackageUnit[in.readInt()]; + CDOLockState[] locksOnNewObjects = new CDOLockState[in.readInt()]; InternalCDORevision[] newObjects = new InternalCDORevision[in.readInt()]; InternalCDORevisionDelta[] dirtyObjectDeltas = new InternalCDORevisionDelta[in.readInt()]; CDOID[] detachedObjects = new CDOID[in.readInt()]; - monitor.begin(locksOnNewObjects.length + idsToUnlock.length + newPackageUnits.length + newObjects.length - + dirtyObjectDeltas.length + detachedObjects.length); + monitor.begin(newPackageUnits.length + newObjects.length + dirtyObjectDeltas.length + detachedObjects.length); try { - // Locks on new objects - if (TRACER.isEnabled()) - { - TRACER.format("Reading {0} locks on new objects", locksOnNewObjects.length); //$NON-NLS-1$ - } - - for (int i = 0; i < locksOnNewObjects.length; i++) - { - locksOnNewObjects[i] = in.readCDOLockState(); - monitor.worked(); - } - - // Unlocks on changed objects - if (TRACER.isEnabled()) - { - TRACER.format("Reading {0} IDs to unlock", idsToUnlock.length); //$NON-NLS-1$ - } - - for (int i = 0; i < idsToUnlock.length; i++) - { - idsToUnlock[i] = in.readCDOID(); - monitor.worked(); - } - // New package units if (TRACER.isEnabled()) { @@ -186,6 +161,18 @@ public class CommitTransactionIndication extends CDOServerIndicationWithMonitori EMFUtil.safeResolveAll(resourceSet); } + // Locks on new objects + if (TRACER.isEnabled()) + { + TRACER.format("Reading {0} locks on new objects", locksOnNewObjects.length); //$NON-NLS-1$ + } + + for (int i = 0; i < locksOnNewObjects.length; i++) + { + locksOnNewObjects[i] = in.readCDOLockState(); + monitor.worked(); + } + // New objects if (TRACER.isEnabled()) { @@ -287,6 +274,7 @@ public class CommitTransactionIndication extends CDOServerIndicationWithMonitori commitContext.setCommitNumber(commitNumber); commitContext.setLastUpdateTime(lastUpdateTime); + commitContext.setAutoReleaseLocksEnabled(autoReleaseLocksEnabled); commitContext.setClearResourcePathCache(clearResourcePathCache); commitContext.setUsingEcore(usingEcore); commitContext.setUsingEtypes(usingEtypes); @@ -299,8 +287,6 @@ public class CommitTransactionIndication extends CDOServerIndicationWithMonitori commitContext.setDetachedObjectVersions(detachedObjectVersions); commitContext.setCommitComment(commitComment); commitContext.setLobs(getIndicationStream()); - commitContext.setLocksOnNewObjects(locksOnNewObjects); - commitContext.setIDsToUnlock(idsToUnlock); } finally { |