Class StorageResource

All Implemented Interfaces:
VitamAutoCloseable, AutoCloseable

@Path("/storage/v1") public class StorageResource extends ApplicationStatusResource implements VitamAutoCloseable
  • Field Summary

    Fields inherited from class fr.gouv.vitam.common.server.application.resources.ApplicationStatusResource

    STATUS_URL, TENANTS_URL
  • Method Summary

    Modifier and Type
    Method
    Description
    javax.ws.rs.core.Response
    Backup access log
    javax.ws.rs.core.Response
    Backup storage log
    javax.ws.rs.core.Response
    bulkCreateFromWorkspace(javax.servlet.http.HttpServletRequest httpServletRequest, javax.ws.rs.core.HttpHeaders headers, String folder, BulkObjectStoreRequest bulkObjectStoreRequest)
     
    javax.ws.rs.core.Response
    checkAccessRequestStatuses(List<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, String objectId)
    Check the existence of an object
    javax.ws.rs.core.Response
    checkObjectAvailability(DataCategory dataCategory, List<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
     
    javax.ws.rs.core.Response
    copy(javax.servlet.http.HttpServletRequest httpServletRequest, javax.ws.rs.core.HttpHeaders headers, String objectId)
     
    javax.ws.rs.core.Response
    create(javax.servlet.http.HttpServletRequest httpServletRequest, javax.ws.rs.core.HttpHeaders headers, String operationId, InputStream inputStream)
    Post a new backup operation
    javax.ws.rs.core.Response
    createAccessionRegisterDetail(javax.servlet.http.HttpServletRequest httpServletRequest, javax.ws.rs.core.HttpHeaders headers, 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, String fileName, ObjectDescription createObjectDescription)
    Post a new unit metadata
    javax.ws.rs.core.Response
    createAccessRequestIfRequired(DataCategory dataCategory, List<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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, String objectId)
    Delete an object
    javax.ws.rs.core.Response
    downloadProfile(javax.ws.rs.core.HttpHeaders headers, String profileFileName)
    Get a profile
    javax.ws.rs.core.Response
    downloadStorageTraceability(javax.ws.rs.core.HttpHeaders headers, String filename)
    Get a storage traceability file
    javax.ws.rs.core.Response
    getAccessionRegisterDetail(javax.ws.rs.core.HttpHeaders headers, String fileName)
    Get an accessionregistersdetail
    javax.ws.rs.core.Response
    getAccessionRegisterSymbolic(javax.ws.rs.core.HttpHeaders headers, String fileName)
    Get an accessionregisterssymbolic
    javax.ws.rs.core.Response
    getAccessLogFile(javax.ws.rs.core.HttpHeaders headers, String storageAccessLogFile)
    Get access log data.
    javax.ws.rs.core.Response
    getBackupFile(javax.ws.rs.core.HttpHeaders headers, String backupfile)
    Get colection data.
    javax.ws.rs.core.Response
    getBackupOperation(javax.ws.rs.core.HttpHeaders headers, String operationId)
    Get a backup operation
    javax.ws.rs.core.Response
    getBatchObjectInformation(javax.ws.rs.core.HttpHeaders headers, String typeStr, List<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, String objectId)
    Get a report
    javax.ws.rs.core.Response
    getInformation(javax.ws.rs.core.HttpHeaders headers, String typeStr, 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, String objectId)
     
    javax.ws.rs.core.Response
    getManifest(javax.ws.rs.core.HttpHeaders headers, String objectId)
    getManifest stored by ingest operation
    javax.ws.rs.core.Response
    getObject(javax.ws.rs.core.HttpHeaders headers, String objectId, AccessLogInfoModel logInfo)
    Get an object data
    javax.ws.rs.core.Response
    getObjectGroup(javax.ws.rs.core.HttpHeaders headers, String metadataId)
    Get a Object Group
    javax.ws.rs.core.Response
    getObjectGroupGraphFile(javax.ws.rs.core.HttpHeaders headers, 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(String strategyId)
     
    javax.ws.rs.core.Response
    Get referent Offer in strategy
    javax.ws.rs.core.Response
    getReport(javax.ws.rs.core.HttpHeaders headers, String objectId)
    Get a report
    javax.ws.rs.core.Response
    getRuleFile(javax.ws.rs.core.HttpHeaders headers, 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, String storageAccessLogFile)
    Get access log data.
    javax.ws.rs.core.Response
    Get the strategies available in the module
    javax.ws.rs.core.Response
    getTemporaryFile(javax.ws.rs.core.HttpHeaders headers, String file_name)
     
    javax.ws.rs.core.Response
    getUnit(javax.ws.rs.core.HttpHeaders headers, String unitId)
    Get a unit
    javax.ws.rs.core.Response
    getUnitGraphFile(javax.ws.rs.core.HttpHeaders headers, String graph_file_name)
    Get graph zip file
    void
    launchOfferLogCompaction(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(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, String id, ObjectDescription description)
     
    javax.ws.rs.core.Response
    storeTemporaryFile(javax.servlet.http.HttpServletRequest httpServletRequest, javax.ws.rs.core.HttpHeaders headers, String id, ObjectDescription description)
     
    javax.ws.rs.core.Response
    Run storage logbook secure operation

    Methods inherited from class fr.gouv.vitam.common.server.application.resources.ApplicationStatusResource

    getServerTenants, status

    Methods inherited from class java.lang.Object

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

    • 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") 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") String operationId, 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") String typeStr, @PathParam("id_object") 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") String typeStr, List<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") 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") 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") 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") 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") 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") 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") 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") 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") 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") 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") 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") 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") 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") 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") 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") 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") 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") 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") 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") 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") 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") 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") 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") 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") 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(List<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(List<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(List<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") 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") 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") 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") 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") 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") 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") 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") 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") 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") 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") 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") 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") 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") 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") 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") 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") 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") 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") 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") 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, List<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(List<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") 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, List<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(String offerId, @Context javax.ws.rs.core.HttpHeaders headers) throws StorageException
      Throws:
      StorageException
    • close

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