diff options
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.java | 17 |
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)); |