org.nuiton.topia.replication
Interface TopiaReplicationOperation

All Known Subinterfaces:
TopiaReplicationOperationUndoable
All Known Implementing Classes:
AttachAssociation, AttachLink, DettachAssociation, Duplicate, LoadLink

public interface TopiaReplicationOperation

Le contrat d'une operation a effectuer lors de la replication.

Le module propose des operations de base dans le paquetage org.nuiton.topia.replication.operation.

Pour definir une nouvelle implantation d'operation, il faut l'enregister en tant que service (au sens de la classe ServiceLoader, c'est à dire ajouter dans un fichier (du class-path) META-INF/services/org.nuiton.topia.replication.TopiaReplicationOperation

une ligne avec le nom qualifie de votre implantation.

Lors du chargement du service, on detecte toutes les operations disponibles.

Since:
2.2.0
Author:
tchemit

Method Summary
 void register(ReplicationModel model, ReplicationNode ownerNode, ReplicationOperationPhase phase, Object... parameters)
          Creer et enregister une operation utilisateur apres la creation du modele via la methode

TopiaReplicationService.prepare(TopiaEntityEnum[],boolean, String...).

 void run(TopiaReplicationContext replicationContext, ReplicationOperationDef operationDef, TopiaContextImplementor srcCtxt, TopiaContextImplementor dstCtxt, List<? extends TopiaEntity> entities)
          Execute l'operation avec le parametrage donnee.
 

Method Detail

register

void register(ReplicationModel model,
              ReplicationNode ownerNode,
              ReplicationOperationPhase phase,
              Object... parameters)
              throws UnsupportedOperationException
Creer et enregister une operation utilisateur apres la creation du modele via la methode

TopiaReplicationService.prepare(TopiaEntityEnum[],boolean, String...).

Parameters:
model - le modele de replication
ownerNode - le noeud proprietaire de l'operation
phase - la phase ou positionner l'operation
parameters - les parametres de l'operation
Throws:
UnsupportedOperationException - if can not register this operation (says when operation is only internal)
See Also:
ReplicationModel, ReplicationOperationPhase

run

void run(TopiaReplicationContext replicationContext,
         ReplicationOperationDef operationDef,
         TopiaContextImplementor srcCtxt,
         TopiaContextImplementor dstCtxt,
         List<? extends TopiaEntity> entities)
         throws Exception
Execute l'operation avec le parametrage donnee.

Note : le commit sur le context cible doit etre geree dans la methode.

Parameters:
replicationContext - le contexte de replication
operationDef - la definition de l'operation a realiser
srcCtxt - le context source
dstCtxt - le context destination
entities - la liste des entités à traiter
Throws:
Exception - pour toute erreur


Copyright © 2004-2010 CodeLutin. All Rights Reserved.