public class ReIdentifyEntity extends ReIdentifyInstance
Transaction function for updating an entity's unique identifier.
  • Field Details

    • FUNCTION_NAME

      public static final clojure.lang.Keyword FUNCTION_NAME
  • Constructor Details

    • ReIdentifyEntity

      public ReIdentifyEntity(Long txId, clojure.lang.PersistentHashMap existing, String userId, String entityGUID, String newEntityGUID, String metadataCollectionId) throws Exception
      Constructor used to execute the transaction function.
      Parameters:
      txId - the transaction ID of this function invocation
      existing - XTDB document to re-identify
      userId - doing the update
      entityGUID - of the entity to re-identify
      newEntityGUID - to use for the new identity
      metadataCollectionId - 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, String newEntityGUID) throws EntityNotKnownException, InvalidParameterException, RepositoryErrorException
      Update the unique identity of the provided entity instance in the XTDB repository by pushing the transaction down into the repository itself.
      Parameters:
      xtdb - connectivity
      userId - doing the update
      entityGUID - of the entity to be re-identified
      newEntityGUID - to apply to the entity
      Returns:
      EntityDetail of the entity with the new identity applied
      Throws:
      EntityNotKnownException - if the entity cannot be found
      InvalidParameterException - if the entity exists but cannot be updated (deleted, reference copy, etc)
      RepositoryErrorException - on any other error
    • tuple

      public clojure.lang.IPersistentVector tuple()
      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