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/CDOServerImporter.java')
-rw-r--r--plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/CDOServerImporter.java17
1 files changed, 17 insertions, 0 deletions
diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/CDOServerImporter.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/CDOServerImporter.java
index 832510fda9..f4a3ea52eb 100644
--- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/CDOServerImporter.java
+++ b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/server/CDOServerImporter.java
@@ -24,6 +24,7 @@ import org.eclipse.emf.cdo.common.model.EMFUtil;
import org.eclipse.emf.cdo.common.model.EMFUtil.ExtResourceSet;
import org.eclipse.emf.cdo.common.revision.CDOList;
import org.eclipse.emf.cdo.common.revision.CDORevision;
+import org.eclipse.emf.cdo.common.revision.CDORevisionData;
import org.eclipse.emf.cdo.common.revision.CDORevisionFactory;
import org.eclipse.emf.cdo.common.revision.CDORevisionHandler;
import org.eclipse.emf.cdo.common.revision.CDORevisionUtil;
@@ -639,6 +640,22 @@ public abstract class CDOServerImporter
{
String type = attributes.getValue(FEATURE_TYPE);
+ if (type == null)
+ {
+ String isNullString = attributes.getValue(FEATURE_ISNULL);
+ if (isNullString != null)
+ {
+ // This must be an explicit single-valued null.
+ boolean isNull = Boolean.parseBoolean(isNullString);
+ if (isNull)
+ {
+ return CDORevisionData.NIL;
+ }
+
+ throw new IllegalArgumentException("Invalid attribute: isnull=false");
+ }
+ }
+
if (TYPE_BLOB.equals(type))
{
byte[] id = HexUtil.hexToBytes(attributes.getValue(FEATURE_ID));

Back to the top