Class TopiaReplicationContext
java.lang.Object
org.nuiton.topia.replication.TopiaReplicationContext
Defines the context used to replicate.
It contains :
- the
replicationModel - data sources involved ([@link #sourceTx},
targetTx) - universe of data to replicate
data - nodes that has been treated successfully
treated
- Since:
- 2.4.3
- Author:
- Tony Chemit - chemit@codelutin.com
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected org.nuiton.topia.persistence.util.TopiaEntityIdsMapdictionnary of data to replicate.protected TopiaReplicationOperationProviderprotected final ReplicationModelReplication model.protected final org.nuiton.topia.persistence.TopiaApplicationContextroot context of incoming data source (says where to obtain entities to replicate).protected final org.nuiton.topia.persistence.TopiaApplicationContextroot context of outcmoing data source (says where to replicate entities).protected List<ReplicationNode> List of nodes that has been replicated with success (used to rollback them if something was wrong). -
Constructor Summary
ConstructorsConstructorDescriptionTopiaReplicationContext(TopiaReplicationOperationProvider operationProvider, ReplicationModel replicationModel, org.nuiton.topia.persistence.TopiaApplicationContext sourceTx, org.nuiton.topia.persistence.TopiaApplicationContext targetTx) -
Method Summary
Modifier and TypeMethodDescriptionvoidvoidclear()static voidclose(org.nuiton.topia.persistence.TopiaPersistenceContext tx, boolean rollback) protected voidfinalize()protected org.nuiton.topia.persistence.util.TopiaEntityIdsMapgetData()List<? extends org.nuiton.topia.persistence.TopiaEntity> getEntities(org.nuiton.topia.persistence.TopiaPersistenceContext tx, ReplicationNode node) getEntityIds(Class<? extends org.nuiton.topia.persistence.TopiaEntity> type) getEntityIds(ReplicationNode node) protected org.nuiton.topia.persistence.util.TopiaEntityIdsMapgetIds(org.nuiton.topia.persistence.TopiaPersistenceContext srcCtxt) getOperation(ReplicationOperationDef operationDef) protected org.nuiton.topia.persistence.TopiaApplicationContextprotected org.nuiton.topia.persistence.TopiaApplicationContextprotected List<ReplicationNode> getUndoableOperation(ReplicationOperationDef operationDef) voidinit()Init the replication context.org.nuiton.topia.persistence.TopiaPersistenceContextorg.nuiton.topia.persistence.TopiaPersistenceContext
-
Field Details
-
replicationModel
Replication model. -
sourceTx
protected final org.nuiton.topia.persistence.TopiaApplicationContext sourceTxroot context of incoming data source (says where to obtain entities to replicate). -
targetTx
protected final org.nuiton.topia.persistence.TopiaApplicationContext targetTxroot context of outcmoing data source (says where to replicate entities). -
data
protected org.nuiton.topia.persistence.util.TopiaEntityIdsMap datadictionnary of data to replicate. -
treated
List of nodes that has been replicated with success (used to rollback them if something was wrong). -
operationProvider
-
-
Constructor Details
-
TopiaReplicationContext
public TopiaReplicationContext(TopiaReplicationOperationProvider operationProvider, ReplicationModel replicationModel, org.nuiton.topia.persistence.TopiaApplicationContext sourceTx, org.nuiton.topia.persistence.TopiaApplicationContext targetTx)
-
-
Method Details
-
getOperation
-
getUndoableOperation
public TopiaReplicationOperationUndoable getUndoableOperation(ReplicationOperationDef operationDef) throws IllegalArgumentException - Throws:
IllegalArgumentException
-
getReplicationModel
-
addTreatedNode
-
getReverseTreated
-
init
public void init() throws org.nuiton.topia.persistence.TopiaExceptionInit the replication context. Comptute the universe to replicate and store it indata.- Throws:
org.nuiton.topia.persistence.TopiaException- for any error when initializing the replication context
-
getEntityIds
-
getEntityIds
public List<String> getEntityIds(ReplicationNode node) throws org.nuiton.topia.persistence.TopiaException - Throws:
org.nuiton.topia.persistence.TopiaException
-
getEntities
public List<? extends org.nuiton.topia.persistence.TopiaEntity> getEntities(org.nuiton.topia.persistence.TopiaPersistenceContext tx, ReplicationNode node) throws org.nuiton.topia.persistence.TopiaException - Throws:
org.nuiton.topia.persistence.TopiaException
-
newSourceTx
public org.nuiton.topia.persistence.TopiaPersistenceContext newSourceTx() throws org.nuiton.topia.persistence.TopiaException- Throws:
org.nuiton.topia.persistence.TopiaException
-
newTargetTx
public org.nuiton.topia.persistence.TopiaPersistenceContext newTargetTx() throws org.nuiton.topia.persistence.TopiaException- Throws:
org.nuiton.topia.persistence.TopiaException
-
close
public static void close(org.nuiton.topia.persistence.TopiaPersistenceContext tx, boolean rollback) throws org.nuiton.topia.persistence.TopiaException - Throws:
org.nuiton.topia.persistence.TopiaException
-
clear
public void clear() -
getIds
protected org.nuiton.topia.persistence.util.TopiaEntityIdsMap getIds(org.nuiton.topia.persistence.TopiaPersistenceContext srcCtxt) throws org.nuiton.topia.persistence.TopiaException - Throws:
org.nuiton.topia.persistence.TopiaException
-
getTreated
-
getSourceTx
protected org.nuiton.topia.persistence.TopiaApplicationContext getSourceTx() -
getTargetTx
protected org.nuiton.topia.persistence.TopiaApplicationContext getTargetTx() -
getData
protected org.nuiton.topia.persistence.util.TopiaEntityIdsMap getData() -
finalize
-