org.nuiton.topia.replication
Interface TopiaReplicationImplementor

All Superinterfaces:
TopiaReplicationService, TopiaService
All Known Implementing Classes:
ReplicationEngine

public interface TopiaReplicationImplementor
extends TopiaReplicationService

Class used internaly in framework, when you want implement new replication engin, you must used this interface

Since:
2.2.0
Author:
chemit

Field Summary
 
Fields inherited from interface org.nuiton.topia.replication.TopiaReplicationService
SERVICE_NAME
 
Method Summary
 ReplicationModel createModel(TopiaEntityEnum[] contracts, java.lang.String... topiaIds)
          Creation d'un modele de replication non initialise.
 ReplicationModel createModelForAll(TopiaEntityEnum[] contracts)
          Creation d'un modele de replication (en mode tout dupliquer) non initialise.
 ReplicationModel createModelWithComputedOrder(TopiaEntityEnum[] contracts, java.lang.String... topiaIds)
          Creation d'un modele de replication non initialise avec un ordre fixe (celui des contrats donnés).
 void createOperation(ReplicationModel model, TopiaEntityEnum type, ReplicationOperationPhase phase, java.lang.Class<? extends TopiaReplicationOperation> operationClass, java.lang.Object... parameters)
           
 java.util.Set<java.lang.Class<? extends TopiaEntity>> detectTypes(TopiaEntityEnum[] contracts, java.lang.String... ids)
           
<E extends TopiaEntity>
void
doReplicateNode(ReplicationNode node, TopiaContext srcCtxt, TopiaContext dstCtxt, java.util.Map<java.lang.Class<? extends TopiaEntity>,java.util.List<java.lang.String>> data, java.util.Set<ReplicationNode> treated)
           
 java.util.Map<java.lang.Class<? extends TopiaEntity>,java.util.List<java.lang.String>> getIds(ReplicationModel model, TopiaContextImplementor srcCtxt)
          Recupere les ids des entites a repliquer.
 TopiaReplicationOperation getOperation(java.lang.Class<? extends TopiaReplicationOperation> operationClass)
           
 ReplicationModel initModel(ReplicationModel model, boolean computeOrder)
          Initialisation du modele de replication.
 
Methods inherited from interface org.nuiton.topia.replication.TopiaReplicationService
addAfterOperation, addBeforeOperation, doReplicate, prepare, prepareForAll, prepareWithComputedOrder
 
Methods inherited from interface org.nuiton.topia.framework.TopiaService
getPersistenceClasses, getServiceName, postInit, preInit
 

Method Detail

createModel

ReplicationModel createModel(TopiaEntityEnum[] contracts,
                             java.lang.String... topiaIds)
                             throws TopiaException
Creation d'un modele de replication non initialise.

Parameters:
contracts - le contrats d'entites autorises
topiaIds - les ids des entites a repliquer
Returns:
le modele instancie mais non initialise
Throws:
TopiaException - pour toute erreur

createModelForAll

ReplicationModel createModelForAll(TopiaEntityEnum[] contracts)
                                   throws TopiaException
Creation d'un modele de replication (en mode tout dupliquer) non initialise.

Parameters:
contracts - le contrats d'entites autorises
Returns:
le modele instancie mais non initialise
Throws:
TopiaException - pour toute erreur

createModelWithComputedOrder

ReplicationModel createModelWithComputedOrder(TopiaEntityEnum[] contracts,
                                              java.lang.String... topiaIds)
                                              throws TopiaException
Creation d'un modele de replication non initialise avec un ordre fixe (celui des contrats donnés).

Parameters:
contracts - le contrats d'entites autorises
topiaIds - les ids des entities a repliquer
Returns:
le modele instancie mais non initialise
Throws:
TopiaException - pour toute erreur

initModel

ReplicationModel initModel(ReplicationModel model,
                           boolean computeOrder)
                           throws TopiaException
Initialisation du modele de replication. Cette methode realise les calculs sur le modele pour obtenir l'ordre de replication des entites ReplicationModel.getOrder() et les operations a realiser lors de la replication sur chaque noeud de replication ReplicationNode.getOperations().

Parameters:
model - le modele a initialise
computeOrder - drapeau pour effectuer le calcul d'ordre des entites a repliquer, sinon on utilise l'ordre de creation des noeuds dans le model.
Returns:
le modele initialise
Throws:
TopiaException

detectTypes

java.util.Set<java.lang.Class<? extends TopiaEntity>> detectTypes(TopiaEntityEnum[] contracts,
                                                                  java.lang.String... ids)
                                                                  throws TopiaException
Throws:
TopiaException

getOperation

TopiaReplicationOperation getOperation(java.lang.Class<? extends TopiaReplicationOperation> operationClass)
Parameters:
operationClass - le type de l'opération
Returns:
l'opération du type donne

createOperation

void createOperation(ReplicationModel model,
                     TopiaEntityEnum type,
                     ReplicationOperationPhase phase,
                     java.lang.Class<? extends TopiaReplicationOperation> operationClass,
                     java.lang.Object... parameters)
Parameters:
model - le modele en cours
type - le contrat de l'entite concerne
phase - la phase de l'operation
operationClass - le type de l'operation
parameters - les parametres dynamiques de l'operation

getIds

java.util.Map<java.lang.Class<? extends TopiaEntity>,java.util.List<java.lang.String>> getIds(ReplicationModel model,
                                                                                              TopiaContextImplementor srcCtxt)
                                                                                              throws TopiaException
Recupere les ids des entites a repliquer.

Parameters:
model - le modele utilise
srcCtxt - le context de la base source
Returns:
les ids des donnes a repliquer.
Throws:
TopiaException - pour toute erreur de recuperation d'ids en base

doReplicateNode

<E extends TopiaEntity> void doReplicateNode(ReplicationNode node,
                                             TopiaContext srcCtxt,
                                             TopiaContext dstCtxt,
                                             java.util.Map<java.lang.Class<? extends TopiaEntity>,java.util.List<java.lang.String>> data,
                                             java.util.Set<ReplicationNode> treated)
                     throws java.lang.Exception
Type Parameters:
E - le type de l'entite a repliquer
Parameters:
node - le noeud de replication
srcCtxt - la base source
dstCtxt - la base destination
data - le dictionnaire des ids a repliquer
treated - l'ensemble des noeuds deja repliques
Throws:
java.lang.Exception - pour tout erreur


Copyright © 2004-2010 CodeLutin. All Rights Reserved.