diff --git a/src/main/java/org/gcube/informationsystem/resourceregistry/instances/base/ElementManagement.java b/src/main/java/org/gcube/informationsystem/resourceregistry/instances/base/ElementManagement.java index f48ed05..191f5c6 100644 --- a/src/main/java/org/gcube/informationsystem/resourceregistry/instances/base/ElementManagement.java +++ b/src/main/java/org/gcube/informationsystem/resourceregistry/instances/base/ElementManagement.java @@ -721,13 +721,14 @@ public abstract class ElementManagement { oDatabaseDocument = getWorkingContext().getDatabaseDocument(PermissionMode.WRITER); oDatabaseDocument.begin(); boolean update = false; + setAsEntryPoint(); try { - setAsEntryPoint(); getElement(); + setOperation(Operation.UPDATE); update = true; internalUpdate(); } catch(NotFoundException e) { - setAsEntryPoint(); + setOperation(Operation.CREATE); String calledMethod = CalledMethodProvider.instance.get(); calledMethod = calledMethod.replace("update", "create"); CalledMethodProvider.instance.set(calledMethod); diff --git a/src/main/java/org/gcube/informationsystem/resourceregistry/instances/model/entities/FacetManagement.java b/src/main/java/org/gcube/informationsystem/resourceregistry/instances/model/entities/FacetManagement.java index 783ed90..74bf2ba 100644 --- a/src/main/java/org/gcube/informationsystem/resourceregistry/instances/model/entities/FacetManagement.java +++ b/src/main/java/org/gcube/informationsystem/resourceregistry/instances/model/entities/FacetManagement.java @@ -187,7 +187,7 @@ public class FacetManagement extends EntityManagement { } public OVertex internalCreate() throws AlreadyPresentException, ResourceRegistryException { - if(entryPoint && operation == Operation.CREATE) { + if(entryPoint) { throw new SchemaViolationException("You cannot create a stand alone Facet"); } return super.internalCreate();