Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Stepper2012-08-02 08:52:28 +0000
committerEike Stepper2012-08-02 08:52:28 +0000
commit697b5b0db3f8793affbd035b8f7a207559593305 (patch)
treed637ad719202f4f48c1a0b3dea032162ce1bb9b5 /plugins/org.eclipse.emf.cdo.server
parent40aef9ed7ec44d2b8f0d5b2298e090753792ff08 (diff)
downloadcdo-697b5b0db3f8793affbd035b8f7a207559593305.tar.gz
cdo-697b5b0db3f8793affbd035b8f7a207559593305.tar.xz
cdo-697b5b0db3f8793affbd035b8f7a207559593305.zip
Transmit detached versions during commit
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.server')
-rw-r--r--plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/TransactionCommitContext.java12
-rw-r--r--plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/IStoreAccessor.java5
-rw-r--r--plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/spi/server/InternalCommitContext.java5
3 files changed, 22 insertions, 0 deletions
diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/TransactionCommitContext.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/TransactionCommitContext.java
index b99e803d72..ec3a2b6d3c 100644
--- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/TransactionCommitContext.java
+++ b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/TransactionCommitContext.java
@@ -140,6 +140,8 @@ public class TransactionCommitContext implements InternalCommitContext
private Map<CDOID, EClass> detachedObjectTypes;
+ private int[] detachedObjectVersions;
+
private InternalCDORevision[] dirtyObjects = new InternalCDORevision[0];
private InternalCDORevision[] cachedDetachedRevisions = new InternalCDORevision[0];
@@ -253,6 +255,11 @@ public class TransactionCommitContext implements InternalCommitContext
return detachedObjectTypes;
}
+ public int[] getDetachedObjectVersions()
+ {
+ return detachedObjectVersions;
+ }
+
public InternalCDORevision[] getDetachedRevisions()
{
// This array can contain null values as they only come from the cache!
@@ -418,6 +425,11 @@ public class TransactionCommitContext implements InternalCommitContext
this.detachedObjectTypes = detachedObjectTypes;
}
+ public void setDetachedObjectVersions(int[] detachedObjectVersions)
+ {
+ this.detachedObjectVersions = detachedObjectVersions;
+ }
+
public void setAutoReleaseLocksEnabled(boolean on)
{
autoReleaseLocksEnabled = on;
diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/IStoreAccessor.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/IStoreAccessor.java
index 2c9f205e5f..c462baebe0 100644
--- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/IStoreAccessor.java
+++ b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/IStoreAccessor.java
@@ -366,6 +366,11 @@ public interface IStoreAccessor extends IQueryHandlerProvider, BranchLoader, Com
public Map<CDOID, EClass> getDetachedObjectTypes();
/**
+ * @since 4.2
+ */
+ public int[] getDetachedObjectVersions();
+
+ /**
* Returns a stream that all {@link CDOLob lobs} can be read from. The format of the data delivered through the
* stream is:
* <p>
diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/spi/server/InternalCommitContext.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/spi/server/InternalCommitContext.java
index fd074bc6d4..fb26a43801 100644
--- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/spi/server/InternalCommitContext.java
+++ b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/spi/server/InternalCommitContext.java
@@ -94,6 +94,11 @@ public interface InternalCommitContext extends IStoreAccessor.CommitContext
*/
public void setDetachedObjectTypes(Map<CDOID, EClass> detachedObjectTypes);
+ /**
+ * @since 4.2
+ */
+ public void setDetachedObjectVersions(int[] detachedObjectVersions);
+
public void setAutoReleaseLocksEnabled(boolean on);
public void setCommitComment(String comment);

Back to the top