r2893 - in trunk: topia-it/src/main/java/org/nuiton/topia/it topia-it/src/test/java/org/nuiton/topia/it/legacy topia-it/src/test/java/org/nuiton/topia/it/legacy/framework topia-it/src/test/java/org/nuiton/topia/it/legacy/generator topia-it/src/test/java/org/nuiton/topia/it/legacy/persistence topia-it/src/test/java/org/nuiton/topia/it/legacy/persistence/util topia-it/src/test/java/org/nuiton/topia/it/legacy/test/ano1882 topia-it/src/test/java/org/nuiton/topia/it/legacy/topiatest topia-it/src/
Author: athimel Date: 2013-11-26 16:51:16 +0100 (Tue, 26 Nov 2013) New Revision: 2893 Url: http://nuiton.org/projects/topia/repository/revisions/2893 Log: refs #2923 Remove DAOHelperTransformer from TopiaMetaTransformer Added: trunk/topia-templates/src/main/java/org/nuiton/topia/templates/EntityEnumTransformer.java Modified: trunk/topia-it/src/main/java/org/nuiton/topia/it/TopiaConfigurationHelper.java trunk/topia-it/src/test/java/org/nuiton/topia/it/legacy/TestHelper.java trunk/topia-it/src/test/java/org/nuiton/topia/it/legacy/TopiaDatabase.java trunk/topia-it/src/test/java/org/nuiton/topia/it/legacy/framework/TopiaConnectionProviderTest.java trunk/topia-it/src/test/java/org/nuiton/topia/it/legacy/framework/TopiaContextReplicateTest.java trunk/topia-it/src/test/java/org/nuiton/topia/it/legacy/generator/TopiaTestCase.java trunk/topia-it/src/test/java/org/nuiton/topia/it/legacy/persistence/NaturalIdTest.java trunk/topia-it/src/test/java/org/nuiton/topia/it/legacy/persistence/util/CollectorTest.java trunk/topia-it/src/test/java/org/nuiton/topia/it/legacy/persistence/util/EntityOperatorTest.java trunk/topia-it/src/test/java/org/nuiton/topia/it/legacy/persistence/util/TopiaEntityBinderTest.java trunk/topia-it/src/test/java/org/nuiton/topia/it/legacy/persistence/util/TopiaEntityHelperTest.java trunk/topia-it/src/test/java/org/nuiton/topia/it/legacy/persistence/util/TopiaEntityRefTesterTest.java trunk/topia-it/src/test/java/org/nuiton/topia/it/legacy/test/ano1882/DAOAbstractTransformerTest.java trunk/topia-it/src/test/java/org/nuiton/topia/it/legacy/topiatest/EnumTest.java trunk/topia-it/src/test/java/org/nuiton/topia/it/legacy/topiatest/deletetest/DeleteEntityTest.java trunk/topia-service-replication/src/test/java/org/nuiton/topia/replication/TopiaReplicationOperationTest.java trunk/topia-service-replication/src/test/java/org/nuiton/topia/replication/TopiaReplicationServiceImplAllTest.java trunk/topia-service-replication/src/test/java/org/nuiton/topia/replication/TopiaReplicationServiceImplTest.java trunk/topia-templates/src/main/java/org/nuiton/topia/templates/ApplicationContextTransformer.java trunk/topia-templates/src/main/java/org/nuiton/topia/templates/BinderHelperTransformer.java trunk/topia-templates/src/main/java/org/nuiton/topia/templates/DAOHelperTransformer.java trunk/topia-templates/src/main/java/org/nuiton/topia/templates/EntityDaoTransformer.java trunk/topia-templates/src/main/java/org/nuiton/topia/templates/PersistenceContextTransformer.java trunk/topia-templates/src/main/java/org/nuiton/topia/templates/TopiaGeneratorUtil.java trunk/topia-templates/src/main/java/org/nuiton/topia/templates/TopiaMetaTransformer.java trunk/topia-templates/src/main/java/org/nuiton/topia/templates/TopiaTagValues.java Modified: trunk/topia-it/src/main/java/org/nuiton/topia/it/TopiaConfigurationHelper.java =================================================================== --- trunk/topia-it/src/main/java/org/nuiton/topia/it/TopiaConfigurationHelper.java 2013-11-25 15:28:01 UTC (rev 2892) +++ trunk/topia-it/src/main/java/org/nuiton/topia/it/TopiaConfigurationHelper.java 2013-11-26 15:51:16 UTC (rev 2893) @@ -27,10 +27,8 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.hibernate.cfg.Environment; -import org.nuiton.topia.AbstractTopiaApplicationContext; import org.nuiton.topia.TopiaContextFactory; -import org.nuiton.topia.TopiaNotFoundException; -import org.nuiton.topia.it.legacy.TopiaTestDAOHelper; +import org.nuiton.topia.it.legacy.TopiaTestEntityEnum; import org.nuiton.topia.junit.ConfigurationHelper; import java.io.File; @@ -106,7 +104,7 @@ configuration.load(stream); configuration.setProperty( TopiaContextFactory.CONFIG_PERSISTENCE_CLASSES, - TopiaTestDAOHelper.getImplementationClassesAsString()); + TopiaTestEntityEnum.getImplementationClassesAsString()); return configuration; } Modified: trunk/topia-it/src/test/java/org/nuiton/topia/it/legacy/TestHelper.java =================================================================== --- trunk/topia-it/src/test/java/org/nuiton/topia/it/legacy/TestHelper.java 2013-11-25 15:28:01 UTC (rev 2892) +++ trunk/topia-it/src/test/java/org/nuiton/topia/it/legacy/TestHelper.java 2013-11-26 15:51:16 UTC (rev 2893) @@ -150,7 +150,7 @@ configuration.load(stream); configuration.setProperty( TopiaContextFactory.CONFIG_PERSISTENCE_CLASSES, - TopiaTestDAOHelper.getImplementationClassesAsString()); + TopiaTestEntityEnum.getImplementationClassesAsString()); return configuration; } Modified: trunk/topia-it/src/test/java/org/nuiton/topia/it/legacy/TopiaDatabase.java =================================================================== --- trunk/topia-it/src/test/java/org/nuiton/topia/it/legacy/TopiaDatabase.java 2013-11-25 15:28:01 UTC (rev 2892) +++ trunk/topia-it/src/test/java/org/nuiton/topia/it/legacy/TopiaDatabase.java 2013-11-26 15:51:16 UTC (rev 2893) @@ -72,7 +72,7 @@ @Override protected String getImplementationClassesAsString() { - return TopiaTestDAOHelper.getImplementationClassesAsString(); + return TopiaTestEntityEnum.getImplementationClassesAsString(); } } Modified: trunk/topia-it/src/test/java/org/nuiton/topia/it/legacy/framework/TopiaConnectionProviderTest.java =================================================================== --- trunk/topia-it/src/test/java/org/nuiton/topia/it/legacy/framework/TopiaConnectionProviderTest.java 2013-11-25 15:28:01 UTC (rev 2892) +++ trunk/topia-it/src/test/java/org/nuiton/topia/it/legacy/framework/TopiaConnectionProviderTest.java 2013-11-26 15:51:16 UTC (rev 2893) @@ -24,23 +24,22 @@ */ package org.nuiton.topia.it.legacy.framework; +import java.io.File; +import java.util.Locale; +import java.util.Properties; + import org.junit.Assert; import org.junit.Rule; import org.junit.Test; import org.nuiton.topia.TopiaContextFactory; import org.nuiton.topia.TopiaException; -import org.nuiton.topia.it.legacy.TopiaTestDAOHelper; -import org.nuiton.topia.it.legacy.TopiaTestTopiaPersistenceContext; import org.nuiton.topia.framework.TopiaConnectionProvider; import org.nuiton.topia.it.legacy.TopiaDatabase; +import org.nuiton.topia.it.legacy.TopiaTestTopiaPersistenceContext; import org.nuiton.topia.it.legacy.test.entities.Person; import org.nuiton.topia.it.legacy.test.entities.PersonTopiaDao; import org.nuiton.topia.it.legacy.topiatest.Personne; -import java.io.File; -import java.util.Locale; -import java.util.Properties; - import static org.junit.Assert.assertNotNull; /** @@ -126,7 +125,7 @@ TopiaTestTopiaPersistenceContext transaction = db.beginTransaction(); try { - PersonTopiaDao dao = TopiaTestDAOHelper.getPersonTopiaDao(transaction); + PersonTopiaDao dao = transaction.getPersonDao(); Person personne = dao.create(Personne.PROPERTY_NAME, "Jack Bauer"); transaction.commit(); Modified: trunk/topia-it/src/test/java/org/nuiton/topia/it/legacy/framework/TopiaContextReplicateTest.java =================================================================== --- trunk/topia-it/src/test/java/org/nuiton/topia/it/legacy/framework/TopiaContextReplicateTest.java 2013-11-25 15:28:01 UTC (rev 2892) +++ trunk/topia-it/src/test/java/org/nuiton/topia/it/legacy/framework/TopiaContextReplicateTest.java 2013-11-26 15:51:16 UTC (rev 2893) @@ -32,7 +32,6 @@ import org.junit.Test; import org.nuiton.topia.TopiaContextFactory; import org.nuiton.topia.it.legacy.TopiaDatabase; -import org.nuiton.topia.it.legacy.TopiaTestDAOHelper; import org.nuiton.topia.it.legacy.TopiaTestTopiaPersistenceContext; import org.nuiton.topia.it.legacy.test.entities.Person; import org.nuiton.topia.it.legacy.test.entities.PersonTopiaDao; @@ -98,8 +97,8 @@ Pet petSource, petTarget; txSource = dbSource.beginTransaction(); - daoSource = TopiaTestDAOHelper.getPersonTopiaDao(txSource); - petDAOSource = TopiaTestDAOHelper.getPetTopiaDao(txSource); + daoSource = txSource.getPersonDao(); + petDAOSource = txSource.getPetDao(); personSource = daoSource.create(Person.PROPERTY_FIRSTNAME, " firstName", Person.PROPERTY_NAME, " name" @@ -114,7 +113,7 @@ txSource.commit(); - daoSource = TopiaTestDAOHelper.getPersonTopiaDao(txSource); + daoSource = txSource.getPersonDao(); personSource = daoSource.findByTopiaId(personSource.getTopiaId()); Assert.assertNotNull(personSource); @@ -131,8 +130,8 @@ txTarget.commit(); - daoTarget = TopiaTestDAOHelper.getPersonTopiaDao(txTarget); - petDAOTarget = TopiaTestDAOHelper.getPetTopiaDao(txTarget); + daoTarget = txTarget.getPersonDao(); + petDAOTarget = txTarget.getPetDao(); personTarget = daoTarget.findByTopiaId(personSource.getTopiaId()); Assert.assertNotNull(personTarget); Modified: trunk/topia-it/src/test/java/org/nuiton/topia/it/legacy/generator/TopiaTestCase.java =================================================================== --- trunk/topia-it/src/test/java/org/nuiton/topia/it/legacy/generator/TopiaTestCase.java 2013-11-25 15:28:01 UTC (rev 2892) +++ trunk/topia-it/src/test/java/org/nuiton/topia/it/legacy/generator/TopiaTestCase.java 2013-11-26 15:51:16 UTC (rev 2893) @@ -32,7 +32,6 @@ import org.junit.Test; import org.nuiton.topia.TopiaException; import org.nuiton.topia.it.legacy.TopiaDatabase; -import org.nuiton.topia.it.legacy.TopiaTestDAOHelper; import org.nuiton.topia.it.legacy.TopiaTestTopiaPersistenceContext; import org.nuiton.topia.it.legacy.topiatest.Company; import org.nuiton.topia.it.legacy.topiatest.CompanyTopiaDao; @@ -154,7 +153,7 @@ newContext = db.beginTransaction(); - companyDAO = TopiaTestDAOHelper.getCompanyTopiaDao(newContext); + companyDAO = newContext.getCompanyDao(); company = companyDAO.findByTopiaId(company.getTopiaId()); Modified: trunk/topia-it/src/test/java/org/nuiton/topia/it/legacy/persistence/NaturalIdTest.java =================================================================== --- trunk/topia-it/src/test/java/org/nuiton/topia/it/legacy/persistence/NaturalIdTest.java 2013-11-25 15:28:01 UTC (rev 2892) +++ trunk/topia-it/src/test/java/org/nuiton/topia/it/legacy/persistence/NaturalIdTest.java 2013-11-26 15:51:16 UTC (rev 2893) @@ -33,7 +33,7 @@ import org.junit.Test; import org.nuiton.topia.it.legacy.TopiaDatabase; import org.nuiton.topia.TopiaException; -import org.nuiton.topia.it.legacy.TopiaTestDAOHelper; +import org.nuiton.topia.it.legacy.TopiaTestEntityEnum; import org.nuiton.topia.it.legacy.TopiaTestTopiaPersistenceContext; import org.nuiton.topia.it.legacy.topiatest.NaturalizedEntity; import org.nuiton.topia.it.legacy.topiatest.NaturalizedEntityTopiaDao; @@ -169,8 +169,8 @@ public void testNaturalIdAreGeneralized() throws Exception { // test that natural ids are generalized - String[] generalizedNaturalizedNaturalIds = TopiaTestDAOHelper.TopiaTestEntityEnum.GeneralizedNaturalizedEntity.getNaturalIds(); - String[] naturalizedNaturalIds = TopiaTestDAOHelper.TopiaTestEntityEnum.NaturalizedEntity.getNaturalIds(); + String[] generalizedNaturalizedNaturalIds = TopiaTestEntityEnum.GeneralizedNaturalizedEntity.getNaturalIds(); + String[] naturalizedNaturalIds = TopiaTestEntityEnum.NaturalizedEntity.getNaturalIds(); Assert.assertArrayEquals(generalizedNaturalizedNaturalIds, naturalizedNaturalIds); } @@ -178,8 +178,8 @@ public void testNotNullsAreGeneralized() throws Exception { // test that not nulls are generalized - String[] generalizedNaturalizedNotNulls = TopiaTestDAOHelper.TopiaTestEntityEnum.GeneralizedNaturalizedEntity.getNotNulls(); - String[] naturalizedNotNulls = TopiaTestDAOHelper.TopiaTestEntityEnum.NaturalizedEntity.getNotNulls(); + String[] generalizedNaturalizedNotNulls = TopiaTestEntityEnum.GeneralizedNaturalizedEntity.getNotNulls(); + String[] naturalizedNotNulls = TopiaTestEntityEnum.NaturalizedEntity.getNotNulls(); Assert.assertArrayEquals(generalizedNaturalizedNotNulls, naturalizedNotNulls); } } Modified: trunk/topia-it/src/test/java/org/nuiton/topia/it/legacy/persistence/util/CollectorTest.java =================================================================== --- trunk/topia-it/src/test/java/org/nuiton/topia/it/legacy/persistence/util/CollectorTest.java 2013-11-25 15:28:01 UTC (rev 2892) +++ trunk/topia-it/src/test/java/org/nuiton/topia/it/legacy/persistence/util/CollectorTest.java 2013-11-26 15:51:16 UTC (rev 2893) @@ -32,7 +32,7 @@ import org.junit.BeforeClass; import org.junit.Test; import org.nuiton.topia.TopiaException; -import org.nuiton.topia.it.legacy.TopiaTestDAOHelper; +import org.nuiton.topia.it.legacy.TopiaTestEntityEnum; import org.nuiton.topia.persistence.TopiaEntity; import org.nuiton.topia.persistence.TopiaEntityEnum; import org.nuiton.topia.it.legacy.topiatest.Company; @@ -45,15 +45,13 @@ /** @author tchemit <chemit@codelutin.com> */ public class CollectorTest { - private static Log log = LogFactory.getLog(CollectorTest.class); - static TopiaEntityEnum[] contracts; @BeforeClass public static void setUpClass() throws Exception { - contracts = TopiaTestDAOHelper.getContracts(); + contracts = TopiaTestEntityEnum.getContracts(); } @AfterClass Modified: trunk/topia-it/src/test/java/org/nuiton/topia/it/legacy/persistence/util/EntityOperatorTest.java =================================================================== --- trunk/topia-it/src/test/java/org/nuiton/topia/it/legacy/persistence/util/EntityOperatorTest.java 2013-11-25 15:28:01 UTC (rev 2892) +++ trunk/topia-it/src/test/java/org/nuiton/topia/it/legacy/persistence/util/EntityOperatorTest.java 2013-11-26 15:51:16 UTC (rev 2893) @@ -30,7 +30,7 @@ import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; -import org.nuiton.topia.it.legacy.TopiaTestDAOHelper; +import org.nuiton.topia.it.legacy.TopiaTestEntityEnum; import org.nuiton.topia.it.legacy.topiatest.Company; import org.nuiton.topia.it.legacy.topiatest.CompanyImpl; import org.nuiton.topia.it.legacy.topiatest.Department; @@ -73,10 +73,10 @@ @BeforeClass public static void setUpClass() throws Exception { - operationC = TopiaTestDAOHelper.getOperator(Company.class); - operationE = TopiaTestDAOHelper.getOperator(Employe.class); - operationP = TopiaTestDAOHelper.getOperator(Personne.class); - operationD = TopiaTestDAOHelper.getOperator(Department.class); + operationC = TopiaTestEntityEnum.getOperator(Company.class); + operationE = TopiaTestEntityEnum.getOperator(Employe.class); + operationP = TopiaTestEntityEnum.getOperator(Personne.class); + operationD = TopiaTestEntityEnum.getOperator(Department.class); } @AfterClass Modified: trunk/topia-it/src/test/java/org/nuiton/topia/it/legacy/persistence/util/TopiaEntityBinderTest.java =================================================================== --- trunk/topia-it/src/test/java/org/nuiton/topia/it/legacy/persistence/util/TopiaEntityBinderTest.java 2013-11-25 15:28:01 UTC (rev 2892) +++ trunk/topia-it/src/test/java/org/nuiton/topia/it/legacy/persistence/util/TopiaEntityBinderTest.java 2013-11-26 15:51:16 UTC (rev 2893) @@ -30,7 +30,7 @@ import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; -import org.nuiton.topia.it.legacy.TopiaTestDAOHelper; +import org.nuiton.topia.it.legacy.TopiaTestEntityEnum; import org.nuiton.topia.persistence.TopiaEntity; import org.nuiton.topia.persistence.TopiaEntityEnum; import org.nuiton.topia.it.legacy.topiatest.Company; @@ -44,7 +44,7 @@ @BeforeClass public static void setUpClass() throws Exception { - contracts = TopiaTestDAOHelper.getContracts(); + contracts = TopiaTestEntityEnum.getContracts(); } public static class CompanyDTO { Modified: trunk/topia-it/src/test/java/org/nuiton/topia/it/legacy/persistence/util/TopiaEntityHelperTest.java =================================================================== --- trunk/topia-it/src/test/java/org/nuiton/topia/it/legacy/persistence/util/TopiaEntityHelperTest.java 2013-11-25 15:28:01 UTC (rev 2892) +++ trunk/topia-it/src/test/java/org/nuiton/topia/it/legacy/persistence/util/TopiaEntityHelperTest.java 2013-11-26 15:51:16 UTC (rev 2893) @@ -30,7 +30,7 @@ import org.junit.BeforeClass; import org.junit.Test; import org.nuiton.topia.TopiaException; -import org.nuiton.topia.it.legacy.TopiaTestDAOHelper; +import org.nuiton.topia.it.legacy.TopiaTestEntityEnum; import org.nuiton.topia.persistence.DefaultTopiaIdFactory; import org.nuiton.topia.persistence.TopiaEntity; import org.nuiton.topia.persistence.TopiaEntityEnum; @@ -75,7 +75,7 @@ @BeforeClass public static void setUpClass() throws Exception { - contracts = TopiaTestDAOHelper.getContracts(); + contracts = TopiaTestEntityEnum.getContracts(); } @AfterClass Modified: trunk/topia-it/src/test/java/org/nuiton/topia/it/legacy/persistence/util/TopiaEntityRefTesterTest.java =================================================================== --- trunk/topia-it/src/test/java/org/nuiton/topia/it/legacy/persistence/util/TopiaEntityRefTesterTest.java 2013-11-25 15:28:01 UTC (rev 2892) +++ trunk/topia-it/src/test/java/org/nuiton/topia/it/legacy/persistence/util/TopiaEntityRefTesterTest.java 2013-11-26 15:51:16 UTC (rev 2893) @@ -28,7 +28,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.junit.Test; -import org.nuiton.topia.it.legacy.TopiaTestDAOHelper.TopiaTestEntityEnum; +import org.nuiton.topia.it.legacy.TopiaTestEntityEnum; import org.nuiton.topia.it.legacy.test.entities.Person; import org.nuiton.topia.it.legacy.test.entities.Pet; import org.nuiton.topia.it.legacy.test.entities.Race; Modified: trunk/topia-it/src/test/java/org/nuiton/topia/it/legacy/test/ano1882/DAOAbstractTransformerTest.java =================================================================== --- trunk/topia-it/src/test/java/org/nuiton/topia/it/legacy/test/ano1882/DAOAbstractTransformerTest.java 2013-11-25 15:28:01 UTC (rev 2892) +++ trunk/topia-it/src/test/java/org/nuiton/topia/it/legacy/test/ano1882/DAOAbstractTransformerTest.java 2013-11-26 15:51:16 UTC (rev 2893) @@ -29,7 +29,6 @@ import org.junit.Rule; import org.junit.Test; import org.nuiton.topia.it.legacy.TopiaDatabase; -import org.nuiton.topia.it.legacy.TopiaTestDAOHelper; import org.nuiton.topia.it.legacy.TopiaTestTopiaPersistenceContext; public class DAOAbstractTransformerTest { @@ -41,8 +40,8 @@ public void testAno1882() throws Exception { TopiaTestTopiaPersistenceContext transaction = db.beginTransaction(); - FrenchCompanyTopiaDao dao = TopiaTestDAOHelper.getFrenchCompanyTopiaDao(transaction); - SIRETTopiaDao siretDAO = TopiaTestDAOHelper.getSIRETTopiaDao(transaction); + FrenchCompanyTopiaDao dao = transaction.getFrenchCompanyDao(); + SIRETTopiaDao siretDAO = transaction.getSIRETDao(); SIRET siret = siretDAO.create(); FrenchCompany entity = dao.create( Modified: trunk/topia-it/src/test/java/org/nuiton/topia/it/legacy/topiatest/EnumTest.java =================================================================== --- trunk/topia-it/src/test/java/org/nuiton/topia/it/legacy/topiatest/EnumTest.java 2013-11-25 15:28:01 UTC (rev 2892) +++ trunk/topia-it/src/test/java/org/nuiton/topia/it/legacy/topiatest/EnumTest.java 2013-11-26 15:51:16 UTC (rev 2893) @@ -29,7 +29,6 @@ import org.junit.Test; import org.nuiton.topia.it.legacy.TopiaDatabase; import org.nuiton.topia.TopiaException; -import org.nuiton.topia.it.legacy.TopiaTestDAOHelper; import org.nuiton.topia.it.legacy.TopiaTestTopiaPersistenceContext; /** @@ -53,7 +52,7 @@ public void storeEntityWithEnumValue() throws TopiaException { TopiaTestTopiaPersistenceContext transaction = db.beginTransaction(); - PersonneTopiaDao dao = TopiaTestDAOHelper.getPersonneTopiaDao(transaction); + PersonneTopiaDao dao = transaction.getPersonneDao(); Personne personne = new PersonneImpl(); personne.setGender(Gender.FEMALE); personne.setOtherGender(Gender.MALE); @@ -63,7 +62,7 @@ transaction.closeContext(); transaction = db.beginTransaction(); - dao = TopiaTestDAOHelper.getPersonneTopiaDao(transaction); + dao = transaction.getPersonneDao(); dao.findByTopiaId(topiaId); Assert.assertEquals(Gender.FEMALE, personne.getGender()); Assert.assertEquals(Gender.MALE, personne.getOtherGender()); Modified: trunk/topia-it/src/test/java/org/nuiton/topia/it/legacy/topiatest/deletetest/DeleteEntityTest.java =================================================================== --- trunk/topia-it/src/test/java/org/nuiton/topia/it/legacy/topiatest/deletetest/DeleteEntityTest.java 2013-11-25 15:28:01 UTC (rev 2892) +++ trunk/topia-it/src/test/java/org/nuiton/topia/it/legacy/topiatest/deletetest/DeleteEntityTest.java 2013-11-26 15:51:16 UTC (rev 2893) @@ -45,7 +45,6 @@ import org.junit.Test; import org.nuiton.topia.TopiaException; import org.nuiton.topia.it.legacy.TopiaDatabase; -import org.nuiton.topia.it.legacy.TopiaTestDAOHelper; import org.nuiton.topia.it.legacy.TopiaTestTopiaPersistenceContext; import org.nuiton.topia.it.legacy.topiatest.Gender; import org.nuiton.topia.it.legacy.topiatest.Personne; @@ -84,7 +83,7 @@ TopiaTestTopiaPersistenceContext transaction = db.beginTransaction(); log.debug("DAO : PersonneDAO"); - PersonneTopiaDao dao = TopiaTestDAOHelper.getPersonneTopiaDao(transaction); + PersonneTopiaDao dao = transaction.getPersonneDao(); log.debug("CREATE PERSONNE : Bob Marley"); Personne personne = dao.create(Personne.PROPERTY_NAME, "Bob Marley"); @@ -108,7 +107,7 @@ log.debug("ENTITY PERSONNE SAVED !"); log.debug("DAO parent (abstract) : PartyDAO"); - Party2TopiaDao dao2 = TopiaTestDAOHelper.getParty2TopiaDao(transaction); + Party2TopiaDao dao2 = transaction.getParty2Dao(); log.debug("DELETE PERSONNE with PartyDAO"); dao2.delete(personne2); @@ -134,7 +133,7 @@ TopiaTestTopiaPersistenceContext transaction = db.beginTransaction(); - PersonneTopiaDao dao = TopiaTestDAOHelper.getPersonneTopiaDao(transaction); + PersonneTopiaDao dao = transaction.getPersonneDao(); log.debug("CREATE PERSONNE : Bob Marley"); Personne personne = dao.create(Personne.PROPERTY_NAME, "Bob Marley"); @@ -143,7 +142,7 @@ assertNotNull(idPersonne); log.debug("ENTITY PERSONNE SAVED !"); - Contact2TopiaDao contactDAO = TopiaTestDAOHelper.getContact2TopiaDao(transaction); + Contact2TopiaDao contactDAO = transaction.getContact2Dao(); log.debug("CREATE CONTACT : jaja@codelutin.com"); Contact2 contact = contactDAO.create(Contact2.PROPERTY_CONTACT_VALUE, "jaja@codelutin.com"); @@ -185,7 +184,7 @@ TopiaTestTopiaPersistenceContext transaction = db.beginTransaction(); - PersonneTopiaDao dao = TopiaTestDAOHelper.getPersonneTopiaDao(transaction); + PersonneTopiaDao dao = transaction.getPersonneDao(); Personne person = dao.newInstance(); Assert.assertNull(person.getTopiaId()); Modified: trunk/topia-service-replication/src/test/java/org/nuiton/topia/replication/TopiaReplicationOperationTest.java =================================================================== --- trunk/topia-service-replication/src/test/java/org/nuiton/topia/replication/TopiaReplicationOperationTest.java 2013-11-25 15:28:01 UTC (rev 2892) +++ trunk/topia-service-replication/src/test/java/org/nuiton/topia/replication/TopiaReplicationOperationTest.java 2013-11-26 15:51:16 UTC (rev 2893) @@ -36,7 +36,7 @@ import org.nuiton.topia.TopiaContextFactory; import org.nuiton.topia.TopiaPersistenceContext; import org.nuiton.topia.it.TopiaConfigurationHelper; -import org.nuiton.topia.it.legacy.TopiaTestDAOHelper.TopiaTestEntityEnum; +import org.nuiton.topia.it.legacy.TopiaTestEntityEnum; import org.nuiton.topia.it.legacy.test.entities.Person; import org.nuiton.topia.it.legacy.test.entities.PersonImpl; import org.nuiton.topia.it.legacy.test.entities.Pet; Modified: trunk/topia-service-replication/src/test/java/org/nuiton/topia/replication/TopiaReplicationServiceImplAllTest.java =================================================================== --- trunk/topia-service-replication/src/test/java/org/nuiton/topia/replication/TopiaReplicationServiceImplAllTest.java 2013-11-25 15:28:01 UTC (rev 2892) +++ trunk/topia-service-replication/src/test/java/org/nuiton/topia/replication/TopiaReplicationServiceImplAllTest.java 2013-11-26 15:51:16 UTC (rev 2893) @@ -37,6 +37,7 @@ import org.nuiton.topia.TopiaException; import org.nuiton.topia.TopiaPersistenceContext; import org.nuiton.topia.it.TopiaConfigurationHelper; +import org.nuiton.topia.it.legacy.TopiaTestEntityEnum; import org.nuiton.topia.it.legacy.test.entities.Person; import org.nuiton.topia.it.legacy.test.entities.PersonImpl; import org.nuiton.topia.it.legacy.test.entities.Pet; @@ -50,8 +51,6 @@ import java.io.IOException; import java.util.Properties; -import static org.nuiton.topia.it.legacy.TopiaTestDAOHelper.TopiaTestEntityEnum; - /** * TopiaReplicationServiceImplTest on model TopiaTest * <p/> Modified: trunk/topia-service-replication/src/test/java/org/nuiton/topia/replication/TopiaReplicationServiceImplTest.java =================================================================== --- trunk/topia-service-replication/src/test/java/org/nuiton/topia/replication/TopiaReplicationServiceImplTest.java 2013-11-25 15:28:01 UTC (rev 2892) +++ trunk/topia-service-replication/src/test/java/org/nuiton/topia/replication/TopiaReplicationServiceImplTest.java 2013-11-26 15:51:16 UTC (rev 2893) @@ -37,6 +37,7 @@ import org.nuiton.topia.TopiaException; import org.nuiton.topia.TopiaPersistenceContext; import org.nuiton.topia.it.TopiaConfigurationHelper; +import org.nuiton.topia.it.legacy.TopiaTestEntityEnum; import org.nuiton.topia.it.legacy.test.entities.Person; import org.nuiton.topia.it.legacy.test.entities.PersonImpl; import org.nuiton.topia.it.legacy.test.entities.Pet; @@ -56,8 +57,6 @@ import java.io.IOException; import java.util.Properties; -import static org.nuiton.topia.it.legacy.TopiaTestDAOHelper.TopiaTestEntityEnum; - /** * TopiaReplicationServiceImplTest on model TopiaTest * <p/> Modified: trunk/topia-templates/src/main/java/org/nuiton/topia/templates/ApplicationContextTransformer.java =================================================================== --- trunk/topia-templates/src/main/java/org/nuiton/topia/templates/ApplicationContextTransformer.java 2013-11-25 15:28:01 UTC (rev 2892) +++ trunk/topia-templates/src/main/java/org/nuiton/topia/templates/ApplicationContextTransformer.java 2013-11-26 15:51:16 UTC (rev 2893) @@ -120,15 +120,15 @@ boolean generateOperator = TopiaGeneratorUtil.shouldGenerateOperatorForDAOHelper(model); - boolean generateStandaloneEnum = - TopiaGeneratorUtil.shouldGenerateStandaloneEnumForDAOHelper(model); +// boolean generateStandaloneEnum = +// TopiaGeneratorUtil.shouldGenerateStandaloneEnumForDAOHelper(model); +// +// if (!generateStandaloneEnum) { +// +// addImport(output, packageName + "." + daoHelperClazzName + "." + entityEnumName); +// +// } - if (!generateStandaloneEnum) { - - addImport(output, packageName + "." + daoHelperClazzName + "." + entityEnumName); - - } - addImport(output, TopiaEntity.class); addImport(output, Array.class); addImport(output, Array.class); Modified: trunk/topia-templates/src/main/java/org/nuiton/topia/templates/BinderHelperTransformer.java =================================================================== --- trunk/topia-templates/src/main/java/org/nuiton/topia/templates/BinderHelperTransformer.java 2013-11-25 15:28:01 UTC (rev 2892) +++ trunk/topia-templates/src/main/java/org/nuiton/topia/templates/BinderHelperTransformer.java 2013-11-26 15:51:16 UTC (rev 2893) @@ -77,15 +77,18 @@ String binderHelperClazzName = modelName + "BinderHelper"; String daoHelperClazzName = modelName + "DAOHelper"; + String entityEnumName = TopiaGeneratorUtil.getEntityEnumName(model); + String entityEnumPackage = packageName + "." + entityEnumName; + resultClass = createClass(binderHelperClazzName, packageName); setSuperClass(resultClass, BinderFactory.class); - addImport(resultClass, TopiaEntityBinder.class); addImport(resultClass, TopiaEntityHelper.class); addImport(resultClass, TopiaEntity.class); addImport(resultClass, BinderModelBuilder.class); + addImport(resultClass, entityEnumPackage); ObjectModelOperation op; @@ -153,10 +156,10 @@ addParameter(op, "boolean", "tech"); setOperationBody(op, "" /*{ - Class<E> entityClass = (Class<E>) TopiaEntityHelper.getContractClass(<%=daoHelperClazzName%>.getContracts(), target.getClass()); + Class<E> entityClass = (Class<E>) TopiaEntityHelper.getContractClass(<%=entityEnumName%>.values(), target.getClass()); TopiaEntityBinder<E> binder = getTopiaBinder(entityClass, contextName); if (binder == null) { - throw new NullPointerException("could not find a simple topia binder of type : " + target.getClass()); + throw new NullPointerException("Could not find a simple topia binder of type : " + target.getClass()); } binder.load(source, target, tech); }*/ @@ -172,10 +175,10 @@ addParameter(op, "boolean", "tech"); setOperationBody(op, "" /*{ - Class<E> entityClass = (Class<E>) TopiaEntityHelper.getContractClass(<%=daoHelperClazzName%>.getContracts(), target.getClass()); + Class<E> entityClass = (Class<E>) TopiaEntityHelper.getContractClass(<%=entityEnumName%>.values(), target.getClass()); TopiaEntityBinder<E> binder = getSimpleTopiaBinder(entityClass); if (binder == null) { - throw new NullPointerException("could not find a simple topia binder of type : " + target.getClass()); + throw new NullPointerException("Could not find a simple topia binder of type : " + target.getClass()); } binder.load(source, target, tech); }*/ Modified: trunk/topia-templates/src/main/java/org/nuiton/topia/templates/DAOHelperTransformer.java =================================================================== --- trunk/topia-templates/src/main/java/org/nuiton/topia/templates/DAOHelperTransformer.java 2013-11-25 15:28:01 UTC (rev 2892) +++ trunk/topia-templates/src/main/java/org/nuiton/topia/templates/DAOHelperTransformer.java 2013-11-26 15:51:16 UTC (rev 2893) @@ -62,6 +62,7 @@ * @version $Id$ * @since 2.3.0 * @plexus.component role="org.nuiton.eugene.Template" role-hint="org.nuiton.topia.templates.DAOHelperTransformer" + * @deprecated Will be removed before 3.0 */ public class DAOHelperTransformer extends ObjectModelTransformerToJava { @@ -82,15 +83,15 @@ boolean generateOperator = TopiaGeneratorUtil.shouldGenerateOperatorForDAOHelper(model); - boolean generateStandaloneEnum = - TopiaGeneratorUtil.shouldGenerateStandaloneEnumForDAOHelper(model); +// boolean generateStandaloneEnum = +// TopiaGeneratorUtil.shouldGenerateStandaloneEnumForDAOHelper(model); ObjectModelClass daoHelper = createClass(daoHelperClazzName, packageName); ObjectModelEnumeration entityEnum; - if (generateStandaloneEnum) { +// if (generateStandaloneEnum) { if (log.isDebugEnabled()) { log.debug("Will generate standalone " + entityEnumName + " in package " + packageName); @@ -101,17 +102,17 @@ addImport(entityEnum, Arrays.class); addImport(entityEnum, ArrayUtils.class); - } else { - entityEnum = (ObjectModelEnumerationImpl) - addInnerClassifier(daoHelper, - ObjectModelType.OBJECT_MODEL_ENUMERATION, - entityEnumName - ); - addImport(daoHelper, TopiaEntityEnum.class); - addImport(daoHelper, EntityOperatorStore.class); - addImport(daoHelper, Arrays.class); - addImport(daoHelper, ArrayUtils.class); - } +// } else { +// entityEnum = (ObjectModelEnumerationImpl) +// addInnerClassifier(daoHelper, +// ObjectModelType.OBJECT_MODEL_ENUMERATION, +// entityEnumName +// ); +// addImport(daoHelper, TopiaEntityEnum.class); +// addImport(daoHelper, EntityOperatorStore.class); +// addImport(daoHelper, Arrays.class); +// addImport(daoHelper, ArrayUtils.class); +// } // generate DAOHelper createDAOHelper(model, @@ -127,7 +128,6 @@ daoHelperClazzName, entityEnumName, generateOperator, - generateStandaloneEnum, classes ); } @@ -306,7 +306,6 @@ String daoHelperClazzName, String entityEnumName, boolean generateOperator, - boolean generateStandaloneEnum, List<ObjectModelClass> classes) { ObjectModelAttributeImpl attr; @@ -346,9 +345,9 @@ } addLiteral(entityEnum, clazzName + '(' + params.toString() + ')'); - if (generateStandaloneEnum) { +// if (generateStandaloneEnum) { addImport(entityEnum, clazz); - } +// } } attr = (ObjectModelAttributeImpl) addAttribute(entityEnum, "contract", "Class<? extends TopiaEntity>"); Modified: trunk/topia-templates/src/main/java/org/nuiton/topia/templates/EntityDaoTransformer.java =================================================================== --- trunk/topia-templates/src/main/java/org/nuiton/topia/templates/EntityDaoTransformer.java 2013-11-25 15:28:01 UTC (rev 2892) +++ trunk/topia-templates/src/main/java/org/nuiton/topia/templates/EntityDaoTransformer.java 2013-11-26 15:51:16 UTC (rev 2893) @@ -104,8 +104,6 @@ @Override public void transformFromModel(ObjectModel model) { - boolean generateStandaloneEnum = - TopiaGeneratorUtil.shouldGenerateStandaloneEnumForDAOHelper(model); String modelName = model.getName(); entityEnumName = modelName + "EntityEnum"; @@ -113,12 +111,7 @@ String packageName = getOutputProperties().getProperty(PROP_DEFAULT_PACKAGE); - if (generateStandaloneEnum) { - entityEnumPackage = packageName + "." + entityEnumName; - } else { - String daoHelperClazzName = modelName + "DAOHelper"; - entityEnumPackage = packageName + "." + daoHelperClazzName + "." + entityEnumName; - } + entityEnumPackage = packageName + "." + entityEnumName; usages = TopiaGeneratorUtil.searchDirectUsages(model); @@ -575,7 +568,7 @@ "from <%=attrClassifierDBName%> main, <%=attrJoinTableName%> secondary " + "where main.topiaid=secondary.<%=attrDBName%>" + " and secondary.<%=attrReverseDBName%>='" + entity.getTopiaId() + "'") - .addEntity("main", <%=providerFQN%>(<%=attrType%>.class)).list(); + .addEntity("main", <%=entityEnumName%>.<%=attrType%>.getImplementation()).list(); for (<%=attrType%> item : list) { item.<%=removeName%>(entity); Added: trunk/topia-templates/src/main/java/org/nuiton/topia/templates/EntityEnumTransformer.java =================================================================== --- trunk/topia-templates/src/main/java/org/nuiton/topia/templates/EntityEnumTransformer.java (rev 0) +++ trunk/topia-templates/src/main/java/org/nuiton/topia/templates/EntityEnumTransformer.java 2013-11-26 15:51:16 UTC (rev 2893) @@ -0,0 +1,401 @@ +package org.nuiton.topia.templates; + +/* + * #%L + * ToPIA :: Templates + * $Id: ApplicationContextTransformer.java 2885 2013-11-22 20:03:11Z tchemit $ + * $HeadURL: http://svn.nuiton.org/svn/topia/trunk/topia-templates/src/main/java/org/nuit... $ + * %% + * Copyright (C) 2004 - 2013 CodeLutin + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Lesser Public License for more details. + * + * You should have received a copy of the GNU General Lesser Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * #L% + */ + +/*{generator option: parentheses = false}*/ + +/*{generator option: writeString = +}*/ + +import java.lang.reflect.Array; +import java.util.Arrays; +import java.util.List; +import java.util.Set; + +import org.apache.commons.lang3.ArrayUtils; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.nuiton.eugene.java.ObjectModelTransformerToJava; +import org.nuiton.eugene.models.object.ObjectModel; +import org.nuiton.eugene.models.object.ObjectModelAttribute; +import org.nuiton.eugene.models.object.ObjectModelClass; +import org.nuiton.eugene.models.object.ObjectModelEnumeration; +import org.nuiton.eugene.models.object.ObjectModelJavaModifier; +import org.nuiton.eugene.models.object.ObjectModelOperation; +import org.nuiton.eugene.models.object.xml.ObjectModelAttributeImpl; +import org.nuiton.topia.TopiaException; +import org.nuiton.topia.persistence.TopiaEntity; +import org.nuiton.topia.persistence.TopiaEntityEnum; +import org.nuiton.topia.persistence.util.EntityOperator; +import org.nuiton.topia.persistence.util.EntityOperatorStore; + +/** + * Will generate XyzEntityEnum (where Xyz = Model name) + * + * @author Arnaud Thimel <thimel@codelutin.com> + * @plexus.component role="org.nuiton.eugene.Template" role-hint="org.nuiton.topia.templates.EntityEnumTransformer" + * @since 3.0 + */ +public class EntityEnumTransformer extends ObjectModelTransformerToJava { + + private static final Log log = LogFactory.getLog(EntityEnumTransformer.class); + + @Override + public void transformFromModel(ObjectModel input) { + + String packageName = TopiaGeneratorUtil.getApplicationContextPackage(this, model); + + String entityEnumName = TopiaGeneratorUtil.getEntityEnumName(model); + + boolean generateOperator = + TopiaGeneratorUtil.shouldGenerateOperatorForDAOHelper(model); + + generateEntityEnum(packageName, entityEnumName, generateOperator); + + } + + protected void generateEntityEnum(String packageName, + String entityEnumName, + boolean generateOperator) { + + List<ObjectModelClass> classes = + TopiaGeneratorUtil.getEntityClasses(model, true); + + ObjectModelEnumeration entityEnum; + + if (log.isDebugEnabled()) { + log.debug("Will generate standalone " + entityEnumName + + " in package " + packageName); + } + entityEnum = createEnumeration(entityEnumName, packageName); + addImport(entityEnum, TopiaEntity.class); + addImport(entityEnum, EntityOperatorStore.class); + addImport(entityEnum, Arrays.class); + addImport(entityEnum, ArrayUtils.class); + + // generate TopiaEntityEnum + createEntityEnum(entityEnum, + entityEnumName, + generateOperator, + classes + ); + } + + protected void createEntityEnum(ObjectModelEnumeration entityEnum, + String entityEnumName, + boolean generateOperator, + List<ObjectModelClass> classes) { + + ObjectModelAttributeImpl attr; + ObjectModelOperation op; + + addInterface(entityEnum, TopiaEntityEnum.class); + + addImport(entityEnum, Array.class); + if (generateOperator) { + addImport(entityEnum, EntityOperator.class); + } + + for (ObjectModelClass clazz : classes) { + String clazzName = clazz.getName(); + + boolean withNatural = false; + boolean withNotNull = false; + StringBuilder naturalIdsParams = new StringBuilder(); + StringBuilder notNullParams = new StringBuilder(); + + Set<ObjectModelAttribute> naturalIdsAttributes = TopiaGeneratorUtil.getNaturalIdAttributes(clazz); + for (ObjectModelAttribute attribute: naturalIdsAttributes) { + withNatural = true; + // attribut metier + naturalIdsParams.append(", \"").append(attribute.getName()).append("\""); + } + Set<ObjectModelAttribute> notNullIdsAttributes = TopiaGeneratorUtil.getNotNullAttributes(clazz); + for (ObjectModelAttribute attribute : notNullIdsAttributes) { + withNotNull = true; + // attribut not-null + notNullParams.append(", \"").append(attribute.getName()).append("\""); + } + + StringBuilder params = new StringBuilder(clazzName + ".class"); + if (withNotNull) { + params.append(", new String[]{" + notNullParams.substring(2) + "}"); + } else { + params.append(", ArrayUtils.EMPTY_STRING_ARRAY"); + } + if (withNatural) { + params.append(", ").append(naturalIdsParams.substring(2)); + } + addLiteral(entityEnum, clazzName + '(' + params.toString() + ')'); + + addImport(entityEnum, clazz); + } + + attr = (ObjectModelAttributeImpl) addAttribute(entityEnum, "contract", "Class<? extends TopiaEntity>"); + attr.setDocumentation("The contract of the entity."); + + attr = (ObjectModelAttributeImpl) addAttribute(entityEnum, "implementationFQN", "String"); + attr.setDocumentation("The fully qualified name of the implementation of the entity."); + + attr = (ObjectModelAttributeImpl) addAttribute(entityEnum, "implementation", "Class<? extends TopiaEntity>"); + attr.setDocumentation("The implementation class of the entity (will be lazy computed at runtime)."); + + attr = (ObjectModelAttributeImpl) addAttribute(entityEnum, "naturalIds", "String[]"); + attr.setDocumentation("The array of property involved in the natural key of the entity."); + + attr = (ObjectModelAttributeImpl) addAttribute(entityEnum, "notNulls", "String[]"); + attr.setDocumentation("The array of not null properties of the entity."); + + // constructor + op = addConstructor(entityEnum, ObjectModelJavaModifier.PACKAGE); + addParameter(op,"Class<? extends TopiaEntity>","contract"); + addParameter(op,"String[]","notNulls"); + addParameter(op,"String ...","naturalIds"); + setOperationBody(op, "" +/*{ + this.contract = contract; + this.notNulls = Arrays.copyOf(notNulls, notNulls.length); + this.naturalIds = naturalIds; + implementationFQN = contract.getName() + "Impl"; + }*/ + ); + + // getContract method + op = addOperation(entityEnum, "getContract", "Class<? extends TopiaEntity>", ObjectModelJavaModifier.PUBLIC); + addAnnotation(entityEnum,op,Override.class); + setOperationBody(op, "" +/*{ + return contract; + }*/ + ); + + // getNaturalIds method + op = addOperation(entityEnum, "getNaturalIds", "String[]", ObjectModelJavaModifier.PUBLIC); + addAnnotation(entityEnum,op,Override.class); + setOperationBody(op, "" +/*{ + return naturalIds; + }*/ + ); + + // isUseNaturalIds method + op = addOperation(entityEnum, "isUseNaturalIds", "boolean", ObjectModelJavaModifier.PUBLIC); + addAnnotation(entityEnum,op,Override.class); + setOperationBody(op, "" +/*{ + return naturalIds.length > 0; + }*/ + ); + + // getNotNulls method + op = addOperation(entityEnum, "getNotNulls", "String[]", ObjectModelJavaModifier.PUBLIC); + addAnnotation(entityEnum,op,Override.class); + setOperationBody(op, "" +/*{ + return notNulls; + }*/ + ); + + // isUseNotNulls method + op = addOperation(entityEnum, "isUseNotNulls", "boolean", ObjectModelJavaModifier.PUBLIC); + addAnnotation(entityEnum,op,Override.class); + setOperationBody(op, "" +/*{ + return notNulls.length > 0; + }*/ + ); + + // getImplementationFQN method + op = addOperation(entityEnum, "getImplementationFQN","String",ObjectModelJavaModifier.PUBLIC); + addAnnotation(entityEnum, op, Override.class); + setOperationBody(op, "" +/*{ + return implementationFQN; + }*/ + ); + + // setImplementationFQN method + op = addOperation(entityEnum, "setImplementationFQN","void",ObjectModelJavaModifier.PUBLIC); + addAnnotation(entityEnum,op,Override.class); + addParameter(op,"String","implementationFQN"); + if (generateOperator) { + setOperationBody(op, "" +/*{ + this.implementationFQN = implementationFQN; + implementation = null; + // reinit the operators store + EntityOperatorStore.clear(); + }*/ + ); + } else { + setOperationBody(op, "" +/*{ + this.implementationFQN = implementationFQN; + this.implementation = null; + }*/ + ); + } + + // accept method + op = addOperation(entityEnum, "accept","boolean",ObjectModelJavaModifier.PUBLIC); + addAnnotation(entityEnum,op,Override.class); + addParameter(op,"Class<? extends TopiaEntity>","klass"); + setOperationBody(op, "" +/*{ + <%=entityEnumName%> constant = valueOf(klass); + boolean result = constant.getContract() == contract; + return result; + }*/ + ); + + // getImplementation method + op = addOperation(entityEnum, "getImplementation","Class<? extends TopiaEntity>",ObjectModelJavaModifier.PUBLIC); + addAnnotation(entityEnum,op,Override.class); + addImport(entityEnum, TopiaException.class); + setOperationBody(op, "" +/*{ + if (implementation == null) { + try { + implementation = (Class<? extends TopiaEntity>) Class.forName(implementationFQN); + } catch (ClassNotFoundException e) { + throw new TopiaException("could not find class " + implementationFQN, e); + } + } + return implementation; + }*/ + ); + + // valueOf method + op = addOperation(entityEnum, "valueOf", entityEnumName, ObjectModelJavaModifier.PUBLIC,ObjectModelJavaModifier.STATIC); + addParameter(op,"TopiaEntity", "entity"); + setOperationBody(op, "" +/*{ + return valueOf(entity.getClass()); + }*/ + ); + + // valueOf method + op = addOperation(entityEnum, "valueOf", entityEnumName, ObjectModelJavaModifier.PUBLIC,ObjectModelJavaModifier.STATIC); + addParameter(op,"Class<?>", "klass"); + setOperationBody(op, "" +/*{ + if (klass.isInterface()) { + return valueOf(klass.getSimpleName()); + } + for (<%=entityEnumName%> entityEnum : <%=entityEnumName%>.values()) { + if (entityEnum.getContract().isAssignableFrom(klass)) { + //todo check it works for inheritance + return entityEnum; + } + } + throw new IllegalArgumentException("no entity defined for the class " + klass + " in : " + Arrays.toString(<%=entityEnumName%>.values())); + }*/ + ); + + // getContracts method + op = addOperation(entityEnum, "getContracts", entityEnumName + "[]", ObjectModelJavaModifier.PUBLIC,ObjectModelJavaModifier.STATIC); + setOperationBody(op, "" +/*{ + <%=entityEnumName%>[] result = values(); + return result; + }*/ + ); + + // getContractClass method + op = addOperation(entityEnum, "getContractClass", "<T extends TopiaEntity> Class<T>", ObjectModelJavaModifier.PUBLIC,ObjectModelJavaModifier.STATIC); + addParameter(op,"Class<T>", "klass"); + setOperationBody(op, "" +/*{ + <%=entityEnumName%> constant = valueOf(klass); + Class<T> result = (Class<T>) constant.getContract(); + return result; + }*/ + ); + + // getContractClasses method + op = addOperation(entityEnum, "getContractClasses", "Class<? extends TopiaEntity>[]", ObjectModelJavaModifier.PUBLIC,ObjectModelJavaModifier.STATIC); + setOperationBody(op, "" +/*{ + <%=entityEnumName%>[] values = values(); + Class<? extends TopiaEntity>[] result = (Class<? extends TopiaEntity>[]) Array.newInstance(Class.class, values.length); + for (int i = 0; i < values.length; i++) { + result[i] = values[i].getContract(); + } + return result; + }*/ + ); + + // getContractClasses method + op = addOperation(entityEnum, "getImplementationClass", "<T extends TopiaEntity> Class<T>", ObjectModelJavaModifier.PUBLIC,ObjectModelJavaModifier.STATIC); + addParameter(op,"Class<T>", "klass"); + setOperationBody(op, "" +/*{ + <%=entityEnumName%> constant = valueOf(klass); + Class<T> result = (Class<T>) constant.getImplementation(); + return result; + }*/ + ); + + // getImplementationClasses method + op = addOperation(entityEnum, "getImplementationClasses", "Class<? extends TopiaEntity>[]", ObjectModelJavaModifier.PUBLIC,ObjectModelJavaModifier.STATIC); + setOperationBody(op, "" +/*{ + <%=entityEnumName%>[] values = values(); + Class<? extends TopiaEntity>[] result = (Class<? extends TopiaEntity>[]) Array.newInstance(Class.class, values.length); + for (int i = 0; i < values.length; i++) { + result[i] = values[i].getImplementation(); + } + return result; + }*/ + ); + + // getImplementationClassesAsString method + op = addOperation(entityEnum, "getImplementationClassesAsString", "String", ObjectModelJavaModifier.PUBLIC,ObjectModelJavaModifier.STATIC); + setOperationBody(op, "" +/*{ + StringBuilder buffer = new StringBuilder(); + for (Class<? extends TopiaEntity> aClass : getImplementationClasses()) { + buffer.append(',').append(aClass.getName()); + } + String result = buffer.substring(1); + return result; + }*/ + ); + + if (generateOperator) { + // getOperator method + op = addOperation(entityEnum, "getOperator", "<T extends TopiaEntity> EntityOperator<T>", ObjectModelJavaModifier.PUBLIC,ObjectModelJavaModifier.STATIC); + addParameter(op,"Class<T>", "klass"); + setOperationBody(op, "" +/*{ + <%=entityEnumName%> constant = valueOf(klass); + EntityOperator<T> result = EntityOperatorStore.getOperator(constant); + return result; + }*/ + ); + } + + } + +} Modified: trunk/topia-templates/src/main/java/org/nuiton/topia/templates/PersistenceContextTransformer.java =================================================================== --- trunk/topia-templates/src/main/java/org/nuiton/topia/templates/PersistenceContextTransformer.java 2013-11-25 15:28:01 UTC (rev 2892) +++ trunk/topia-templates/src/main/java/org/nuiton/topia/templates/PersistenceContextTransformer.java 2013-11-26 15:51:16 UTC (rev 2893) @@ -113,7 +113,7 @@ String modelName = model.getName(); String daoHelperClazzName = modelName + "DAOHelper"; - String entityEnumName = modelName + "EntityEnum"; + String entityEnumName = TopiaGeneratorUtil.getEntityEnumName(model); List<ObjectModelClass> entityClasses = TopiaGeneratorUtil.getEntityClasses(model, true); @@ -121,15 +121,15 @@ boolean generateOperator = TopiaGeneratorUtil.shouldGenerateOperatorForDAOHelper(model); - boolean generateStandaloneEnum = - TopiaGeneratorUtil.shouldGenerateStandaloneEnumForDAOHelper(model); +// boolean generateStandaloneEnum = +// TopiaGeneratorUtil.shouldGenerateStandaloneEnumForDAOHelper(model); - if (!generateStandaloneEnum) { +// if (!generateStandaloneEnum) { +// +// addImport(output, packageName + "." + entityEnumName); +// +// } - addImport(output, packageName + "." + daoHelperClazzName + "." + entityEnumName); - - } - // addImport(output, TopiaDAO.class); addImport(output, TopiaEntity.class); // addImport(output, TopiaContext.class); Modified: trunk/topia-templates/src/main/java/org/nuiton/topia/templates/TopiaGeneratorUtil.java =================================================================== --- trunk/topia-templates/src/main/java/org/nuiton/topia/templates/TopiaGeneratorUtil.java 2013-11-25 15:28:01 UTC (rev 2892) +++ trunk/topia-templates/src/main/java/org/nuiton/topia/templates/TopiaGeneratorUtil.java 2013-11-26 15:51:16 UTC (rev 2893) @@ -181,6 +181,10 @@ return model.getName() + "PersistenceContext"; } + public static String getEntityEnumName(ObjectModel model) { + return model.getName() + "EntityEnum"; + } + public static String getEntityAbstractName(ObjectModelClass input) { return "AbstractTopia" + input.getName(); } @@ -320,22 +324,6 @@ } /** - * Cherche si le tagvalue {@link TopiaTagValues#TAG_GENERATE_OPERATOR_FOR_DAO_HELPER} a été - * activé dans le model. - * - * @param model le modele utilisé - * @return {@code true} si le tag value trouvé dans le modèle, {@code false} - * sinon. - * @since 2.5 - */ - public static boolean shouldGenerateStandaloneEnumForDAOHelper(ObjectModel model) { - String tagValue = getGenerateStandaloneEnumForDAOHelperTagValue(model); - boolean generate = StringUtils.isNotEmpty(tagValue) && - Boolean.valueOf(tagValue); - return generate; - } - - /** * Cherche et renvoie la liste des attributs constituant la clef metier * d'une classe. * @@ -1599,20 +1587,6 @@ return value; } - /** - * Obtain the value of the {@link TopiaTagValues#TAG_GENERATE_STANDALONE_ENUM_FOR_DAO_HELPER} - * tag value on the given model. - * - * @param model model to seek - * @return the none empty value of the found tag value or {@code null} if not found nor empty. - * @see TopiaTagValues#TAG_GENERATE_STANDALONE_ENUM_FOR_DAO_HELPER - * @since 2.5 - */ - public static String getGenerateStandaloneEnumForDAOHelperTagValue(ObjectModel model) { - String value = findTagValue(TopiaTagValues.TAG_GENERATE_STANDALONE_ENUM_FOR_DAO_HELPER, null, model); - return value; - } - /* Obtain the value of the {@link TopiaTagValues#TAG_GENERATE_OPERATOR_FOR_DAO_HELPER} * tag value on the given model. * Modified: trunk/topia-templates/src/main/java/org/nuiton/topia/templates/TopiaMetaTransformer.java =================================================================== --- trunk/topia-templates/src/main/java/org/nuiton/topia/templates/TopiaMetaTransformer.java 2013-11-25 15:28:01 UTC (rev 2892) +++ trunk/topia-templates/src/main/java/org/nuiton/topia/templates/TopiaMetaTransformer.java 2013-11-26 15:51:16 UTC (rev 2893) @@ -67,8 +67,9 @@ // DAOTransformer.class, // DAOImplTransformer.class, // DAOAbstractTransformer.class, - DAOHelperTransformer.class, - EntityHibernateMappingGenerator.class +// DAOHelperTransformer.class, + EntityHibernateMappingGenerator.class, + EntityEnumTransformer.class ); } Modified: trunk/topia-templates/src/main/java/org/nuiton/topia/templates/TopiaTagValues.java =================================================================== --- trunk/topia-templates/src/main/java/org/nuiton/topia/templates/TopiaTagValues.java 2013-11-25 15:28:01 UTC (rev 2892) +++ trunk/topia-templates/src/main/java/org/nuiton/topia/templates/TopiaTagValues.java 2013-11-26 15:51:16 UTC (rev 2893) @@ -31,7 +31,6 @@ import org.nuiton.eugene.models.object.ObjectModelClassifier; import org.nuiton.eugene.models.object.ObjectModelElement; import org.nuiton.topia.persistence.TopiaEntityContextable; -import org.nuiton.topia.persistence.TopiaEntityEnum; import static org.nuiton.eugene.ModelPropertiesUtil.TagValueDefinition; @@ -306,20 +305,6 @@ String TAG_GENERATE_OPERATOR_FOR_DAO_HELPER = "generateOperatorForDAOHelper"; /** - * Tag pour spécifier si on doit générer le {@link TopiaEntityEnum} en tant qu'inner classe - * du dao helper ou pas. - * <p/> - * <b>Note:</b> Par défaut, on génère en tant qu'inner classe. - * - * @see TopiaGeneratorUtil#getGenerateStandaloneEnumForDAOHelperTagValue(ObjectModel) - * @see TopiaGeneratorUtil#shouldGenerateStandaloneEnumForDAOHelper(ObjectModel) - * @since 2.5 - */ - @TagValueDefinition(target = {ObjectModel.class}, - documentation = "To generate a standalon EntityEnum outside the DAOHelper") - String TAG_GENERATE_STANDALONE_ENUM_FOR_DAO_HELPER = "generateStandaloneEnumForDAOHelper"; - - /** * Tag pour spécifier le type d'une propriété dans le mapping hibernate. * * @see TopiaGeneratorUtil#getTypeTagValue(ObjectModelAttribute)
participants (1)
-
athimel@users.nuiton.org