diff options
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo')
43 files changed, 341 insertions, 178 deletions
diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/changeset/CDOChangeSet.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/commit/CDOChangeSet.java index b2c44947f6..627b3bc840 100644 --- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/changeset/CDOChangeSet.java +++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/commit/CDOChangeSet.java @@ -8,7 +8,7 @@ * Contributors: * Eike Stepper - initial API and implementation */ -package org.eclipse.emf.cdo.common.changeset; +package org.eclipse.emf.cdo.common.commit; import org.eclipse.emf.cdo.common.branch.CDOBranchPoint; import org.eclipse.emf.cdo.common.branch.CDOBranchPointRange; diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/changeset/CDOChangeSetData.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/commit/CDOChangeSetData.java index f209582b23..aa7cc8637a 100644 --- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/changeset/CDOChangeSetData.java +++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/commit/CDOChangeSetData.java @@ -8,7 +8,7 @@ * Contributors: * Eike Stepper - initial API and implementation */ -package org.eclipse.emf.cdo.common.changeset; +package org.eclipse.emf.cdo.common.commit; import org.eclipse.emf.cdo.common.id.CDOIDAndVersion; import org.eclipse.emf.cdo.common.revision.CDORevisionKey; diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/commit/CDOCommitData.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/commit/CDOCommitData.java index 74cba1ebc4..ebce339df2 100644 --- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/commit/CDOCommitData.java +++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/commit/CDOCommitData.java @@ -10,7 +10,6 @@ */ package org.eclipse.emf.cdo.common.commit; -import org.eclipse.emf.cdo.common.changeset.CDOChangeSetData; import org.eclipse.emf.cdo.common.model.CDOPackageUnit; import java.util.List; diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/model/CDOClassifierRef.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/model/CDOClassifierRef.java index 7db035daa6..54c5e96af7 100644 --- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/model/CDOClassifierRef.java +++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/model/CDOClassifierRef.java @@ -10,8 +10,8 @@ */ package org.eclipse.emf.cdo.common.model; -import org.eclipse.emf.cdo.common.io.CDODataInput; -import org.eclipse.emf.cdo.common.io.CDODataOutput; +import org.eclipse.emf.cdo.common.protocol.CDODataInput; +import org.eclipse.emf.cdo.common.protocol.CDODataOutput; import org.eclipse.emf.cdo.internal.common.messages.Messages; import org.eclipse.net4j.util.ObjectUtil; @@ -49,6 +49,9 @@ public final class CDOClassifierRef this.classifierName = classifierName.intern(); } + /** + * @since 3.0 + */ public CDOClassifierRef(CDODataInput in) throws IOException { String uri = in.readCDOPackageURI(); @@ -67,6 +70,9 @@ public final class CDOClassifierRef classifierName = uri.substring(hash + 1); } + /** + * @since 3.0 + */ public void write(CDODataOutput out) throws IOException { out.writeCDOPackageURI(packageURI + URI_SEPARATOR + classifierName); diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/model/CDOType.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/model/CDOType.java index 34036d566b..286067bc54 100644 --- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/model/CDOType.java +++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/model/CDOType.java @@ -10,8 +10,8 @@ */ package org.eclipse.emf.cdo.common.model; -import org.eclipse.emf.cdo.common.io.CDODataInput; -import org.eclipse.emf.cdo.common.io.CDODataOutput; +import org.eclipse.emf.cdo.common.protocol.CDODataInput; +import org.eclipse.emf.cdo.common.protocol.CDODataOutput; import org.eclipse.emf.cdo.common.revision.CDOReferenceAdjuster; import org.eclipse.emf.ecore.EClassifier; @@ -113,12 +113,12 @@ public interface CDOType public Object adjustReferences(CDOReferenceAdjuster adjuster, Object value); /** - * @since 2.0 + * @since 3.0 */ public Object readValue(CDODataInput in) throws IOException; /** - * @since 2.0 + * @since 3.0 */ public void writeValue(CDODataOutput out, Object value) throws IOException; diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/io/CDODataInput.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/protocol/CDODataInput.java index 4b62999a5a..cc70116251 100644 --- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/io/CDODataInput.java +++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/protocol/CDODataInput.java @@ -9,11 +9,12 @@ * Eike Stepper - initial API and implementation * Simon McDuff - maintenance */ -package org.eclipse.emf.cdo.common.io; +package org.eclipse.emf.cdo.common.protocol; import org.eclipse.emf.cdo.common.branch.CDOBranch; import org.eclipse.emf.cdo.common.branch.CDOBranchPoint; import org.eclipse.emf.cdo.common.branch.CDOBranchVersion; +import org.eclipse.emf.cdo.common.commit.CDOChangeSetData; import org.eclipse.emf.cdo.common.commit.CDOCommitData; import org.eclipse.emf.cdo.common.commit.CDOCommitInfo; import org.eclipse.emf.cdo.common.id.CDOID; @@ -42,7 +43,7 @@ import java.io.IOException; /** * @author Eike Stepper - * @since 2.0 + * @since 3.0 */ public interface CDODataInput extends ExtendedDataInput { @@ -66,29 +67,16 @@ public interface CDODataInput extends ExtendedDataInput // ///////////////////////////////////////////////////////////////////////////////////////////////// - /** - * @since 3.0 - */ public CDOBranch readCDOBranch() throws IOException; - /** - * @since 3.0 - */ public CDOBranchPoint readCDOBranchPoint() throws IOException; - /** - * @since 3.0 - */ public CDOBranchVersion readCDOBranchVersion() throws IOException; - /** - * @since 3.0 - */ + public CDOChangeSetData readCDOChangeSetData() throws IOException; + public CDOCommitData readCDOCommitData() throws IOException; - /** - * @since 3.0 - */ public CDOCommitInfo readCDOCommitInfo() throws IOException; // ///////////////////////////////////////////////////////////////////////////////////////////////// @@ -97,18 +85,12 @@ public interface CDODataInput extends ExtendedDataInput public CDOIDAndVersion readCDOIDAndVersion() throws IOException; - /** - * @since 3.0 - */ public CDOIDAndBranch readCDOIDAndBranch() throws IOException; public CDOIDMetaRange readCDOIDMetaRange() throws IOException; // ///////////////////////////////////////////////////////////////////////////////////////////////// - /** - * @since 3.0 - */ public CDORevisionKey readCDORevisionKey() throws IOException; public CDORevision readCDORevision() throws IOException; @@ -133,8 +115,5 @@ public interface CDODataInput extends ExtendedDataInput // ///////////////////////////////////////////////////////////////////////////////////////////////// - /** - * @since 3.0 - */ public LockType readCDOLockType() throws IOException; } diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/io/CDODataOutput.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/protocol/CDODataOutput.java index af2e3651b1..859f76c393 100644 --- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/io/CDODataOutput.java +++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/protocol/CDODataOutput.java @@ -9,11 +9,12 @@ * Eike Stepper - initial API and implementation * Simon McDuff - maintenance */ -package org.eclipse.emf.cdo.common.io; +package org.eclipse.emf.cdo.common.protocol; import org.eclipse.emf.cdo.common.branch.CDOBranch; import org.eclipse.emf.cdo.common.branch.CDOBranchPoint; import org.eclipse.emf.cdo.common.branch.CDOBranchVersion; +import org.eclipse.emf.cdo.common.commit.CDOChangeSetData; import org.eclipse.emf.cdo.common.commit.CDOCommitData; import org.eclipse.emf.cdo.common.commit.CDOCommitInfo; import org.eclipse.emf.cdo.common.id.CDOID; @@ -43,13 +44,10 @@ import java.io.IOException; /** * @author Eike Stepper - * @since 2.0 + * @since 3.0 */ public interface CDODataOutput extends ExtendedDataOutput { - /** - * @since 3.0 - */ public CDOPackageRegistry getPackageRegistry(); public CDOIDProvider getIDProvider(); @@ -74,29 +72,16 @@ public interface CDODataOutput extends ExtendedDataOutput // ///////////////////////////////////////////////////////////////////////////////////////////////// - /** - * @since 3.0 - */ public void writeCDOBranch(CDOBranch branch) throws IOException; - /** - * @since 3.0 - */ public void writeCDOBranchPoint(CDOBranchPoint branchPoint) throws IOException; - /** - * @since 3.0 - */ public void writeCDOBranchVersion(CDOBranchVersion branchVersion) throws IOException; - /** - * @since 3.0 - */ + public void writeCDOChangeSetData(CDOChangeSetData changeSetData) throws IOException; + public void writeCDOCommitData(CDOCommitData commitData) throws IOException; - /** - * @since 3.0 - */ public void writeCDOCommitInfo(CDOCommitInfo commitInfo) throws IOException; // ///////////////////////////////////////////////////////////////////////////////////////////////// @@ -105,18 +90,12 @@ public interface CDODataOutput extends ExtendedDataOutput public void writeCDOIDAndVersion(CDOIDAndVersion idAndVersion) throws IOException; - /** - * @since 3.0 - */ public void writeCDOIDAndBranch(CDOIDAndBranch idAndBranch) throws IOException; public void writeCDOIDMetaRange(CDOIDMetaRange metaRange) throws IOException; // ///////////////////////////////////////////////////////////////////////////////////////////////// - /** - * @since 3.0 - */ public void writeCDORevisionKey(CDORevisionKey revisionKey) throws IOException; public void writeCDORevision(CDORevision revision, int referenceChunk) throws IOException; @@ -142,8 +121,5 @@ public interface CDODataOutput extends ExtendedDataOutput // ///////////////////////////////////////////////////////////////////////////////////////////////// - /** - * @since 3.0 - */ public void writeCDOLockType(LockType lockType) throws IOException; } diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/protocol/CDOProtocolConstants.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/protocol/CDOProtocolConstants.java index 9db5d2a24f..b4daaf7211 100644 --- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/protocol/CDOProtocolConstants.java +++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/protocol/CDOProtocolConstants.java @@ -174,6 +174,11 @@ public interface CDOProtocolConstants */ public static final short SIGNAL_SYNC_REPOSITORY = 40; + /** + * @since 3.0 + */ + public static final short SIGNAL_LOAD_CHANGE_SETS = 41; + // ////////////////////////////////////////////////////////////////////// // Session Management diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/util/CDOCommonUtil.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/util/CDOCommonUtil.java index 936df00fda..6ece53e39d 100644 --- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/util/CDOCommonUtil.java +++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/util/CDOCommonUtil.java @@ -10,6 +10,7 @@ */ package org.eclipse.emf.cdo.common.util; +import org.eclipse.emf.cdo.common.branch.CDOBranchPoint; import org.eclipse.emf.cdo.common.revision.CDORevision; import java.text.MessageFormat; @@ -24,6 +25,11 @@ public final class CDOCommonUtil { } + public static boolean isValidTimeStamp(long timeStamp, long startTime, long endTime) + { + return (endTime == CDOBranchPoint.UNSPECIFIED_DATE || endTime >= timeStamp) && timeStamp >= startTime; + } + public static int compareTimeStamps(long t1, long t2) { if (t1 == CDORevision.UNSPECIFIED_DATE) diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/util/CDOFetchRule.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/util/CDOFetchRule.java index 2b2f2baac3..d75d868ffb 100644 --- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/util/CDOFetchRule.java +++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/util/CDOFetchRule.java @@ -11,9 +11,9 @@ */ package org.eclipse.emf.cdo.common.util; -import org.eclipse.emf.cdo.common.io.CDODataInput; -import org.eclipse.emf.cdo.common.io.CDODataOutput; import org.eclipse.emf.cdo.common.model.CDOPackageRegistry; +import org.eclipse.emf.cdo.common.protocol.CDODataInput; +import org.eclipse.emf.cdo.common.protocol.CDODataOutput; import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.EStructuralFeature; diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/CDOQueryInfoImpl.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/CDOQueryInfoImpl.java index 0a0c1b08dc..be01fbbc34 100644 --- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/CDOQueryInfoImpl.java +++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/CDOQueryInfoImpl.java @@ -11,8 +11,8 @@ */ package org.eclipse.emf.cdo.internal.common; -import org.eclipse.emf.cdo.common.io.CDODataInput; -import org.eclipse.emf.cdo.common.io.CDODataOutput; +import org.eclipse.emf.cdo.common.protocol.CDODataInput; +import org.eclipse.emf.cdo.common.protocol.CDODataOutput; import org.eclipse.emf.cdo.common.util.CDOQueryInfo; import java.io.IOException; diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/branch/CDOBranchPointRangeImpl.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/branch/CDOBranchPointRangeImpl.java new file mode 100644 index 0000000000..a5c5f73334 --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/branch/CDOBranchPointRangeImpl.java @@ -0,0 +1,48 @@ +/** + * Copyright (c) 2004 - 2010 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.emf.cdo.internal.common.branch; + +import org.eclipse.emf.cdo.common.branch.CDOBranchPoint; +import org.eclipse.emf.cdo.common.branch.CDOBranchPointRange; + +import java.text.MessageFormat; + +/** + * @author Eike Stepper + */ +public class CDOBranchPointRangeImpl implements CDOBranchPointRange +{ + private CDOBranchPoint startPoint; + + private CDOBranchPoint endPoint; + + public CDOBranchPointRangeImpl(CDOBranchPoint startPoint, CDOBranchPoint endPoint) + { + this.startPoint = startPoint; + this.endPoint = endPoint; + } + + public CDOBranchPoint getStartPoint() + { + return startPoint; + } + + public CDOBranchPoint getEndPoint() + { + return endPoint; + } + + @Override + public String toString() + { + return MessageFormat.format("Range[{0}, {1}]", startPoint, endPoint); + } +} diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/commit/CDOChangeSetDataImpl.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/commit/CDOChangeSetDataImpl.java new file mode 100644 index 0000000000..53cee76eda --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/commit/CDOChangeSetDataImpl.java @@ -0,0 +1,52 @@ +/** + * Copyright (c) 2004 - 2010 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.emf.cdo.internal.common.commit; + +import org.eclipse.emf.cdo.common.commit.CDOChangeSetData; +import org.eclipse.emf.cdo.common.id.CDOIDAndVersion; +import org.eclipse.emf.cdo.common.revision.CDORevisionKey; + +import java.util.List; + +/** + * @author Eike Stepper + */ +public class CDOChangeSetDataImpl implements CDOChangeSetData +{ + private List<CDOIDAndVersion> newObjects; + + private List<CDORevisionKey> changedObjects; + + private List<CDOIDAndVersion> detachedObjects; + + public CDOChangeSetDataImpl(List<CDOIDAndVersion> newObjects, List<CDORevisionKey> changedObjects, + List<CDOIDAndVersion> detachedObjects) + { + this.newObjects = newObjects; + this.changedObjects = changedObjects; + this.detachedObjects = detachedObjects; + } + + public List<CDOIDAndVersion> getNewObjects() + { + return newObjects; + } + + public List<CDORevisionKey> getChangedObjects() + { + return changedObjects; + } + + public List<CDOIDAndVersion> getDetachedObjects() + { + return detachedObjects; + } +} diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/commit/CDOCommitDataImpl.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/commit/CDOCommitDataImpl.java index dbfa4a573b..cbee02c6db 100644 --- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/commit/CDOCommitDataImpl.java +++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/commit/CDOCommitDataImpl.java @@ -20,42 +20,19 @@ import java.util.List; /** * @author Eike Stepper */ -public class CDOCommitDataImpl implements CDOCommitData +public class CDOCommitDataImpl extends CDOChangeSetDataImpl implements CDOCommitData { private List<CDOPackageUnit> newPackageUnits; - private List<CDOIDAndVersion> newObjects; - - private List<CDORevisionKey> changedObjects; - - private List<CDOIDAndVersion> detachedObjects; - public CDOCommitDataImpl(List<CDOPackageUnit> newPackageUnits, List<CDOIDAndVersion> newObjects, List<CDORevisionKey> changedObjects, List<CDOIDAndVersion> detachedObjects) { + super(newObjects, changedObjects, detachedObjects); this.newPackageUnits = newPackageUnits; - this.newObjects = newObjects; - this.changedObjects = changedObjects; - this.detachedObjects = detachedObjects; } public List<CDOPackageUnit> getNewPackageUnits() { return newPackageUnits; } - - public List<CDOIDAndVersion> getNewObjects() - { - return newObjects; - } - - public List<CDORevisionKey> getChangedObjects() - { - return changedObjects; - } - - public List<CDOIDAndVersion> getDetachedObjects() - { - return detachedObjects; - } } diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/id/CDOIDObjectLongWithClassifierImpl.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/id/CDOIDObjectLongWithClassifierImpl.java index e0d581708e..dd4f369772 100644 --- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/id/CDOIDObjectLongWithClassifierImpl.java +++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/id/CDOIDObjectLongWithClassifierImpl.java @@ -12,9 +12,9 @@ package org.eclipse.emf.cdo.internal.common.id; import org.eclipse.emf.cdo.common.id.CDOID; -import org.eclipse.emf.cdo.common.io.CDODataInput; -import org.eclipse.emf.cdo.common.io.CDODataOutput; import org.eclipse.emf.cdo.common.model.CDOClassifierRef; +import org.eclipse.emf.cdo.common.protocol.CDODataInput; +import org.eclipse.emf.cdo.common.protocol.CDODataOutput; import org.eclipse.net4j.util.ObjectUtil; import org.eclipse.net4j.util.io.ExtendedDataInput; diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/id/CDOIDObjectStringWithClassifierImpl.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/id/CDOIDObjectStringWithClassifierImpl.java index f57ef3b95a..2a66f42d01 100644 --- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/id/CDOIDObjectStringWithClassifierImpl.java +++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/id/CDOIDObjectStringWithClassifierImpl.java @@ -12,9 +12,9 @@ package org.eclipse.emf.cdo.internal.common.id; import org.eclipse.emf.cdo.common.id.CDOID; -import org.eclipse.emf.cdo.common.io.CDODataInput; -import org.eclipse.emf.cdo.common.io.CDODataOutput; import org.eclipse.emf.cdo.common.model.CDOClassifierRef; +import org.eclipse.emf.cdo.common.protocol.CDODataInput; +import org.eclipse.emf.cdo.common.protocol.CDODataOutput; import org.eclipse.net4j.util.ObjectUtil; import org.eclipse.net4j.util.io.ExtendedDataInput; diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/model/CDOPackageInfoImpl.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/model/CDOPackageInfoImpl.java index 1bb44e5161..9b41e57125 100644 --- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/model/CDOPackageInfoImpl.java +++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/model/CDOPackageInfoImpl.java @@ -11,10 +11,10 @@ package org.eclipse.emf.cdo.internal.common.model; import org.eclipse.emf.cdo.common.id.CDOIDMetaRange; -import org.eclipse.emf.cdo.common.io.CDODataInput; -import org.eclipse.emf.cdo.common.io.CDODataOutput; import org.eclipse.emf.cdo.common.model.CDOModelUtil; import org.eclipse.emf.cdo.common.model.CDOPackageInfo; +import org.eclipse.emf.cdo.common.protocol.CDODataInput; +import org.eclipse.emf.cdo.common.protocol.CDODataOutput; import org.eclipse.emf.cdo.internal.common.bundle.OM; import org.eclipse.emf.cdo.spi.common.model.InternalCDOPackageInfo; import org.eclipse.emf.cdo.spi.common.model.InternalCDOPackageUnit; diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/model/CDOPackageUnitImpl.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/model/CDOPackageUnitImpl.java index bfaf3edf48..48bf633956 100644 --- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/model/CDOPackageUnitImpl.java +++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/model/CDOPackageUnitImpl.java @@ -10,12 +10,12 @@ */ package org.eclipse.emf.cdo.internal.common.model; -import org.eclipse.emf.cdo.common.io.CDODataInput; -import org.eclipse.emf.cdo.common.io.CDODataOutput; import org.eclipse.emf.cdo.common.model.CDOModelUtil; import org.eclipse.emf.cdo.common.model.CDOPackageTypeRegistry; import org.eclipse.emf.cdo.common.model.CDOPackageUnit; import org.eclipse.emf.cdo.common.model.EMFUtil; +import org.eclipse.emf.cdo.common.protocol.CDODataInput; +import org.eclipse.emf.cdo.common.protocol.CDODataOutput; import org.eclipse.emf.cdo.common.util.CDOCommonUtil; import org.eclipse.emf.cdo.internal.common.bundle.OM; import org.eclipse.emf.cdo.internal.common.messages.Messages; diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/model/CDOTypeImpl.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/model/CDOTypeImpl.java index 5e26fa7de1..80fe047874 100644 --- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/model/CDOTypeImpl.java +++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/model/CDOTypeImpl.java @@ -12,10 +12,10 @@ package org.eclipse.emf.cdo.internal.common.model; import org.eclipse.emf.cdo.common.id.CDOID; -import org.eclipse.emf.cdo.common.io.CDODataInput; -import org.eclipse.emf.cdo.common.io.CDODataOutput; import org.eclipse.emf.cdo.common.model.CDOModelUtil; import org.eclipse.emf.cdo.common.model.CDOType; +import org.eclipse.emf.cdo.common.protocol.CDODataInput; +import org.eclipse.emf.cdo.common.protocol.CDODataOutput; import org.eclipse.emf.cdo.common.revision.CDOReferenceAdjuster; import org.eclipse.emf.cdo.common.revision.CDORevision; import org.eclipse.emf.cdo.common.revision.CDORevisionData; diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/io/CDODataInputImpl.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/protocol/CDODataInputImpl.java index f5b99f94da..047234abcb 100644 --- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/io/CDODataInputImpl.java +++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/protocol/CDODataInputImpl.java @@ -9,12 +9,13 @@ * Eike Stepper - initial API and implementation * Simon McDuff - bug 213402 */ -package org.eclipse.emf.cdo.internal.common.io; +package org.eclipse.emf.cdo.internal.common.protocol; import org.eclipse.emf.cdo.common.branch.CDOBranch; import org.eclipse.emf.cdo.common.branch.CDOBranchManager; import org.eclipse.emf.cdo.common.branch.CDOBranchPoint; import org.eclipse.emf.cdo.common.branch.CDOBranchVersion; +import org.eclipse.emf.cdo.common.commit.CDOChangeSetData; import org.eclipse.emf.cdo.common.commit.CDOCommitData; import org.eclipse.emf.cdo.common.commit.CDOCommitInfo; import org.eclipse.emf.cdo.common.commit.CDOCommitInfoManager; @@ -24,13 +25,13 @@ import org.eclipse.emf.cdo.common.id.CDOIDAndVersion; import org.eclipse.emf.cdo.common.id.CDOIDMetaRange; import org.eclipse.emf.cdo.common.id.CDOIDUtil; import org.eclipse.emf.cdo.common.id.CDOID.Type; -import org.eclipse.emf.cdo.common.io.CDODataInput; import org.eclipse.emf.cdo.common.model.CDOClassifierRef; import org.eclipse.emf.cdo.common.model.CDOModelUtil; import org.eclipse.emf.cdo.common.model.CDOPackageInfo; import org.eclipse.emf.cdo.common.model.CDOPackageRegistry; import org.eclipse.emf.cdo.common.model.CDOPackageUnit; import org.eclipse.emf.cdo.common.model.CDOType; +import org.eclipse.emf.cdo.common.protocol.CDODataInput; import org.eclipse.emf.cdo.common.revision.CDOList; import org.eclipse.emf.cdo.common.revision.CDOListFactory; import org.eclipse.emf.cdo.common.revision.CDORevision; @@ -40,6 +41,7 @@ import org.eclipse.emf.cdo.common.revision.CDORevisionUtil; import org.eclipse.emf.cdo.common.revision.delta.CDOFeatureDelta; import org.eclipse.emf.cdo.common.revision.delta.CDORevisionDelta; import org.eclipse.emf.cdo.internal.common.bundle.OM; +import org.eclipse.emf.cdo.internal.common.commit.CDOChangeSetDataImpl; import org.eclipse.emf.cdo.internal.common.commit.CDOCommitDataImpl; import org.eclipse.emf.cdo.internal.common.id.CDOIDAndBranchImpl; import org.eclipse.emf.cdo.internal.common.id.CDOIDAndVersionImpl; @@ -180,47 +182,53 @@ public abstract class CDODataInputImpl extends ExtendedDataInput.Delegating impl return branch.getVersion(version); } - public CDOCommitData readCDOCommitData() throws IOException + public CDOChangeSetData readCDOChangeSetData() throws IOException { - InternalCDOPackageRegistry packageRegistry = (InternalCDOPackageRegistry)getPackageRegistry(); - int size; - - size = readInt(); - List<CDOPackageUnit> newPackageUnits = new ArrayList<CDOPackageUnit>(size); - for (int i = 0; i < size; i++) - { - CDOPackageUnit data = readCDOPackageUnit(packageRegistry); - newPackageUnits.add(data); - packageRegistry.putPackageUnit((InternalCDOPackageUnit)data); - } - - size = readInt(); - List<CDOIDAndVersion> newObjects = new ArrayList<CDOIDAndVersion>(size); - for (int i = 0; i < size; i++) + int size1 = readInt(); + List<CDOIDAndVersion> newObjects = new ArrayList<CDOIDAndVersion>(size1); + for (int i = 0; i < size1; i++) { boolean revision = readBoolean(); CDOIDAndVersion data = revision ? readCDORevision() : readCDOIDAndVersion(); newObjects.add(data); } - size = readInt(); - List<CDORevisionKey> changedObjects = new ArrayList<CDORevisionKey>(size); - for (int i = 0; i < size; i++) + int size2 = readInt(); + List<CDORevisionKey> changedObjects = new ArrayList<CDORevisionKey>(size2); + for (int i = 0; i < size2; i++) { boolean delta = readBoolean(); CDORevisionKey data = delta ? readCDORevisionDelta() : readCDORevisionKey(); changedObjects.add(data); } - size = readInt(); - List<CDOIDAndVersion> detachedObjects = new ArrayList<CDOIDAndVersion>(size); - for (int i = 0; i < size; i++) + int size3 = readInt(); + List<CDOIDAndVersion> detachedObjects = new ArrayList<CDOIDAndVersion>(size3); + for (int i = 0; i < size3; i++) { CDOIDAndVersion data = readCDOIDAndVersion(); detachedObjects.add(data); } - return new CDOCommitDataImpl(newPackageUnits, newObjects, changedObjects, detachedObjects); + return new CDOChangeSetDataImpl(newObjects, changedObjects, detachedObjects); + } + + public CDOCommitData readCDOCommitData() throws IOException + { + InternalCDOPackageRegistry packageRegistry = (InternalCDOPackageRegistry)getPackageRegistry(); + + int size = readInt(); + List<CDOPackageUnit> newPackageUnits = new ArrayList<CDOPackageUnit>(size); + for (int i = 0; i < size; i++) + { + CDOPackageUnit data = readCDOPackageUnit(packageRegistry); + newPackageUnits.add(data); + packageRegistry.putPackageUnit((InternalCDOPackageUnit)data); + } + + CDOChangeSetData data = readCDOChangeSetData(); + return new CDOCommitDataImpl(newPackageUnits, data.getNewObjects(), data.getChangedObjects(), data + .getDetachedObjects()); } public CDOCommitInfo readCDOCommitInfo() throws IOException diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/io/CDODataOutputImpl.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/protocol/CDODataOutputImpl.java index f9b35b300b..6127fe6cc1 100644 --- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/io/CDODataOutputImpl.java +++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/protocol/CDODataOutputImpl.java @@ -8,11 +8,12 @@ * Contributors: * Eike Stepper - initial API and implementation */ -package org.eclipse.emf.cdo.internal.common.io; +package org.eclipse.emf.cdo.internal.common.protocol; import org.eclipse.emf.cdo.common.branch.CDOBranch; import org.eclipse.emf.cdo.common.branch.CDOBranchPoint; import org.eclipse.emf.cdo.common.branch.CDOBranchVersion; +import org.eclipse.emf.cdo.common.commit.CDOChangeSetData; import org.eclipse.emf.cdo.common.commit.CDOCommitData; import org.eclipse.emf.cdo.common.commit.CDOCommitInfo; import org.eclipse.emf.cdo.common.id.CDOID; @@ -20,13 +21,13 @@ import org.eclipse.emf.cdo.common.id.CDOIDAndBranch; import org.eclipse.emf.cdo.common.id.CDOIDAndVersion; import org.eclipse.emf.cdo.common.id.CDOIDMetaRange; import org.eclipse.emf.cdo.common.id.CDOIDProvider; -import org.eclipse.emf.cdo.common.io.CDODataOutput; import org.eclipse.emf.cdo.common.model.CDOClassifierRef; import org.eclipse.emf.cdo.common.model.CDOModelUtil; import org.eclipse.emf.cdo.common.model.CDOPackageInfo; import org.eclipse.emf.cdo.common.model.CDOPackageRegistry; import org.eclipse.emf.cdo.common.model.CDOPackageUnit; import org.eclipse.emf.cdo.common.model.CDOType; +import org.eclipse.emf.cdo.common.protocol.CDODataOutput; import org.eclipse.emf.cdo.common.revision.CDOList; import org.eclipse.emf.cdo.common.revision.CDORevision; import org.eclipse.emf.cdo.common.revision.CDORevisionKey; @@ -140,16 +141,9 @@ public abstract class CDODataOutputImpl extends ExtendedDataOutput.Delegating im writeInt(branchVersion.getVersion()); } - public void writeCDOCommitData(CDOCommitData commitData) throws IOException + public void writeCDOChangeSetData(CDOChangeSetData changeSetData) throws IOException { - Collection<CDOPackageUnit> newPackageUnits = commitData.getNewPackageUnits(); - writeInt(newPackageUnits.size()); - for (CDOPackageUnit data : newPackageUnits) - { - writeCDOPackageUnit(data, false); - } - - Collection<CDOIDAndVersion> newObjects = commitData.getNewObjects(); + Collection<CDOIDAndVersion> newObjects = changeSetData.getNewObjects(); writeInt(newObjects.size()); for (CDOIDAndVersion data : newObjects) { @@ -165,7 +159,7 @@ public abstract class CDODataOutputImpl extends ExtendedDataOutput.Delegating im } } - Collection<CDORevisionKey> changedObjects = commitData.getChangedObjects(); + Collection<CDORevisionKey> changedObjects = changeSetData.getChangedObjects(); writeInt(changedObjects.size()); for (CDORevisionKey data : changedObjects) { @@ -181,7 +175,7 @@ public abstract class CDODataOutputImpl extends ExtendedDataOutput.Delegating im } } - Collection<CDOIDAndVersion> detachedObjects = commitData.getDetachedObjects(); + Collection<CDOIDAndVersion> detachedObjects = changeSetData.getDetachedObjects(); writeInt(detachedObjects.size()); for (CDOIDAndVersion data : detachedObjects) { @@ -189,6 +183,18 @@ public abstract class CDODataOutputImpl extends ExtendedDataOutput.Delegating im } } + public void writeCDOCommitData(CDOCommitData commitData) throws IOException + { + Collection<CDOPackageUnit> newPackageUnits = commitData.getNewPackageUnits(); + writeInt(newPackageUnits.size()); + for (CDOPackageUnit data : newPackageUnits) + { + writeCDOPackageUnit(data, false); + } + + writeCDOChangeSetData(commitData); + } + public void writeCDOCommitInfo(CDOCommitInfo commitInfo) throws IOException { writeCDOBranch(commitInfo.getBranch()); diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/revision/delta/CDOAddFeatureDeltaImpl.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/revision/delta/CDOAddFeatureDeltaImpl.java index 9c0f71bdd0..c9d7481b5f 100644 --- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/revision/delta/CDOAddFeatureDeltaImpl.java +++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/revision/delta/CDOAddFeatureDeltaImpl.java @@ -11,7 +11,7 @@ */ package org.eclipse.emf.cdo.internal.common.revision.delta; -import org.eclipse.emf.cdo.common.io.CDODataInput; +import org.eclipse.emf.cdo.common.protocol.CDODataInput; import org.eclipse.emf.cdo.common.revision.CDORevision; import org.eclipse.emf.cdo.common.revision.delta.CDOAddFeatureDelta; import org.eclipse.emf.cdo.common.revision.delta.CDOFeatureDeltaVisitor; diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/revision/delta/CDOClearFeatureDeltaImpl.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/revision/delta/CDOClearFeatureDeltaImpl.java index 6a0f822f14..e886a0ed05 100644 --- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/revision/delta/CDOClearFeatureDeltaImpl.java +++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/revision/delta/CDOClearFeatureDeltaImpl.java @@ -11,7 +11,7 @@ */ package org.eclipse.emf.cdo.internal.common.revision.delta; -import org.eclipse.emf.cdo.common.io.CDODataInput; +import org.eclipse.emf.cdo.common.protocol.CDODataInput; import org.eclipse.emf.cdo.common.revision.CDOReferenceAdjuster; import org.eclipse.emf.cdo.common.revision.CDORevision; import org.eclipse.emf.cdo.common.revision.delta.CDOClearFeatureDelta; diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/revision/delta/CDOContainerFeatureDeltaImpl.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/revision/delta/CDOContainerFeatureDeltaImpl.java index 699fc55ccc..e377a5cb3c 100644 --- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/revision/delta/CDOContainerFeatureDeltaImpl.java +++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/revision/delta/CDOContainerFeatureDeltaImpl.java @@ -14,8 +14,8 @@ package org.eclipse.emf.cdo.internal.common.revision.delta; import org.eclipse.emf.cdo.common.id.CDOID; -import org.eclipse.emf.cdo.common.io.CDODataInput; -import org.eclipse.emf.cdo.common.io.CDODataOutput; +import org.eclipse.emf.cdo.common.protocol.CDODataInput; +import org.eclipse.emf.cdo.common.protocol.CDODataOutput; import org.eclipse.emf.cdo.common.revision.CDOReferenceAdjuster; import org.eclipse.emf.cdo.common.revision.CDORevision; import org.eclipse.emf.cdo.common.revision.delta.CDOContainerFeatureDelta; diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/revision/delta/CDOFeatureDeltaImpl.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/revision/delta/CDOFeatureDeltaImpl.java index a21cebe27b..a3b9b74495 100644 --- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/revision/delta/CDOFeatureDeltaImpl.java +++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/revision/delta/CDOFeatureDeltaImpl.java @@ -11,8 +11,8 @@ */ package org.eclipse.emf.cdo.internal.common.revision.delta; -import org.eclipse.emf.cdo.common.io.CDODataInput; -import org.eclipse.emf.cdo.common.io.CDODataOutput; +import org.eclipse.emf.cdo.common.protocol.CDODataInput; +import org.eclipse.emf.cdo.common.protocol.CDODataOutput; import org.eclipse.emf.cdo.common.revision.CDOReferenceAdjuster; import org.eclipse.emf.cdo.common.revision.delta.CDOFeatureDelta; diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/revision/delta/CDOListFeatureDeltaImpl.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/revision/delta/CDOListFeatureDeltaImpl.java index a839f5598b..cd830282b8 100644 --- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/revision/delta/CDOListFeatureDeltaImpl.java +++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/revision/delta/CDOListFeatureDeltaImpl.java @@ -11,8 +11,8 @@ */ package org.eclipse.emf.cdo.internal.common.revision.delta; -import org.eclipse.emf.cdo.common.io.CDODataInput; -import org.eclipse.emf.cdo.common.io.CDODataOutput; +import org.eclipse.emf.cdo.common.protocol.CDODataInput; +import org.eclipse.emf.cdo.common.protocol.CDODataOutput; import org.eclipse.emf.cdo.common.revision.CDOReferenceAdjuster; import org.eclipse.emf.cdo.common.revision.CDORevision; import org.eclipse.emf.cdo.common.revision.delta.CDOFeatureDelta; diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/revision/delta/CDOMoveFeatureDeltaImpl.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/revision/delta/CDOMoveFeatureDeltaImpl.java index 7cdef39048..4a458ed0b0 100644 --- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/revision/delta/CDOMoveFeatureDeltaImpl.java +++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/revision/delta/CDOMoveFeatureDeltaImpl.java @@ -11,8 +11,8 @@ */ package org.eclipse.emf.cdo.internal.common.revision.delta; -import org.eclipse.emf.cdo.common.io.CDODataInput; -import org.eclipse.emf.cdo.common.io.CDODataOutput; +import org.eclipse.emf.cdo.common.protocol.CDODataInput; +import org.eclipse.emf.cdo.common.protocol.CDODataOutput; import org.eclipse.emf.cdo.common.revision.CDOReferenceAdjuster; import org.eclipse.emf.cdo.common.revision.CDORevision; import org.eclipse.emf.cdo.common.revision.delta.CDOFeatureDeltaVisitor; diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/revision/delta/CDORemoveFeatureDeltaImpl.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/revision/delta/CDORemoveFeatureDeltaImpl.java index 9154420bee..d6aecf540c 100644 --- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/revision/delta/CDORemoveFeatureDeltaImpl.java +++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/revision/delta/CDORemoveFeatureDeltaImpl.java @@ -11,8 +11,8 @@ */ package org.eclipse.emf.cdo.internal.common.revision.delta; -import org.eclipse.emf.cdo.common.io.CDODataInput; -import org.eclipse.emf.cdo.common.io.CDODataOutput; +import org.eclipse.emf.cdo.common.protocol.CDODataInput; +import org.eclipse.emf.cdo.common.protocol.CDODataOutput; import org.eclipse.emf.cdo.common.revision.CDOReferenceAdjuster; import org.eclipse.emf.cdo.common.revision.CDORevision; import org.eclipse.emf.cdo.common.revision.delta.CDOFeatureDeltaVisitor; diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/revision/delta/CDORevisionDeltaImpl.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/revision/delta/CDORevisionDeltaImpl.java index 900cd690c2..799f81b2ff 100644 --- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/revision/delta/CDORevisionDeltaImpl.java +++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/revision/delta/CDORevisionDeltaImpl.java @@ -14,9 +14,9 @@ package org.eclipse.emf.cdo.internal.common.revision.delta; import org.eclipse.emf.cdo.common.branch.CDOBranch; import org.eclipse.emf.cdo.common.id.CDOID; -import org.eclipse.emf.cdo.common.io.CDODataInput; -import org.eclipse.emf.cdo.common.io.CDODataOutput; import org.eclipse.emf.cdo.common.model.CDOModelUtil; +import org.eclipse.emf.cdo.common.protocol.CDODataInput; +import org.eclipse.emf.cdo.common.protocol.CDODataOutput; import org.eclipse.emf.cdo.common.revision.CDOReferenceAdjuster; import org.eclipse.emf.cdo.common.revision.CDORevision; import org.eclipse.emf.cdo.common.revision.CDORevisionData; diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/revision/delta/CDOSetFeatureDeltaImpl.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/revision/delta/CDOSetFeatureDeltaImpl.java index 574a64d115..b20975790e 100644 --- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/revision/delta/CDOSetFeatureDeltaImpl.java +++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/revision/delta/CDOSetFeatureDeltaImpl.java @@ -11,7 +11,7 @@ */ package org.eclipse.emf.cdo.internal.common.revision.delta; -import org.eclipse.emf.cdo.common.io.CDODataInput; +import org.eclipse.emf.cdo.common.protocol.CDODataInput; import org.eclipse.emf.cdo.common.revision.CDORevision; import org.eclipse.emf.cdo.common.revision.delta.CDOFeatureDeltaVisitor; import org.eclipse.emf.cdo.common.revision.delta.CDOSetFeatureDelta; diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/revision/delta/CDOSingleValueFeatureDeltaImpl.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/revision/delta/CDOSingleValueFeatureDeltaImpl.java index 0434a43ed0..fd83c44c1b 100644 --- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/revision/delta/CDOSingleValueFeatureDeltaImpl.java +++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/revision/delta/CDOSingleValueFeatureDeltaImpl.java @@ -12,8 +12,8 @@ package org.eclipse.emf.cdo.internal.common.revision.delta; import org.eclipse.emf.cdo.common.id.CDOID; -import org.eclipse.emf.cdo.common.io.CDODataInput; -import org.eclipse.emf.cdo.common.io.CDODataOutput; +import org.eclipse.emf.cdo.common.protocol.CDODataInput; +import org.eclipse.emf.cdo.common.protocol.CDODataOutput; import org.eclipse.emf.cdo.common.revision.CDOReferenceAdjuster; import org.eclipse.emf.cdo.common.revision.CDORevisionUtil; diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/revision/delta/CDOUnsetFeatureDeltaImpl.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/revision/delta/CDOUnsetFeatureDeltaImpl.java index 8e2998b632..18e2b1bb5d 100644 --- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/revision/delta/CDOUnsetFeatureDeltaImpl.java +++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/internal/common/revision/delta/CDOUnsetFeatureDeltaImpl.java @@ -11,7 +11,7 @@ */ package org.eclipse.emf.cdo.internal.common.revision.delta; -import org.eclipse.emf.cdo.common.io.CDODataInput; +import org.eclipse.emf.cdo.common.protocol.CDODataInput; import org.eclipse.emf.cdo.common.revision.CDOReferenceAdjuster; import org.eclipse.emf.cdo.common.revision.CDORevision; import org.eclipse.emf.cdo.common.revision.delta.CDOFeatureDeltaVisitor; diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/spi/common/branch/CDOBranchUtil.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/spi/common/branch/CDOBranchUtil.java index b403f8b511..c328311cb0 100644 --- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/spi/common/branch/CDOBranchUtil.java +++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/spi/common/branch/CDOBranchUtil.java @@ -12,9 +12,11 @@ package org.eclipse.emf.cdo.spi.common.branch; import org.eclipse.emf.cdo.common.branch.CDOBranch; import org.eclipse.emf.cdo.common.branch.CDOBranchPoint; +import org.eclipse.emf.cdo.common.branch.CDOBranchPointRange; import org.eclipse.emf.cdo.common.branch.CDOBranchVersion; import org.eclipse.emf.cdo.common.util.CDOCommonUtil; import org.eclipse.emf.cdo.internal.common.branch.CDOBranchManagerImpl; +import org.eclipse.emf.cdo.internal.common.branch.CDOBranchPointRangeImpl; import org.eclipse.net4j.util.ObjectUtil; @@ -36,6 +38,11 @@ public final class CDOBranchUtil return new CDOBranchManagerImpl(); } + public static CDOBranchPointRange createRange(CDOBranchPoint startPoint, CDOBranchPoint endPoint) + { + return new CDOBranchPointRangeImpl(startPoint, endPoint); + } + public static CDOBranchPoint copy(CDOBranchPoint source) { return source.getBranch().getPoint(source.getTimeStamp()); diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/spi/common/branch/InternalCDOBranchManager.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/spi/common/branch/InternalCDOBranchManager.java index 88336311b4..024bb81b62 100644 --- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/spi/common/branch/InternalCDOBranchManager.java +++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/spi/common/branch/InternalCDOBranchManager.java @@ -12,8 +12,8 @@ package org.eclipse.emf.cdo.spi.common.branch; import org.eclipse.emf.cdo.common.branch.CDOBranchHandler; import org.eclipse.emf.cdo.common.branch.CDOBranchManager; -import org.eclipse.emf.cdo.common.io.CDODataInput; -import org.eclipse.emf.cdo.common.io.CDODataOutput; +import org.eclipse.emf.cdo.common.protocol.CDODataInput; +import org.eclipse.emf.cdo.common.protocol.CDODataOutput; import org.eclipse.emf.cdo.common.util.CDOTimeProvider; import org.eclipse.emf.cdo.spi.common.branch.InternalCDOBranchManager.BranchLoader.BranchInfo; diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/spi/common/commit/CDOChangeSetSegment.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/spi/common/commit/CDOChangeSetSegment.java new file mode 100644 index 0000000000..f0bf5cb84e --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/spi/common/commit/CDOChangeSetSegment.java @@ -0,0 +1,77 @@ +/** + * Copyright (c) 2004 - 2010 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.emf.cdo.spi.common.commit; + +import org.eclipse.emf.cdo.common.branch.CDOBranch; +import org.eclipse.emf.cdo.common.branch.CDOBranchPoint; + +import org.eclipse.net4j.util.ObjectUtil; + +import java.text.MessageFormat; +import java.util.LinkedList; + +/** + * @author Eike Stepper + * @since 3.0 + */ +public class CDOChangeSetSegment +{ + private CDOBranch branch; + + private long startTime; + + private long endTime; + + public CDOChangeSetSegment(CDOBranch branch, long startTime, long endTime) + { + this.branch = branch; + this.startTime = startTime; + this.endTime = endTime; + } + + public CDOBranch getBranch() + { + return branch; + } + + public long getStartTime() + { + return startTime; + } + + public long getEndTime() + { + return endTime; + } + + @Override + public String toString() + { + return MessageFormat.format("Segment[{0}, {1}, {2}]", branch, startTime, endTime); //$NON-NLS-1$ + } + + public static CDOChangeSetSegment[] createFrom(CDOBranchPoint startPoint, CDOBranchPoint endPoint) + { + LinkedList<CDOChangeSetSegment> result = new LinkedList<CDOChangeSetSegment>(); + CDOBranch startBranch = startPoint.getBranch(); + CDOBranch endBranch = endPoint.getBranch(); + + while (!ObjectUtil.equals(startBranch, endBranch)) + { + CDOBranchPoint base = endBranch.getBase(); + result.addFirst(new CDOChangeSetSegment(endBranch, base.getTimeStamp(), endPoint.getTimeStamp())); + endPoint = base; + } + + result.addFirst(new CDOChangeSetSegment(startBranch, startPoint.getTimeStamp(), endPoint.getTimeStamp())); + return result.toArray(new CDOChangeSetSegment[result.size()]); + } +} diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/spi/common/model/InternalCDOPackageInfo.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/spi/common/model/InternalCDOPackageInfo.java index 5dd591f36f..c720dd1723 100644 --- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/spi/common/model/InternalCDOPackageInfo.java +++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/spi/common/model/InternalCDOPackageInfo.java @@ -4,16 +4,16 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * Eike Stepper - initial API and implementation */ package org.eclipse.emf.cdo.spi.common.model; import org.eclipse.emf.cdo.common.id.CDOIDMetaRange; -import org.eclipse.emf.cdo.common.io.CDODataInput; -import org.eclipse.emf.cdo.common.io.CDODataOutput; import org.eclipse.emf.cdo.common.model.CDOPackageInfo; +import org.eclipse.emf.cdo.common.protocol.CDODataInput; +import org.eclipse.emf.cdo.common.protocol.CDODataOutput; import org.eclipse.emf.common.notify.Adapter; @@ -35,7 +35,13 @@ public interface InternalCDOPackageInfo extends CDOPackageInfo, Adapter.Internal public void setMetaIDRange(CDOIDMetaRange metaIDRange); + /** + * @since 3.0 + */ public void write(CDODataOutput out) throws IOException; + /** + * @since 3.0 + */ public void read(CDODataInput in) throws IOException; } diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/spi/common/model/InternalCDOPackageUnit.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/spi/common/model/InternalCDOPackageUnit.java index 43fda04493..9526a1b393 100644 --- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/spi/common/model/InternalCDOPackageUnit.java +++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/spi/common/model/InternalCDOPackageUnit.java @@ -10,9 +10,9 @@ */ package org.eclipse.emf.cdo.spi.common.model; -import org.eclipse.emf.cdo.common.io.CDODataInput; -import org.eclipse.emf.cdo.common.io.CDODataOutput; import org.eclipse.emf.cdo.common.model.CDOPackageUnit; +import org.eclipse.emf.cdo.common.protocol.CDODataInput; +import org.eclipse.emf.cdo.common.protocol.CDODataOutput; import org.eclipse.emf.ecore.EPackage; @@ -44,8 +44,14 @@ public interface InternalCDOPackageUnit extends CDOPackageUnit public void load(); + /** + * @since 3.0 + */ public void write(CDODataOutput out, boolean withPackages) throws IOException; + /** + * @since 3.0 + */ public void read(CDODataInput in, InternalCDOPackageRegistry packageRegistry) throws IOException; public void init(EPackage ePackage); diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/spi/common/revision/AbstractCDORevision.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/spi/common/revision/AbstractCDORevision.java index 8468e433c0..8edc404938 100644 --- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/spi/common/revision/AbstractCDORevision.java +++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/spi/common/revision/AbstractCDORevision.java @@ -17,6 +17,7 @@ import org.eclipse.emf.cdo.common.branch.CDOBranch; import org.eclipse.emf.cdo.common.model.CDOClassInfo; import org.eclipse.emf.cdo.common.revision.CDORevision; import org.eclipse.emf.cdo.common.revision.CDORevisionData; +import org.eclipse.emf.cdo.common.util.CDOCommonUtil; import org.eclipse.net4j.util.ObjectUtil; @@ -74,8 +75,9 @@ public abstract class AbstractCDORevision implements InternalCDORevision public boolean isValid(long timeStamp) { - long revised = getRevised(); - return (revised == UNSPECIFIED_DATE || revised >= timeStamp) && timeStamp >= getTimeStamp(); + long startTime = getTimeStamp(); + long endTime = getRevised(); + return CDOCommonUtil.isValidTimeStamp(timeStamp, startTime, endTime); } /** diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/spi/common/revision/BaseCDORevision.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/spi/common/revision/BaseCDORevision.java index f761b27a32..9caee8247d 100644 --- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/spi/common/revision/BaseCDORevision.java +++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/spi/common/revision/BaseCDORevision.java @@ -19,12 +19,12 @@ import org.eclipse.emf.cdo.common.id.CDOID; import org.eclipse.emf.cdo.common.id.CDOIDProvider; import org.eclipse.emf.cdo.common.id.CDOIDTemp; import org.eclipse.emf.cdo.common.id.CDOIDUtil; -import org.eclipse.emf.cdo.common.io.CDODataInput; -import org.eclipse.emf.cdo.common.io.CDODataOutput; import org.eclipse.emf.cdo.common.model.CDOClassInfo; import org.eclipse.emf.cdo.common.model.CDOClassifierRef; import org.eclipse.emf.cdo.common.model.CDOModelUtil; import org.eclipse.emf.cdo.common.model.CDOType; +import org.eclipse.emf.cdo.common.protocol.CDODataInput; +import org.eclipse.emf.cdo.common.protocol.CDODataOutput; import org.eclipse.emf.cdo.common.revision.CDOList; import org.eclipse.emf.cdo.common.revision.CDOListFactory; import org.eclipse.emf.cdo.common.revision.CDOReferenceAdjuster; diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/spi/common/revision/DelegatingCDORevision.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/spi/common/revision/DelegatingCDORevision.java index 5c8eebb663..976855c875 100644 --- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/spi/common/revision/DelegatingCDORevision.java +++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/spi/common/revision/DelegatingCDORevision.java @@ -14,9 +14,9 @@ import org.eclipse.emf.cdo.common.branch.CDOBranch; import org.eclipse.emf.cdo.common.branch.CDOBranchPoint; import org.eclipse.emf.cdo.common.id.CDOID; import org.eclipse.emf.cdo.common.id.CDOIDProvider; -import org.eclipse.emf.cdo.common.io.CDODataInput; -import org.eclipse.emf.cdo.common.io.CDODataOutput; import org.eclipse.emf.cdo.common.model.CDOClassInfo; +import org.eclipse.emf.cdo.common.protocol.CDODataInput; +import org.eclipse.emf.cdo.common.protocol.CDODataOutput; import org.eclipse.emf.cdo.common.revision.CDOList; import org.eclipse.emf.cdo.common.revision.CDOReferenceAdjuster; import org.eclipse.emf.cdo.common.revision.CDORevision; diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/spi/common/revision/InternalCDORevision.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/spi/common/revision/InternalCDORevision.java index 85f60d89d7..9f03c7adfe 100644 --- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/spi/common/revision/InternalCDORevision.java +++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/spi/common/revision/InternalCDORevision.java @@ -15,9 +15,9 @@ import org.eclipse.emf.cdo.common.branch.CDOBranch; import org.eclipse.emf.cdo.common.branch.CDOBranchPoint; import org.eclipse.emf.cdo.common.id.CDOID; import org.eclipse.emf.cdo.common.id.CDOIDProvider; -import org.eclipse.emf.cdo.common.io.CDODataInput; -import org.eclipse.emf.cdo.common.io.CDODataOutput; import org.eclipse.emf.cdo.common.model.CDOClassInfo; +import org.eclipse.emf.cdo.common.protocol.CDODataInput; +import org.eclipse.emf.cdo.common.protocol.CDODataOutput; import org.eclipse.emf.cdo.common.revision.CDOList; import org.eclipse.emf.cdo.common.revision.CDOReferenceAdjustable; import org.eclipse.emf.cdo.common.revision.CDORevision; @@ -95,6 +95,9 @@ public interface InternalCDORevision extends CDORevision, CDORevisionData, CDORe */ public void read(CDODataInput in) throws IOException; + /** + * @since 3.0 + */ public void write(CDODataOutput out, int referenceChunk) throws IOException; /** diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/spi/common/revision/RevisionInfo.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/spi/common/revision/RevisionInfo.java index d9f1c7c5bb..3bc48c549f 100644 --- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/spi/common/revision/RevisionInfo.java +++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/spi/common/revision/RevisionInfo.java @@ -13,8 +13,8 @@ package org.eclipse.emf.cdo.spi.common.revision; import org.eclipse.emf.cdo.common.branch.CDOBranchPoint; import org.eclipse.emf.cdo.common.branch.CDOBranchVersion; import org.eclipse.emf.cdo.common.id.CDOID; -import org.eclipse.emf.cdo.common.io.CDODataInput; -import org.eclipse.emf.cdo.common.io.CDODataOutput; +import org.eclipse.emf.cdo.common.protocol.CDODataInput; +import org.eclipse.emf.cdo.common.protocol.CDODataOutput; import org.eclipse.emf.cdo.common.revision.CDORevision; import org.eclipse.net4j.util.CheckUtil; diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/spi/common/revision/StubCDORevision.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/spi/common/revision/StubCDORevision.java index 8f30985ad0..49dc272237 100644 --- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/spi/common/revision/StubCDORevision.java +++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/spi/common/revision/StubCDORevision.java @@ -14,9 +14,9 @@ import org.eclipse.emf.cdo.common.branch.CDOBranch; import org.eclipse.emf.cdo.common.branch.CDOBranchPoint; import org.eclipse.emf.cdo.common.id.CDOID; import org.eclipse.emf.cdo.common.id.CDOIDProvider; -import org.eclipse.emf.cdo.common.io.CDODataInput; -import org.eclipse.emf.cdo.common.io.CDODataOutput; import org.eclipse.emf.cdo.common.model.CDOClassInfo; +import org.eclipse.emf.cdo.common.protocol.CDODataInput; +import org.eclipse.emf.cdo.common.protocol.CDODataOutput; import org.eclipse.emf.cdo.common.revision.CDOList; import org.eclipse.emf.cdo.common.revision.CDOReferenceAdjuster; import org.eclipse.emf.cdo.common.revision.CDORevision; |