|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.nuiton.topia.replication.ReplicationEngine
public class ReplicationEngine
Implantation du service de replication.
| Field Summary | |
|---|---|
protected TopiaContextImplementor |
context
le contexte sur la base source de la replication |
protected static TopiaReplicationOperation[] |
operations
la liste des operations disponibles (chargee automatiquement via un ServiceLoader sur le contract TopiaReplicationOperation) |
| Fields inherited from interface org.nuiton.topia.replication.TopiaReplicationService |
|---|
SERVICE_NAME, TOPIA_SERVICE_NAME |
| Constructor Summary | |
|---|---|
ReplicationEngine()
|
|
| Method Summary | ||
|---|---|---|
void |
addAfterOperation(ReplicationModel model,
TopiaEntityEnum type,
Class<? extends TopiaReplicationOperation> operationClass,
Object... parameters)
Ajouter une nouvelle operation post-replication, sur un type de donnee. |
|
void |
addBeforeOperation(ReplicationModel model,
TopiaEntityEnum type,
Class<? extends TopiaReplicationOperation> operationClass,
Object... parameters)
Ajouter une nouvelle operation pre-replication, sur un type de donnee. |
|
static void |
checkNotNull(String methodName,
String parameterName,
Object value)
|
|
static void |
checkParameters(Class<?>[] paramsType,
Object... params)
|
|
static void |
checkSize(int size,
Object[] params)
|
|
static void |
checkType(Class<?>[] paramsType,
int index,
Object[] params)
|
|
ReplicationModel |
createModel(TopiaEntityEnum[] contracts,
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,
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,
Class<? extends TopiaReplicationOperation> operationClass,
Object... parameters)
|
|
Set<Class<? extends TopiaEntity>> |
detectTypes(TopiaEntityEnum[] contracts,
String... ids)
|
|
void |
doReplicate(ReplicationModel model,
TopiaContext dstCtxt)
Lance l'operation de replication a partir du context source vers le context de destination sur les entites donnees et en utilisant le model de replication precedemment construit via la methode TopiaReplicationService.prepare(TopiaEntityEnum[], String...) ou TopiaReplicationService.prepareForAll(TopiaEntityEnum[]). |
|
void |
doReplicateNode(ReplicationNode node,
TopiaContext srcCtxt,
TopiaContext dstCtxt,
Map<Class<? extends TopiaEntity>,List<String>> data,
List<ReplicationNode> treated)
|
|
static
|
getEntities(TopiaContextImplementor srcCtxt,
List<E> entityList,
boolean canBeNull)
|
|
static TopiaEntity[] |
getEntities(TopiaContext srcCtxt,
String... entityList)
|
|
static List<? extends TopiaEntity> |
getEntitiesList(TopiaContext srcCtxt,
String... entityList)
|
|
Map<Class<? extends TopiaEntity>,List<String>> |
getIds(ReplicationModel model,
TopiaContextImplementor srcCtxt)
Recupere les ids des entites a repliquer. |
|
TopiaReplicationOperation |
getOperation(Class<? extends TopiaReplicationOperation> operationClass)
Récupération d'une opération de réplication à partir de son type. |
|
Class<?>[] |
getPersistenceClasses()
|
|
String |
getServiceName()
|
|
ReplicationModel |
initModel(ReplicationModel model,
boolean computeOrder)
Initialisation du modele de replication. |
|
boolean |
postInit(TopiaContextImplementor context)
|
|
boolean |
preInit(TopiaContextImplementor context)
|
|
ReplicationModel |
prepare(TopiaEntityEnum[] contracts,
String... entities)
Prepare le modele de replication pour les entites dans les topiaIds sont donnes. |
|
ReplicationModel |
prepareForAll(TopiaEntityEnum[] contracts)
Prepare le modele de replication pour toutes les entites des types donnes. |
|
ReplicationModel |
prepareWithComputedOrder(TopiaEntityEnum[] contracts,
String... topiaIds)
Prepare le modele de replication pour les entites données en ne faisant pas de calcul sur l'ordre des entités à répliquer. |
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected TopiaContextImplementor context
protected static TopiaReplicationOperation[] operations
TopiaReplicationOperation)
preInit(TopiaContextImplementor)| Constructor Detail |
|---|
public ReplicationEngine()
| Method Detail |
|---|
public String getServiceName()
getServiceName in interface TopiaServicepublic Class<?>[] getPersistenceClasses()
getPersistenceClasses in interface TopiaServicepublic boolean preInit(TopiaContextImplementor context)
preInit in interface TopiaServicepublic boolean postInit(TopiaContextImplementor context)
postInit in interface TopiaService
public ReplicationModel prepare(TopiaEntityEnum[] contracts,
String... entities)
throws TopiaException
TopiaReplicationService
prepare in interface TopiaReplicationServicecontracts - les contrats a repliquerentities - la liste des ids d'entites a repliquer
TopiaException - pour toute erreur recontree
public ReplicationModel prepareForAll(TopiaEntityEnum[] contracts)
throws TopiaException
TopiaReplicationService
prepareForAll in interface TopiaReplicationServicecontracts - les contrats des types a repliquer
TopiaException - pour toute erreur rencontree
public ReplicationModel prepareWithComputedOrder(TopiaEntityEnum[] contracts,
String... topiaIds)
throws TopiaException
TopiaReplicationService
prepareWithComputedOrder in interface TopiaReplicationServicecontracts - les contrats a repliquer (dans l'ordre donnée)topiaIds - les ids des entites a repliquer
TopiaException - pour toute erreur recontree
public void addBeforeOperation(ReplicationModel model,
TopiaEntityEnum type,
Class<? extends TopiaReplicationOperation> operationClass,
Object... parameters)
TopiaReplicationService
addBeforeOperation in interface TopiaReplicationServicemodel - le modele de replicationtype - le type du noeud de replicationoperationClass - l'implantation de l'operationparameters - les parametres supplementaires pour l'operation
public void addAfterOperation(ReplicationModel model,
TopiaEntityEnum type,
Class<? extends TopiaReplicationOperation> operationClass,
Object... parameters)
TopiaReplicationService
addAfterOperation in interface TopiaReplicationServicemodel - le modele de replicationtype - le type du noeud de replicationoperationClass - l'implantation de l'operationparameters - les parametres supplementaires pour l'operation
public void doReplicate(ReplicationModel model,
TopiaContext dstCtxt)
throws Exception
TopiaReplicationServiceTopiaReplicationService.prepare(TopiaEntityEnum[], String...) ou TopiaReplicationService.prepareForAll(TopiaEntityEnum[]).
doReplicate in interface TopiaReplicationServicemodel - le modele de replicationdstCtxt - le context sur la source de donnees ou repliquer
Exception - pour toute erreur pendant la replication
public ReplicationModel createModel(TopiaEntityEnum[] contracts,
String... topiaIds)
throws TopiaException
TopiaReplicationImplementor
createModel in interface TopiaReplicationImplementorcontracts - le contrats d'entites autorisestopiaIds - les ids des entites a repliquer
TopiaException - pour toute erreur
public ReplicationModel createModelWithComputedOrder(TopiaEntityEnum[] contracts,
String... topiaIds)
throws TopiaException
TopiaReplicationImplementor
createModelWithComputedOrder in interface TopiaReplicationImplementorcontracts - le contrats d'entites autorisestopiaIds - les ids des entities a repliquer
TopiaException - pour toute erreur
public ReplicationModel createModelForAll(TopiaEntityEnum[] contracts)
throws TopiaException
TopiaReplicationImplementor
createModelForAll in interface TopiaReplicationImplementorcontracts - le contrats d'entites autorises
TopiaException - pour toute erreur
public ReplicationModel initModel(ReplicationModel model,
boolean computeOrder)
throws TopiaException
TopiaReplicationImplementorReplicationModel.getOrder()
et les operations a realiser lors de la replication sur chaque noeud
de replication ReplicationNode.getOperations().
initModel in interface TopiaReplicationImplementormodel - le modele a initialisecomputeOrder - drapeau pour effectuer le calcul d'ordre des
entites a repliquer, sinon on utilise l'ordre de creation des
noeuds dans le model.
TopiaException - pour toute erreurpublic TopiaReplicationOperation getOperation(Class<? extends TopiaReplicationOperation> operationClass)
TopiaReplicationImplementor
getOperation in interface TopiaReplicationImplementoroperationClass - le type de l'opération
public void createOperation(ReplicationModel model,
TopiaEntityEnum type,
ReplicationOperationPhase phase,
Class<? extends TopiaReplicationOperation> operationClass,
Object... parameters)
createOperation in interface TopiaReplicationImplementormodel - le modele en courstype - le contrat de l'entite concernephase - la phase de l'operationoperationClass - le type de l'operationparameters - les parametres dynamiques de l'operation
public Set<Class<? extends TopiaEntity>> detectTypes(TopiaEntityEnum[] contracts,
String... ids)
throws TopiaException
detectTypes in interface TopiaReplicationImplementorTopiaException
public Map<Class<? extends TopiaEntity>,List<String>> getIds(ReplicationModel model,
TopiaContextImplementor srcCtxt)
throws TopiaException
TopiaReplicationImplementor
getIds in interface TopiaReplicationImplementormodel - le modele utilisesrcCtxt - le context de la base source
TopiaException - pour toute erreur de recuperation d'ids en base
public void doReplicateNode(ReplicationNode node,
TopiaContext srcCtxt,
TopiaContext dstCtxt,
Map<Class<? extends TopiaEntity>,List<String>> data,
List<ReplicationNode> treated)
throws Exception
doReplicateNode in interface TopiaReplicationImplementornode - le noeud de replicationsrcCtxt - la base sourcedstCtxt - la base destinationdata - le dictionnaire des ids a repliquertreated - l'ensemble des noeuds deja repliques
Exception - pour tout erreur
public static <E extends TopiaEntity> List<E> getEntities(TopiaContextImplementor srcCtxt,
List<E> entityList,
boolean canBeNull)
throws TopiaException
TopiaException
public static TopiaEntity[] getEntities(TopiaContext srcCtxt,
String... entityList)
throws TopiaException
TopiaException
public static List<? extends TopiaEntity> getEntitiesList(TopiaContext srcCtxt,
String... entityList)
throws TopiaException
TopiaException
public static void checkNotNull(String methodName,
String parameterName,
Object value)
public static void checkParameters(Class<?>[] paramsType,
Object... params)
public static void checkSize(int size,
Object[] params)
public static void checkType(Class<?>[] paramsType,
int index,
Object[] params)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||