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

    • FUNCTION_NAME

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

    • ReIdentifyRelationship

      public ReIdentifyRelationship(Long txId, clojure.lang.PersistentHashMap existing, String userId, String relationshipGUID, String newRelationshipGUID, 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
      relationshipGUID - of the relationship to re-identify
      newRelationshipGUID - 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 Relationship transact(XTDBOMRSRepositoryConnector xtdb, String userId, String relationshipGUID, String newRelationshipGUID) throws RelationshipNotKnownException, InvalidParameterException, RepositoryErrorException
      Update the unique identity of the provided relationship instance in the XTDB repository by pushing the transaction down into the repository itself.
      Parameters:
      xtdb - connectivity
      userId - doing the update
      relationshipGUID - of the relationship to be re-identified
      newRelationshipGUID - to apply to the relationship
      Returns:
      Relationship the relationship with the new identity applied
      Throws:
      RelationshipNotKnownException - if the relationship cannot be found
      InvalidParameterException - if the relationship 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