Class TopiaReplicationContext

java.lang.Object
org.nuiton.topia.replication.TopiaReplicationContext

public class TopiaReplicationContext extends Object
Defines the context used to replicate. It contains :
Since:
2.4.3
Author:
Tony Chemit - chemit@codelutin.com
  • Field Details

    • replicationModel

      protected final ReplicationModel replicationModel
      Replication model.
    • sourceTx

      protected final org.nuiton.topia.persistence.TopiaApplicationContext sourceTx
      root context of incoming data source (says where to obtain entities to replicate).
    • targetTx

      protected final org.nuiton.topia.persistence.TopiaApplicationContext targetTx
      root context of outcmoing data source (says where to replicate entities).
    • data

      protected org.nuiton.topia.persistence.util.TopiaEntityIdsMap data
      dictionnary of data to replicate.
    • treated

      protected List<ReplicationNode> treated
      List of nodes that has been replicated with success (used to rollback them if something was wrong).
    • operationProvider

      protected TopiaReplicationOperationProvider 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

      public TopiaReplicationOperation getOperation(ReplicationOperationDef operationDef)
    • getUndoableOperation

    • getReplicationModel

      public ReplicationModel getReplicationModel()
    • addTreatedNode

      public void addTreatedNode(ReplicationNode node)
    • getReverseTreated

      public ReplicationNode[] getReverseTreated()
    • init

      public void init() throws org.nuiton.topia.persistence.TopiaException
      Init the replication context. Comptute the universe to replicate and store it in data.
      Throws:
      org.nuiton.topia.persistence.TopiaException - for any error when initializing the replication context
    • getEntityIds

      public List<String> getEntityIds(Class<? extends org.nuiton.topia.persistence.TopiaEntity> type) throws org.nuiton.topia.persistence.TopiaException
      Throws:
      org.nuiton.topia.persistence.TopiaException
    • 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

      protected List<ReplicationNode> 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

      protected void finalize() throws Throwable
      Overrides:
      finalize in class Object
      Throws:
      Throwable