Class UndoEntityUpdate
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.UndoEntityUpdate
Transaction function for updating InstanceProperties on a metadata instance.
-
Field Summary
-
Constructor Summary
ConstructorDescriptionUndoEntityUpdate
(Long txId, xtdb.api.ICursor<clojure.lang.IPersistentMap> cursor, String userId, String entityGUID, 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
rollbackEntity
(String userId, clojure.lang.IPersistentMap current, clojure.lang.IPersistentMap previous) Rolls back the provided metadata instance to its previous form.static EntityDetail
transact
(XTDBOMRSRepositoryConnector xtdb, String userId, String entityGUID) Undo the last update to the provided entity 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
-
UndoEntityUpdate
public UndoEntityUpdate(Long txId, xtdb.api.ICursor<clojure.lang.IPersistentMap> cursor, String userId, String entityGUID, 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 entityuserId
- doing the updateentityGUID
- of the entity to updatemetadataCollectionId
- of the metadata collection in which the transaction is running- Throws:
Exception
- on any error
-
-
Method Details
-
transact
public static EntityDetail transact(XTDBOMRSRepositoryConnector xtdb, String userId, String entityGUID) throws EntityNotKnownException, InvalidParameterException, RepositoryErrorException Undo the last update to the provided entity instance in the XTDB repository by pushing the transaction down into the repository itself.- Parameters:
xtdb
- connectivityuserId
- doing the updateentityGUID
- of the entity on which to undo the last update- Returns:
- EntityDetail of the rolled-back entity
- Throws:
EntityNotKnownException
- if the entity cannot be foundInvalidParameterException
- if the entity 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
-
rollbackEntity
public static clojure.lang.IPersistentMap rollbackEntity(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
-