Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/CDOServerExporter.java')
-rw-r--r--plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/CDOServerExporter.java17
1 files changed, 15 insertions, 2 deletions
diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/CDOServerExporter.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/CDOServerExporter.java
index 38f76bfd27..dc8f036b9f 100644
--- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/CDOServerExporter.java
+++ b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/CDOServerExporter.java
@@ -32,6 +32,7 @@ import org.eclipse.emf.cdo.spi.common.commit.InternalCDOCommitInfoManager;
import org.eclipse.emf.cdo.spi.common.model.InternalCDOPackageInfo;
import org.eclipse.emf.cdo.spi.common.model.InternalCDOPackageRegistry;
import org.eclipse.emf.cdo.spi.common.model.InternalCDOPackageUnit;
+import org.eclipse.emf.cdo.spi.common.revision.DetachedCDORevision;
import org.eclipse.emf.cdo.spi.common.revision.InternalCDORevision;
import org.eclipse.emf.cdo.spi.server.InternalRepository;
import org.eclipse.emf.cdo.spi.server.InternalSession;
@@ -184,7 +185,7 @@ public abstract class CDOServerExporter<OUT>
protected void exportRevisions(final OUT out, CDOBranch branch) throws Exception
{
- repository.handleRevisions(null, branch, true, CDOBranchPoint.INVALID_DATE, false, new CDORevisionHandler.Filtered.Undetached(new CDORevisionHandler()
+ repository.handleRevisions(null, branch, true, CDOBranchPoint.INVALID_DATE, false, new CDORevisionHandler()
{
public boolean handleRevision(CDORevision revision)
{
@@ -198,7 +199,7 @@ public abstract class CDOServerExporter<OUT>
throw WrappedException.wrap(ex);
}
}
- }));
+ });
}
protected abstract void exportRevision(OUT out, CDORevision revision) throws Exception;
@@ -319,6 +320,11 @@ public abstract class CDOServerExporter<OUT>
public static final String REVISION_REVISED = "revised";
+ /**
+ * @since 4.7
+ */
+ public static final String REVISION_DETACHED = "detached";
+
public static final String REVISION_RESOURCE = "resource";
public static final String REVISION_CONTAINER = "container";
@@ -497,6 +503,7 @@ public abstract class CDOServerExporter<OUT>
protected void exportRevision(XMLOutput out, CDORevision revision) throws Exception
{
InternalCDORevision rev = (InternalCDORevision)revision;
+ boolean detached = rev instanceof DetachedCDORevision;
out.element(REVISION);
out.attribute(REVISION_ID, str(rev.getID()));
@@ -510,6 +517,12 @@ public abstract class CDOServerExporter<OUT>
out.attribute(REVISION_REVISED, revised);
}
+ if (detached)
+ {
+ out.attribute(REVISION_DETACHED, true);
+ return;
+ }
+
CDOID resourceID = rev.getResourceID();
if (!CDOIDUtil.isNull(resourceID))
{

Back to the top