Class ContextManagement


  • public class ContextManagement
    extends EntityElementManagement<org.gcube.informationsystem.contexts.reference.entities.Context,​org.gcube.informationsystem.types.reference.entities.EntityType>
    Author:
    Luca Frosini (ISTI - CNR) TODO the result returned to the client should be get from ServerContextCache
    • Field Detail

      • forceOffset

        protected Integer forceOffset
      • forceLimit

        protected Integer forceLimit
    • Constructor Detail

      • ContextManagement

        public ContextManagement()
      • ContextManagement

        public ContextManagement​(com.orientechnologies.orient.core.db.document.ODatabaseDocument oDatabaseDocument)
                          throws org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException
        Throws:
        org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException
    • Method Detail

      • setForceOffset

        public void setForceOffset​(Integer forceOffset)
      • setForceLimit

        public void setForceLimit​(Integer forceLimit)
      • getAffectedInstances

        public Map<UUID,​org.gcube.com.fasterxml.jackson.databind.JsonNode> getAffectedInstances()
        Overrides:
        getAffectedInstances in class ElementManagement<com.orientechnologies.orient.core.record.OVertex,​org.gcube.informationsystem.types.reference.entities.EntityType>
      • getName

        public String getName()
      • getWorkingEnvironment

        protected Environment getWorkingEnvironment()
                                             throws org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException
        Specified by:
        getWorkingEnvironment in class ElementManagement<com.orientechnologies.orient.core.record.OVertex,​org.gcube.informationsystem.types.reference.entities.EntityType>
        Throws:
        org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException
      • getSpecificNotFoundException

        protected org.gcube.informationsystem.resourceregistry.api.exceptions.contexts.ContextNotFoundException 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.EntityType>
      • getSpecificAlreadyPresentException

        protected org.gcube.informationsystem.resourceregistry.api.exceptions.contexts.ContextAlreadyPresentException getSpecificAlreadyPresentException​(String message)
        Specified by:
        getSpecificAlreadyPresentException in class ElementManagement<com.orientechnologies.orient.core.record.OVertex,​org.gcube.informationsystem.types.reference.entities.EntityType>
      • checkContext

        protected void checkContext​(ContextManagement parentContext)
                             throws org.gcube.informationsystem.resourceregistry.api.exceptions.contexts.ContextNotFoundException,
                                    org.gcube.informationsystem.resourceregistry.api.exceptions.contexts.ContextAlreadyPresentException,
                                    org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException
        Throws:
        org.gcube.informationsystem.resourceregistry.api.exceptions.contexts.ContextNotFoundException
        org.gcube.informationsystem.resourceregistry.api.exceptions.contexts.ContextAlreadyPresentException
        org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException
      • createCompleteJsonNode

        protected 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.EntityType>
        Throws:
        org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException
      • reallyCreate

        protected com.orientechnologies.orient.core.record.OVertex reallyCreate()
                                                                         throws org.gcube.informationsystem.resourceregistry.api.exceptions.AlreadyPresentException,
                                                                                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.EntityType>
        Throws:
        org.gcube.informationsystem.resourceregistry.api.exceptions.AlreadyPresentException
        org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException
      • logFullPath

        protected void logFullPath()
        TODO The full path of the context is added for every non safe action - At creation time - At rename time (see #25139) - At parent change time (see #26544) In this way we are sure to track context fullpath changes. Furthermore when a context is deleted is moved to the cemetery i.e. ShadowContextEnvironment (see #19428) we do not have to do nothing with the fullpath just move the vertex representing the Context in the cemetery
      • checkStateChange

        protected void checkStateChange​(org.gcube.informationsystem.contexts.reference.ContextState newContextstate)
      • reallyUpdate

        protected com.orientechnologies.orient.core.record.OVertex reallyUpdate()
                                                                         throws org.gcube.informationsystem.resourceregistry.api.exceptions.NotFoundException,
                                                                                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.EntityType>
        Throws:
        org.gcube.informationsystem.resourceregistry.api.exceptions.NotFoundException
        org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException
      • reallyDelete

        protected void reallyDelete()
                             throws org.gcube.informationsystem.resourceregistry.api.exceptions.NotFoundException,
                                    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.EntityType>
        Throws:
        org.gcube.informationsystem.resourceregistry.api.exceptions.NotFoundException
        org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException
      • reallyGetAll

        public String reallyGetAll​(boolean polymorphic)
                            throws org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException
        Specified by:
        reallyGetAll in class ElementManagement<com.orientechnologies.orient.core.record.OVertex,​org.gcube.informationsystem.types.reference.entities.EntityType>
        Throws:
        org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException
      • allFromDatabase

        public String allFromDatabase​(boolean polymorphic)
                               throws org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException
        Throws:
        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.EntityType>
        Throws:
        org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException
      • readFromServer

        public String readFromServer()
                              throws org.gcube.informationsystem.resourceregistry.api.exceptions.NotFoundException,
                                     org.gcube.informationsystem.resourceregistry.api.exceptions.AvailableInAnotherContextException,
                                     org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException
        Throws:
        org.gcube.informationsystem.resourceregistry.api.exceptions.NotFoundException
        org.gcube.informationsystem.resourceregistry.api.exceptions.AvailableInAnotherContextException
        org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException
      • readAsString

        public String readAsString()
                            throws org.gcube.informationsystem.resourceregistry.api.exceptions.NotFoundException,
                                   org.gcube.informationsystem.resourceregistry.api.exceptions.AvailableInAnotherContextException,
                                   org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException
        Throws:
        org.gcube.informationsystem.resourceregistry.api.exceptions.NotFoundException
        org.gcube.informationsystem.resourceregistry.api.exceptions.AvailableInAnotherContextException
        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
        Overrides:
        sanityCheck in class ElementManagement<com.orientechnologies.orient.core.record.OVertex,​org.gcube.informationsystem.types.reference.entities.EntityType>
        Throws:
        org.gcube.informationsystem.resourceregistry.api.exceptions.types.SchemaViolationException
        org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException
      • changeState

        public String changeState()
                           throws org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException
        Throws:
        org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException