Class SaveRelationshipReferenceCopy
- java.lang.Object
-
- org.odpi.egeria.connectors.juxt.xtdb.txnfn.AbstractTransactionFunction
-
- org.odpi.egeria.connectors.juxt.xtdb.txnfn.SaveRelationshipReferenceCopy
-
public class SaveRelationshipReferenceCopy extends AbstractTransactionFunction
Transaction function for adding a reference copy relationship.
-
-
Field Summary
Fields Modifier and Type Field Description static clojure.lang.KeywordFUNCTION_NAME
-
Constructor Summary
Constructors Constructor Description SaveRelationshipReferenceCopy(Long txId, clojure.lang.PersistentHashMap existing, clojure.lang.PersistentHashMap updated, String homeMetadataCollectionId)Constructor used to execute the transaction function.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static voidcreate(xtdb.api.tx.Transaction.Builder tx)Create the transaction function within XTDB.clojure.lang.IPersistentMapdoc()Interface that returns the updated document to write-back from the transaction.static voidtransact(XtdbOMRSRepositoryConnector xtdb, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.instances.Relationship toSave)Create the provided relationship instance in the XTDB repository by pushing down the transaction.-
Methods inherited from class org.odpi.egeria.connectors.juxt.xtdb.txnfn.AbstractTransactionFunction
createTransactionFunction, getGUID, getInstanceProvenanceType, getMetadataCollectionId, getTxnTimeCalculation, getTypeDefForInstance, getTypeDefGUID, incrementVersion, incrementVersion
-
-
-
-
Constructor Detail
-
SaveRelationshipReferenceCopy
public SaveRelationshipReferenceCopy(Long txId, clojure.lang.PersistentHashMap existing, clojure.lang.PersistentHashMap updated, String homeMetadataCollectionId) throws Exception
Constructor used to execute the transaction function.- Parameters:
txId- the transaction ID of this function invocationexisting- the existing relationship in XT, if anyupdated- the updated relationship to replace the existing one withhomeMetadataCollectionId- the metadataCollectionId of the repository where the transaction is running- Throws:
Exception- on any error
-
-
Method Detail
-
transact
public static void transact(XtdbOMRSRepositoryConnector xtdb, org.odpi.openmetadata.repositoryservices.connectors.stores.metadatacollectionstore.properties.instances.Relationship toSave) throws org.odpi.openmetadata.repositoryservices.ffdc.exception.RelationshipConflictException, org.odpi.openmetadata.repositoryservices.ffdc.exception.HomeRelationshipException, org.odpi.openmetadata.repositoryservices.ffdc.exception.InvalidParameterException, org.odpi.openmetadata.repositoryservices.ffdc.exception.RepositoryErrorException
Create the provided relationship instance in the XTDB repository by pushing down the transaction.- Parameters:
xtdb- connectivitytoSave- the relationship reference copy to persist- Throws:
org.odpi.openmetadata.repositoryservices.ffdc.exception.RelationshipConflictException- the new relationship conflicts with an existing relationshiporg.odpi.openmetadata.repositoryservices.ffdc.exception.HomeRelationshipException- if the relationship belongs to the local repository so cannot be a reference copyorg.odpi.openmetadata.repositoryservices.ffdc.exception.InvalidParameterException- one of the parameters is invalid or nullorg.odpi.openmetadata.repositoryservices.ffdc.exception.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
-
-