Class ProfiledMongoManager

  • All Implemented Interfaces:
    MongoManagerI<org.gcube.application.geoportal.common.model.document.Project>

    public class ProfiledMongoManager
    extends MongoManager
    implements MongoManagerI<org.gcube.application.geoportal.common.model.document.Project>
    • Constructor Detail

      • ProfiledMongoManager

        public ProfiledMongoManager​(String profileId)
                             throws org.gcube.application.geoportal.common.model.rest.ConfigurationException,
                                    org.gcube.application.cms.implementations.faults.RegistrationException
        Throws:
        org.gcube.application.geoportal.common.model.rest.ConfigurationException
        org.gcube.application.cms.implementations.faults.RegistrationException
    • Method Detail

      • lock

        protected org.gcube.application.geoportal.common.model.document.Project lock​(String id,
                                                                                     String op)
                                                                              throws org.gcube.application.cms.implementations.faults.ProjectNotFoundException,
                                                                                     org.gcube.application.cms.implementations.faults.ProjectLockedException,
                                                                                     com.fasterxml.jackson.core.JsonProcessingException,
                                                                                     org.gcube.application.cms.implementations.faults.InvalidUserRoleException,
                                                                                     org.gcube.application.cms.implementations.faults.UnauthorizedAccess
        Throws:
        org.gcube.application.cms.implementations.faults.ProjectNotFoundException
        org.gcube.application.cms.implementations.faults.ProjectLockedException
        com.fasterxml.jackson.core.JsonProcessingException
        org.gcube.application.cms.implementations.faults.InvalidUserRoleException
        org.gcube.application.cms.implementations.faults.UnauthorizedAccess
      • unlockAndUpdate

        protected org.gcube.application.geoportal.common.model.document.Project unlockAndUpdate​(org.gcube.application.geoportal.common.model.document.Project proj)
                                                                                         throws org.gcube.application.cms.implementations.faults.InvalidLockException,
                                                                                                org.gcube.application.cms.implementations.faults.ProjectNotFoundException,
                                                                                                com.fasterxml.jackson.core.JsonProcessingException,
                                                                                                org.gcube.application.cms.implementations.faults.InvalidUserRoleException,
                                                                                                org.gcube.application.cms.implementations.faults.UnauthorizedAccess
        Throws:
        org.gcube.application.cms.implementations.faults.InvalidLockException
        org.gcube.application.cms.implementations.faults.ProjectNotFoundException
        com.fasterxml.jackson.core.JsonProcessingException
        org.gcube.application.cms.implementations.faults.InvalidUserRoleException
        org.gcube.application.cms.implementations.faults.UnauthorizedAccess
      • unlock

        protected org.gcube.application.geoportal.common.model.document.Project unlock​(org.gcube.application.geoportal.common.model.document.Project proj)
                                                                                throws org.gcube.application.cms.implementations.faults.InvalidLockException,
                                                                                       org.gcube.application.cms.implementations.faults.InvalidUserRoleException,
                                                                                       org.gcube.application.cms.implementations.faults.ProjectNotFoundException,
                                                                                       org.gcube.application.cms.implementations.faults.UnauthorizedAccess
        Throws:
        org.gcube.application.cms.implementations.faults.InvalidLockException
        org.gcube.application.cms.implementations.faults.InvalidUserRoleException
        org.gcube.application.cms.implementations.faults.ProjectNotFoundException
        org.gcube.application.cms.implementations.faults.UnauthorizedAccess
      • registerNew

        public org.gcube.application.geoportal.common.model.document.Project registerNew​(org.bson.Document toRegisterDoc)
                                                                                  throws IOException,
                                                                                         org.gcube.application.cms.implementations.faults.InvalidUserRoleException
        Specified by:
        registerNew in interface MongoManagerI<org.gcube.application.geoportal.common.model.document.Project>
        Throws:
        IOException
        org.gcube.application.cms.implementations.faults.InvalidUserRoleException
      • update

        public org.gcube.application.geoportal.common.model.document.Project update​(String id,
                                                                                    org.bson.Document toSet)
                                                                             throws IOException,
                                                                                    org.gcube.application.cms.plugins.faults.EventException,
                                                                                    org.gcube.application.cms.implementations.faults.ProjectLockedException,
                                                                                    org.gcube.application.cms.implementations.faults.ProjectNotFoundException,
                                                                                    org.gcube.application.cms.implementations.faults.InvalidLockException,
                                                                                    org.gcube.application.cms.implementations.faults.InvalidUserRoleException,
                                                                                    org.gcube.application.cms.implementations.faults.UnauthorizedAccess
        Specified by:
        update in interface MongoManagerI<org.gcube.application.geoportal.common.model.document.Project>
        Throws:
        IOException
        org.gcube.application.cms.plugins.faults.EventException
        org.gcube.application.cms.implementations.faults.ProjectLockedException
        org.gcube.application.cms.implementations.faults.ProjectNotFoundException
        org.gcube.application.cms.implementations.faults.InvalidLockException
        org.gcube.application.cms.implementations.faults.InvalidUserRoleException
        org.gcube.application.cms.implementations.faults.UnauthorizedAccess
      • setRelation

        public org.gcube.application.geoportal.common.model.document.Project setRelation​(String id,
                                                                                         String relation,
                                                                                         String targetUCD,
                                                                                         String targetId)
                                                                                  throws IOException,
                                                                                         org.gcube.application.cms.plugins.faults.EventException,
                                                                                         org.gcube.application.cms.implementations.faults.ProjectLockedException,
                                                                                         org.gcube.application.cms.implementations.faults.ProjectNotFoundException,
                                                                                         org.gcube.application.cms.implementations.faults.InvalidLockException,
                                                                                         org.gcube.application.cms.implementations.faults.InvalidUserRoleException,
                                                                                         org.gcube.application.cms.implementations.faults.UnauthorizedAccess,
                                                                                         org.gcube.application.cms.implementations.faults.RegistrationException,
                                                                                         org.gcube.application.geoportal.common.model.rest.ConfigurationException
        Specified by:
        setRelation in interface MongoManagerI<org.gcube.application.geoportal.common.model.document.Project>
        Throws:
        IOException
        org.gcube.application.cms.plugins.faults.EventException
        org.gcube.application.cms.implementations.faults.ProjectLockedException
        org.gcube.application.cms.implementations.faults.ProjectNotFoundException
        org.gcube.application.cms.implementations.faults.InvalidLockException
        org.gcube.application.cms.implementations.faults.InvalidUserRoleException
        org.gcube.application.cms.implementations.faults.UnauthorizedAccess
        org.gcube.application.cms.implementations.faults.RegistrationException
        org.gcube.application.geoportal.common.model.rest.ConfigurationException
      • deleteRelation

        public org.gcube.application.geoportal.common.model.document.Project deleteRelation​(String id,
                                                                                            String relation,
                                                                                            String targetUCD,
                                                                                            String targetId)
                                                                                     throws IOException,
                                                                                            org.gcube.application.cms.plugins.faults.EventException,
                                                                                            org.gcube.application.cms.implementations.faults.ProjectLockedException,
                                                                                            org.gcube.application.cms.implementations.faults.ProjectNotFoundException,
                                                                                            org.gcube.application.cms.implementations.faults.InvalidLockException,
                                                                                            org.gcube.application.cms.implementations.faults.InvalidUserRoleException,
                                                                                            org.gcube.application.cms.implementations.faults.UnauthorizedAccess,
                                                                                            org.gcube.application.cms.implementations.faults.RegistrationException,
                                                                                            org.gcube.application.geoportal.common.model.rest.ConfigurationException
        Specified by:
        deleteRelation in interface MongoManagerI<org.gcube.application.geoportal.common.model.document.Project>
        Throws:
        IOException
        org.gcube.application.cms.plugins.faults.EventException
        org.gcube.application.cms.implementations.faults.ProjectLockedException
        org.gcube.application.cms.implementations.faults.ProjectNotFoundException
        org.gcube.application.cms.implementations.faults.InvalidLockException
        org.gcube.application.cms.implementations.faults.InvalidUserRoleException
        org.gcube.application.cms.implementations.faults.UnauthorizedAccess
        org.gcube.application.cms.implementations.faults.RegistrationException
        org.gcube.application.geoportal.common.model.rest.ConfigurationException
      • delete

        public void delete​(String id,
                           boolean force)
                    throws org.gcube.application.cms.implementations.faults.DeletionException,
                           org.gcube.application.cms.implementations.faults.InvalidUserRoleException,
                           org.gcube.application.cms.implementations.faults.ProjectLockedException,
                           org.gcube.application.cms.implementations.faults.ProjectNotFoundException,
                           org.gcube.application.cms.implementations.faults.UnauthorizedAccess,
                           com.fasterxml.jackson.core.JsonProcessingException,
                           org.gcube.application.cms.implementations.faults.InvalidLockException
        Specified by:
        delete in interface MongoManagerI<org.gcube.application.geoportal.common.model.document.Project>
        Throws:
        org.gcube.application.cms.implementations.faults.DeletionException
        org.gcube.application.cms.implementations.faults.InvalidUserRoleException
        org.gcube.application.cms.implementations.faults.ProjectLockedException
        org.gcube.application.cms.implementations.faults.ProjectNotFoundException
        org.gcube.application.cms.implementations.faults.UnauthorizedAccess
        com.fasterxml.jackson.core.JsonProcessingException
        org.gcube.application.cms.implementations.faults.InvalidLockException
      • getByID

        public org.gcube.application.geoportal.common.model.document.Project getByID​(String id)
                                                                              throws org.gcube.application.cms.implementations.faults.ProjectNotFoundException,
                                                                                     org.gcube.application.cms.implementations.faults.InvalidUserRoleException,
                                                                                     org.gcube.application.cms.implementations.faults.UnauthorizedAccess
        Specified by:
        getByID in interface MongoManagerI<org.gcube.application.geoportal.common.model.document.Project>
        Throws:
        org.gcube.application.cms.implementations.faults.ProjectNotFoundException
        org.gcube.application.cms.implementations.faults.InvalidUserRoleException
        org.gcube.application.cms.implementations.faults.UnauthorizedAccess
      • query

        public Iterable<org.bson.Document> query​(org.gcube.application.geoportal.common.model.rest.QueryRequest queryRequest)
                                          throws org.gcube.application.cms.implementations.faults.InvalidUserRoleException
        Specified by:
        query in interface MongoManagerI<org.gcube.application.geoportal.common.model.document.Project>
        Throws:
        org.gcube.application.cms.implementations.faults.InvalidUserRoleException
      • filter

        public Iterable<org.gcube.application.geoportal.common.model.document.Project> filter​(org.gcube.application.geoportal.common.model.rest.QueryRequest queryRequest)
                                                                                       throws org.gcube.application.cms.implementations.faults.InvalidUserRoleException
        Specified by:
        filter in interface MongoManagerI<org.gcube.application.geoportal.common.model.document.Project>
        Throws:
        org.gcube.application.cms.implementations.faults.InvalidUserRoleException
      • performStep

        public org.gcube.application.geoportal.common.model.document.Project performStep​(String id,
                                                                                         String step,
                                                                                         org.bson.Document options)
                                                                                  throws org.gcube.application.cms.plugins.faults.StepException,
                                                                                         com.fasterxml.jackson.core.JsonProcessingException,
                                                                                         org.gcube.application.cms.implementations.faults.ProjectLockedException,
                                                                                         org.gcube.application.cms.implementations.faults.ProjectNotFoundException,
                                                                                         org.gcube.application.cms.implementations.faults.InvalidLockException,
                                                                                         org.gcube.application.cms.implementations.faults.InvalidUserRoleException,
                                                                                         org.gcube.application.cms.implementations.faults.UnauthorizedAccess,
                                                                                         org.gcube.application.geoportal.common.model.rest.ConfigurationException,
                                                                                         org.gcube.application.cms.plugins.faults.InsufficientPrivileges
        Specified by:
        performStep in interface MongoManagerI<org.gcube.application.geoportal.common.model.document.Project>
        Throws:
        org.gcube.application.cms.plugins.faults.StepException
        com.fasterxml.jackson.core.JsonProcessingException
        org.gcube.application.cms.implementations.faults.ProjectLockedException
        org.gcube.application.cms.implementations.faults.ProjectNotFoundException
        org.gcube.application.cms.implementations.faults.InvalidLockException
        org.gcube.application.cms.implementations.faults.InvalidUserRoleException
        org.gcube.application.cms.implementations.faults.UnauthorizedAccess
        org.gcube.application.geoportal.common.model.rest.ConfigurationException
        org.gcube.application.cms.plugins.faults.InsufficientPrivileges
      • registerFileSet

        public org.gcube.application.geoportal.common.model.document.Project registerFileSet​(String id,
                                                                                             org.gcube.application.geoportal.common.model.rest.RegisterFileSetRequest request)
                                                                                      throws org.gcube.application.geoportal.common.model.rest.ConfigurationException,
                                                                                             org.gcube.common.storagehub.model.exceptions.StorageHubException,
                                                                                             org.gcube.application.geoportal.common.faults.StorageException,
                                                                                             com.fasterxml.jackson.core.JsonProcessingException,
                                                                                             org.gcube.application.cms.plugins.faults.EventException,
                                                                                             org.gcube.application.cms.implementations.faults.ProjectLockedException,
                                                                                             org.gcube.application.cms.implementations.faults.ProjectNotFoundException,
                                                                                             org.gcube.application.cms.implementations.faults.InvalidLockException,
                                                                                             org.gcube.application.cms.implementations.faults.InvalidUserRoleException,
                                                                                             org.gcube.application.cms.implementations.faults.UnauthorizedAccess
        NB Put at path : Path Examples artifact images images[1] layers[?(@.name = 'myName')].fileset
        Specified by:
        registerFileSet in interface MongoManagerI<org.gcube.application.geoportal.common.model.document.Project>
        Throws:
        org.gcube.application.geoportal.common.model.rest.ConfigurationException
        org.gcube.common.storagehub.model.exceptions.StorageHubException
        org.gcube.application.geoportal.common.faults.StorageException
        com.fasterxml.jackson.core.JsonProcessingException
        org.gcube.application.cms.plugins.faults.EventException
        org.gcube.application.cms.implementations.faults.ProjectLockedException
        org.gcube.application.cms.implementations.faults.ProjectNotFoundException
        org.gcube.application.cms.implementations.faults.InvalidLockException
        org.gcube.application.cms.implementations.faults.InvalidUserRoleException
        org.gcube.application.cms.implementations.faults.UnauthorizedAccess
      • deleteFileSet

        public org.gcube.application.geoportal.common.model.document.Project deleteFileSet​(String id,
                                                                                           String path,
                                                                                           Boolean force)
                                                                                    throws org.gcube.application.geoportal.common.model.rest.ConfigurationException,
                                                                                           org.gcube.common.storagehub.model.exceptions.StorageHubException,
                                                                                           com.fasterxml.jackson.core.JsonProcessingException,
                                                                                           org.gcube.application.cms.implementations.faults.DeletionException,
                                                                                           org.gcube.application.cms.plugins.faults.EventException,
                                                                                           org.gcube.application.cms.implementations.faults.ProjectLockedException,
                                                                                           org.gcube.application.cms.implementations.faults.ProjectNotFoundException,
                                                                                           org.gcube.application.cms.implementations.faults.InvalidLockException,
                                                                                           org.gcube.application.cms.implementations.faults.InvalidUserRoleException,
                                                                                           org.gcube.application.cms.implementations.faults.UnauthorizedAccess
        Specified by:
        deleteFileSet in interface MongoManagerI<org.gcube.application.geoportal.common.model.document.Project>
        Throws:
        org.gcube.application.geoportal.common.model.rest.ConfigurationException
        org.gcube.common.storagehub.model.exceptions.StorageHubException
        com.fasterxml.jackson.core.JsonProcessingException
        org.gcube.application.cms.implementations.faults.DeletionException
        org.gcube.application.cms.plugins.faults.EventException
        org.gcube.application.cms.implementations.faults.ProjectLockedException
        org.gcube.application.cms.implementations.faults.ProjectNotFoundException
        org.gcube.application.cms.implementations.faults.InvalidLockException
        org.gcube.application.cms.implementations.faults.InvalidUserRoleException
        org.gcube.application.cms.implementations.faults.UnauthorizedAccess
      • forceUnlock

        public org.gcube.application.geoportal.common.model.document.Project forceUnlock​(String id)
                                                                                  throws org.gcube.application.cms.implementations.faults.InvalidUserRoleException,
                                                                                         org.gcube.application.cms.implementations.faults.ProjectNotFoundException,
                                                                                         org.gcube.application.cms.implementations.faults.UnauthorizedAccess,
                                                                                         com.fasterxml.jackson.core.JsonProcessingException,
                                                                                         org.gcube.application.cms.implementations.faults.InvalidLockException
        Specified by:
        forceUnlock in interface MongoManagerI<org.gcube.application.geoportal.common.model.document.Project>
        Throws:
        org.gcube.application.cms.implementations.faults.InvalidUserRoleException
        org.gcube.application.cms.implementations.faults.ProjectNotFoundException
        org.gcube.application.cms.implementations.faults.UnauthorizedAccess
        com.fasterxml.jackson.core.JsonProcessingException
        org.gcube.application.cms.implementations.faults.InvalidLockException
      • setAccessPolicy

        public org.gcube.application.geoportal.common.model.document.Project setAccessPolicy​(String id,
                                                                                             org.gcube.application.geoportal.common.model.document.access.Access access)
                                                                                      throws org.gcube.application.cms.implementations.faults.InvalidUserRoleException,
                                                                                             org.gcube.application.cms.implementations.faults.ProjectLockedException,
                                                                                             org.gcube.application.cms.implementations.faults.ProjectNotFoundException,
                                                                                             org.gcube.application.cms.implementations.faults.UnauthorizedAccess,
                                                                                             com.fasterxml.jackson.core.JsonProcessingException,
                                                                                             org.gcube.application.cms.implementations.faults.InvalidLockException,
                                                                                             org.gcube.application.cms.plugins.faults.EventException
        Specified by:
        setAccessPolicy in interface MongoManagerI<org.gcube.application.geoportal.common.model.document.Project>
        Throws:
        org.gcube.application.cms.implementations.faults.InvalidUserRoleException
        org.gcube.application.cms.implementations.faults.ProjectLockedException
        org.gcube.application.cms.implementations.faults.ProjectNotFoundException
        org.gcube.application.cms.implementations.faults.UnauthorizedAccess
        com.fasterxml.jackson.core.JsonProcessingException
        org.gcube.application.cms.implementations.faults.InvalidLockException
        org.gcube.application.cms.plugins.faults.EventException
      • getConfiguration

        public org.gcube.application.geoportal.common.model.configuration.Configuration getConfiguration()
                                                                                                  throws org.gcube.application.geoportal.common.model.rest.ConfigurationException
        Specified by:
        getConfiguration in interface MongoManagerI<org.gcube.application.geoportal.common.model.document.Project>
        Throws:
        org.gcube.application.geoportal.common.model.rest.ConfigurationException