r1374 - in topia/trunk/topia-persistence/src/main/java/org/codelutin/topia: . framework
Author: tchemit Date: 2009-02-17 17:55:51 +0000 (Tue, 17 Feb 2009) New Revision: 1374 Modified: topia/trunk/topia-persistence/src/main/java/org/codelutin/topia/TopiaContext.java topia/trunk/topia-persistence/src/main/java/org/codelutin/topia/framework/TopiaContextImpl.java Log: ajout d'une methode sur TopiaContext pour pouvoir repliquer qu'une seule entite Modified: topia/trunk/topia-persistence/src/main/java/org/codelutin/topia/TopiaContext.java =================================================================== --- topia/trunk/topia-persistence/src/main/java/org/codelutin/topia/TopiaContext.java 2009-02-17 11:00:34 UTC (rev 1373) +++ topia/trunk/topia-persistence/src/main/java/org/codelutin/topia/TopiaContext.java 2009-02-17 17:55:51 UTC (rev 1374) @@ -245,6 +245,19 @@ public void replicate(TopiaContext dstCtxt, Object... entityAndCondition) throws TopiaException, IllegalArgumentException; + /** + * Permet de dupliquer une entité du type donné vers un autre context. + * + * @param dstCtxt le context de la base destination + * @param entities l'entité à répliquer + * @param <T> le type des entités à répliquer + * @throws TopiaException si une erreur pendant la duplication + * @throws IllegalArgumentException si l'un des context n'est pas ouvert, ou si on essaye de + * dupliquer dans la même base. + */ + public <T extends TopiaEntity> void replicateEntity(TopiaContext dstCtxt, T entity) + throws TopiaException, IllegalArgumentException; + /** * Permet de dupliquer les entités du type donné vers un autre context. * Modified: topia/trunk/topia-persistence/src/main/java/org/codelutin/topia/framework/TopiaContextImpl.java =================================================================== --- topia/trunk/topia-persistence/src/main/java/org/codelutin/topia/framework/TopiaContextImpl.java 2009-02-17 11:00:34 UTC (rev 1373) +++ topia/trunk/topia-persistence/src/main/java/org/codelutin/topia/framework/TopiaContextImpl.java 2009-02-17 17:55:51 UTC (rev 1374) @@ -1047,6 +1047,17 @@ } @Override + public <T extends TopiaEntity> void replicateEntity(TopiaContext dstCtxt, T entity) throws TopiaException, IllegalArgumentException { + checkClosed("Ce contexte a ete ferme, impossible d'effectuer l'export"); + TopiaContextImpl dstContextImpl = (TopiaContextImpl) dstCtxt; + dstContextImpl.checkClosed("Ce contexte a ete ferme, impossible d'effectuer l'export"); + if (getRootContext().equals(dstContextImpl.getRootContext())) { + throw new IllegalArgumentException("Impossible de dupliquer dans la même base"); + } + replicate0(dstContextImpl, entity); + } + + @Override public <T extends TopiaEntity> void replicateEntities(TopiaContext dstCtxt, List<T> entities) throws TopiaException, IllegalArgumentException { checkClosed("Ce contexte a ete ferme, impossible d'effectuer l'export"); TopiaContextImpl dstContextImpl = (TopiaContextImpl) dstCtxt;
participants (1)
-
tchemit@users.labs.libre-entreprise.org