Class StorageResource
- java.lang.Object
-
- fr.gouv.vitam.common.server.application.resources.ApplicationStatusResource
-
- fr.gouv.vitam.storage.engine.server.rest.StorageResource
-
- All Implemented Interfaces:
VitamAutoCloseable
,java.lang.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
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 logjavax.ws.rs.core.Response
backupStorageLog(java.util.List<java.lang.Integer> tenants)
Backup storage logjavax.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 objectjavax.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 operationjavax.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 metadatajavax.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 metadatajavax.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 objectjavax.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 objectjavax.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 filejavax.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 objectjavax.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 manifestjavax.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 objectjavax.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 metadatajavax.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 filejavax.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 operationjavax.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 objectjavax.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 objectjavax.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 objectjavax.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 objectjavax.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 objectjavax.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 objectjavax.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 filejavax.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 metadatajavax.ws.rs.core.Response
deleteObject(javax.servlet.http.HttpServletRequest httpServletRequest, javax.ws.rs.core.HttpHeaders headers, java.lang.String objectId)
Delete an objectjavax.ws.rs.core.Response
downloadProfile(javax.ws.rs.core.HttpHeaders headers, java.lang.String profileFileName)
Get a profilejavax.ws.rs.core.Response
downloadStorageTraceability(javax.ws.rs.core.HttpHeaders headers, java.lang.String filename)
Get a storage traceability filejavax.ws.rs.core.Response
getAccessionRegisterDetail(javax.ws.rs.core.HttpHeaders headers, java.lang.String fileName)
Get an accessionregistersdetailjavax.ws.rs.core.Response
getAccessionRegisterSymbolic(javax.ws.rs.core.HttpHeaders headers, java.lang.String fileName)
Get an accessionregisterssymbolicjavax.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 operationjavax.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 reportjavax.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 operationjavax.ws.rs.core.Response
getObject(javax.ws.rs.core.HttpHeaders headers, java.lang.String objectId, AccessLogInfoModel logInfo)
Get an object datajavax.ws.rs.core.Response
getObjectGroup(javax.ws.rs.core.HttpHeaders headers, java.lang.String metadataId)
Get a Object Groupjavax.ws.rs.core.Response
getObjectGroupGraphFile(javax.ws.rs.core.HttpHeaders headers, java.lang.String graph_file_name)
Get graph zip filejavax.ws.rs.core.Response
getOfferLogs(javax.ws.rs.core.HttpHeaders headers, DataCategory type, OfferLogRequest offerLogRequest)
Get offer log from referent offerjavax.ws.rs.core.Response
getOffers(java.lang.String strategyId)
javax.ws.rs.core.Response
getReferentOffer(java.lang.String strategyId)
Get referent Offer in strategyjavax.ws.rs.core.Response
getReport(javax.ws.rs.core.HttpHeaders headers, java.lang.String objectId)
Get a reportjavax.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 spacejavax.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 modulejavax.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 unitjavax.ws.rs.core.Response
getUnitGraphFile(javax.ws.rs.core.HttpHeaders headers, java.lang.String graph_file_name)
Get graph zip filevoid
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 typejavax.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 fr.gouv.vitam.common.server.application.resources.ApplicationStatusResource
getServerTenants, status
-
-
-
-
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 requesterheaders
- http headeroperationId
- the id of the operationinputStream
- 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 headertype
- 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 listofferLogRequest
- 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 headerobjectId
- 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 headerobjectIds
- 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 headerobjectId
- 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
- headersbackupfile
- 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 requesterheaders
- http headerobjectId
- the id of the objectcreateObjectDescription
- 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 requesterheaders
- http headeroperationId
- the id of the operationcreateObjectDescription
- 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
- headersstorageAccessLogFile
- 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
- headersstorageAccessLogFile
- 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 headeroperationId
- 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 headerobjectId
- 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 headerobjectId
- 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 headerobjectId
- 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 requesterheaders
- http headerlogbookId
- the id of the logbookIdcreateObjectDescription
- 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 headerunitId
- 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 requesterheaders
- http headermetadataId
- the id of the unit metadatacreateObjectDescription
- 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 GroupNote : this is NOT to be handled in item #72.
- Parameters:
headers
- http headermetadataId
- 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 requesterheaders
- http headermetadataId
- the id of the Object Group metadatacreateObjectDescription
- 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 requesterheaders
- http headerreportId
- the id of the objectcreateObjectDescription
- 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 headerobjectId
- 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 headerobjectId
- 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 requesterheaders
- http headermanifestId
- the id of the objectcreateObjectDescription
- 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 requesterheaders
- http headerstorageLogname
- the id of the objectcreateObjectDescription
- 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 requesterheaders
- http headercreateObjectDescription
- 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 requesterheaders
- http headerstoragetraceabilityname
- storage traceability namecreateObjectDescription
- 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 headerfilename
- 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 requesterheaders
- http headerbackupfile
- the id of the objectcreateObjectDescription
- 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 requesterheaders
- http headerruleFile
- the id of the objectcreateObjectDescription
- 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 requesterheaders
- http headergraph_file_name
- the id of the objectcreateObjectDescription
- 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 requesterheaders
- http headergraph_file_name
- the id of the objectcreateObjectDescription
- 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 requesterheaders
- http headeragencyfile
- the id of the objectcreateObjectDescription
- 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 requesterheaders
- http headerprofileFileName
- the id of the objectcreateObjectDescription
- 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 headerprofileFileName
- 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 requesterheaders
- http headerdistributionreportfile
- the id of the objectcreateObjectDescription
- 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 requesterheaders
- http headerfileName
- the file name of the Accession Register DetailcreateObjectDescription
- 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 headerfileName
- 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 requesterheaders
- http headerfileName
- the file name of the Accession Register SymboliccreateObjectDescription
- 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 headerfileName
- 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 requestedheaders
- 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) : whentrue
, removal of access requests of other tenants is allowed from Admin tenant- Parameters:
accessRequestIds
- accessRequestIds whose status is to be checkedheaders
- 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) : whentrue
, access to access requests of other tenants is allowed from Admin tenant- Parameters:
accessRequestId
- the accessRequestId to be removedheaders
- 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 requestedheaders
- 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 interfacejava.lang.AutoCloseable
- Specified by:
close
in interfaceVitamAutoCloseable
-
-