Class AccessExternalResource

    • Method Summary

      All Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      javax.ws.rs.core.Response bulkAtomicUpdateUnits​(com.fasterxml.jackson.databind.JsonNode updateQueriesJson)
      Bulk atomic update of archive units with json queries.
      javax.ws.rs.core.Response checkAccessRequestStatuses​(java.util.List<AccessRequestReference> accessRequestReferences)
      Bulk check of the status of a set of Access Requests.
      javax.ws.rs.core.Response createObjectAccessRequestByUnitId​(javax.ws.rs.core.HttpHeaders headers, java.lang.String unitId)
      Create an access request for accessing the object of an archive unit stored on an async storage offer (tape storage offer) Access requests for objects stored on non-asynchronous storage offers does NOT require Access Request creation.
      javax.ws.rs.core.Response deleteComputeInheritedRules​(com.fasterxml.jackson.databind.JsonNode dslQuery)  
      javax.ws.rs.core.Response deleteGotVersions​(DeleteGotVersionsRequest deleteGotVersionsRequest)  
      javax.ws.rs.core.Response exportDIP​(com.fasterxml.jackson.databind.JsonNode queryJson)
      get a DIP by dsl query
      javax.ws.rs.core.Response findExportByID​(java.lang.String id)  
      javax.ws.rs.core.Response findTransferByID​(java.lang.String id)  
      javax.ws.rs.core.Response getAccessLog​(com.fasterxml.jackson.databind.JsonNode params)  
      javax.ws.rs.core.Response getDataObjectByObjectPersistentIdentifier​(javax.ws.rs.core.HttpHeaders headers, java.lang.String persistentIdentifier)
      The caller is responsible to close the Response after consuming the inputStream.
      javax.ws.rs.core.Response getDataObjectByUnitId​(javax.ws.rs.core.HttpHeaders headers, java.lang.String unitId)
      The caller is responsible to close the Response after consuming the inputStream.
      javax.ws.rs.core.Response getDataObjectByUnitPersistentIdentifier​(javax.ws.rs.core.HttpHeaders headers, java.lang.String persistentIdentifier, java.lang.String qualifier, java.lang.Integer version)
      The caller is responsible to close the Response after consuming the inputStream.
      javax.ws.rs.core.Response getObjectGroupMetadataByUnitId​(javax.ws.rs.core.HttpHeaders headers, java.lang.String unitId, com.fasterxml.jackson.databind.JsonNode queryJson)
      Retrieve Object group list by query based on identifier of the unit
      javax.ws.rs.core.Response getObjects​(com.fasterxml.jackson.databind.JsonNode queryJson)
      get Objects group list based on DSL query
      javax.ws.rs.core.Response getObjectsByPersistentIdentifier​(java.lang.String persistentIdentifier, com.fasterxml.jackson.databind.JsonNode queryJson)
      get Objects list based on persistent identifier
      javax.ws.rs.core.Response getUnitById​(com.fasterxml.jackson.databind.JsonNode queryJson, java.lang.String idUnit)
      get units list by query based on identifier
      javax.ws.rs.core.Response getUnitByPersistentIdentifier​(java.lang.String persistentIdentifier, com.fasterxml.jackson.databind.JsonNode queryJson)
      Retrieve archive units by unit persistent identifier
      javax.ws.rs.core.Response getUnits​(com.fasterxml.jackson.databind.JsonNode queryJson)
      get units list by query
      javax.ws.rs.core.Response listResourceEndpoints()
      List secured resource end points
      javax.ws.rs.core.Response massUpdateUnits​(com.fasterxml.jackson.databind.JsonNode queryJson)
      Mass update of archive units with json query.
      javax.ws.rs.core.Response massUpdateUnitsRules​(MassUpdateUnitRuleRequest massUpdateUnitRuleRequest)
      Mass update of archive units rules with json request.
      javax.ws.rs.core.Response reclassification​(com.fasterxml.jackson.databind.JsonNode queryJson)
      Performs a reclassification workflow.
      javax.ws.rs.core.Response removeAccessRequest​(AccessRequestReference accessRequestReference)
      Removes an Access Request from an async storage offer (tape storage offer) After removing an Access Request, object in not more guaranteed to be accessible for download.
      javax.ws.rs.core.Response revertUpdateUnits​(RevertUpdateOptions revertUpdateOptions)
      Revert an update of archive units with json query.
      javax.ws.rs.core.Response selectUnitsWithInheritedRules​(com.fasterxml.jackson.databind.JsonNode queryJson)
      Select units with inherited rules
      javax.ws.rs.core.Response startComputeInheritedRules​(com.fasterxml.jackson.databind.JsonNode dslQuery)  
      javax.ws.rs.core.Response startEliminationAction​(EliminationRequestBody eliminationRequestBody)
      Performs an elimination action workflow.
      javax.ws.rs.core.Response startEliminationAnalysis​(EliminationRequestBody eliminationRequestBody)
      Performs an elimination analysis workflow.
      javax.ws.rs.core.Response startPreservation​(PreservationRequest preservationRequest)  
      javax.ws.rs.core.Response streamObjects​(com.fasterxml.jackson.databind.JsonNode queryJson)
      get objects list by query
      javax.ws.rs.core.Response streamUnits​(com.fasterxml.jackson.databind.JsonNode queryJson)
      get units list by query
      javax.ws.rs.core.Response transfer​(TransferRequest transferRequest)  
      javax.ws.rs.core.Response transferReply​(java.io.InputStream transferReply)  
      javax.ws.rs.core.Response updateUnitById​(com.fasterxml.jackson.databind.JsonNode queryJson, java.lang.String idUnit)
      Deprecated.
      This Method is no longer maintained and is no longer acceptable for updating units.
      • Methods inherited from class java.lang.Object

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

      • DATA_OBJECT_VERSION

        public static final java.lang.String DATA_OBJECT_VERSION
        See Also:
        Constant Field Values
    • Method Detail

      • listResourceEndpoints

        @Path("/")
        @OPTIONS
        @Produces("application/json")
        public javax.ws.rs.core.Response listResourceEndpoints()
        List secured resource end points
        Returns:
        response
      • getUnits

        @GET
        @Path("/units")
        @Consumes("application/json")
        @Produces("application/json")
        public javax.ws.rs.core.Response getUnits​(com.fasterxml.jackson.databind.JsonNode queryJson)
        get units list by query
        Parameters:
        queryJson - the query to get units
        Returns:
        Response
      • getUnitByPersistentIdentifier

        @GET
        @Path("/units/byunitspersistentidentifier/{persistentIdentifier:.+}")
        @Produces("application/json")
        @Consumes("application/json")
        public javax.ws.rs.core.Response getUnitByPersistentIdentifier​(@PathParam("persistentIdentifier")
                                                                       java.lang.String persistentIdentifier,
                                                                       com.fasterxml.jackson.databind.JsonNode queryJson)
        Retrieve archive units by unit persistent identifier
        Parameters:
        persistentIdentifier - Persistent Identifier value, the name should be persistentIdentifier to accept the custom validation, otherwise, ark format identifier will not be accepted
        queryJson - the query to get object
        Returns:
        response
      • streamUnits

        @GET
        @Path("/units/stream")
        @Consumes("application/json")
        @Produces("application/octet-stream")
        public javax.ws.rs.core.Response streamUnits​(com.fasterxml.jackson.databind.JsonNode queryJson)
        get units list by query
        Parameters:
        queryJson - the query to get units
        Returns:
        Response
      • streamObjects

        @GET
        @Path("/objects/stream")
        @Consumes("application/json")
        @Produces("application/octet-stream")
        public javax.ws.rs.core.Response streamObjects​(com.fasterxml.jackson.databind.JsonNode queryJson)
        get objects list by query
        Parameters:
        queryJson - the query to get objects
        Returns:
        Response
      • exportDIP

        @POST
        @Path("/dipexport")
        @Consumes("application/json")
        @Produces("application/json")
        public javax.ws.rs.core.Response exportDIP​(com.fasterxml.jackson.databind.JsonNode queryJson)
        get a DIP by dsl query
        Parameters:
        queryJson - the query to get units
        Returns:
        Response
      • transfer

        @POST
        @Path("/transfers")
        @Consumes("application/json")
        @Produces("application/json")
        public javax.ws.rs.core.Response transfer​(TransferRequest transferRequest)
      • transferReply

        @POST
        @Path("/transfers/reply")
        @Consumes("application/xml")
        @Produces("application/json")
        public javax.ws.rs.core.Response transferReply​(java.io.InputStream transferReply)
      • findTransferByID

        @GET
        @Path("/transfers/{id}/sip")
        @Produces("application/octet-stream")
        public javax.ws.rs.core.Response findTransferByID​(@PathParam("id")
                                                          java.lang.String id)
      • reclassification

        @POST
        @Path("/reclassification")
        @Consumes("application/json")
        @Produces("application/json")
        public javax.ws.rs.core.Response reclassification​(com.fasterxml.jackson.databind.JsonNode queryJson)
        Performs a reclassification workflow.
        Parameters:
        queryJson - List of reclassification DSL queries.
        Returns:
        Response
      • startEliminationAnalysis

        @POST
        @Path("/elimination/analysis")
        @Consumes("application/json")
        @Produces("application/json")
        public javax.ws.rs.core.Response startEliminationAnalysis​(EliminationRequestBody eliminationRequestBody)
        Performs an elimination analysis workflow.
        Parameters:
        eliminationRequestBody - object that contain dsl request and a given date.
        Returns:
        Response
      • startEliminationAction

        @POST
        @Path("/elimination/action")
        @Consumes("application/json")
        @Produces("application/json")
        public javax.ws.rs.core.Response startEliminationAction​(EliminationRequestBody eliminationRequestBody)
        Performs an elimination action workflow.
        Parameters:
        eliminationRequestBody - object that contain dsl request and a given date.
        Returns:
        Response
      • findExportByID

        @GET
        @Path("/dipexport/{id}/dip")
        @Produces("application/octet-stream")
        public javax.ws.rs.core.Response findExportByID​(@PathParam("id")
                                                        java.lang.String id)
        Parameters:
        id - operationId correponding to the current dip
        Returns:
        Response
      • getUnitById

        @GET
        @Path("/units/{idu}")
        @Consumes("application/json")
        @Produces("application/json")
        public javax.ws.rs.core.Response getUnitById​(com.fasterxml.jackson.databind.JsonNode queryJson,
                                                     @PathParam("idu")
                                                     java.lang.String idUnit)
        get units list by query based on identifier
        Parameters:
        queryJson - query as String
        idUnit - the id of archive unit to get
        Returns:
        Archive Unit
      • updateUnitById

        @Deprecated
        @PUT
        @Path("/units/{idu}")
        @Consumes("application/json")
        @Produces("application/json")
        public javax.ws.rs.core.Response updateUnitById​(com.fasterxml.jackson.databind.JsonNode queryJson,
                                                        @PathParam("idu")
                                                        java.lang.String idUnit)
        Deprecated.
        This Method is no longer maintained and is no longer acceptable for updating units.

        Use massUpdateUnits(JsonNode) or massUpdateUnitsRules(MassUpdateUnitRuleRequest) instead.

        Update archive units by Id with Json query
        Parameters:
        queryJson - the update query (null not allowed)
        idUnit - units identifier
        Returns:
        a archive unit result list
      • getObjectGroupMetadataByUnitId

        @GET
        @Path("/units/{idu}/objects")
        @Consumes("application/json")
        @Produces("application/json")
        public javax.ws.rs.core.Response getObjectGroupMetadataByUnitId​(@Context
                                                                        javax.ws.rs.core.HttpHeaders headers,
                                                                        @PathParam("idu")
                                                                        java.lang.String unitId,
                                                                        com.fasterxml.jackson.databind.JsonNode queryJson)
        Retrieve Object group list by query based on identifier of the unit
        Parameters:
        headers - the http header defined parameters of request
        unitId - the id of archive unit
        queryJson - the query to get object
        Returns:
        Response
      • getDataObjectByUnitId

        @GET
        @Path("/units/{idu}/objects")
        @Consumes("application/json")
        @Produces("application/octet-stream")
        public javax.ws.rs.core.Response getDataObjectByUnitId​(@Context
                                                               javax.ws.rs.core.HttpHeaders headers,
                                                               @PathParam("idu")
                                                               java.lang.String unitId)
        The caller is responsible to close the Response after consuming the inputStream.
        Parameters:
        headers - the http header defined parameters of request. Headers X-Qualifier and X-Version must be defined with target object qualifier and version in the object group container associated with the unit.
        unitId - the id of archive unit
        Returns:
        object content as response body stream with HTTP 200 when OK, HTTP 404 when object not found, HTTP 460 when object is not available for immediate access and requires Access Request. HTTP 40X / 50X on error.
      • getDataObjectByUnitPersistentIdentifier

        @GET
        @Path("/objects/byunitspersistentidentifier/{persistentIdentifier:.+}")
        @Produces("application/octet-stream")
        public javax.ws.rs.core.Response getDataObjectByUnitPersistentIdentifier​(@Context
                                                                                 javax.ws.rs.core.HttpHeaders headers,
                                                                                 @PathParam("persistentIdentifier")
                                                                                 java.lang.String persistentIdentifier,
                                                                                 @DefaultValue("BinaryMaster") @QueryParam("qualifier")
                                                                                 java.lang.String qualifier,
                                                                                 @DefaultValue("1") @QueryParam("version")
                                                                                 java.lang.Integer version)
        The caller is responsible to close the Response after consuming the inputStream.
        Parameters:
        persistentIdentifier - unit Persistent Identifier
        qualifier - the qualifier, not mondatory, default value BinaryMaster
        version - the version, not mondatory, default value 1
        headers - the http header defined parameters of request. Headers X-Qualifier and X-Version must be defined with target object qualifier and version in the object group container associated with the unit.
        Returns:
        object content as response body stream with HTTP 200 when OK, HTTP 404 when object not found, HTTP 460 when object is not available for immediate access and requires Access Request. HTTP 40X / 50X on error.
      • getDataObjectByObjectPersistentIdentifier

        @GET
        @Path("/objects/byobjectspersistentidentifier/{persistentIdentifier:.+}")
        @Produces("application/octet-stream")
        public javax.ws.rs.core.Response getDataObjectByObjectPersistentIdentifier​(@Context
                                                                                   javax.ws.rs.core.HttpHeaders headers,
                                                                                   @PathParam("persistentIdentifier")
                                                                                   java.lang.String persistentIdentifier)
        The caller is responsible to close the Response after consuming the inputStream.
        Parameters:
        headers - the http header defined parameters of request. Headers X-Qualifier and X-Version must be defined with target object qualifier and version in the object group container associated with the unit.
        persistentIdentifier - object Persistent Identifier value
        Returns:
        object content as response body stream with HTTP 200 when OK, HTTP 404 when object not found, HTTP 460 when object is not available for immediate access and requires Access Request. HTTP 40X / 50X on error.
      • getObjectsByPersistentIdentifier

        @GET
        @Path("/objects/byobjectspersistentidentifier/{persistentIdentifier:.+}")
        @Produces("application/json")
        public javax.ws.rs.core.Response getObjectsByPersistentIdentifier​(@PathParam("persistentIdentifier")
                                                                          java.lang.String persistentIdentifier,
                                                                          com.fasterxml.jackson.databind.JsonNode queryJson)
        get Objects list based on persistent identifier
        Parameters:
        persistentIdentifier - the persistent identifier to get Object
        Returns:
        Response
      • createObjectAccessRequestByUnitId

        @POST
        @Path("/units/{idu}/objects/accessRequests")
        @Consumes("application/json")
        @Produces("application/json")
        public javax.ws.rs.core.Response createObjectAccessRequestByUnitId​(@Context
                                                                           javax.ws.rs.core.HttpHeaders headers,
                                                                           @PathParam("idu")
                                                                           java.lang.String unitId)
        Create an access request for accessing the object of an archive unit stored on an async storage offer (tape storage offer) Access requests for objects stored on non-asynchronous storage offers does NOT require Access Request creation. The status of returned Access Requests should be monitoring periodically (typically every few minutes) to check the availability of data. Once an Access Request status is AccessRequestStatus.READY, the data can be downloaded within the Access Request expiration delay defined in the tape storage offer configuration by the administrator. CAUTION : After successful download of object, caller SHOULD remove the Access Request to free up disk resources on tape storage offer.
        Parameters:
        headers - the http header defined parameters of request. Headers X-Qualifier and X-Version must be defined with target object qualifier and version in the object group container associated with the unit.
        unitId - the id of archive unit
        Returns:
        HTTP 200 with RequestResponse body with an AccessRequestReference entry when Access Request created, or an RequestResponse when no Access Request required (synchronous storage offer). HTTP 404 when not found. HTTP 40X / 50X on error.
      • checkAccessRequestStatuses

        @GET
        @Path("/accessRequests/")
        @Consumes("application/json")
        @Produces("application/json")
        public javax.ws.rs.core.Response checkAccessRequestStatuses​(java.util.List<AccessRequestReference> accessRequestReferences)
        Bulk check of the status of a set of Access Requests. Once Access Request status is AccessRequestStatus.READY, the object is guaranteed to be available for download within the Access Request expiration delay defined in the tape storage offer configuration by the administrator. Access Requests are only visible within their tenant. Attempts to check status of Access Requests of another tenant will return a AccessRequestStatus.NOT_FOUND. Attempts to check an Access Request status for a non-asynchronous storage offer (tape storage offer) causes an HTTP 406 Not-Acceptable error code.
        Parameters:
        accessRequestReferences - the Access Requests whose status is to be checked
        Returns:
        HTTP 200 with a RequestResponse of StatusByAccessRequest entries, one per AccessRequestReference. HTTP 40X / 50X on error.
      • removeAccessRequest

        @DELETE
        @Path("/accessRequests/")
        @Consumes("application/json")
        @Produces("application/json")
        public javax.ws.rs.core.Response removeAccessRequest​(AccessRequestReference accessRequestReference)
        Removes an Access Request from an async storage offer (tape storage offer) After removing an Access Request, object in not more guaranteed to be accessible for download. Attempts to remove an Access Request from a non-asynchronous storage offer causes an HTTP 406 Not-Acceptable error code. Attempts to remove an already removed Access Request does NOT fail (idempotency). Access Requests are only visible within their tenant. Attempts to remove an Access Request of another tenant does NOT delete access request.
        Parameters:
        accessRequestReference - the access request to remove
        Returns:
        HTTP 200 on success or in case of Access Request not found (already removed, purged after timeout, non-visible from current tenant). HTTP 40x / 50x on error.
      • massUpdateUnits

        @POST
        @Path("/units")
        @Consumes("application/json")
        @Produces("application/json")
        public javax.ws.rs.core.Response massUpdateUnits​(com.fasterxml.jackson.databind.JsonNode queryJson)
        Mass update of archive units with json query.
        Parameters:
        queryJson - the mass_update query (null not allowed)
        Returns:
      • revertUpdateUnits

        @POST
        @Path("/revert/units")
        @Consumes("application/json")
        @Produces("application/json")
        public javax.ws.rs.core.Response revertUpdateUnits​(RevertUpdateOptions revertUpdateOptions)
        Revert an update of archive units with json query.
        Parameters:
        revertUpdateOptions - the revert_update query (null not allowed)
      • massUpdateUnitsRules

        @POST
        @Path("/units/rules")
        @Consumes("application/json")
        @Produces("application/json")
        public javax.ws.rs.core.Response massUpdateUnitsRules​(MassUpdateUnitRuleRequest massUpdateUnitRuleRequest)
        Mass update of archive units rules with json request.
        Parameters:
        massUpdateUnitRuleRequest - the mass update rules request (null not allowed)
        Returns:
      • bulkAtomicUpdateUnits

        @POST
        @Path("/units/bulk")
        @Consumes("application/json")
        @Produces("application/json")
        public javax.ws.rs.core.Response bulkAtomicUpdateUnits​(com.fasterxml.jackson.databind.JsonNode updateQueriesJson)
        Bulk atomic update of archive units with json queries.
        Parameters:
        updateQueriesJson - the bulk update queries (null not allowed)
        Returns:
      • startComputeInheritedRules

        @Path("/units/computedInheritedRules")
        @POST
        @Consumes("application/json")
        @Produces("application/json")
        public javax.ws.rs.core.Response startComputeInheritedRules​(com.fasterxml.jackson.databind.JsonNode dslQuery)
      • deleteComputeInheritedRules

        @Path("/units/computedInheritedRules")
        @DELETE
        @Consumes("application/json")
        @Produces("application/json")
        public javax.ws.rs.core.Response deleteComputeInheritedRules​(com.fasterxml.jackson.databind.JsonNode dslQuery)
      • selectUnitsWithInheritedRules

        @GET
        @Path("/unitsWithInheritedRules")
        @Consumes("application/json")
        @Produces("application/json")
        public javax.ws.rs.core.Response selectUnitsWithInheritedRules​(com.fasterxml.jackson.databind.JsonNode queryJson)
        Select units with inherited rules
        Parameters:
        queryJson - the query to get units
        Returns:
        Response
      • getObjects

        @GET
        @Path("/objects")
        @Consumes("application/json")
        @Produces("application/json")
        public javax.ws.rs.core.Response getObjects​(com.fasterxml.jackson.databind.JsonNode queryJson)
        get Objects group list based on DSL query
        Parameters:
        queryJson - the query to get units
        Returns:
        Response
      • getAccessLog

        @Path("/storageaccesslog")
        @GET
        @Consumes("application/json")
        @Produces("application/octet-stream")
        public javax.ws.rs.core.Response getAccessLog​(com.fasterxml.jackson.databind.JsonNode params)
      • startPreservation

        @Path("/preservation")
        @POST
        @Consumes("application/json")
        @Produces("application/json")
        public javax.ws.rs.core.Response startPreservation​(PreservationRequest preservationRequest)
      • deleteGotVersions

        @Path("/deleteGotVersions")
        @POST
        @Consumes("application/json")
        @Produces("application/json")
        public javax.ws.rs.core.Response deleteGotVersions​(DeleteGotVersionsRequest deleteGotVersionsRequest)