java.lang.Object
org.gcube.informationsystem.resourceregistry.base.ElementManagement<com.orientechnologies.orient.core.record.OVertex,ET>
org.gcube.informationsystem.resourceregistry.base.entities.EntityElementManagement<E,ET>
org.gcube.informationsystem.resourceregistry.instances.model.entities.EntityManagement<org.gcube.informationsystem.model.reference.entities.Resource,org.gcube.informationsystem.types.reference.entities.ResourceType>
org.gcube.informationsystem.resourceregistry.instances.model.entities.ResourceManagement
All Implemented Interfaces:
ERManagement

public class ResourceManagement extends EntityManagement<org.gcube.informationsystem.model.reference.entities.Resource,org.gcube.informationsystem.types.reference.entities.ResourceType>
Author:
Luca Frosini (ISTI - CNR)
  • Constructor Details

    • ResourceManagement

      public ResourceManagement()
  • Method Details

    • setSanityCheckNotRequired

      public void setSanityCheckNotRequired()
    • getSpecificNotFoundException

      protected org.gcube.informationsystem.resourceregistry.api.exceptions.entities.resource.ResourceNotFoundException getSpecificNotFoundException(org.gcube.informationsystem.resourceregistry.api.exceptions.NotFoundException e)
      Specified by:
      getSpecificNotFoundException in class ElementManagement<com.orientechnologies.orient.core.record.OVertex,org.gcube.informationsystem.types.reference.entities.ResourceType>
    • getSpecificAvailableInAnotherContextException

      public org.gcube.informationsystem.resourceregistry.api.exceptions.entities.resource.ResourceAvailableInAnotherContextException getSpecificAvailableInAnotherContextException(String message)
    • getSpecificAlreadyPresentException

      protected org.gcube.informationsystem.resourceregistry.api.exceptions.entities.resource.ResourceAlreadyPresentException getSpecificAlreadyPresentException(String message)
      Specified by:
      getSpecificAlreadyPresentException in class ElementManagement<com.orientechnologies.orient.core.record.OVertex,org.gcube.informationsystem.types.reference.entities.ResourceType>
    • createCompleteJsonNode

      public org.gcube.com.fasterxml.jackson.databind.JsonNode createCompleteJsonNode() throws org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException
      Specified by:
      createCompleteJsonNode in class ElementManagement<com.orientechnologies.orient.core.record.OVertex,org.gcube.informationsystem.types.reference.entities.ResourceType>
      Throws:
      org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException
    • addConsistsOf

      public static org.gcube.com.fasterxml.jackson.databind.JsonNode addConsistsOf(org.gcube.com.fasterxml.jackson.databind.JsonNode sourceResource, org.gcube.com.fasterxml.jackson.databind.JsonNode consistsOf) throws org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException
      Throws:
      org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException
    • addIsRelatedTo

      public static org.gcube.com.fasterxml.jackson.databind.JsonNode addIsRelatedTo(org.gcube.com.fasterxml.jackson.databind.JsonNode sourceResource, org.gcube.com.fasterxml.jackson.databind.JsonNode isRelatedTo) throws org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException
      Throws:
      org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException
    • reallyCreate

      protected com.orientechnologies.orient.core.record.OVertex reallyCreate() throws org.gcube.informationsystem.resourceregistry.api.exceptions.entities.resource.ResourceAlreadyPresentException, org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException
      Specified by:
      reallyCreate in class ElementManagement<com.orientechnologies.orient.core.record.OVertex,org.gcube.informationsystem.types.reference.entities.ResourceType>
      Throws:
      org.gcube.informationsystem.resourceregistry.api.exceptions.entities.resource.ResourceAlreadyPresentException
      org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException
    • reallyUpdate

      protected com.orientechnologies.orient.core.record.OVertex reallyUpdate() throws org.gcube.informationsystem.resourceregistry.api.exceptions.entities.resource.ResourceNotFoundException, org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException
      Specified by:
      reallyUpdate in class ElementManagement<com.orientechnologies.orient.core.record.OVertex,org.gcube.informationsystem.types.reference.entities.ResourceType>
      Throws:
      org.gcube.informationsystem.resourceregistry.api.exceptions.entities.resource.ResourceNotFoundException
      org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException
    • reallyDelete

      protected void reallyDelete() throws org.gcube.informationsystem.resourceregistry.api.exceptions.entities.resource.ResourceNotFoundException, org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException
      Specified by:
      reallyDelete in class ElementManagement<com.orientechnologies.orient.core.record.OVertex,org.gcube.informationsystem.types.reference.entities.ResourceType>
      Throws:
      org.gcube.informationsystem.resourceregistry.api.exceptions.entities.resource.ResourceNotFoundException
      org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException
    • reallyAddToContext

      protected void reallyAddToContext() throws org.gcube.informationsystem.resourceregistry.api.exceptions.contexts.ContextException, org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException
      Overrides:
      reallyAddToContext in class EntityManagement<org.gcube.informationsystem.model.reference.entities.Resource,org.gcube.informationsystem.types.reference.entities.ResourceType>
      Throws:
      org.gcube.informationsystem.resourceregistry.api.exceptions.contexts.ContextException
      org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException
    • all

      public String all(boolean polymorphic) throws org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException
      Overrides:
      all in class ElementManagement<com.orientechnologies.orient.core.record.OVertex,org.gcube.informationsystem.types.reference.entities.ResourceType>
      Throws:
      org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException
    • getResourceTypeConstraint

      protected Set<org.gcube.informationsystem.types.reference.properties.LinkedEntity> getResourceTypeConstraint() throws org.gcube.informationsystem.resourceregistry.api.exceptions.types.SchemaException, org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException
      Throws:
      org.gcube.informationsystem.resourceregistry.api.exceptions.types.SchemaException
      org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException
    • constraintSatisfied

      protected boolean constraintSatisfied(TypesCache typesCache, org.gcube.informationsystem.types.reference.properties.LinkedEntity constraint, String consistsOfType, String facetType) throws org.gcube.informationsystem.resourceregistry.api.exceptions.types.SchemaException, org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException
      Throws:
      org.gcube.informationsystem.resourceregistry.api.exceptions.types.SchemaException
      org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException
    • sanityCheck

      public void sanityCheck() throws org.gcube.informationsystem.resourceregistry.api.exceptions.types.SchemaViolationException, org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException
      The default sanity check is not valid for resources which do not have properties and instead must be validated in terms of facets. The Resource Metadata is managed with dedicated code for all instaces.
      Overrides:
      sanityCheck in class ElementManagement<com.orientechnologies.orient.core.record.OVertex,org.gcube.informationsystem.types.reference.entities.ResourceType>
      Throws:
      org.gcube.informationsystem.resourceregistry.api.exceptions.types.SchemaViolationException
      org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException