Package org.nuiton.topia.replication
Class TopiaReplicationServiceImpl
java.lang.Object
org.nuiton.topia.replication.TopiaReplicationServiceImpl
- All Implemented Interfaces:
TopiaService,TopiaReplicationService
public class TopiaReplicationServiceImpl extends java.lang.Object implements TopiaReplicationService
Implantation du service de replication.
- Since:
- 2.2.0
- Author:
- tchemit <chemit@codelutin.com>
-
Field Summary
Fields Modifier and Type Field Description protected TopiaContextImplementorcontextle contexte sur la base source de la replicationprotected TopiaReplicationModelBuildermodelBuilderle constructeur de modèle de réplication.Fields inherited from interface org.nuiton.topia.replication.TopiaReplicationService
SERVICE_NAME, TOPIA_SERVICE_NAME -
Constructor Summary
Constructors Constructor Description TopiaReplicationServiceImpl() -
Method Summary
Modifier and Type Method Description voiddoReplicate(ReplicationModel model, TopiaContext targetTx)Lance l'operation de replication a partir du context source vers le context de destination sur les entites donnees et en utilisant le modele de replication precedemment construit via la methodeTopiaReplicationService.prepare(TopiaEntityEnum[], boolean, String...)ouTopiaReplicationService.prepareForAll(TopiaEntityEnum[]).voiddoReplicateNode(TopiaReplicationContext replicationContext, ReplicationNode node)voiddoRollback(TopiaReplicationContext replicationContext)Pour revenir en arrière lorsque la réplication a échouée .voiddoRollbackNode(TopiaReplicationContext replicationContext, ReplicationNode node)TopiaReplicationModelBuildergetModelBuilder()Obtains themodel builderuse to creat the replication's model.java.lang.Class<?>[]getPersistenceClasses()java.lang.StringgetServiceName()booleanpostInit(TopiaContextImplementor context)booleanpreInit(TopiaContextImplementor context)ReplicationModelprepare(TopiaEntityEnum[] contracts, boolean computeOrder, java.lang.String... topiaIds)Prepare le modele de replication pour les entites dans les topiaIds sont donnes.ReplicationModelprepareForAll(TopiaEntityEnum[] contracts)Prepare le modele de replication pour toutes les entites des types donnes.
-
Field Details
-
context
le contexte sur la base source de la replication -
modelBuilder
le constructeur de modèle de réplication.- Since:
- 2.4.3
-
-
Constructor Details
-
TopiaReplicationServiceImpl
public TopiaReplicationServiceImpl()
-
-
Method Details
-
getServiceName
public java.lang.String getServiceName()- Specified by:
getServiceNamein interfaceTopiaService
-
getPersistenceClasses
public java.lang.Class<?>[] getPersistenceClasses()- Specified by:
getPersistenceClassesin interfaceTopiaService
-
preInit
- Specified by:
preInitin interfaceTopiaService
-
postInit
- Specified by:
postInitin interfaceTopiaService
-
prepare
public ReplicationModel prepare(TopiaEntityEnum[] contracts, boolean computeOrder, java.lang.String... topiaIds) throws TopiaExceptionDescription copied from interface:TopiaReplicationServicePrepare le modele de replication pour les entites dans les topiaIds sont donnes.- Specified by:
preparein interfaceTopiaReplicationService- Parameters:
contracts- les contrats a repliquercomputeOrder- drapeau positionné àtruesi on doit calculer l'ordre des entités à repliquer, sinon on utilise l'ordre induit par lescontracts.topiaIds- la liste des ids d'entites a repliquer- Returns:
- le model de replication initialise
- Throws:
TopiaException- pour toute erreur recontree
-
prepareForAll
Description copied from interface:TopiaReplicationServicePrepare le modele de replication pour toutes les entites des types donnes. La méthode calcule l'ordre de replication des données. Actuellement, on n'est pas capable de calculer l'ordre si le graphe des entités contient des cycles. TODO : faire en sorte de pouvoir gérer les cycles.- Specified by:
prepareForAllin interfaceTopiaReplicationService- Parameters:
contracts- les contrats des types a repliquer- Returns:
- le modele pour la replication
- Throws:
TopiaException- pour toute erreur rencontree
-
getModelBuilder
Description copied from interface:TopiaReplicationServiceObtains themodel builderuse to creat the replication's model.- Specified by:
getModelBuilderin interfaceTopiaReplicationService- Returns:
- the model builder
-
doReplicate
Description copied from interface:TopiaReplicationServiceLance l'operation de replication a partir du context source vers le context de destination sur les entites donnees et en utilisant le modele de replication precedemment construit via la methodeTopiaReplicationService.prepare(TopiaEntityEnum[], boolean, String...)ouTopiaReplicationService.prepareForAll(TopiaEntityEnum[]).- Specified by:
doReplicatein interfaceTopiaReplicationService- Parameters:
model- le modele de replicationtargetTx- le context sur la source de donnees ou repliquer- Throws:
java.lang.Exception- pour toute erreur pendant la replication
-
doRollback
Description copied from interface:TopiaReplicationServicePour revenir en arrière lorsque la réplication a échouée .- Specified by:
doRollbackin interfaceTopiaReplicationService- Parameters:
replicationContext- the replication's context used to start replication.- Throws:
java.lang.Exception- pour toute erreur pendant la replication
-
doReplicateNode
public void doReplicateNode(TopiaReplicationContext replicationContext, ReplicationNode node) throws java.lang.Exception- Throws:
java.lang.Exception
-
doRollbackNode
public void doRollbackNode(TopiaReplicationContext replicationContext, ReplicationNode node) throws java.lang.Exception- Throws:
java.lang.Exception
-