Class StorageResource

    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      javax.ws.rs.core.Response backupStorageAccessLog​(java.util.List<java.lang.Integer> tenants)
      Backup access log
      javax.ws.rs.core.Response backupStorageLog​(java.util.List<java.lang.Integer> tenants)
      Backup storage log
      javax.ws.rs.core.Response bulkCreateFromWorkspace​(javax.servlet.http.HttpServletRequest httpServletRequest, javax.ws.rs.core.HttpHeaders headers, java.lang.String folder, BulkObjectStoreRequest bulkObjectStoreRequest)  
      javax.ws.rs.core.Response checkAccessRequestStatuses​(java.util.List<java.lang.String> accessRequestIds, javax.ws.rs.core.HttpHeaders headers)
      Check access request statuses of asynchronous offer.
      javax.ws.rs.core.Response checkObject​(javax.ws.rs.core.HttpHeaders headers, DataCategory type, java.lang.String objectId)
      Check the existence of an object
      javax.ws.rs.core.Response checkObjectAvailability​(DataCategory dataCategory, java.util.List<java.lang.String> objectsNames, javax.ws.rs.core.HttpHeaders headers)
      Bulk check of immediate object availability in offer If target offer supports synchronous read requests, objects can be read immediately.
      void close()  
      javax.ws.rs.core.Response copy​(javax.servlet.http.HttpServletRequest httpServletRequest, javax.ws.rs.core.HttpHeaders headers, java.lang.String objectId)  
      javax.ws.rs.core.Response create​(javax.servlet.http.HttpServletRequest httpServletRequest, javax.ws.rs.core.HttpHeaders headers, java.lang.String operationId, java.io.InputStream inputStream)
      Post a new backup operation
      javax.ws.rs.core.Response createAccessionRegisterDetail​(javax.servlet.http.HttpServletRequest httpServletRequest, javax.ws.rs.core.HttpHeaders headers, java.lang.String fileName, ObjectDescription createObjectDescription)
      Post a new unit metadata
      javax.ws.rs.core.Response createAccessionRegisterSymbolic​(javax.servlet.http.HttpServletRequest httpServletRequest, javax.ws.rs.core.HttpHeaders headers, java.lang.String fileName, ObjectDescription createObjectDescription)
      Post a new unit metadata
      javax.ws.rs.core.Response createAccessRequestIfRequired​(DataCategory dataCategory, java.util.List<java.lang.String> objectsNames, javax.ws.rs.core.HttpHeaders headers)
      Create access request if target offer does not support synchronous read (tape library storage).
      javax.ws.rs.core.Response createAgencyFile​(javax.servlet.http.HttpServletRequest httpServletRequest, javax.ws.rs.core.HttpHeaders headers, java.lang.String agencyfile, ObjectDescription createObjectDescription)
      Post a new object
      javax.ws.rs.core.Response createBackupFile​(javax.servlet.http.HttpServletRequest httpServletRequest, javax.ws.rs.core.HttpHeaders headers, java.lang.String backupfile, ObjectDescription createObjectDescription)
      Post a new object
      javax.ws.rs.core.Response createDistributionReportFile​(javax.servlet.http.HttpServletRequest httpServletRequest, javax.ws.rs.core.HttpHeaders headers, java.lang.String distributionreportfile, ObjectDescription createObjectDescription)
      Post a new distribution report file
      javax.ws.rs.core.Response createLogbook​(javax.servlet.http.HttpServletRequest httpServletRequest, javax.ws.rs.core.HttpHeaders headers, java.lang.String logbookId, ObjectDescription createObjectDescription)
      Post a new object
      javax.ws.rs.core.Response createManifest​(javax.servlet.http.HttpServletRequest httpServletRequest, javax.ws.rs.core.HttpHeaders headers, java.lang.String manifestId, ObjectDescription createObjectDescription)
      Post a new object manifest
      javax.ws.rs.core.Response createObject​(javax.servlet.http.HttpServletRequest httpServletRequest, javax.ws.rs.core.HttpHeaders headers, java.lang.String objectId, ObjectDescription createObjectDescription)
      Post a new object
      javax.ws.rs.core.Response createObjectGroup​(javax.servlet.http.HttpServletRequest httpServletRequest, javax.ws.rs.core.HttpHeaders headers, java.lang.String metadataId, ObjectDescription createObjectDescription)
      Post a new Object Group metadata
      javax.ws.rs.core.Response createObjectGroupGraphFile​(javax.servlet.http.HttpServletRequest httpServletRequest, javax.ws.rs.core.HttpHeaders headers, java.lang.String graph_file_name, ObjectDescription createObjectDescription)
      Create a new graph zip file
      javax.ws.rs.core.Response createOrUpdateBackupOperation​(javax.servlet.http.HttpServletRequest httpServletRequest, javax.ws.rs.core.HttpHeaders headers, java.lang.String operationId, ObjectDescription createObjectDescription)
      Post a new backup operation
      javax.ws.rs.core.Response createProfile​(javax.servlet.http.HttpServletRequest httpServletRequest, javax.ws.rs.core.HttpHeaders headers, java.lang.String profileFileName, ObjectDescription createObjectDescription)
      Post a new object
      javax.ws.rs.core.Response createReport​(javax.servlet.http.HttpServletRequest httpServletRequest, javax.ws.rs.core.HttpHeaders headers, java.lang.String reportId, ObjectDescription createObjectDescription)
      Post a new object
      javax.ws.rs.core.Response createRuleFile​(javax.servlet.http.HttpServletRequest httpServletRequest, javax.ws.rs.core.HttpHeaders headers, java.lang.String ruleFile, ObjectDescription createObjectDescription)
      Post a new object
      javax.ws.rs.core.Response createStorageAccessLog​(javax.servlet.http.HttpServletRequest httpServletRequest, javax.ws.rs.core.HttpHeaders headers, java.lang.String storageAccessLogName, ObjectDescription createObjectDescription)
      Post a new accesslog object
      javax.ws.rs.core.Response createStorageLog​(javax.servlet.http.HttpServletRequest httpServletRequest, javax.ws.rs.core.HttpHeaders headers, java.lang.String storageLogname, ObjectDescription createObjectDescription)
      Post a new object
      javax.ws.rs.core.Response createStorageTraceability​(javax.servlet.http.HttpServletRequest httpServletRequest, javax.ws.rs.core.HttpHeaders headers, java.lang.String storagetraceabilityname, ObjectDescription createObjectDescription)
      Post a new object
      javax.ws.rs.core.Response createUnitGraphFile​(javax.servlet.http.HttpServletRequest httpServletRequest, javax.ws.rs.core.HttpHeaders headers, java.lang.String graph_file_name, ObjectDescription createObjectDescription)
      Create a new graph zip file
      javax.ws.rs.core.Response createUnitMetadata​(javax.servlet.http.HttpServletRequest httpServletRequest, javax.ws.rs.core.HttpHeaders headers, java.lang.String metadataId, ObjectDescription createObjectDescription)
      Post a new unit metadata
      javax.ws.rs.core.Response deleteObject​(javax.servlet.http.HttpServletRequest httpServletRequest, javax.ws.rs.core.HttpHeaders headers, java.lang.String objectId)
      Delete an object
      javax.ws.rs.core.Response downloadProfile​(javax.ws.rs.core.HttpHeaders headers, java.lang.String profileFileName)
      Get a profile
      javax.ws.rs.core.Response downloadStorageTraceability​(javax.ws.rs.core.HttpHeaders headers, java.lang.String filename)
      Get a storage traceability file
      javax.ws.rs.core.Response getAccessionRegisterDetail​(javax.ws.rs.core.HttpHeaders headers, java.lang.String fileName)
      Get an accessionregistersdetail
      javax.ws.rs.core.Response getAccessionRegisterSymbolic​(javax.ws.rs.core.HttpHeaders headers, java.lang.String fileName)
      Get an accessionregisterssymbolic
      javax.ws.rs.core.Response getAccessLogFile​(javax.ws.rs.core.HttpHeaders headers, java.lang.String storageAccessLogFile)
      Get access log data.
      javax.ws.rs.core.Response getBackupFile​(javax.ws.rs.core.HttpHeaders headers, java.lang.String backupfile)
      Get colection data.
      javax.ws.rs.core.Response getBackupOperation​(javax.ws.rs.core.HttpHeaders headers, java.lang.String operationId)
      Get a backup operation
      javax.ws.rs.core.Response getBatchObjectInformation​(javax.ws.rs.core.HttpHeaders headers, java.lang.String typeStr, java.util.List<java.lang.String> objectIds)
      Get object metadata as json Note : this is NOT to be handled in item #72.
      javax.ws.rs.core.Response getDistributionReport​(javax.ws.rs.core.HttpHeaders headers, java.lang.String objectId)
      Get a report
      javax.ws.rs.core.Response getInformation​(javax.ws.rs.core.HttpHeaders headers, java.lang.String typeStr, java.lang.String objectId)
      Get object metadata as json Note : this is NOT to be handled in item #72.
      javax.ws.rs.core.Response getLogbookStream​(javax.ws.rs.core.HttpHeaders headers, java.lang.String objectId)  
      javax.ws.rs.core.Response getManifest​(javax.ws.rs.core.HttpHeaders headers, java.lang.String objectId)
      getManifest stored by ingest operation
      javax.ws.rs.core.Response getObject​(javax.ws.rs.core.HttpHeaders headers, java.lang.String objectId, AccessLogInfoModel logInfo)
      Get an object data
      javax.ws.rs.core.Response getObjectGroup​(javax.ws.rs.core.HttpHeaders headers, java.lang.String metadataId)
      Get a Object Group
      javax.ws.rs.core.Response getObjectGroupGraphFile​(javax.ws.rs.core.HttpHeaders headers, java.lang.String graph_file_name)
      Get graph zip file
      javax.ws.rs.core.Response getOfferLogs​(javax.ws.rs.core.HttpHeaders headers, DataCategory type, OfferLogRequest offerLogRequest)
      Get offer log from referent offer
      javax.ws.rs.core.Response getOffers​(java.lang.String strategyId)  
      javax.ws.rs.core.Response getReferentOffer​(java.lang.String strategyId)
      Get referent Offer in strategy
      javax.ws.rs.core.Response getReport​(javax.ws.rs.core.HttpHeaders headers, java.lang.String objectId)
      Get a report
      javax.ws.rs.core.Response getRuleFile​(javax.ws.rs.core.HttpHeaders headers, java.lang.String objectId)  
      javax.ws.rs.core.Response getStorageInformation​(javax.ws.rs.core.HttpHeaders headers)
      Get storage information for a specific tenant/strategy For example the usable space
      javax.ws.rs.core.Response getStorageLogFile​(javax.ws.rs.core.HttpHeaders headers, java.lang.String storageAccessLogFile)
      Get access log data.
      javax.ws.rs.core.Response getStrategies()
      Get the strategies available in the module
      javax.ws.rs.core.Response getTemporaryFile​(javax.ws.rs.core.HttpHeaders headers, java.lang.String file_name)  
      javax.ws.rs.core.Response getUnit​(javax.ws.rs.core.HttpHeaders headers, java.lang.String unitId)
      Get a unit
      javax.ws.rs.core.Response getUnitGraphFile​(javax.ws.rs.core.HttpHeaders headers, java.lang.String graph_file_name)
      Get graph zip file
      void launchOfferLogCompaction​(java.lang.String offerId, javax.ws.rs.core.HttpHeaders headers)  
      javax.ws.rs.core.Response listObjects​(javax.ws.rs.core.HttpHeaders headers, DataCategory type)
      Get list of object type
      javax.ws.rs.core.Response removeAccessRequest​(java.lang.String accessRequestId, javax.ws.rs.core.HttpHeaders headers)
      Remove access request from asynchronous offer.
      javax.ws.rs.core.Response storeArchivalTransferReply​(javax.servlet.http.HttpServletRequest httpServletRequest, javax.ws.rs.core.HttpHeaders headers, java.lang.String id, ObjectDescription description)  
      javax.ws.rs.core.Response storeTemporaryFile​(javax.servlet.http.HttpServletRequest httpServletRequest, javax.ws.rs.core.HttpHeaders headers, java.lang.String id, ObjectDescription description)  
      javax.ws.rs.core.Response traceabilityStorageLogbook​(java.util.List<java.lang.Integer> tenants)
      Run storage logbook secure operation
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • copy

        @Path("/copy/{id_object}")
        @POST
        @Produces("application/json")
        public javax.ws.rs.core.Response copy​(@Context
                                              javax.servlet.http.HttpServletRequest httpServletRequest,
                                              @Context
                                              javax.ws.rs.core.HttpHeaders headers,
                                              @PathParam("id_object")
                                              java.lang.String objectId)
      • create

        @Path("/create/{id_operation}")
        @POST
        @Consumes("application/octet-stream")
        @Produces("application/json")
        public javax.ws.rs.core.Response create​(@Context
                                                javax.servlet.http.HttpServletRequest httpServletRequest,
                                                @Context
                                                javax.ws.rs.core.HttpHeaders headers,
                                                @PathParam("id_operation")
                                                java.lang.String operationId,
                                                java.io.InputStream inputStream)
        Post a new backup operation
        Parameters:
        httpServletRequest - http servlet request to get requester
        headers - http header
        operationId - the id of the operation
        inputStream - inputStream
        Returns:
        Response
      • getStorageInformation

        @GET
        @Consumes("application/json")
        @Produces("application/json")
        public javax.ws.rs.core.Response getStorageInformation​(@Context
                                                               javax.ws.rs.core.HttpHeaders headers)
        Get storage information for a specific tenant/strategy For example the usable space
        Parameters:
        headers - http headers
        Returns:
        Response containing the storage information as json, or an error (404, 500)
      • listObjects

        @Path("/{type:UNIT|OBJECT|OBJECTGROUP|LOGBOOK|REPORT|MANIFEST|PROFILE|STORAGELOG|STORAGEACCESSLOG|STORAGETRACEABILITY|RULES|DIP|AGENCIES|BACKUP|BACKUP_OPERATION|CHECKLOGBOOKREPORTS|OBJECTGROUP_GRAPH|UNIT_GRAPH|DISTRIBUTIONREPORTS|ACCESSION_REGISTER_DETAIL|ACCESSION_REGISTER_SYMBOLIC}")
        @GET
        @Produces("application/json")
        @Consumes("application/json")
        public javax.ws.rs.core.Response listObjects​(@Context
                                                     javax.ws.rs.core.HttpHeaders headers,
                                                     @PathParam("type")
                                                     DataCategory type)
        Get list of object type
        Parameters:
        headers - X-Strategy-Id header
        type - the object type to list
        Returns:
        a response with listing elements
      • getOfferLogs

        @Path("/{type:UNIT|OBJECT|OBJECTGROUP|LOGBOOK|REPORT|MANIFEST|PROFILE|STORAGELOG|STORAGETRACEABILITY|RULES|DIP|AGENCIES|BACKUP|BACKUP_OPERATION|CHECKLOGBOOKREPORTS|OBJECTGROUP_GRAPH|UNIT_GRAPH|DISTRIBUTIONREPORTS|ACCESSION_REGISTER_DETAIL|ACCESSION_REGISTER_SYMBOLIC}/logs")
        @GET
        @Produces("application/json")
        @Consumes("application/json")
        public javax.ws.rs.core.Response getOfferLogs​(@Context
                                                      javax.ws.rs.core.HttpHeaders headers,
                                                      @PathParam("type")
                                                      DataCategory type,
                                                      OfferLogRequest offerLogRequest)
        Get offer log from referent offer
        Parameters:
        headers -
        type - the object type to list
        offerLogRequest - offer log request params
        Returns:
        list of offer log
      • getInformation

        @Path("/info/{type}/{id_object}")
        @GET
        @Produces("application/json")
        @Consumes("application/json")
        public javax.ws.rs.core.Response getInformation​(@Context
                                                        javax.ws.rs.core.HttpHeaders headers,
                                                        @PathParam("type")
                                                        java.lang.String typeStr,
                                                        @PathParam("id_object")
                                                        java.lang.String objectId)
        Get object metadata as json Note : this is NOT to be handled in item #72.
        Parameters:
        headers - http header
        objectId - the id of the object
        Returns:
        Response NOT_IMPLEMENTED
      • getBatchObjectInformation

        @Path("/batch_info/{type}")
        @GET
        @Produces("application/json")
        @Consumes("application/json")
        public javax.ws.rs.core.Response getBatchObjectInformation​(@Context
                                                                   javax.ws.rs.core.HttpHeaders headers,
                                                                   @PathParam("type")
                                                                   java.lang.String typeStr,
                                                                   java.util.List<java.lang.String> objectIds)
        Get object metadata as json Note : this is NOT to be handled in item #72.
        Parameters:
        headers - http header
        objectIds - the id of the object
      • getObject

        @Path("/objects/{id_object}")
        @GET
        @Produces({"application/octet-stream","application/zip"})
        public javax.ws.rs.core.Response getObject​(@Context
                                                   javax.ws.rs.core.HttpHeaders headers,
                                                   @PathParam("id_object")
                                                   java.lang.String objectId,
                                                   AccessLogInfoModel logInfo)
        Get an object data
        Parameters:
        headers - http header
        objectId - the id of the object
        Returns:
        the stream
      • getBackupFile

        @Path("/backup/{backupfile}")
        @GET
        @Produces("application/octet-stream")
        public javax.ws.rs.core.Response getBackupFile​(@Context
                                                       javax.ws.rs.core.HttpHeaders headers,
                                                       @PathParam("backupfile")
                                                       java.lang.String backupfile)
        Get colection data.
        Parameters:
        headers - headers
        backupfile - backupfile
        Returns:
      • createObject

        @Path("/objects/{id_object}")
        @POST
        @Produces("application/json")
        @Consumes("application/json")
        public javax.ws.rs.core.Response createObject​(@Context
                                                      javax.servlet.http.HttpServletRequest httpServletRequest,
                                                      @Context
                                                      javax.ws.rs.core.HttpHeaders headers,
                                                      @PathParam("id_object")
                                                      java.lang.String objectId,
                                                      ObjectDescription createObjectDescription)
        Post a new object
        Parameters:
        httpServletRequest - http servlet request to get requester
        headers - http header
        objectId - the id of the object
        createObjectDescription - the object description
        Returns:
        Response
      • createOrUpdateBackupOperation

        @Path("/backupoperations/{id_operation}")
        @POST
        @Consumes("application/json")
        @Produces("application/json")
        public javax.ws.rs.core.Response createOrUpdateBackupOperation​(@Context
                                                                       javax.servlet.http.HttpServletRequest httpServletRequest,
                                                                       @Context
                                                                       javax.ws.rs.core.HttpHeaders headers,
                                                                       @PathParam("id_operation")
                                                                       java.lang.String operationId,
                                                                       ObjectDescription createObjectDescription)
        Post a new backup operation
        Parameters:
        httpServletRequest - http servlet request to get requester
        headers - http header
        operationId - the id of the operation
        createObjectDescription - the object description for storage
        Returns:
      • getAccessLogFile

        @Path("/storageaccesslog/{storageaccesslogfile}")
        @GET
        @Produces("application/octet-stream")
        public javax.ws.rs.core.Response getAccessLogFile​(@Context
                                                          javax.ws.rs.core.HttpHeaders headers,
                                                          @PathParam("storageaccesslogfile")
                                                          java.lang.String storageAccessLogFile)
        Get access log data.
        Parameters:
        headers - headers
        storageAccessLogFile - backupfile
        Returns:
        the file as stream
      • getStorageLogFile

        @Path("/storagelog/{storagelogfile}")
        @GET
        @Produces("application/octet-stream")
        public javax.ws.rs.core.Response getStorageLogFile​(@Context
                                                           javax.ws.rs.core.HttpHeaders headers,
                                                           @PathParam("storagelogfile")
                                                           java.lang.String storageAccessLogFile)
        Get access log data.
        Parameters:
        headers - headers
        storageAccessLogFile - backupfile
        Returns:
        the file as stream
      • getOffers

        @Path("/offers")
        @GET
        @Consumes("application/json")
        @Produces("application/json")
        public javax.ws.rs.core.Response getOffers​(@HeaderParam("X-Strategy-Id")
                                                   java.lang.String strategyId)
        Parameters:
        strategyId - the strategy to get offers
        Returns:
      • getReferentOffer

        @Path("/referentOffer")
        @GET
        @Consumes("application/json")
        @Produces("application/json")
        public javax.ws.rs.core.Response getReferentOffer​(@HeaderParam("X-Strategy-Id")
                                                          java.lang.String strategyId)
        Get referent Offer in strategy
        Parameters:
        strategyId - the strategy to get offers
        Returns:
      • getBackupOperation

        @Path("/backupoperations/{id_operation}")
        @GET
        @Produces({"application/octet-stream","application/zip"})
        public javax.ws.rs.core.Response getBackupOperation​(@Context
                                                            javax.ws.rs.core.HttpHeaders headers,
                                                            @PathParam("id_operation")
                                                            java.lang.String operationId)
        Get a backup operation
        Parameters:
        headers - http header
        operationId - the id of the operation
        Returns:
        the stream
      • deleteObject

        @Path("/delete/{id_object}")
        @DELETE
        @Produces("application/json")
        @Consumes("application/json")
        public javax.ws.rs.core.Response deleteObject​(@Context
                                                      javax.servlet.http.HttpServletRequest httpServletRequest,
                                                      @Context
                                                      javax.ws.rs.core.HttpHeaders headers,
                                                      @PathParam("id_object")
                                                      java.lang.String objectId)
        Delete an object
        Parameters:
        headers - http header
        objectId - the id of the object
        Returns:
        Response
      • checkObject

        @Path("/{type:UNIT|OBJECT|OBJECTGROUP|LOGBOOK|REPORT|MANIFEST|PROFILE|STORAGELOG|STORAGETRACEABILITY|RULES|DIP|AGENCIES|BACKUP|BACKUP_OPERATION|CHECKLOGBOOKREPORTS|OBJECTGROUP_GRAPH|UNIT_GRAPH|DISTRIBUTIONREPORTS|ACCESSION_REGISTER_DETAIL|ACCESSION_REGISTER_SYMBOLIC}/{id_object}")
        @HEAD
        @Produces("application/json")
        @Consumes("application/json")
        public javax.ws.rs.core.Response checkObject​(@Context
                                                     javax.ws.rs.core.HttpHeaders headers,
                                                     @PathParam("type")
                                                     DataCategory type,
                                                     @PathParam("id_object")
                                                     java.lang.String objectId)
        Check the existence of an object
        Parameters:
        headers - http header
        objectId - the id of the object
        Returns:
        Response NOT_IMPLEMENTED
      • getLogbookStream

        @Path("/logbooks/{id_logbook}")
        @GET
        @Produces("application/octet-stream")
        public javax.ws.rs.core.Response getLogbookStream​(@Context
                                                          javax.ws.rs.core.HttpHeaders headers,
                                                          @PathParam("id_logbook")
                                                          java.lang.String objectId)
        Parameters:
        headers - http header
        objectId - the id of the object
        Returns:
        the stream
      • createLogbook

        @Path("/logbooks/{id_logbook}")
        @POST
        @Produces("application/json")
        @Consumes("application/json")
        public javax.ws.rs.core.Response createLogbook​(@Context
                                                       javax.servlet.http.HttpServletRequest httpServletRequest,
                                                       @Context
                                                       javax.ws.rs.core.HttpHeaders headers,
                                                       @PathParam("id_logbook")
                                                       java.lang.String logbookId,
                                                       ObjectDescription createObjectDescription)
        Post a new object
        Parameters:
        httpServletRequest - http servlet request to get requester
        headers - http header
        logbookId - the id of the logbookId
        createObjectDescription - the workspace information about logbook to be created
        Returns:
        the stream
      • getUnit

        @Path("/units/{id_md}")
        @GET
        @Produces({"application/octet-stream","application/zip"})
        public javax.ws.rs.core.Response getUnit​(@Context
                                                 javax.ws.rs.core.HttpHeaders headers,
                                                 @PathParam("id_md")
                                                 java.lang.String unitId)
        Get a unit
        Parameters:
        headers - http header
        unitId - the id of the unit
        Returns:
        the stream
      • createUnitMetadata

        @Path("/units/{id_md}")
        @POST
        @Produces("application/json")
        @Consumes("application/json")
        public javax.ws.rs.core.Response createUnitMetadata​(@Context
                                                            javax.servlet.http.HttpServletRequest httpServletRequest,
                                                            @Context
                                                            javax.ws.rs.core.HttpHeaders headers,
                                                            @PathParam("id_md")
                                                            java.lang.String metadataId,
                                                            ObjectDescription createObjectDescription)
        Post a new unit metadata
        Parameters:
        httpServletRequest - http servlet request to get requester
        headers - http header
        metadataId - the id of the unit metadata
        createObjectDescription - the workspace description of the unit to be created
        Returns:
        Response containing result infos
      • getObjectGroup

        @Path("/objectgroups/{id_md}")
        @GET
        @Produces({"application/octet-stream","application/zip"})
        public javax.ws.rs.core.Response getObjectGroup​(@Context
                                                        javax.ws.rs.core.HttpHeaders headers,
                                                        @PathParam("id_md")
                                                        java.lang.String metadataId)
        Get a Object Group

        Note : this is NOT to be handled in item #72.

        Parameters:
        headers - http header
        metadataId - the id of the Object Group metadata
        Returns:
        Response NOT_IMPLEMENTED
      • createObjectGroup

        @Path("/objectgroups/{id_md}")
        @POST
        @Produces("application/json")
        @Consumes("application/json")
        public javax.ws.rs.core.Response createObjectGroup​(@Context
                                                           javax.servlet.http.HttpServletRequest httpServletRequest,
                                                           @Context
                                                           javax.ws.rs.core.HttpHeaders headers,
                                                           @PathParam("id_md")
                                                           java.lang.String metadataId,
                                                           ObjectDescription createObjectDescription)
        Post a new Object Group metadata
        Parameters:
        httpServletRequest - http servlet request to get requester
        headers - http header
        metadataId - the id of the Object Group metadata
        createObjectDescription - the workspace description of the unit to be created
        Returns:
        Response Created with informations
      • storeArchivalTransferReply

        @POST
        @Path("/archivaltransferreply/{id}")
        @Produces("application/json")
        @Consumes("application/json")
        public javax.ws.rs.core.Response storeArchivalTransferReply​(@Context
                                                                    javax.servlet.http.HttpServletRequest httpServletRequest,
                                                                    @Context
                                                                    javax.ws.rs.core.HttpHeaders headers,
                                                                    @PathParam("id")
                                                                    java.lang.String id,
                                                                    ObjectDescription description)
      • storeTemporaryFile

        @POST
        @Path("/tmp/{id}")
        @Produces("application/json")
        @Consumes("application/json")
        public javax.ws.rs.core.Response storeTemporaryFile​(@Context
                                                            javax.servlet.http.HttpServletRequest httpServletRequest,
                                                            @Context
                                                            javax.ws.rs.core.HttpHeaders headers,
                                                            @PathParam("id")
                                                            java.lang.String id,
                                                            ObjectDescription description)
      • getTemporaryFile

        @Path("/tmp/{file_name}")
        @GET
        @Produces("application/octet-stream")
        public javax.ws.rs.core.Response getTemporaryFile​(@Context
                                                          javax.ws.rs.core.HttpHeaders headers,
                                                          @PathParam("file_name")
                                                          java.lang.String file_name)
      • createReport

        @Path("/reports/{id_report}")
        @POST
        @Produces("application/json")
        @Consumes("application/json")
        public javax.ws.rs.core.Response createReport​(@Context
                                                      javax.servlet.http.HttpServletRequest httpServletRequest,
                                                      @Context
                                                      javax.ws.rs.core.HttpHeaders headers,
                                                      @PathParam("id_report")
                                                      java.lang.String reportId,
                                                      ObjectDescription createObjectDescription)
        Post a new object
        Parameters:
        httpServletRequest - http servlet request to get requester
        headers - http header
        reportId - the id of the object
        createObjectDescription - the object description
        Returns:
        Response
      • getReport

        @Path("/reports/{id_report}")
        @GET
        @Produces({"application/octet-stream","application/zip"})
        public javax.ws.rs.core.Response getReport​(@Context
                                                   javax.ws.rs.core.HttpHeaders headers,
                                                   @PathParam("id_report")
                                                   java.lang.String objectId)
        Get a report
        Parameters:
        headers - http header
        objectId - the id of the object
        Returns:
        the stream
      • getDistributionReport

        @Path("/distributionreports/{id_report}")
        @GET
        @Produces({"application/octet-stream","application/zip"})
        public javax.ws.rs.core.Response getDistributionReport​(@Context
                                                               javax.ws.rs.core.HttpHeaders headers,
                                                               @PathParam("id_report")
                                                               java.lang.String objectId)
        Get a report
        Parameters:
        headers - http header
        objectId - the id of the object
        Returns:
        the stream
      • createManifest

        @Path("/manifests/{id_manifest}")
        @POST
        @Produces("application/json")
        @Consumes("application/json")
        public javax.ws.rs.core.Response createManifest​(@Context
                                                        javax.servlet.http.HttpServletRequest httpServletRequest,
                                                        @Context
                                                        javax.ws.rs.core.HttpHeaders headers,
                                                        @PathParam("id_manifest")
                                                        java.lang.String manifestId,
                                                        ObjectDescription createObjectDescription)
        Post a new object manifest
        Parameters:
        httpServletRequest - http servlet request to get requester
        headers - http header
        manifestId - the id of the object
        createObjectDescription - the object description
        Returns:
        Response
      • getManifest

        @Path("/manifests/{id_manifest}")
        @GET
        @Produces("application/octet-stream")
        public javax.ws.rs.core.Response getManifest​(@Context
                                                     javax.ws.rs.core.HttpHeaders headers,
                                                     @PathParam("id_manifest")
                                                     java.lang.String objectId)
        getManifest stored by ingest operation
        Parameters:
        headers -
        objectId -
        Returns:
        the stream
      • backupStorageAccessLog

        @POST
        @Path("/storage/backup/accesslog")
        @Consumes("application/json")
        @Produces("application/json")
        public javax.ws.rs.core.Response backupStorageAccessLog​(java.util.List<java.lang.Integer> tenants)
        Backup access log
        Parameters:
        tenants - tenant list to backup
        Returns:
        the response with a specific HTTP status
      • backupStorageLog

        @POST
        @Path("/storage/backup")
        @Consumes("application/json")
        @Produces("application/json")
        public javax.ws.rs.core.Response backupStorageLog​(java.util.List<java.lang.Integer> tenants)
        Backup storage log
        Parameters:
        tenants - tenant list to backup
        Returns:
        the response with a specific HTTP status
      • traceabilityStorageLogbook

        @POST
        @Path("/storage/traceability")
        @Consumes("application/json")
        @Produces("application/json")
        public javax.ws.rs.core.Response traceabilityStorageLogbook​(java.util.List<java.lang.Integer> tenants)
        Run storage logbook secure operation
        Parameters:
        tenants - tenant list to secure
        Returns:
        the response with a specific HTTP status
      • createStorageLog

        @Path("/storagelog/{storagelogname}")
        @POST
        @Produces("application/json")
        @Consumes("application/json")
        public javax.ws.rs.core.Response createStorageLog​(@Context
                                                          javax.servlet.http.HttpServletRequest httpServletRequest,
                                                          @Context
                                                          javax.ws.rs.core.HttpHeaders headers,
                                                          @PathParam("storagelogname")
                                                          java.lang.String storageLogname,
                                                          ObjectDescription createObjectDescription)
        Post a new object
        Parameters:
        httpServletRequest - http servlet request to get requester
        headers - http header
        storageLogname - the id of the object
        createObjectDescription - the object description
        Returns:
        Response
      • createStorageAccessLog

        @Path("/storageaccesslog/{storageaccesslogname}")
        @POST
        @Produces("application/json")
        @Consumes("application/json")
        public javax.ws.rs.core.Response createStorageAccessLog​(@Context
                                                                javax.servlet.http.HttpServletRequest httpServletRequest,
                                                                @Context
                                                                javax.ws.rs.core.HttpHeaders headers,
                                                                @PathParam("storageaccesslogname")
                                                                java.lang.String storageAccessLogName,
                                                                ObjectDescription createObjectDescription)
        Post a new accesslog object
        Parameters:
        httpServletRequest - http servlet request to get requester
        headers - http header
        createObjectDescription - the object description
        Returns:
        Response
      • createStorageTraceability

        @Path("/storagetraceability/{storagetraceabilityname}")
        @POST
        @Produces("application/json")
        @Consumes("application/json")
        public javax.ws.rs.core.Response createStorageTraceability​(@Context
                                                                   javax.servlet.http.HttpServletRequest httpServletRequest,
                                                                   @Context
                                                                   javax.ws.rs.core.HttpHeaders headers,
                                                                   @PathParam("storagetraceabilityname")
                                                                   java.lang.String storagetraceabilityname,
                                                                   ObjectDescription createObjectDescription)
        Post a new object
        Parameters:
        httpServletRequest - http servlet request to get requester
        headers - http header
        storagetraceabilityname - storage traceability name
        createObjectDescription - the object description
        Returns:
        Response
      • downloadStorageTraceability

        @Path("/storagetraceability/{storagetraceability_name}")
        @GET
        @Produces({"application/octet-stream","application/zip"})
        public javax.ws.rs.core.Response downloadStorageTraceability​(@Context
                                                                     javax.ws.rs.core.HttpHeaders headers,
                                                                     @PathParam("storagetraceability_name")
                                                                     java.lang.String filename)
        Get a storage traceability file
        Parameters:
        headers - http header
        filename - the id of the object
        Returns:
        the stream
      • createBackupFile

        @Path("/backup/{backupfile}")
        @POST
        @Produces("application/json")
        @Consumes("application/json")
        public javax.ws.rs.core.Response createBackupFile​(@Context
                                                          javax.servlet.http.HttpServletRequest httpServletRequest,
                                                          @Context
                                                          javax.ws.rs.core.HttpHeaders headers,
                                                          @PathParam("backupfile")
                                                          java.lang.String backupfile,
                                                          ObjectDescription createObjectDescription)
        Post a new object
        Parameters:
        httpServletRequest - http servlet request to get requester
        headers - http header
        backupfile - the id of the object
        createObjectDescription - the object description
        Returns:
        Response
      • createRuleFile

        @Path("/rules/{rulefile}")
        @POST
        @Produces("application/json")
        @Consumes("application/json")
        public javax.ws.rs.core.Response createRuleFile​(@Context
                                                        javax.servlet.http.HttpServletRequest httpServletRequest,
                                                        @Context
                                                        javax.ws.rs.core.HttpHeaders headers,
                                                        @PathParam("rulefile")
                                                        java.lang.String ruleFile,
                                                        ObjectDescription createObjectDescription)
        Post a new object
        Parameters:
        httpServletRequest - http servlet request to get requester
        headers - http header
        ruleFile - the id of the object
        createObjectDescription - the object description
        Returns:
        Response
      • getRuleFile

        @Path("/rules/{id_object}")
        @GET
        @Produces("application/octet-stream")
        public javax.ws.rs.core.Response getRuleFile​(@Context
                                                     javax.ws.rs.core.HttpHeaders headers,
                                                     @PathParam("id_object")
                                                     java.lang.String objectId)
      • createUnitGraphFile

        @Path("/unitgraph/{graph_file_name}")
        @POST
        @Produces("application/json")
        @Consumes("application/json")
        public javax.ws.rs.core.Response createUnitGraphFile​(@Context
                                                             javax.servlet.http.HttpServletRequest httpServletRequest,
                                                             @Context
                                                             javax.ws.rs.core.HttpHeaders headers,
                                                             @PathParam("graph_file_name")
                                                             java.lang.String graph_file_name,
                                                             ObjectDescription createObjectDescription)
        Create a new graph zip file
        Parameters:
        httpServletRequest - http servlet request to get requester
        headers - http header
        graph_file_name - the id of the object
        createObjectDescription - the object description
        Returns:
        Response
      • getUnitGraphFile

        @Path("/unitgraph/{graph_file_name}")
        @GET
        @Produces("application/octet-stream")
        public javax.ws.rs.core.Response getUnitGraphFile​(@Context
                                                          javax.ws.rs.core.HttpHeaders headers,
                                                          @PathParam("graph_file_name")
                                                          java.lang.String graph_file_name)
        Get graph zip file
        Parameters:
        headers -
        graph_file_name -
        Returns:
      • createObjectGroupGraphFile

        @Path("/objectgroupgraph/{graph_file_name}")
        @POST
        @Produces("application/json")
        @Consumes("application/json")
        public javax.ws.rs.core.Response createObjectGroupGraphFile​(@Context
                                                                    javax.servlet.http.HttpServletRequest httpServletRequest,
                                                                    @Context
                                                                    javax.ws.rs.core.HttpHeaders headers,
                                                                    @PathParam("graph_file_name")
                                                                    java.lang.String graph_file_name,
                                                                    ObjectDescription createObjectDescription)
        Create a new graph zip file
        Parameters:
        httpServletRequest - http servlet request to get requester
        headers - http header
        graph_file_name - the id of the object
        createObjectDescription - the object description
        Returns:
        Response
      • getObjectGroupGraphFile

        @Path("/objectgroupgraph/{graph_file_name}")
        @GET
        @Produces("application/octet-stream")
        public javax.ws.rs.core.Response getObjectGroupGraphFile​(@Context
                                                                 javax.ws.rs.core.HttpHeaders headers,
                                                                 @PathParam("graph_file_name")
                                                                 java.lang.String graph_file_name)
        Get graph zip file
        Parameters:
        headers -
        graph_file_name -
        Returns:
      • createAgencyFile

        @Path("/agencies/{agencyfile}")
        @POST
        @Produces("application/json")
        @Consumes("application/json")
        public javax.ws.rs.core.Response createAgencyFile​(@Context
                                                          javax.servlet.http.HttpServletRequest httpServletRequest,
                                                          @Context
                                                          javax.ws.rs.core.HttpHeaders headers,
                                                          @PathParam("agencyfile")
                                                          java.lang.String agencyfile,
                                                          ObjectDescription createObjectDescription)
        Post a new object
        Parameters:
        httpServletRequest - http servlet request to get requester
        headers - http header
        agencyfile - the id of the object
        createObjectDescription - the object description
        Returns:
        Response
      • createProfile

        @Path("/profiles/{profile_file_name}")
        @POST
        @Produces("application/json")
        @Consumes("application/json")
        public javax.ws.rs.core.Response createProfile​(@Context
                                                       javax.servlet.http.HttpServletRequest httpServletRequest,
                                                       @Context
                                                       javax.ws.rs.core.HttpHeaders headers,
                                                       @PathParam("profile_file_name")
                                                       java.lang.String profileFileName,
                                                       ObjectDescription createObjectDescription)
        Post a new object
        Parameters:
        httpServletRequest - http servlet request to get requester
        headers - http header
        profileFileName - the id of the object
        createObjectDescription - the object description
        Returns:
        Response
      • downloadProfile

        @Path("/profiles/{profile_file_name}")
        @GET
        @Produces({"application/octet-stream","application/zip"})
        public javax.ws.rs.core.Response downloadProfile​(@Context
                                                         javax.ws.rs.core.HttpHeaders headers,
                                                         @PathParam("profile_file_name")
                                                         java.lang.String profileFileName)
        Get a profile
        Parameters:
        headers - http header
        profileFileName - the id of the object
        Returns:
        the stream
      • createDistributionReportFile

        @Path("/distributionreports/{distributionreportfile}")
        @POST
        @Produces("application/json")
        @Consumes("application/json")
        public javax.ws.rs.core.Response createDistributionReportFile​(@Context
                                                                      javax.servlet.http.HttpServletRequest httpServletRequest,
                                                                      @Context
                                                                      javax.ws.rs.core.HttpHeaders headers,
                                                                      @PathParam("distributionreportfile")
                                                                      java.lang.String distributionreportfile,
                                                                      ObjectDescription createObjectDescription)
        Post a new distribution report file
        Parameters:
        httpServletRequest - http servlet request to get requester
        headers - http header
        distributionreportfile - the id of the object
        createObjectDescription - the object description
        Returns:
        Response
      • createAccessionRegisterDetail

        @Path("/accessionregistersdetail/{fileName}")
        @POST
        @Produces("application/json")
        @Consumes("application/json")
        public javax.ws.rs.core.Response createAccessionRegisterDetail​(@Context
                                                                       javax.servlet.http.HttpServletRequest httpServletRequest,
                                                                       @Context
                                                                       javax.ws.rs.core.HttpHeaders headers,
                                                                       @PathParam("fileName")
                                                                       java.lang.String fileName,
                                                                       ObjectDescription createObjectDescription)
        Post a new unit metadata
        Parameters:
        httpServletRequest - http servlet request to get requester
        headers - http header
        fileName - the file name of the Accession Register Detail
        createObjectDescription - the workspace description of the unit to be created
        Returns:
        Response containing result infos
      • getAccessionRegisterDetail

        @Path("/accessionregistersdetail/{fileName}")
        @GET
        @Produces({"application/octet-stream","application/zip"})
        public javax.ws.rs.core.Response getAccessionRegisterDetail​(@Context
                                                                    javax.ws.rs.core.HttpHeaders headers,
                                                                    @PathParam("fileName")
                                                                    java.lang.String fileName)
        Get an accessionregistersdetail
        Parameters:
        headers - http header
        fileName - the file name of the Accession Register Detail
        Returns:
        the stream
      • createAccessionRegisterSymbolic

        @Path("/accessionregisterssymbolic/{fileName}")
        @POST
        @Produces("application/json")
        @Consumes("application/json")
        public javax.ws.rs.core.Response createAccessionRegisterSymbolic​(@Context
                                                                         javax.servlet.http.HttpServletRequest httpServletRequest,
                                                                         @Context
                                                                         javax.ws.rs.core.HttpHeaders headers,
                                                                         @PathParam("fileName")
                                                                         java.lang.String fileName,
                                                                         ObjectDescription createObjectDescription)
        Post a new unit metadata
        Parameters:
        httpServletRequest - http servlet request to get requester
        headers - http header
        fileName - the file name of the Accession Register Symbolic
        createObjectDescription - the workspace description of the unit to be created
        Returns:
        Response containing result infos
      • getAccessionRegisterSymbolic

        @Path("/accessionregisterssymbolic/{fileName}")
        @GET
        @Produces({"application/octet-stream","application/zip"})
        public javax.ws.rs.core.Response getAccessionRegisterSymbolic​(@Context
                                                                      javax.ws.rs.core.HttpHeaders headers,
                                                                      @PathParam("fileName")
                                                                      java.lang.String fileName)
        Get an accessionregisterssymbolic
        Parameters:
        headers - http header
        fileName - the file name of the Accession Register Symbolic
        Returns:
        the stream
      • bulkCreateFromWorkspace

        @Path("/bulk/{folder}")
        @POST
        @Produces("application/json")
        @Consumes("application/json")
        public javax.ws.rs.core.Response bulkCreateFromWorkspace​(@Context
                                                                 javax.servlet.http.HttpServletRequest httpServletRequest,
                                                                 @Context
                                                                 javax.ws.rs.core.HttpHeaders headers,
                                                                 @PathParam("folder")
                                                                 java.lang.String folder,
                                                                 BulkObjectStoreRequest bulkObjectStoreRequest)
      • getStrategies

        @Path("/strategies")
        @GET
        @Produces("application/json")
        public javax.ws.rs.core.Response getStrategies()
        Get the strategies available in the module
        Returns:
        the strategies
      • createAccessRequestIfRequired

        @POST
        @Path("/access-request/{dataCategory}")
        @Consumes("application/json")
        @Produces("application/json")
        public javax.ws.rs.core.Response createAccessRequestIfRequired​(@PathParam("dataCategory")
                                                                       DataCategory dataCategory,
                                                                       java.util.List<java.lang.String> objectsNames,
                                                                       @Context
                                                                       javax.ws.rs.core.HttpHeaders headers)
        Create access request if target offer does not support synchronous read (tape library storage). If target offer supports synchronous read requests, then no access request is created. HEADER X-Tenant-Id (mandatory) : tenant's identifier HEADER X-Strategy-Id (mandatory) : storage strategy HEADER X-Offer (optional) : offer id. If not specified, referent offer of the strategy is used.
        Parameters:
        objectsNames - objects for which access is requested
        headers - http header
        Returns:
        HTTP 20O-OK with accessRequestId is access request created, HTTP 204-NO_CONTENT if no access request required
      • checkAccessRequestStatuses

        @GET
        @Path("/access-request/statuses")
        @Consumes("application/json")
        @Produces("application/json")
        public javax.ws.rs.core.Response checkAccessRequestStatuses​(java.util.List<java.lang.String> accessRequestIds,
                                                                    @Context
                                                                    javax.ws.rs.core.HttpHeaders headers)
        Check access request statuses of asynchronous offer. HEADER X-Tenant-Id (mandatory) : tenant's identifier HEADER X-Strategy-Id (mandatory) : storage strategy HEADER X-Offer (optional) : offer id. If not specified, referent offer of the strategy is used. HEADER X-Admin-Cross-Tenant-Access-Request-Allowed (mandatory) : when true, removal of access requests of other tenants is allowed from Admin tenant
        Parameters:
        accessRequestIds - accessRequestIds whose status is to be checked
        headers - http header
        Returns:
        HTTP 20O-OK with the AccessRequestStatus for each access request id
      • removeAccessRequest

        @DELETE
        @Path("/access-request/{accessRequestId}")
        @Consumes("application/json")
        @Produces("application/json")
        public javax.ws.rs.core.Response removeAccessRequest​(@PathParam("accessRequestId")
                                                             java.lang.String accessRequestId,
                                                             @Context
                                                             javax.ws.rs.core.HttpHeaders headers)
        Remove access request from asynchronous offer. HEADER X-Tenant-Id (mandatory) : tenant's identifier HEADER X-Strategy-Id (mandatory) : storage strategy HEADER X-Offer (optional) : offer id. If not specified, referent offer of the strategy is used. HEADER X-Admin-Cross-Tenant-Access-Request-Allowed (mandatory) : when true, access to access requests of other tenants is allowed from Admin tenant
        Parameters:
        accessRequestId - the accessRequestId to be removed
        headers - http header
        Returns:
        HTTP 20O-OK with the AccessRequestStatus for each access request id
      • checkObjectAvailability

        @GET
        @Path("/object-availability-check/{dataCategory}")
        @Consumes("application/json")
        @Produces("application/json")
        public javax.ws.rs.core.Response checkObjectAvailability​(@PathParam("dataCategory")
                                                                 DataCategory dataCategory,
                                                                 java.util.List<java.lang.String> objectsNames,
                                                                 @Context
                                                                 javax.ws.rs.core.HttpHeaders headers)
        Bulk check of immediate object availability in offer If target offer supports synchronous read requests, objects can be read immediately. If target offer does not support synchronous read requests (tape library storage), request is forwarded to the offer for effective check. HEADER X-Tenant-Id (mandatory) : tenant's identifier HEADER X-Strategy-Id (mandatory) : storage strategy HEADER X-Offer (optional) : offer id. If not specified, referent offer of the strategy is used.
        Parameters:
        objectsNames - objects for which access is requested
        headers - http header
        Returns:
        HTTP 20O-OK with availability status
      • launchOfferLogCompaction

        @POST
        @Path("/compaction")
        @Consumes("application/json")
        public void launchOfferLogCompaction​(java.lang.String offerId,
                                             @Context
                                             javax.ws.rs.core.HttpHeaders headers)
                                      throws StorageException
        Throws:
        StorageException
      • close

        public void close()
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface VitamAutoCloseable