diff --git a/.gitignore b/.gitignore index a24e12cf..52641f92 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ lib .project .classpath java-gen +/bin/ diff --git a/src/main/java/org/emfjson/jackson/databind/deser/EObjectDeserializer.java b/src/main/java/org/emfjson/jackson/databind/deser/EObjectDeserializer.java index cd7ed9ae..f0ca9ec5 100644 --- a/src/main/java/org/emfjson/jackson/databind/deser/EObjectDeserializer.java +++ b/src/main/java/org/emfjson/jackson/databind/deser/EObjectDeserializer.java @@ -163,6 +163,10 @@ private EObject postDeserialize(TokenBuffer buffer, EObject object, EClass defau jp.close(); buffer.close(); + + EMFContext.setParent(ctxt, null); + EMFContext.setFeature(ctxt, null); + return object; } diff --git a/src/main/java/org/emfjson/jackson/databind/deser/ReferenceEntry.java b/src/main/java/org/emfjson/jackson/databind/deser/ReferenceEntry.java index 1139c6fa..a192313e 100644 --- a/src/main/java/org/emfjson/jackson/databind/deser/ReferenceEntry.java +++ b/src/main/java/org/emfjson/jackson/databind/deser/ReferenceEntry.java @@ -61,7 +61,6 @@ public void resolve(DatabindContext context, URIHandler handler) { target = resource.getEObject(id); if (target == null) { - URI baseURI = resource.getURI().trimFragment(); URI uri = handler.resolve(baseURI, URI.createURI(id));