Class ReTypeRelationship
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.ReTypeRelationship
Transaction function for changing a relationship'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 Relationship
transact
(XTDBOMRSRepositoryConnector xtdb, String userId, String relationshipGUID, TypeDefSummary newTypeDef) Change the type of the provided relatinship 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
-
ReTypeRelationship
public ReTypeRelationship(Long txId, clojure.lang.PersistentHashMap existing, String userId, String relationshipGUID, 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 updaterelationshipGUID
- of the relationship 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 Relationship transact(XTDBOMRSRepositoryConnector xtdb, String userId, String relationshipGUID, TypeDefSummary newTypeDef) throws RelationshipNotKnownException, PropertyErrorException, TypeErrorException, InvalidParameterException, RepositoryErrorException Change the type of the provided relatinship instance in the XTDB repository by pushing the transaction down into the repository itself.- Parameters:
xtdb
- connectivityuserId
- doing the updaterelationshipGUID
- of the relationship on which to change the typenewTypeDef
- to apply to the relationship- Returns:
- Relationship the relationship with the new type applied
- Throws:
RelationshipNotKnownException
- if the relationship cannot be foundPropertyErrorException
- the properties in the instance are incompatible with the requested typeInvalidParameterException
- if the relationship exists but cannot be updated (deleted, reference copy, etc)TypeErrorException
- the requested type is not known or supported by the repositoryRepositoryErrorException
- 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
-