Author: tchemit Date: 2010-05-14 16:16:46 +0200 (Fri, 14 May 2010) New Revision: 1962 Url: http://nuiton.org/repositories/revision/topia/1962 Log: use new api + remove deprecated one Modified: trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/ReplicationEngine.java trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/operation/AttachAssociation.java trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/operation/AttachDependency.java trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/operation/AttachLink.java trunk/topia-service-replication/src/test/java/org/nuiton/topia/replication/AbstractReplicationEngineTest.java trunk/topia-service-replication/src/test/java/org/nuiton/topia/replication/ReplicationEngineTest.java Modified: trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/ReplicationEngine.java =================================================================== --- trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/ReplicationEngine.java 2010-05-14 10:57:12 UTC (rev 1961) +++ trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/ReplicationEngine.java 2010-05-14 14:16:46 UTC (rev 1962) @@ -382,7 +382,7 @@ public static <E extends TopiaEntity> List<E> getEntities(TopiaContextImplementor srcCtxt, List<E> entityList, boolean canBeNull) throws TopiaException { List<E> srcList = new ArrayList<E>(entityList.size()); for (E e : entityList) { - E e2 = (E) srcCtxt.findByTopiaId(e.getTopiaId()); + E e2 = (E) srcCtxt.findById(e.getId()); if (e2 == null && !canBeNull) { if (!canBeNull) { throw new IllegalStateException("topia.replication.engine.error.entity.must.exists"); @@ -398,7 +398,7 @@ TopiaEntity[] srcList = new TopiaEntity[entityList.length]; int index = 0; for (String id : entityList) { - TopiaEntity e2 = srcCtxt.findByTopiaId(id); + TopiaEntity e2 = srcCtxt.findById(id); srcList[index++] = e2; } return srcList; @@ -407,7 +407,7 @@ public static List<? extends TopiaEntity> getEntitiesList(TopiaContext srcCtxt, String... entityList) throws TopiaException { List<TopiaEntity> srcList = new ArrayList<TopiaEntity>(entityList.length); for (String id : entityList) { - TopiaEntity e2 = srcCtxt.findByTopiaId(id); + TopiaEntity e2 = srcCtxt.findById(id); srcList.add(e2); } return srcList; Modified: trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/operation/AttachAssociation.java =================================================================== --- trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/operation/AttachAssociation.java 2010-05-14 10:57:12 UTC (rev 1961) +++ trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/operation/AttachAssociation.java 2010-05-14 14:16:46 UTC (rev 1962) @@ -175,7 +175,7 @@ // l'entite repliquee a laquelle on veut attacher l'association - TopiaEntity dst = dstCtxt.findByTopiaId(src.getId()); + TopiaEntity dst = dstCtxt.findById(src.getId()); // les association cibles connues pour l'entite sur la base destination Collection<?> dstTargetEntities = (Collection<?>) ownerOperator.get(name, dst); @@ -200,7 +200,7 @@ // la donnees doit etre attachee - TopiaEntity assosiationDst = dstCtxt.findByTopiaId(assosiationSrc.getId()); + TopiaEntity assosiationDst = dstCtxt.findById(assosiationSrc.getId()); ownerOperator.addChild(name, dst, assosiationDst); if (log.isDebugEnabled()) { log.debug("will attach association '" + name + "' : " + assosiationDst); Modified: trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/operation/AttachDependency.java =================================================================== --- trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/operation/AttachDependency.java 2010-05-14 10:57:12 UTC (rev 1961) +++ trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/operation/AttachDependency.java 2010-05-14 14:16:46 UTC (rev 1962) @@ -99,15 +99,15 @@ // // les association connues // TopiaEntity target = (TopiaEntity) ownerOperator.get(name, src); // -// if (target == null || !targetIds.contains(target.getTopiaId())) { +// if (target == null || !targetIds.contains(target.getId())) { // // pas de donnees a attacher, ou pas pour ce src // continue; // } // // // l'entite cible -// TopiaEntity dst = dstCtxt.findByTopiaId(src.getTopiaId()); +// TopiaEntity dst = dstCtxt.findById(src.getId()); // -// target = dstCtxt.findByTopiaId(target.getTopiaId()); +// target = dstCtxt.findById(target.getId()); // // ownerOperator.set(name, dst, target); // Modified: trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/operation/AttachLink.java =================================================================== --- trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/operation/AttachLink.java 2010-05-14 10:57:12 UTC (rev 1961) +++ trunk/topia-service-replication/src/main/java/org/nuiton/topia/replication/operation/AttachLink.java 2010-05-14 14:16:46 UTC (rev 1962) @@ -163,7 +163,7 @@ // l'entite repliquee a laquelle on veut attacher l'association - TopiaEntity dst = dstCtxt.findByTopiaId(src.getId()); + TopiaEntity dst = dstCtxt.findById(src.getId()); // les association cibles connues pour l'entite sur la base destination Collection<?> dstTargetEntities = (Collection<?>) ownerOperator.get(name, dst); @@ -188,7 +188,7 @@ // la donnees doit etre attachee - TopiaEntity assosiationDst = dstCtxt.findByTopiaId(assosiationSrc.getId()); + TopiaEntity assosiationDst = dstCtxt.findById(assosiationSrc.getId()); ownerOperator.addChild(name, dst, assosiationDst); if (log.isDebugEnabled()) { log.debug("will attach association '" + name + "' : " + assosiationDst); Modified: trunk/topia-service-replication/src/test/java/org/nuiton/topia/replication/AbstractReplicationEngineTest.java =================================================================== --- trunk/topia-service-replication/src/test/java/org/nuiton/topia/replication/AbstractReplicationEngineTest.java 2010-05-14 10:57:12 UTC (rev 1961) +++ trunk/topia-service-replication/src/test/java/org/nuiton/topia/replication/AbstractReplicationEngineTest.java 2010-05-14 14:16:46 UTC (rev 1962) @@ -123,70 +123,68 @@ protected abstract Log getLog(); protected <E extends TopiaEntity> E update(E e) throws TopiaException { - Class<E> k = (Class<E>) TopiaEntityHelper.getContractClass(getContracts(), e.getClass()); - TopiaDAO<E> dao = ((TopiaContextImplementor) ctxt).getDAO(k); - return dao.findByTopiaId(e.getId()); + return (E) ((TopiaContextImplementor) ctxt).findById(e.getId()); } /** * Test of detectTypes method, of class ReplicationServiceImplementor. - * @throws Exception + * @throws Exception if any error */ public void testDetectTypes() throws Exception { } /** * Test of getOperation method, of class ReplicationServiceImplementor. - * @throws Exception + * @throws Exception if any error */ public void testGetOperation() throws Exception { } /** * Test of detectAssociations method, of class ReplicationModel. - * @throws Exception + * @throws Exception if any error */ public void testDetectAssociations() throws Exception { } /** * Test of detectDirectDependencies method, of class ReplicationModel. - * @throws Exception + * @throws Exception if any error */ public void testDetectDirectDependencies() throws Exception { } /** * Test of detectShell method, of class ReplicationModel. - * @throws Exception + * @throws Exception if any error */ public void testDetectShell() throws Exception { } /** * Test of detectDependencies method, of class ReplicationModel. - * @throws Exception + * @throws Exception if any error */ public void testDetectDependencies() throws Exception { } /** * Test of detectObjectsToDettach method, of class ReplicationModel. - * @throws Exception + * @throws Exception if any error */ public void testDetectObjectsToDettach() throws Exception { } /** * Test of detectOperations method, of class ReplicationModel. - * @throws Exception + * @throws Exception if any error */ public void testDetectOperations() throws Exception { } /** * Test of doReplicate method, of class ReplicationService. - * @throws Exception + * @throws Exception if any error */ public void testDoReplicate() throws Exception { } @@ -400,7 +398,7 @@ dstCtxt = (TopiaContextImplementor) rootCtxt.beginTransaction(); for (TopiaEntity e : entity) { - TopiaEntity actual = dstCtxt.findByTopiaId(e.getId()); + TopiaEntity actual = dstCtxt.findById(e.getId()); assertNotNull(actual); assertEquals(e, actual); } @@ -478,8 +476,8 @@ if (getLog().isDebugEnabled()) { getLog().debug("verify for entity " + id); } - TopiaEntity eSrc = daoSrc.findByTopiaId(id); - TopiaEntity eDst = daoDst.findByTopiaId(id); + TopiaEntity eSrc = daoSrc.findById(id); + TopiaEntity eDst = daoDst.findById(id); assertEquals(eSrc, eDst); assertEntityEquals(eSrc, eDst, ids); } @@ -584,7 +582,7 @@ fail(); } - protected synchronized Long getTestsTimeStamp() { + protected Long getTestsTimeStamp() { if (testsTimeStamp == null) { testsTimeStamp = System.currentTimeMillis(); getLog().info("tests timestamp : " + testsTimeStamp); @@ -592,7 +590,7 @@ return testsTimeStamp; } - protected synchronized File getTestDir(Class<?> testClass) { + protected File getTestDir(Class<?> testClass) { if (testsBasedir == null) { String tmp = System.getProperty("basedir"); if (tmp == null) { Modified: trunk/topia-service-replication/src/test/java/org/nuiton/topia/replication/ReplicationEngineTest.java =================================================================== --- trunk/topia-service-replication/src/test/java/org/nuiton/topia/replication/ReplicationEngineTest.java 2010-05-14 10:57:12 UTC (rev 1961) +++ trunk/topia-service-replication/src/test/java/org/nuiton/topia/replication/ReplicationEngineTest.java 2010-05-14 14:16:46 UTC (rev 1962) @@ -25,44 +25,62 @@ package org.nuiton.topia.replication; -import java.io.File; -import org.nuiton.topia.TopiaContext; -import org.nuiton.topia.TopiaContextFactory; -import org.nuiton.topia.framework.TopiaContextImplementor; -import org.nuiton.topia.test.entities.*; -import org.junit.Test; - -import java.util.Map; -import java.util.Properties; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.junit.After; import org.junit.AfterClass; import org.junit.Before; +import org.junit.Test; +import org.nuiton.topia.TopiaContext; +import org.nuiton.topia.TopiaContextFactory; import org.nuiton.topia.TopiaException; import org.nuiton.topia.TopiaTestDAOHelper.TopiaTestEntityEnum; +import org.nuiton.topia.framework.TopiaContextImplementor; import org.nuiton.topia.persistence.TopiaEntityEnum; import org.nuiton.topia.replication.model.ReplicationModel; -import org.nuiton.topia.replication.operation.*; +import org.nuiton.topia.replication.operation.AttachAssociation; +import org.nuiton.topia.replication.operation.AttachDependency; +import org.nuiton.topia.replication.operation.DettachAssociation; +import org.nuiton.topia.replication.operation.DettachDependency; +import org.nuiton.topia.replication.operation.Duplicate; +import org.nuiton.topia.replication.operation.FakeOperation; +import org.nuiton.topia.replication.operation.UncreatableOperation; +import org.nuiton.topia.replication.operation.UnregistredOperation; +import org.nuiton.topia.test.entities.Person; +import org.nuiton.topia.test.entities.PersonImpl; +import org.nuiton.topia.test.entities.Pet; +import org.nuiton.topia.test.entities.PetImpl; +import org.nuiton.topia.test.entities.Race; +import org.nuiton.topia.test.entities.RaceImpl; +import java.io.File; +import java.util.Map; +import java.util.Properties; + /** * ReplicationEngineTest on model TopiaTest - * + * <p/> * Created: 07 jun. 09 17:14:22 * * @author tchemit * @version $Revision$ - * - * Last update: $Date$ - * by : */ + * <p/> + * Last update: $Date$ + * by : + */ public class ReplicationEngineTest extends AbstractReplicationEngineTest { /** to use log facility, just put in your code: log.info(\"...\"); */ private static final Log log = LogFactory.getLog(ReplicationEngineTest.class); + protected static final TopiaEntityEnum[] contracts = {TopiaTestEntityEnum.Person, TopiaTestEntityEnum.Pet, TopiaTestEntityEnum.Race}; + protected static final String entitiesList = PersonImpl.class.getName() + "," + PetImpl.class.getName() + "," + RaceImpl.class.getName(); + static protected Person person, person2; + static protected Pet pet, pet2, pet3; + static protected Race race, race2, race3; @AfterClass @@ -94,7 +112,6 @@ } } -// @Ignore @Test @Override public void testDetectTypes() throws Exception { @@ -111,7 +128,6 @@ detectTypes(pet3, Pet.class, Race.class); } -// @Ignore @Test @Override public void testGetOperation() throws Exception { @@ -126,7 +142,6 @@ getOperation(DettachDependency.class, true); } -// @Ignore @Test @Override public void testDetectAssociations() throws Exception { @@ -141,7 +156,6 @@ } -// @Ignore @Test @Override public void testDetectDirectDependencies() throws Exception { @@ -155,7 +169,6 @@ detectDirectDependencies(pet2); } -// @Ignore @Test @Override public void testDetectShell() throws Exception { @@ -168,7 +181,6 @@ detectShell(pet2); } -// @Ignore @Test @Override public void testDetectDependencies() throws Exception { @@ -182,7 +194,6 @@ detectDependencies(pet2, new TopiaTestEntityEnum[]{TopiaTestEntityEnum.Pet}); } -// @Ignore @Test @Override public void testDetectObjectsToDettach() throws Exception { @@ -199,7 +210,6 @@ detectObjectsToDettach(pet3); } -// @Ignore @Test @Override public void testDetectOperations() throws Exception { @@ -218,7 +228,6 @@ detectOperations(pet3); } -// @Ignore @Test @Override public void testDoReplicate() throws Exception { @@ -241,13 +250,12 @@ /** * Cette methode montre pourquoi la simple replication * ne peut pas fonctionne :) - * + * <p/> * Le replicateur ne deplique pas dans le bon ordre et on * a donc des violations de clef etrangeres... - * - * @throws Exception + * + * @throws Exception pour toute erreur */ -// @Ignore @Test(expected = TopiaException.class) public void testSimpleReplicateFailed() throws Exception { @@ -274,15 +282,12 @@ /** * Cette methode montre comment manuellement on peut effectuer la replication * (en dettachant les dependances qui forment des cyles) - * + * <p/> * La methode utilisee ici peut ne pas fonctionner : si une clef metier * est posee sur une dependance alors cela ne fonctionne pas. * - * - * - * @throws Exception + * @throws Exception pour toute erreur */ -// @Ignore @Test public void testSimpleReplicateNotSure() throws Exception { @@ -307,13 +312,13 @@ srcCtxt.replicateEntity(dstCtxt, person); dstCtxt.commitTransaction(); - ((Pet) dstCtxt.findByTopiaId(pet.getId())).setPerson((Person) dstCtxt.findByTopiaId(person.getId())); + ((Pet) dstCtxt.findById(pet.getId())).setPerson((Person) dstCtxt.findById(person.getId())); dstCtxt.commitTransaction(); srcCtxt.rollbackTransaction(); person = update(person); - assertEntityEquals(person, dstCtxt.findByTopiaId(person.getId()), null); + assertEntityEquals(person, dstCtxt.findById(person.getId()), null); } finally { srcCtxt.rollbackTransaction(); //srcCtxt.closeContext(); @@ -324,18 +329,17 @@ /** * Cette methode montre comment manuellement on peut effectuer la replication * (en dettachant les associations qui forment des cyles) - * + * <p/> * La methode utilisee ici fonctionne mieux que la precedante : il parrait * dificille de pose une une clef metier sur une association :). - * + * <p/> * On remarque que l'on dettache l'assocation qui forme un cycle et que l'on est * pas obligee de la reattachee car elle est bi-directionnelle. - * + * <p/> * On doit optimiser l'algorithme dans la methode {@link ReplicationModel#adjustOperations(Map)}. * - * @throws Exception + * @throws Exception pour toute erreur */ -// @Ignore @Test public void testSimpleReplicateSure() throws Exception { @@ -357,7 +361,7 @@ srcCtxt.rollbackTransaction(); dstCtxt.commitTransaction(); - //((Person) dstCtxt.findByTopiaId(person.getId())).addPet(((Pet) dstCtxt.findByTopiaId(pet.getId()))); + //((Person) dstCtxt.findById(person.getId())).addPet(((Pet) dstCtxt.findById(pet.getId()))); //dstCtxt.commitTransaction(); srcCtxt.rollbackTransaction(); @@ -370,7 +374,7 @@ person = update(person); - assertEntityEquals(person, dstCtxt.findByTopiaId(person.getId()), null); + assertEntityEquals(person, dstCtxt.findById(person.getId()), null); } finally { dstCtxt.closeContext();