Class UndoEntityUpdate
- java.lang.Object
-
- org.odpi.egeria.connectors.juxt.xtdb.txnfn.AbstractTransactionFunction
-
- org.odpi.egeria.connectors.juxt.xtdb.txnfn.UndoInstanceUpdate
-
- org.odpi.egeria.connectors.juxt.xtdb.txnfn.UndoEntityUpdate
-
public class UndoEntityUpdate extends UndoInstanceUpdate
Transaction function for updating InstanceProperties on a metadata instance.
-
-
Field Summary
Fields Modifier and Type Field Description static clojure.lang.KeywordFUNCTION_NAME
-
Constructor Summary
Constructors Constructor Description UndoEntityUpdate(Long txId, xtdb.api.ICursor<clojure.lang.IPersistentMap> cursor, String userId, String entityGUID, String metadataCollectionId)Constructor used to execute the transaction function.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static voidcreate(xtdb.api.tx.Transaction.Builder tx)Create the transaction function within XTDB.clojure.lang.IPersistentMapdoc()Interface that returns the updated document to write-back from the transaction.static clojure.lang.IPersistentMaprollbackEntity(String userId, clojure.lang.IPersistentMap current, clojure.lang.IPersistentMap previous)Rolls back the provided metadata instance to its previous form.static org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.instances.EntityDetailtransact(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.egeria.connectors.juxt.xtdb.txnfn.UndoInstanceUpdate
getPreviousVersionFromCursor
-
Methods inherited from class org.odpi.egeria.connectors.juxt.xtdb.txnfn.AbstractTransactionFunction
createTransactionFunction, getGUID, getInstanceProvenanceType, getMetadataCollectionId, getTxnTimeCalculation, getTypeDefForInstance, getTypeDefGUID, incrementVersion, incrementVersion
-
-
-
-
Constructor Detail
-
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 Detail
-
transact
public static org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.instances.EntityDetail transact(XtdbOMRSRepositoryConnector xtdb, String userId, String entityGUID) throws org.odpi.openmetadata.repositoryservices.ffdc.exception.EntityNotKnownException, org.odpi.openmetadata.repositoryservices.ffdc.exception.InvalidParameterException, org.odpi.openmetadata.repositoryservices.ffdc.exception.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:
org.odpi.openmetadata.repositoryservices.ffdc.exception.EntityNotKnownException- if the entity cannot be foundorg.odpi.openmetadata.repositoryservices.ffdc.exception.InvalidParameterException- if the entity exists but cannot be rolled-back (deleted, reference copy, etc)org.odpi.openmetadata.repositoryservices.ffdc.exception.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
-
-