Class ReTypeEntity
java.lang.Object
org.odpi.openmetadata.adapters.repositoryservices.xtdb.repositoryconnector.txnfn.AbstractTransactionFunction
org.odpi.openmetadata.adapters.repositoryservices.xtdb.repositoryconnector.txnfn.ReTypeInstance
org.odpi.openmetadata.adapters.repositoryservices.xtdb.repositoryconnector.txnfn.ReTypeEntity
Transaction function for changing an entity's type.
-
Field Summary
Fields -
Constructor Summary
Constructors -
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 EntityDetail
transact
(XTDBOMRSRepositoryConnector xtdb, String userId, String entityGUID, TypeDefSummary newTypeDef) Change the type of 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.ReTypeInstance
reTypeInstance, validate
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
-
ReTypeEntity
public ReTypeEntity(Long txId, clojure.lang.PersistentHashMap existing, String userId, String entityGUID, String newTypeDefName, String metadataCollectionId) throws Exception Constructor used to execute the transaction function.- Parameters:
txId
- the transaction ID of this function invocationexisting
- XTDB document to updateuserId
- doing the updateentityGUID
- of the entity to updatenewTypeDefName
- unique identifier of the new type to applymetadataCollectionId
- 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, TypeDefSummary newTypeDef) throws EntityNotKnownException, PropertyErrorException, TypeErrorException, InvalidParameterException, ClassificationErrorException, RepositoryErrorException Change the type of 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 change the typenewTypeDef
- to apply to the entity- Returns:
- EntityDetail the entity with the new type applied
- Throws:
EntityNotKnownException
- if the entity cannot be foundPropertyErrorException
- the properties in the instance are incompatible with the requested typeInvalidParameterException
- if the entity exists but cannot be updated (deleted, reference copy, etc)TypeErrorException
- the requested type is not known or supported by the repositoryClassificationErrorException
- the entity's classifications are not valid for the new typeRepositoryErrorException
- 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
-