diff --git a/src/main/java/org/gcube/informationsystem/resourceregistry/contexts/ContextUtility.java b/src/main/java/org/gcube/informationsystem/resourceregistry/contexts/ContextUtility.java index b54d0ce..85e173a 100644 --- a/src/main/java/org/gcube/informationsystem/resourceregistry/contexts/ContextUtility.java +++ b/src/main/java/org/gcube/informationsystem/resourceregistry/contexts/ContextUtility.java @@ -20,7 +20,7 @@ import org.gcube.informationsystem.resourceregistry.contexts.security.AdminSecur import org.gcube.informationsystem.resourceregistry.contexts.security.SecurityContext; import org.gcube.informationsystem.resourceregistry.contexts.security.SecurityContext.PermissionMode; import org.gcube.informationsystem.resourceregistry.dbinitialization.DatabaseEnvironment; -import org.gcube.informationsystem.resourceregistry.instances.base.ElementManagement; +import org.gcube.informationsystem.resourceregistry.instances.base.ElementManagementUtility; import org.gcube.informationsystem.resourceregistry.utils.Utility; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -225,7 +225,7 @@ public class ContextUtility { } OResult oResult = resultSet.next(); - OVertex context = ElementManagement.getElementFromOptional(oResult.getVertex()); + OVertex context = ElementManagementUtility.getElementFromOptional(oResult.getVertex()); logger.trace("Context Representing Vertex : {}", Utility.toJsonString(context, true)); 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 df7dd28..a9d7361 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 @@ -11,7 +11,6 @@ import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Map.Entry; -import java.util.Optional; import java.util.Set; import java.util.UUID; @@ -160,22 +159,7 @@ public abstract class ElementManagement { checkJsonNode(); } - public static E getElementFromOptional(Optional optional) throws ResourceRegistryException { - if(optional.isPresent()) { - return optional.get(); - }else { - throw new ResourceRegistryException("An element not belonging to any defined type should not exists. Please contact the administrator."); - } - } - public static OClass getOClass(OElement oElement) throws ResourceRegistryException { - Optional optional = oElement.getSchemaType(); - if(optional.isPresent()) { - return optional.get(); - }else { - throw new ResourceRegistryException("An element not belonging to any defined type should not exists. Please contact the administrator."); - } - } public void setoDatabaseDocument(ODatabaseDocument oDatabaseDocument) { this.oDatabaseDocument = oDatabaseDocument; @@ -188,7 +172,7 @@ public abstract class ElementManagement { protected OClass getOClass() throws SchemaException, ResourceRegistryException { if(oClass == null) { if(element != null) { - oClass = getOClass(element); + oClass = ElementManagementUtility.getOClass(element); } else { TypesCache typesCache = TypesCache.getInstance(); oClass = TypesCache.getInstance().getTypeOClass(elementType); diff --git a/src/main/java/org/gcube/informationsystem/resourceregistry/instances/base/ElementManagementUtility.java b/src/main/java/org/gcube/informationsystem/resourceregistry/instances/base/ElementManagementUtility.java index 03f5afc..5ad2d65 100644 --- a/src/main/java/org/gcube/informationsystem/resourceregistry/instances/base/ElementManagementUtility.java +++ b/src/main/java/org/gcube/informationsystem/resourceregistry/instances/base/ElementManagementUtility.java @@ -1,5 +1,6 @@ package org.gcube.informationsystem.resourceregistry.instances.base; +import java.util.Optional; import java.util.UUID; import org.gcube.informationsystem.base.reference.AccessType; @@ -132,7 +133,7 @@ public class ElementManagementUtility { OClass oClass = null; try { - oClass = ElementManagement.getOClass(vertex); + oClass = ElementManagementUtility.getOClass(vertex); } catch(Exception e) { String error = String.format("Unable to detect type of %s. %s", vertex.toString(), Utility.SHOULD_NOT_OCCUR_ERROR_MESSAGE); @@ -170,7 +171,7 @@ public class ElementManagementUtility { OEdge.class.getSimpleName() + "instance is null. " + Utility.SHOULD_NOT_OCCUR_ERROR_MESSAGE); } - OClass oClass = ElementManagement.getOClass(edge); + OClass oClass = ElementManagementUtility.getOClass(edge); RelationManagement relationManagement = null; if(oClass.isSubClassOf(ConsistsOf.NAME)) { @@ -191,4 +192,21 @@ public class ElementManagementUtility { return relationManagement; } + public static E getElementFromOptional(Optional optional) throws ResourceRegistryException { + if(optional.isPresent()) { + return optional.get(); + }else { + throw new ResourceRegistryException("An element not belonging to any defined type should not exists. Please contact the administrator."); + } + } + + public static OClass getOClass(OElement oElement) throws ResourceRegistryException { + Optional optional = oElement.getSchemaType(); + if(optional.isPresent()) { + return optional.get(); + }else { + throw new ResourceRegistryException("An element not belonging to any defined type should not exists. Please contact the administrator."); + } + } + } diff --git a/src/main/java/org/gcube/informationsystem/resourceregistry/instances/model/entities/EntityManagement.java b/src/main/java/org/gcube/informationsystem/resourceregistry/instances/model/entities/EntityManagement.java index 5a9474b..6eff640 100644 --- a/src/main/java/org/gcube/informationsystem/resourceregistry/instances/model/entities/EntityManagement.java +++ b/src/main/java/org/gcube/informationsystem/resourceregistry/instances/model/entities/EntityManagement.java @@ -612,7 +612,7 @@ public abstract class EntityManagement extends EntityElementMa continue; } - OClass oClass = ElementManagement.getOClass(vertex); + OClass oClass = ElementManagementUtility.getOClass(vertex); /* * If the requested type (i.e. elementType) @@ -725,7 +725,7 @@ public abstract class EntityManagement extends EntityElementMa while(resultSet.hasNext()) { OResult oResult = resultSet.next(); - OElement element = ElementManagement.getElementFromOptional(oResult.getElement()); + OElement element = ElementManagementUtility.getElementFromOptional(oResult.getElement()); if(polymorphic) { OClass oClass = null; @@ -733,7 +733,7 @@ public abstract class EntityManagement extends EntityElementMa if(element instanceof OEdge) { continue; } - oClass = ElementManagement.getOClass(element); + oClass = ElementManagementUtility.getOClass(element); } catch(Exception e) { String error = String.format("Unable to detect type of %s. %s", element.toString(), Utility.SHOULD_NOT_OCCUR_ERROR_MESSAGE); diff --git a/src/main/java/org/gcube/informationsystem/resourceregistry/instances/model/entities/ResourceManagement.java b/src/main/java/org/gcube/informationsystem/resourceregistry/instances/model/entities/ResourceManagement.java index 5234c40..b83a599 100644 --- a/src/main/java/org/gcube/informationsystem/resourceregistry/instances/model/entities/ResourceManagement.java +++ b/src/main/java/org/gcube/informationsystem/resourceregistry/instances/model/entities/ResourceManagement.java @@ -27,6 +27,7 @@ import org.gcube.informationsystem.resourceregistry.api.exceptions.entity.resour import org.gcube.informationsystem.resourceregistry.api.exceptions.entity.resource.ResourceNotFoundException; import org.gcube.informationsystem.resourceregistry.contexts.security.SecurityContext; import org.gcube.informationsystem.resourceregistry.contexts.security.SecurityContext.PermissionMode; +import org.gcube.informationsystem.resourceregistry.instances.base.ElementManagementUtility; import org.gcube.informationsystem.resourceregistry.instances.model.relations.ConsistsOfManagement; import org.gcube.informationsystem.resourceregistry.instances.model.relations.IsRelatedToManagement; import org.gcube.informationsystem.resourceregistry.instances.model.relations.RelationManagement; @@ -215,7 +216,7 @@ public class ResourceManagement extends EntityManagement { while(iterator.hasNext()) { OEdge edge = iterator.next(); - OClass oClass = getOClass(edge); + OClass oClass = ElementManagementUtility.getOClass(edge); @SuppressWarnings("rawtypes") RelationManagement relationManagement = null; diff --git a/src/main/java/org/gcube/informationsystem/resourceregistry/query/QueryImpl.java b/src/main/java/org/gcube/informationsystem/resourceregistry/query/QueryImpl.java index 47953f7..b0f3ab6 100644 --- a/src/main/java/org/gcube/informationsystem/resourceregistry/query/QueryImpl.java +++ b/src/main/java/org/gcube/informationsystem/resourceregistry/query/QueryImpl.java @@ -68,7 +68,7 @@ public class QueryImpl implements Query { while(resultSet.hasNext()) { OResult oResult = resultSet.next(); - OElement element = ElementManagement.getElementFromOptional(oResult.getElement()); + OElement element = ElementManagementUtility.getElementFromOptional(oResult.getElement()); try { JsonNode jsonNode = null; diff --git a/src/main/java/org/gcube/informationsystem/resourceregistry/types/entities/EntityTypeDefinitionManagement.java b/src/main/java/org/gcube/informationsystem/resourceregistry/types/entities/EntityTypeDefinitionManagement.java index 25a5532..4bd9497 100644 --- a/src/main/java/org/gcube/informationsystem/resourceregistry/types/entities/EntityTypeDefinitionManagement.java +++ b/src/main/java/org/gcube/informationsystem/resourceregistry/types/entities/EntityTypeDefinitionManagement.java @@ -13,7 +13,7 @@ import org.gcube.informationsystem.resourceregistry.api.exceptions.schema.Schema import org.gcube.informationsystem.resourceregistry.contexts.ContextUtility; import org.gcube.informationsystem.resourceregistry.contexts.security.SecurityContext; import org.gcube.informationsystem.resourceregistry.dbinitialization.DatabaseEnvironment; -import org.gcube.informationsystem.resourceregistry.instances.base.ElementManagement; +import org.gcube.informationsystem.resourceregistry.instances.base.ElementManagementUtility; import org.gcube.informationsystem.resourceregistry.instances.base.entities.EntityElementManagement; import org.gcube.informationsystem.resourceregistry.utils.Utility; import org.gcube.informationsystem.types.TypeMapper; @@ -21,7 +21,6 @@ import org.gcube.informationsystem.types.reference.entities.EntityType; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.orientechnologies.orient.core.db.document.ODatabaseDocument; import com.orientechnologies.orient.core.record.OVertex; import com.orientechnologies.orient.core.sql.executor.OResult; import com.orientechnologies.orient.core.sql.executor.OResultSet; @@ -40,12 +39,6 @@ public abstract class EntityTypeDefinitionManagement exten this.elementType = TypeMapper.getType(clz); } - protected EntityTypeDefinitionManagement(SecurityContext securityContext, ODatabaseDocument oDatabaseDocument, Class clz) throws ResourceRegistryException { - this(clz); - this.oDatabaseDocument = oDatabaseDocument; - setWorkingContext(securityContext); - } - @Override protected SecurityContext getWorkingContext() throws ResourceRegistryException { if(workingContext == null) { @@ -145,7 +138,7 @@ public abstract class EntityTypeDefinitionManagement exten } OResult oResult = resultSet.next(); - OVertex element = (OVertex) ElementManagement.getElementFromOptional(oResult.getElement()); + OVertex element = (OVertex) ElementManagementUtility.getElementFromOptional(oResult.getElement()); logger.trace("{} with id {} is : {}", elementType, getName(), Utility.toJsonString(element, true)); diff --git a/src/main/java/org/gcube/informationsystem/resourceregistry/types/entities/FacetTypeDefinitionManagement.java b/src/main/java/org/gcube/informationsystem/resourceregistry/types/entities/FacetTypeDefinitionManagement.java index 05e5475..cf5b162 100644 --- a/src/main/java/org/gcube/informationsystem/resourceregistry/types/entities/FacetTypeDefinitionManagement.java +++ b/src/main/java/org/gcube/informationsystem/resourceregistry/types/entities/FacetTypeDefinitionManagement.java @@ -1,11 +1,7 @@ package org.gcube.informationsystem.resourceregistry.types.entities; -import org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException; -import org.gcube.informationsystem.resourceregistry.contexts.security.SecurityContext; import org.gcube.informationsystem.types.reference.entities.FacetType; -import com.orientechnologies.orient.core.db.document.ODatabaseDocument; - /** * @author Luca Frosini (ISTI - CNR) */ @@ -15,8 +11,4 @@ public class FacetTypeDefinitionManagement extends EntityTypeDefinitionManagemen super(FacetType.class); } - public FacetTypeDefinitionManagement(SecurityContext securityContext, ODatabaseDocument oDatabaseDocument) throws ResourceRegistryException { - super(securityContext, oDatabaseDocument, FacetType.class); - } - } diff --git a/src/main/java/org/gcube/informationsystem/resourceregistry/types/entities/ResourceTypeDefinitionManagement.java b/src/main/java/org/gcube/informationsystem/resourceregistry/types/entities/ResourceTypeDefinitionManagement.java index 37fd25d..89bbf99 100644 --- a/src/main/java/org/gcube/informationsystem/resourceregistry/types/entities/ResourceTypeDefinitionManagement.java +++ b/src/main/java/org/gcube/informationsystem/resourceregistry/types/entities/ResourceTypeDefinitionManagement.java @@ -1,11 +1,7 @@ package org.gcube.informationsystem.resourceregistry.types.entities; -import org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException; -import org.gcube.informationsystem.resourceregistry.contexts.security.SecurityContext; import org.gcube.informationsystem.types.reference.entities.ResourceType; -import com.orientechnologies.orient.core.db.document.ODatabaseDocument; - /** * @author Luca Frosini (ISTI - CNR) */ @@ -15,8 +11,4 @@ public class ResourceTypeDefinitionManagement extends EntityTypeDefinitionManage super(ResourceType.class); } - public ResourceTypeDefinitionManagement(SecurityContext securityContext, ODatabaseDocument oDatabaseDocument) throws ResourceRegistryException { - super(securityContext, oDatabaseDocument, ResourceType.class); - } - } diff --git a/src/main/java/org/gcube/informationsystem/resourceregistry/types/properties/PropertyTypeDefinitionManagement.java b/src/main/java/org/gcube/informationsystem/resourceregistry/types/properties/PropertyTypeDefinitionManagement.java index dfbf4a5..1b42f45 100644 --- a/src/main/java/org/gcube/informationsystem/resourceregistry/types/properties/PropertyTypeDefinitionManagement.java +++ b/src/main/java/org/gcube/informationsystem/resourceregistry/types/properties/PropertyTypeDefinitionManagement.java @@ -13,6 +13,7 @@ import org.gcube.informationsystem.resourceregistry.contexts.ContextUtility; import org.gcube.informationsystem.resourceregistry.contexts.security.SecurityContext; import org.gcube.informationsystem.resourceregistry.dbinitialization.DatabaseEnvironment; import org.gcube.informationsystem.resourceregistry.instances.base.ElementManagement; +import org.gcube.informationsystem.resourceregistry.instances.base.ElementManagementUtility; import org.gcube.informationsystem.resourceregistry.utils.Utility; import org.gcube.informationsystem.types.reference.entities.EntityType; import org.gcube.informationsystem.types.reference.properties.PropertyType; @@ -143,7 +144,7 @@ public class PropertyTypeDefinitionManagement extends ElementManagement