Class 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 Detail

      • ResourceManagement

        public ResourceManagement()
    • Method Detail

      • 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 Header 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