public class ClassifyEntityProxy extends ClassifyEntity
Transaction function for adding / updating a classification to an entity proxy (including creating that entity proxy if it does not already exist in the repository).
  • Field Details

    • FUNCTION_NAME

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

    • ClassifyEntityProxy

      public ClassifyEntityProxy(Long txId, clojure.lang.PersistentHashMap existing, clojure.lang.PersistentHashMap proxy, String userId, String entityGUID, String metadataCollectionId, String classificationName, String externalSourceGUID, String externalSourceName, ClassificationOrigin classificationOrigin, String classificationOriginGUID, InstanceProperties properties) throws Exception
      Constructor used to execute the transaction function.
      Parameters:
      txId - the transaction ID of this function invocation
      existing - XTDB document to update
      proxy - XTDB document to update, if existing is empty
      userId - doing the update
      entityGUID - of the entity to update
      metadataCollectionId - of the metadata collection in which the transaction is running
      classificationName - name of the classification
      externalSourceGUID - unique identifier for the external source
      externalSourceName - unique name for the external source
      classificationOrigin - source of the classification (assigned or propagated)
      classificationOriginGUID - unique identifier of the entity that propagated the classification (if propagated)
      properties - the properties to set on the classification
      Throws:
      Exception - on any error
  • Method Details

    • transact

      public static Classification transact(XTDBOMRSRepositoryConnector xtdb, String userId, EntityProxy entityProxy, String classificationName, String externalSourceGUID, String externalSourceName, ClassificationOrigin classificationOrigin, String classificationOriginGUID, InstanceProperties properties) throws InvalidParameterException, ClassificationErrorException, PropertyErrorException, RepositoryErrorException
      Add the classification to the provided entity proxy in the XTDB repository by pushing the transaction down into the repository itself.
      Parameters:
      xtdb - connectivity
      userId - doing the update
      entityProxy - of the entity to classify
      classificationName - name of the classification
      externalSourceGUID - unique identifier for the external source
      externalSourceName - unique name for the external source
      classificationOrigin - source of the classification (assigned or propagated)
      classificationOriginGUID - unique identifier of the entity that propagated the classification (if propagated)
      properties - the properties to set on the classification
      Returns:
      Classification that was applied
      Throws:
      InvalidParameterException - if the entity exists but cannot be updated (deleted, reference copy, etc)
      ClassificationErrorException - if there is any issue related to the classification
      PropertyErrorException - one or more of the requested properties are not defined, or have different characteristics in the TypeDef for this classification type
      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