Package org.fcrepo.persistence.ocfl.impl
Class OverwriteRdfTombstonePersister
java.lang.Object
org.fcrepo.persistence.ocfl.impl.OverwriteRdfTombstonePersister
- All Implemented Interfaces:
Persister
Persistence for overwriting tombstones of an RDFSource
- Author:
- mikejritter
-
Field Summary
Fields -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedConstructor -
Method Summary
Modifier and TypeMethodDescriptionprotected org.fcrepo.persistence.common.ResourceHeadersImplcreateCommonHeaders(org.fcrepo.storage.ocfl.OcflObjectSession session, org.fcrepo.kernel.api.operations.ResourceOperation operation, boolean isResourceRoot, org.fcrepo.kernel.api.identifiers.FedoraId archivalGroupId) protected Optional<org.fcrepo.kernel.api.identifiers.FedoraId> findArchivalGroupInAncestry(org.fcrepo.kernel.api.identifiers.FedoraId fedoraId, OcflPersistentStorageSession session) protected FedoraOcflMappinggetMapping(org.fcrepo.kernel.api.Transaction transaction, org.fcrepo.kernel.api.identifiers.FedoraId resourceId) booleanhandle(org.fcrepo.kernel.api.operations.ResourceOperation operation) The method returns true if the operation can be persisted by this persister.protected StringmapToOcflId(org.fcrepo.kernel.api.Transaction transaction, org.fcrepo.kernel.api.identifiers.FedoraId fedoraId) Maps the Fedora ID to an OCFL ID.voidpersist(OcflPersistentStorageSession session, org.fcrepo.kernel.api.operations.ResourceOperation operation) The persistence handling for the given operation.protected voidpersistRDF(org.fcrepo.storage.ocfl.OcflObjectSession objectSession, org.fcrepo.kernel.api.operations.ResourceOperation operation, org.fcrepo.kernel.api.identifiers.FedoraId rootId, boolean isArchivalPart) Persists the RDF using the specified operation and session.
-
Field Details
-
ocflIndex
-
-
Constructor Details
-
OverwriteRdfTombstonePersister
Constructor- Parameters:
index- the FedoraToOCFLObjectIndex
-
-
Method Details
-
persist
public void persist(OcflPersistentStorageSession session, org.fcrepo.kernel.api.operations.ResourceOperation operation) throws org.fcrepo.persistence.api.exceptions.PersistentStorageException Description copied from interface:PersisterThe persistence handling for the given operation.- Parameters:
session- The persistent storage sessionoperation- The operation and associated data need to perform the operation.- Throws:
org.fcrepo.persistence.api.exceptions.PersistentStorageException- on failure
-
persistRDF
protected void persistRDF(org.fcrepo.storage.ocfl.OcflObjectSession objectSession, org.fcrepo.kernel.api.operations.ResourceOperation operation, org.fcrepo.kernel.api.identifiers.FedoraId rootId, boolean isArchivalPart) throws org.fcrepo.persistence.api.exceptions.PersistentStorageException Persists the RDF using the specified operation and session.- Parameters:
objectSession- The object session.operation- The operationrootId- The fedora root object identifier tha maps to the OCFL object root.isArchivalPart- indicates if the resource is an AG part resource, ignored on update- Throws:
org.fcrepo.persistence.api.exceptions.PersistentStorageException
-
handle
public boolean handle(org.fcrepo.kernel.api.operations.ResourceOperation operation) Description copied from interface:PersisterThe method returns true if the operation can be persisted by this persister. -
getMapping
protected FedoraOcflMapping getMapping(org.fcrepo.kernel.api.Transaction transaction, org.fcrepo.kernel.api.identifiers.FedoraId resourceId) throws org.fcrepo.persistence.api.exceptions.PersistentStorageException - Parameters:
transaction- The externally generated transaction.resourceId- The fedora resource identifier- Returns:
- The associated mapping
- Throws:
org.fcrepo.persistence.api.exceptions.PersistentStorageException- When no mapping is found.
-
findArchivalGroupInAncestry
protected Optional<org.fcrepo.kernel.api.identifiers.FedoraId> findArchivalGroupInAncestry(org.fcrepo.kernel.api.identifiers.FedoraId fedoraId, OcflPersistentStorageSession session) -
mapToOcflId
protected String mapToOcflId(org.fcrepo.kernel.api.Transaction transaction, org.fcrepo.kernel.api.identifiers.FedoraId fedoraId) Maps the Fedora ID to an OCFL ID.- Parameters:
transaction- The externally generated transaction.fedoraId- The fedora identifier for the root OCFL object- Returns:
- The OCFL ID
-
createCommonHeaders
protected org.fcrepo.persistence.common.ResourceHeadersImpl createCommonHeaders(org.fcrepo.storage.ocfl.OcflObjectSession session, org.fcrepo.kernel.api.operations.ResourceOperation operation, boolean isResourceRoot, org.fcrepo.kernel.api.identifiers.FedoraId archivalGroupId) throws org.fcrepo.persistence.api.exceptions.PersistentStorageException - Throws:
org.fcrepo.persistence.api.exceptions.PersistentStorageException
-