Class UndoRelationshipUpdate
java.lang.Object
org.odpi.openmetadata.adapters.repositoryservices.xtdb.repositoryconnector.txnfn.AbstractTransactionFunction
org.odpi.openmetadata.adapters.repositoryservices.xtdb.repositoryconnector.txnfn.UndoInstanceUpdate
org.odpi.openmetadata.adapters.repositoryservices.xtdb.repositoryconnector.txnfn.UndoRelationshipUpdate
Transaction function for updating InstanceProperties on a metadata instance.
-
Field Summary
-
Constructor Summary
ConstructorDescriptionUndoRelationshipUpdate
(Long txId, xtdb.api.ICursor<clojure.lang.IPersistentMap> cursor, String userId, String relationshipGUID, String metadataCollectionId) Constructor used to execute the transaction function. -
Method Summary
Modifier and TypeMethodDescriptionstatic void
create
(xtdb.api.tx.Transaction.Builder tx) Create the transaction function within XTDB.clojure.lang.IPersistentMap
doc()
Interface that returns the updated document to write-back from the transaction.static clojure.lang.IPersistentMap
rollbackRelationship
(String userId, clojure.lang.IPersistentMap current, clojure.lang.IPersistentMap previous) Rolls back the provided metadata instance to its previous form.static Relationship
transact
(XTDBOMRSRepositoryConnector xtdb, String userId, String relationshipGUID) Undo the last update to the provided relationship instance in the XTDB repository by pushing the transaction down into the repository itself.Methods inherited from class org.odpi.openmetadata.adapters.repositoryservices.xtdb.repositoryconnector.txnfn.UndoInstanceUpdate
getPreviousVersionFromCursor
Methods inherited from class org.odpi.openmetadata.adapters.repositoryservices.xtdb.repositoryconnector.txnfn.AbstractTransactionFunction
createTransactionFunction, getGUID, getInstanceProvenanceType, getMetadataCollectionId, getTxnTimeCalculation, getTypeDefForInstance, getTypeDefGUID, incrementVersion, incrementVersion
-
Field Details
-
FUNCTION_NAME
public static final clojure.lang.Keyword FUNCTION_NAME
-
-
Constructor Details
-
UndoRelationshipUpdate
public UndoRelationshipUpdate(Long txId, xtdb.api.ICursor<clojure.lang.IPersistentMap> cursor, String userId, String relationshipGUID, String metadataCollectionId) throws Exception Constructor used to execute the transaction function.- Parameters:
txId
- the transaction ID of this function invocationcursor
- lazily-evaluated history of the relationshipuserId
- doing the updaterelationshipGUID
- of the relationship to updatemetadataCollectionId
- of the metadata collection in which the transaction is running- Throws:
Exception
- on any error
-
-
Method Details
-
transact
public static Relationship transact(XTDBOMRSRepositoryConnector xtdb, String userId, String relationshipGUID) throws RelationshipNotKnownException, InvalidParameterException, RepositoryErrorException Undo the last update to the provided relationship instance in the XTDB repository by pushing the transaction down into the repository itself.- Parameters:
xtdb
- connectivityuserId
- doing the updaterelationshipGUID
- of the relationship on which to undo the last update- Returns:
- Relationship after being rolled-back
- Throws:
RelationshipNotKnownException
- if the relationship cannot be foundInvalidParameterException
- if the relationship exists but cannot be rolled-back (deleted, reference copy, etc)RepositoryErrorException
- on any other error
-
doc
public clojure.lang.IPersistentMap doc()Interface that returns the updated document to write-back from the transaction.- Returns:
- IPersistentMap giving the updated document in its entirety
-
create
public static void create(xtdb.api.tx.Transaction.Builder tx) Create the transaction function within XTDB.- Parameters:
tx
- transaction through which to create the function
-
rollbackRelationship
public static clojure.lang.IPersistentMap rollbackRelationship(String userId, clojure.lang.IPersistentMap current, clojure.lang.IPersistentMap previous) Rolls back the provided metadata instance to its previous form.- Parameters:
userId
- doing the rollbackcurrent
- the current (latest) representation of the metadata instanceprevious
- the previous form of the metadata instance- Returns:
- IPersistentMap giving the previous instance representation
-