r2297 - in branches/topia-2.6.x: topia-persistence/src/license topia-persistence/src/test/java/org/nuiton/topia topia-persistence/src/test/java/org/nuiton/topia/framework topia-persistence/src/test/java/org/nuiton/topia/generator topia-service-migration/src/license topia-service-replication/src/license topia-service-replication/src/main/java/org/nuiton/topia/replication topia-service-replication/src/main/java/org/nuiton/topia/replication/operation topia-service-replication/src/test/java/org/
Author: tchemit Date: 2011-06-03 16:27:35 +0200 (Fri, 03 Jun 2011) New Revision: 2297 Url: http://nuiton.org/repositories/revision/topia/2297 Log: optimize third parties Modified: branches/topia-2.6.x/topia-persistence/src/license/THIRD-PARTY.properties branches/topia-2.6.x/topia-persistence/src/test/java/org/nuiton/topia/TestHelper.java branches/topia-2.6.x/topia-persistence/src/test/java/org/nuiton/topia/framework/TopiaContextImplTest.java branches/topia-2.6.x/topia-persistence/src/test/java/org/nuiton/topia/generator/TopiaTestCase.java branches/topia-2.6.x/topia-service-migration/src/license/THIRD-PARTY.properties branches/topia-2.6.x/topia-service-replication/src/license/THIRD-PARTY.properties branches/topia-2.6.x/topia-service-replication/src/main/java/org/nuiton/topia/replication/TopiaReplicationOperation.java branches/topia-2.6.x/topia-service-replication/src/main/java/org/nuiton/topia/replication/operation/Duplicate.java branches/topia-2.6.x/topia-service-replication/src/test/java/org/nuiton/topia/replication/AbstractTopiaReplicationServiceTest.java branches/topia-2.6.x/topia-service-security/src/license/THIRD-PARTY.properties Modified: branches/topia-2.6.x/topia-persistence/src/license/THIRD-PARTY.properties =================================================================== --- branches/topia-2.6.x/topia-persistence/src/license/THIRD-PARTY.properties 2011-06-03 13:42:37 UTC (rev 2296) +++ branches/topia-2.6.x/topia-persistence/src/license/THIRD-PARTY.properties 2011-06-03 14:27:35 UTC (rev 2297) @@ -1,29 +1,27 @@ -# Generated by org.nuiton.license.plugin.AddThirdPartyMojo +# Generated by org.codehaus.mojo.license.AddThirdPartyMojo #------------------------------------------------------------------------------- # Already used licenses in project : # - BSD License # - COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0 # - Common Public License Version 1.0 -# - GNU Lesser General Public License -# - LGPL -# - Lesser General Public License (LGPL) v 2.1 # - Lesser General Public License (LGPL) v 3.0 +# - Lesser General Public License (LPGL) +# - Lesser General Public License (LPGL) v 2.1 # - MIT License +# - MPL 1.1 # - The Apache Software License, Version 2.0 # - The H2 License, Version 1.0 # - http://jaxen.codehaus.org/license.html +# - license.txt #------------------------------------------------------------------------------- # Please fill the missing licenses for dependencies : # # -#Fri Nov 19 08:42:33 CET 2010 +#Fri Jun 03 13:49:37 CEST 2011 antlr--antlr--2.7.6--jar=BSD License commons-primitives--commons-primitives--1.0--jar=The Apache Software License, Version 2.0 dom4j--dom4j--1.6.1--jar=BSD License -javassist--javassist--3.8.0.GA--jar=Lesser General Public License (LGPL) v 2.1 javax.transaction--jta--1.1--jar=COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0 jaxen--jaxen--1.1.1--jar=http\://jaxen.codehaus.org/license.html jdom--jdom--1.0--jar=The Apache Software License, Version 2.0 -org.slf4j--slf4j-api--1.5.8--jar=MIT License -org.slf4j--slf4j-log4j12--1.5.8--jar=MIT License xalan--xalan--2.6.0--jar=The Apache Software License, Version 2.0 Modified: branches/topia-2.6.x/topia-persistence/src/test/java/org/nuiton/topia/TestHelper.java =================================================================== --- branches/topia-2.6.x/topia-persistence/src/test/java/org/nuiton/topia/TestHelper.java 2011-06-03 13:42:37 UTC (rev 2296) +++ branches/topia-2.6.x/topia-persistence/src/test/java/org/nuiton/topia/TestHelper.java 2011-06-03 14:27:35 UTC (rev 2297) @@ -136,7 +136,7 @@ configuration.load(stream); configuration.setProperty( - "topia.persistence.classes", + TopiaContextFactory.CONFIG_PERSISTENCE_CLASSES, TopiaTestDAOHelper.getImplementationClassesAsString()); return configuration; } @@ -150,6 +150,10 @@ String dbname) throws IOException { - return initTopiaContextConfiguration(testDirectory, DEFAULT_CONFIGURATION_LOCATION, dbname); + return initTopiaContextConfiguration( + testDirectory, + DEFAULT_CONFIGURATION_LOCATION, + dbname + ); } } Modified: branches/topia-2.6.x/topia-persistence/src/test/java/org/nuiton/topia/framework/TopiaContextImplTest.java =================================================================== --- branches/topia-2.6.x/topia-persistence/src/test/java/org/nuiton/topia/framework/TopiaContextImplTest.java 2011-06-03 13:42:37 UTC (rev 2296) +++ branches/topia-2.6.x/topia-persistence/src/test/java/org/nuiton/topia/framework/TopiaContextImplTest.java 2011-06-03 14:27:35 UTC (rev 2297) @@ -35,8 +35,16 @@ import org.junit.BeforeClass; import org.junit.Test; import org.nuiton.i18n.I18n; +import org.nuiton.topia.TestHelper; +import org.nuiton.topia.TopiaContext; import org.nuiton.topia.TopiaContextFactory; +import org.nuiton.topia.TopiaException; import org.nuiton.topia.TopiaNotFoundException; +import org.nuiton.topia.TopiaTestDAOHelper; +import org.nuiton.topia.test.entities.Person; +import org.nuiton.topia.test.entities.PersonDAO; +import org.nuiton.topia.test.entities.Pet; +import org.nuiton.topia.test.entities.PetDAO; import org.nuiton.topiatest.persistence.Entity1; import org.nuiton.topiatest.persistence.Entity1Impl; import org.nuiton.topiatest.service.FakeService; @@ -61,8 +69,12 @@ protected Properties properties = new Properties(); + static File testBasedir; + @BeforeClass public static void setUpClass() throws Exception { + + testBasedir = TestHelper.getTestBasedir(TopiaContextImplTest.class); I18n.init(null, Locale.FRENCH); } @@ -77,33 +89,41 @@ @Test public void testLoadServices() throws Exception { - log.info("## testLoadServices"); + if (log.isDebugEnabled()) { + log.debug("## testLoadServices"); + } /** PREPARE DATA **/ properties.setProperty("topia.service.test", - TestService.class.getName()); + TestService.class.getName()); TopiaContextImpl context = new TopiaContextImpl(); /** EXEC METHOD **/ - log.info("test 1 : load a simple TestService from properties"); + if (log.isInfoEnabled()) { + log.info("test 1 : load a simple TestService from properties"); + } Map<String, TopiaService> results = context.loadServices(properties); Assert.assertEquals(1, results.size()); Assert.assertTrue(results.containsKey("test")); TopiaService service = results.get("test"); Assert.assertEquals(TestService.class, service.getClass()); - log.info("test 2 : load with wrong key : will display a WARN"); + if (log.isInfoEnabled()) { + log.info("test 2 : load with wrong key : will display a WARN"); + } properties.clear(); properties.setProperty("topia.service.fake", - TestService.class.getName()); + TestService.class.getName()); results = context.loadServices(properties); Assert.assertEquals(0, results.size()); Assert.assertFalse(results.containsKey("fake")); - log.info("test 3 : load with fake service name : will display an ERROR"); + if (log.isInfoEnabled()) { + log.info("test 3 : load with fake service name : will display an ERROR"); + } properties.clear(); properties.setProperty("topia.service.test", "FAKE"); @@ -111,17 +131,17 @@ results = context.loadServices(properties); Assert.assertEquals(0, results.size()); Assert.assertFalse(results.containsKey("test")); - - // TODO-fdesbois-20100510 : need integration tests for all existing topia services } @Test public void testGetServices() throws Exception { - log.info("## testGetServices"); + if (log.isDebugEnabled()) { + log.debug("## testGetServices"); + } /** PREPARE DATA **/ properties.setProperty("topia.service.test", - TestService.class.getName()); + TestService.class.getName()); // Calling the constructor with properties will load the services TopiaContextImpl context = new TopiaContextImpl(properties); @@ -169,7 +189,7 @@ // Even it's properly loaded the serviceEnabled method will return false properties.clear(); properties.setProperty("topia.service.fake", - FakeService.class.getName()); + FakeService.class.getName()); TopiaContextImpl otherContext = new TopiaContextImpl(properties); boolean test6 = otherContext.serviceEnabled(FakeService.class); @@ -193,7 +213,9 @@ @Test public void testContextHierarchy() throws Exception { - log.info("## testContextHierarchy"); + if (log.isDebugEnabled()) { + log.debug("## testContextHierarchy"); + } /** PREPARE DATA **/ TopiaContextImpl context = new TopiaContextImpl(properties); @@ -257,8 +279,8 @@ @Test public void testGetHibernateFactory() throws Exception { - if (log.isInfoEnabled()) { - log.info("## testGetHibernateFactory"); + if (log.isDebugEnabled()) { + log.debug("## testGetHibernateFactory"); } /** PREPARE DATA **/ @@ -276,12 +298,12 @@ log.debug("baseDir : " + basedir); } File persistenceDir = new File(basedir, - "target" + File.separator + - "test-classes" +File.separator + - "org" + File.separator + - "nuiton" + File.separator + - "topiatest" + File.separator + - "persistence"); + "target" + File.separator + + "test-classes" + File.separator + + "org" + File.separator + + "nuiton" + File.separator + + "topiatest" + File.separator + + "persistence"); if (log.isDebugEnabled()) { log.debug("persistenceDir : " + persistenceDir); } @@ -294,11 +316,8 @@ log.info("test 1 : load mappings from directory"); } -// properties.setProperty(TopiaContextFactory.CONFIG_PERSISTENCE_CLASSES, -// Entity1Impl.class.getName()); - properties.setProperty(TopiaContextFactory.CONFIG_PERSISTENCE_DIRECTORIES, - persistenceDir.getAbsolutePath()); + persistenceDir.getAbsolutePath()); context.config = properties; Configuration test1 = context.getHibernateConfiguration(); @@ -322,7 +341,7 @@ // use property TOPIA_PERSISTENCE_CLASSES properties.setProperty(TopiaContextFactory.CONFIG_PERSISTENCE_CLASSES, - Entity1Impl.class.getName()); + Entity1Impl.class.getName()); context.config = properties; Configuration test2 = context.getHibernateConfiguration(); @@ -341,7 +360,7 @@ // use property TOPIA_PERSISTENCE_PROPERTIES_FILE to add default // properties from file properties.setProperty(TopiaContextFactory.CONFIG_PERSISTENCE_PROPERTIES_FILE, - resourcesDir + File.separator + "TopiaContextImpl.properties"); + resourcesDir + File.separator + "TopiaContextImpl.properties"); context.config = properties; Configuration test3 = context.getHibernateConfiguration(); @@ -351,6 +370,103 @@ // Note : maybe add a test to load classes from services } + + @Test + public void replicateEntity() throws Exception { + + Properties configSource = TestHelper.initTopiaContextConfiguration( + testBasedir, + "/TopiaContextImpl.properties", + "replicateSource"); + + Properties configTarget = TestHelper.initTopiaContextConfiguration( + testBasedir, + "/TopiaContextImpl.properties", + "replicateTarget"); + + + TopiaContext contextSource = null; + TopiaContext contextTarget = null; + + try { + contextSource = TopiaContextFactory.getContext(configSource); + contextTarget = TopiaContextFactory.getContext(configTarget); + + TopiaContext txSource; + TopiaContext txTarget; + PersonDAO daoSource, daoTarget; + PetDAO petDAOSource, petDAOTarget; + Person personSource, personTarget; + Pet petSource, petTarget; + + txSource = contextSource.beginTransaction(); + daoSource = TopiaTestDAOHelper.getPersonDAO(txSource); + petDAOSource = TopiaTestDAOHelper.getPetDAO(txSource); + + personSource = daoSource.create(Person.PROPERTY_FIRSTNAME, " firstName", + Person.PROPERTY_NAME, " name" + ); + + petSource = petDAOSource.create(Pet.PROPERTY_NAME, "name", + Pet.PROPERTY_TYPE, "type", + Pet.PROPERTY_PERSON, personSource + ); + + personSource.addPet(petSource); + + txSource.commitTransaction(); + + daoSource = TopiaTestDAOHelper.getPersonDAO(txSource); + + personSource = daoSource.findByTopiaId(personSource.getTopiaId()); + Assert.assertNotNull(personSource); + + petSource = petDAOSource.findByTopiaId(petSource.getTopiaId()); + Assert.assertNotNull(petSource); + Assert.assertEquals(1, personSource.sizePet()); + Assert.assertEquals(petSource, personSource.getPet().iterator().next()); + + txTarget = contextTarget.beginTransaction(); + + txSource.replicateEntity(txTarget, petSource); + txSource.replicateEntity(txTarget, personSource); + + txTarget.commitTransaction(); + + daoTarget = TopiaTestDAOHelper.getPersonDAO(txTarget); + petDAOTarget = TopiaTestDAOHelper.getPetDAO(txTarget); + + personTarget = daoTarget.findByTopiaId(personSource.getTopiaId()); + Assert.assertNotNull(personTarget); + Assert.assertEquals(personSource, personTarget); + Assert.assertEquals(1, personTarget.sizePet()); + + petTarget = petDAOTarget.findByTopiaId(petSource.getTopiaId()); + Assert.assertNotNull(petTarget); + Assert.assertEquals(petSource, petTarget); + + Assert.assertEquals(petTarget, personTarget.getPet().iterator().next()); + + + } finally { + closeDb(contextSource); + closeDb(contextTarget); + } + + } + + protected static void closeDb(TopiaContext contextSource) { + if (contextSource != null && !contextSource.isClosed()) + try { + contextSource.clear(false); + } catch (TopiaException e) { + if (log.isErrorEnabled()) { + log.error("Could not close db " + contextSource, e); + } + } + } + + // // @Test // public void testGetHibernateConfiguration() throws Exception { @@ -408,9 +524,6 @@ // public void testExportXML() throws Exception { // } // -// @Test -// public void testReplicate() throws Exception { -// } // // @Test // public void testReplicateEntity() throws Exception { Modified: branches/topia-2.6.x/topia-persistence/src/test/java/org/nuiton/topia/generator/TopiaTestCase.java =================================================================== --- branches/topia-2.6.x/topia-persistence/src/test/java/org/nuiton/topia/generator/TopiaTestCase.java 2011-06-03 13:42:37 UTC (rev 2296) +++ branches/topia-2.6.x/topia-persistence/src/test/java/org/nuiton/topia/generator/TopiaTestCase.java 2011-06-03 14:27:35 UTC (rev 2297) @@ -77,9 +77,10 @@ File testBasedir = TestHelper.getTestBasedir(TopiaTestCase.class); - config = TestHelper.initTopiaContextConfiguration(testBasedir, - "/TopiaContextImpl.properties", - "TopiaTestCaseDb"); + config = TestHelper.initTopiaContextConfiguration( + testBasedir, + "/TopiaContextImpl.properties", + "TopiaTestCaseDb"); // config = new Properties(); // config.setProperty("topia.persistence.classes", TopiaTestDAOHelper.getImplementationClassesAsString()); // @@ -95,8 +96,6 @@ public static void after() throws TopiaException { // destroy database context.clear(false); - - // TODO directory target/TopiaTestCase is not deleted } /** Create base with schema created. */ Modified: branches/topia-2.6.x/topia-service-migration/src/license/THIRD-PARTY.properties =================================================================== --- branches/topia-2.6.x/topia-service-migration/src/license/THIRD-PARTY.properties 2011-06-03 13:42:37 UTC (rev 2296) +++ branches/topia-2.6.x/topia-service-migration/src/license/THIRD-PARTY.properties 2011-06-03 14:27:35 UTC (rev 2297) @@ -1,24 +1,23 @@ -# Generated by org.nuiton.license.plugin.AddThirdPartyMojo +# Generated by org.codehaus.mojo.license.AddThirdPartyMojo #------------------------------------------------------------------------------- # Already used licenses in project : # - BSD License # - COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0 # - Common Public License Version 1.0 -# - GNU Lesser General Public License -# - Lesser General Public License (LGPL) v 2.1 # - Lesser General Public License (LGPL) v 3.0 +# - Lesser General Public License (LPGL) +# - Lesser General Public License (LPGL) v 2.1 # - MIT License +# - MPL 1.1 # - The Apache Software License, Version 2.0 # - The H2 License, Version 1.0 +# - license.txt #------------------------------------------------------------------------------- # Please fill the missing licenses for dependencies : # # -#Fri Nov 19 08:44:41 CET 2010 +#Fri Jun 03 13:51:02 CEST 2011 antlr--antlr--2.7.6--jar=BSD License commons-primitives--commons-primitives--1.0--jar=The Apache Software License, Version 2.0 dom4j--dom4j--1.6.1--jar=BSD License -javassist--javassist--3.8.0.GA--jar=Lesser General Public License (LGPL) v 2.1 javax.transaction--jta--1.1--jar=COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0 -org.slf4j--slf4j-api--1.5.8--jar=MIT License -org.slf4j--slf4j-log4j12--1.5.8--jar=MIT License Modified: branches/topia-2.6.x/topia-service-replication/src/license/THIRD-PARTY.properties =================================================================== --- branches/topia-2.6.x/topia-service-replication/src/license/THIRD-PARTY.properties 2011-06-03 13:42:37 UTC (rev 2296) +++ branches/topia-2.6.x/topia-service-replication/src/license/THIRD-PARTY.properties 2011-06-03 14:27:35 UTC (rev 2297) @@ -1,24 +1,23 @@ -# Generated by org.nuiton.license.plugin.AddThirdPartyMojo +# Generated by org.codehaus.mojo.license.AddThirdPartyMojo #------------------------------------------------------------------------------- # Already used licenses in project : # - BSD License # - COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0 # - Common Public License Version 1.0 -# - GNU Lesser General Public License -# - Lesser General Public License (LGPL) v 2.1 # - Lesser General Public License (LGPL) v 3.0 +# - Lesser General Public License (LPGL) +# - Lesser General Public License (LPGL) v 2.1 # - MIT License +# - MPL 1.1 # - The Apache Software License, Version 2.0 # - The H2 License, Version 1.0 +# - license.txt #------------------------------------------------------------------------------- # Please fill the missing licenses for dependencies : # # -#Fri Nov 19 08:43:27 CET 2010 +#Fri Jun 03 13:50:38 CEST 2011 antlr--antlr--2.7.6--jar=BSD License commons-primitives--commons-primitives--1.0--jar=The Apache Software License, Version 2.0 dom4j--dom4j--1.6.1--jar=BSD License -javassist--javassist--3.8.0.GA--jar=Lesser General Public License (LGPL) v 2.1 javax.transaction--jta--1.1--jar=COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0 -org.slf4j--slf4j-api--1.5.8--jar=MIT License -org.slf4j--slf4j-log4j12--1.5.8--jar=MIT License Modified: branches/topia-2.6.x/topia-service-replication/src/main/java/org/nuiton/topia/replication/TopiaReplicationOperation.java =================================================================== --- branches/topia-2.6.x/topia-service-replication/src/main/java/org/nuiton/topia/replication/TopiaReplicationOperation.java 2011-06-03 13:42:37 UTC (rev 2296) +++ branches/topia-2.6.x/topia-service-replication/src/main/java/org/nuiton/topia/replication/TopiaReplicationOperation.java 2011-06-03 14:27:35 UTC (rev 2297) @@ -75,7 +75,9 @@ * removed in version 2.6 and never replaced */ @Deprecated - void register(ReplicationModel model, ReplicationNode ownerNode, ReplicationOperationPhase phase, + void register(ReplicationModel model, + ReplicationNode ownerNode, + ReplicationOperationPhase phase, Object... parameters) throws UnsupportedOperationException; @@ -91,8 +93,10 @@ * @param entities la liste des entités à traiter * @throws Exception pour toute erreur */ - void run(TopiaReplicationContext replicationContext, ReplicationOperationDef operationDef, - TopiaContextImplementor srcCtxt, TopiaContextImplementor dstCtxt, List<? extends TopiaEntity> entities) - throws Exception; + void run(TopiaReplicationContext replicationContext, + ReplicationOperationDef operationDef, + TopiaContextImplementor srcCtxt, + TopiaContextImplementor dstCtxt, + List<? extends TopiaEntity> entities) throws Exception; } Modified: branches/topia-2.6.x/topia-service-replication/src/main/java/org/nuiton/topia/replication/operation/Duplicate.java =================================================================== --- branches/topia-2.6.x/topia-service-replication/src/main/java/org/nuiton/topia/replication/operation/Duplicate.java 2011-06-03 13:42:37 UTC (rev 2296) +++ branches/topia-2.6.x/topia-service-replication/src/main/java/org/nuiton/topia/replication/operation/Duplicate.java 2011-06-03 14:27:35 UTC (rev 2297) @@ -76,6 +76,12 @@ TopiaContextImplementor dstCtxt, List<? extends TopiaEntity> entities) throws TopiaException { + // fix http://nuiton.org/issues/1547 + //FIXME tchemit-2011-06-03 : while using hibernate 3.5.6, while duplicating entities we can have some associations in double sessions + //FIXME This hack works but it should be better to resolve the bug :( perharps this is not possible + //FIXME since we can not have a fresh empty hibernate session... + srcCtxt.getHibernate().clear(); + // replication des donnees vers la destination srcCtxt.replicateEntities(dstCtxt, entities); Modified: branches/topia-2.6.x/topia-service-replication/src/test/java/org/nuiton/topia/replication/AbstractTopiaReplicationServiceTest.java =================================================================== --- branches/topia-2.6.x/topia-service-replication/src/test/java/org/nuiton/topia/replication/AbstractTopiaReplicationServiceTest.java 2011-06-03 13:42:37 UTC (rev 2296) +++ branches/topia-2.6.x/topia-service-replication/src/test/java/org/nuiton/topia/replication/AbstractTopiaReplicationServiceTest.java 2011-06-03 14:27:35 UTC (rev 2297) @@ -141,7 +141,7 @@ protected abstract Log getLog(); protected <E extends TopiaEntity> E update(E e) throws TopiaException { - return (E) ((TopiaContextImplementor) ctxt).findByTopiaId(e.getTopiaId()); + return (E) ctxt.findByTopiaId(e.getTopiaId()); } /** Modified: branches/topia-2.6.x/topia-service-security/src/license/THIRD-PARTY.properties =================================================================== --- branches/topia-2.6.x/topia-service-security/src/license/THIRD-PARTY.properties 2011-06-03 13:42:37 UTC (rev 2296) +++ branches/topia-2.6.x/topia-service-security/src/license/THIRD-PARTY.properties 2011-06-03 14:27:35 UTC (rev 2297) @@ -1,24 +1,23 @@ -# Generated by org.nuiton.license.plugin.AddThirdPartyMojo +# Generated by org.codehaus.mojo.license.AddThirdPartyMojo #------------------------------------------------------------------------------- # Already used licenses in project : # - BSD License # - COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0 # - Common Public License Version 1.0 -# - GNU Lesser General Public License -# - Lesser General Public License (LGPL) v 2.1 # - Lesser General Public License (LGPL) v 3.0 +# - Lesser General Public License (LPGL) +# - Lesser General Public License (LPGL) v 2.1 # - MIT License +# - MPL 1.1 # - The Apache Software License, Version 2.0 # - The H2 License, Version 1.0 +# - license.txt #------------------------------------------------------------------------------- # Please fill the missing licenses for dependencies : # # -#Fri Nov 19 08:44:46 CET 2010 +#Fri Jun 03 13:51:11 CEST 2011 antlr--antlr--2.7.6--jar=BSD License commons-primitives--commons-primitives--1.0--jar=The Apache Software License, Version 2.0 dom4j--dom4j--1.6.1--jar=BSD License -javassist--javassist--3.8.0.GA--jar=Lesser General Public License (LGPL) v 2.1 javax.transaction--jta--1.1--jar=COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0 -org.slf4j--slf4j-api--1.5.8--jar=MIT License -org.slf4j--slf4j-log4j12--1.5.8--jar=MIT License
participants (1)
-
tchemit@users.nuiton.org