Topia-commits
Threads by month
- ----- 2026 -----
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2004 -----
- December
- November
- October
- September
- August
- July
- June
- May
June 2011
- 3 participants
- 15 discussions
r2300 - in trunk: . topia-persistence topia-persistence/src/main/java/org/nuiton/topia/generator topia-persistence/src/test/java/org/nuiton/topiatest topia-persistence/src/test/xmi
by bleny@users.nuiton.org 20 Jun '11
by bleny@users.nuiton.org 20 Jun '11
20 Jun '11
Author: bleny
Date: 2011-06-20 18:59:45 +0200 (Mon, 20 Jun 2011)
New Revision: 2300
Url: http://nuiton.org/repositories/revision/topia/2300
Log:
enable use of enumeration as an attribute of an entity in model
Added:
trunk/topia-persistence/src/test/java/org/nuiton/topiatest/EnumTest.java
trunk/topia-persistence/src/test/java/org/nuiton/topiatest/Gender.java
Modified:
trunk/pom.xml
trunk/topia-persistence/pom.xml
trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DAOAbstractTransformer.java
trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DAOImplTransformer.java
trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DAOTransformer.java
trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DTOTransformer.java
trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityDAOTransformer.java
trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityDTOTransformer.java
trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityHibernateMappingGenerator.java
trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityTransformer.java
trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/QueryHelperTransformer.java
trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/TopiaGeneratorUtil.java
trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/TopiaStereoTypes.java
trunk/topia-persistence/src/test/xmi/topiatest.zargo
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2011-06-10 10:28:38 UTC (rev 2299)
+++ trunk/pom.xml 2011-06-20 16:59:45 UTC (rev 2300)
@@ -256,7 +256,7 @@
<projectId>topia</projectId>
<!-- libs version -->
- <eugeneVersion>2.3.4</eugeneVersion>
+ <eugeneVersion>2.4-SNAPSHOT</eugeneVersion>
<nuitonUtilsVersion>2.2</nuitonUtilsVersion>
<processorPluginVersion>1.2.1</processorPluginVersion>
<nuitonI18nVersion>2.4</nuitonI18nVersion>
Modified: trunk/topia-persistence/pom.xml
===================================================================
--- trunk/topia-persistence/pom.xml 2011-06-10 10:28:38 UTC (rev 2299)
+++ trunk/topia-persistence/pom.xml 2011-06-20 16:59:45 UTC (rev 2300)
@@ -132,8 +132,6 @@
<!-- *** Build Settings ****************************************** -->
<!-- ************************************************************* -->
- <packaging>jar</packaging>
-
<build>
<testResources>
Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DAOAbstractTransformer.java
===================================================================
--- trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DAOAbstractTransformer.java 2011-06-10 10:28:38 UTC (rev 2299)
+++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DAOAbstractTransformer.java 2011-06-20 16:59:45 UTC (rev 2300)
@@ -155,7 +155,7 @@
}
ObjectModelClassifier classifier = dependency.getSupplier();
- if (TopiaGeneratorUtil.hasEntityStereotype(classifier)) {
+ if (TopiaGeneratorUtil.isEntity(classifier)) {
// Only direct operations will be used. No need to have more
// operations.
@@ -172,7 +172,7 @@
@Override
public void transformFromClass(ObjectModelClass clazz) {
- if (!TopiaGeneratorUtil.hasEntityStereotype(clazz)) {
+ if (!TopiaGeneratorUtil.isEntity(clazz)) {
return;
}
@@ -187,7 +187,7 @@
String extendClass = "";
for (ObjectModelClass parent : clazz.getSuperclasses()) {
extendClass = parent.getQualifiedName();
- if (TopiaGeneratorUtil.hasEntityStereotype(parent)) {
+ if (TopiaGeneratorUtil.isEntity(parent)) {
extendClass += "DAOImpl<E>";
// in java no multi-inheritance
break;
Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DAOImplTransformer.java
===================================================================
--- trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DAOImplTransformer.java 2011-06-10 10:28:38 UTC (rev 2299)
+++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DAOImplTransformer.java 2011-06-20 16:59:45 UTC (rev 2300)
@@ -86,14 +86,14 @@
}
ObjectModelClassifier classifier = dependency.getSupplier();
- if (TopiaGeneratorUtil.hasEntityStereotype(classifier)) {
+ if (TopiaGeneratorUtil.isEntity(classifier)) {
noGenerationNeeded.add(classifier.getQualifiedName());
}
}
@Override
public void transformFromClass(ObjectModelClass clazz) {
- if (!TopiaGeneratorUtil.hasEntityStereotype(clazz) || hasDAOOperations(clazz)) {
+ if (!TopiaGeneratorUtil.isEntity(clazz) || hasDAOOperations(clazz)) {
return;
}
String clazzName = clazz.getName();
Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DAOTransformer.java
===================================================================
--- trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DAOTransformer.java 2011-06-10 10:28:38 UTC (rev 2299)
+++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DAOTransformer.java 2011-06-20 16:59:45 UTC (rev 2300)
@@ -45,7 +45,7 @@
@Override
public void transformFromClass(ObjectModelClass clazz) {
- if (!TopiaGeneratorUtil.hasEntityStereotype(clazz)) {
+ if (!TopiaGeneratorUtil.isEntity(clazz)) {
return;
}
String clazzName = clazz.getName();
Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DTOTransformer.java
===================================================================
--- trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DTOTransformer.java 2011-06-10 10:28:38 UTC (rev 2299)
+++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DTOTransformer.java 2011-06-20 16:59:45 UTC (rev 2300)
@@ -434,7 +434,7 @@
attrEntity = model.getClass(attr.getType());
}
boolean isDTO = attrEntity != null &&
- TopiaGeneratorUtil.hasEntityStereotype(attrEntity); //THIMEL : STEREOTYPE ENTITY ???
+ TopiaGeneratorUtil.isEntity(attrEntity); //THIMEL : STEREOTYPE ENTITY ???
ObjectModelAttribute reverse = attr.getReverseAttribute();
if (isDTO && (reverse == null || !reverse.isNavigable()) && !attr.hasAssociationClass() || !isDTO) {
String attrName = attr.getName();
Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityDAOTransformer.java
===================================================================
--- trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityDAOTransformer.java 2011-06-10 10:28:38 UTC (rev 2299)
+++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityDAOTransformer.java 2011-06-20 16:59:45 UTC (rev 2300)
@@ -168,7 +168,7 @@
ObjectModelClassifier classifier = dependency.getSupplier();
- if (!TopiaGeneratorUtil.hasEntityStereotype(classifier)) {
+ if (!TopiaGeneratorUtil.isEntity(classifier)) {
// dependency supplier is not an entity...
if (log.isWarnEnabled()) {
@@ -201,7 +201,7 @@
@Override
public void transformFromClass(ObjectModelClass clazz) {
- if (!TopiaGeneratorUtil.hasEntityStereotype(clazz)) {
+ if (!TopiaGeneratorUtil.isEntity(clazz)) {
return;
}
String clazzName = clazz.getName();
@@ -261,7 +261,7 @@
String extendClass = "";
for (ObjectModelClass parent : clazz.getSuperclasses()) {
extendClass = parent.getQualifiedName();
- if (TopiaGeneratorUtil.hasEntityStereotype(parent)) {
+ if (TopiaGeneratorUtil.isEntity(parent)) {
extendClass += "DAOImpl<E>";
// in java no multi-inheritance
break;
Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityDTOTransformer.java
===================================================================
--- trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityDTOTransformer.java 2011-06-10 10:28:38 UTC (rev 2299)
+++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityDTOTransformer.java 2011-06-20 16:59:45 UTC (rev 2300)
@@ -53,12 +53,13 @@
public boolean isEntity(String type) {
ObjectModelClassifier clazz = model.getClassifier(type);
- return clazz != null && TopiaGeneratorUtil.hasEntityStereotype(clazz);
+ return clazz != null && ! clazz.isEnum()
+ && TopiaGeneratorUtil.isEntity(clazz);
}
@Override
public void transformFromClass(ObjectModelClass clazz) {
- if (!TopiaGeneratorUtil.hasEntityStereotype(clazz)) {
+ if (!TopiaGeneratorUtil.isEntity(clazz)) {
return;
}
String clazzName = clazz.getName();
@@ -310,7 +311,7 @@
if (model.hasClass(attr.getType())) {
attrEntity = model.getClass(attr.getType());
}
- boolean isEntity = attrEntity != null && TopiaGeneratorUtil.hasEntityStereotype(attrEntity);
+ boolean isEntity = attrEntity != null && TopiaGeneratorUtil.isEntity(attrEntity);
ObjectModelAttribute reverse = attr.getReverseAttribute();
if (isEntity && (reverse == null || !reverse.isNavigable()) && !attr.hasAssociationClass() || !isEntity) {
String attrName = attr.getName();
Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityHibernateMappingGenerator.java
===================================================================
--- trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityHibernateMappingGenerator.java 2011-06-10 10:28:38 UTC (rev 2299)
+++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityHibernateMappingGenerator.java 2011-06-20 16:59:45 UTC (rev 2300)
@@ -113,7 +113,7 @@
public void generateFromClass(Writer output,
ObjectModelClass input) throws IOException {
String persistenceType = TopiaGeneratorUtil.getPersistenceType(input);
- if (!TopiaGeneratorUtil.hasEntityStereotype(input) &&
+ if (!TopiaGeneratorUtil.isEntity(input) &&
TopiaGeneratorUtil.PERSISTENCE_TYPE_HIBERNATE.equals(persistenceType)) {
return;
}
@@ -216,7 +216,7 @@
|| hasUnidirectionalRelationOnAbstractType(reverse, model)
|| attr.hasAssociationClass()) {
if (!GeneratorUtil.isNMultiplicity(attr)) {
- if (attr.getClassifier() != null && TopiaGeneratorUtil.hasEntityStereotype(attr.getClassifier())) {
+ if (attr.getClassifier() != null && TopiaGeneratorUtil.isEntity(attr.getClassifier())) {
if (GeneratorUtil.isNMultiplicity(attr.getReverseMaxMultiplicity()) && !attr.hasAssociationClass()) {
generateHibernateManyToOne(output, attr, prefix);
} else {
@@ -226,7 +226,7 @@
generateHibernateProperty(output, attr, prefix);
}
} else {
- if (attr.getClassifier() != null && TopiaGeneratorUtil.hasEntityStereotype(attr.getClassifier())) {
+ if (attr.getClassifier() != null && TopiaGeneratorUtil.isEntity(attr.getClassifier())) {
if (GeneratorUtil.isNMultiplicity(attr.getReverseMaxMultiplicity()) && !attr.hasAssociationClass()) {
generateHibernateManyToMany(output, attr, prefix);
} else {
Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityTransformer.java
===================================================================
--- trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityTransformer.java 2011-06-10 10:28:38 UTC (rev 2299)
+++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityTransformer.java 2011-06-20 16:59:45 UTC (rev 2300)
@@ -104,7 +104,7 @@
@Override
public void transformFromClass(ObjectModelClass input) {
- if (!TopiaGeneratorUtil.hasEntityStereotype(input)) {
+ if (!TopiaGeneratorUtil.isEntity(input)) {
// not an entity, skip class.
return;
@@ -200,7 +200,7 @@
// Extends from inheritance
boolean needTopiaEntity = true;
for (ObjectModelClassifier parent : input.getSuperclasses()) {
- if (TopiaGeneratorUtil.hasEntityStereotype(parent)) {
+ if (TopiaGeneratorUtil.isEntity(parent)) {
addInterface(outputInterface, parent.getQualifiedName());
needTopiaEntity = false;
break;
@@ -247,7 +247,7 @@
//Si une des classes parentes définies des méthodes abstraites, son
// impl ne sera pas créé
boolean abstractParent = TopiaGeneratorUtil.shouldBeAbstract(parent);
- if (TopiaGeneratorUtil.hasEntityStereotype(parent)) {
+ if (TopiaGeneratorUtil.isEntity(parent)) {
if (abstractParent) {
extendClass += "Abstract";
} else {
@@ -1227,7 +1227,7 @@
}
boolean isEntity = attrEntity != null &&
- TopiaGeneratorUtil.hasEntityStereotype(attrEntity);
+ TopiaGeneratorUtil.isEntity(attrEntity);
ObjectModelAttribute reverse = attr.getReverseAttribute();
if (isEntity && (reverse == null || !reverse.isNavigable())
@@ -1271,7 +1271,7 @@
for (ObjectModelAttribute attr : input.getAttributes()) {
if (attr.referenceClassifier() &&
- TopiaGeneratorUtil.hasEntityStereotype(attr.getClassifier())) {
+ TopiaGeneratorUtil.isEntity(attr.getClassifier())) {
if (attr.isComposite()) {
String attrName = attr.getName();
@@ -1376,7 +1376,7 @@
for (ObjectModelAttribute attr : input.getAttributes()) {
if (attr.referenceClassifier() &&
- TopiaGeneratorUtil.hasEntityStereotype(attr.getClassifier()) &&
+ TopiaGeneratorUtil.isEntity(attr.getClassifier()) &&
attr.isAggregate()) {
String attrName = attr.getName();
Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/QueryHelperTransformer.java
===================================================================
--- trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/QueryHelperTransformer.java 2011-06-10 10:28:38 UTC (rev 2299)
+++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/QueryHelperTransformer.java 2011-06-20 16:59:45 UTC (rev 2300)
@@ -300,7 +300,8 @@
/*************************** INNER PROPERTY CLASSES ***********************/
@Override
- public void transformFromClass(ObjectModelClass clazz) {
+// public void transformFromClass(ObjectModelClass clazz) {
+ public void transformFromClassifier(ObjectModelClassifier clazz) {
if (!TopiaGeneratorUtil.hasEntityStereotype(clazz)) {
return;
}
@@ -357,7 +358,7 @@
return aliasPropertyName;
}
- protected ObjectModelClass createInnerClass(ObjectModelClass input, String aliasConstant) {
+ protected ObjectModelClass createInnerClass(ObjectModelClassifier input, String aliasConstant) {
String className = getPropertyClassName(input);
ObjectModelClass propertyClass = (ObjectModelClass)
@@ -416,7 +417,7 @@
return propertyClass;
}
- protected void createGetterOperations(ObjectModelClass input, ObjectModelClass propertyClass) {
+ protected void createGetterOperations(ObjectModelClassifier input, ObjectModelClass propertyClass) {
// Generate for all attributes
for (ObjectModelAttribute attr : input.getAttributes()) {
@@ -539,7 +540,7 @@
);
}
- protected void addExtraForSubEntity(ObjectModelClass entityClass) {
+ protected void addExtraForSubEntity(ObjectModelClassifier entityClass) {
for (ObjectModelAttribute attr : entityClass.getAttributes()) {
if (attr.isNavigable() && attr.referenceClassifier() &&
Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/TopiaGeneratorUtil.java
===================================================================
--- trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/TopiaGeneratorUtil.java 2011-06-10 10:28:38 UTC (rev 2299)
+++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/TopiaGeneratorUtil.java 2011-06-20 16:59:45 UTC (rev 2300)
@@ -521,7 +521,7 @@
return type;
}
ObjectModelClass clazz = model.getClass(type);
- if (hasEntityStereotype(clazz)) {
+ if (isEntity(clazz)) {
if (shouldBeAbstract(clazz)) {
type += "Abstract";
} else {
@@ -650,7 +650,7 @@
if (!reverse.isNavigable()) {
//Il s'agit d'une entity
ObjectModelClass clazz = model.getClass(attr.getType());
- if (clazz != null && hasEntityStereotype(clazz)) {
+ if (clazz != null && isEntity(clazz)) {
//Cette classe a des sous-classes dans le modèle
for (ObjectModelClass subClass : model.getClasses()) {
if (subClass.getSuperclasses().contains(clazz)) {
@@ -1124,7 +1124,7 @@
* {@link TopiaStereoTypes#STEREOTYPE_ENTITY} stereotype.
*
* @param classifier classifier to test
- * @return {@code true} if stereotype was found, {@code false otherwise}
+ * @return {@code true} if stereotype was found, {@code false} otherwise
* @see TopiaStereoTypes#STEREOTYPE_ENTITY
* @since 2.5
*/
@@ -1132,7 +1132,21 @@
return classifier.hasStereotype(TopiaStereoTypes.STEREOTYPE_ENTITY);
}
+ /**
+ * Check if the given classifier has the
+ * {@link TopiaStereoTypes#STEREOTYPE_ENTITY} and is not an enumeration
+ *
+ * @param classifier classifier to test
+ * @return {@code true} if stereotype was found and classifier is not
+ * enumeration, {@code false} otherwise
+ * @see TopiaStereoTypes#STEREOTYPE_ENTITY
+ * @since 2.5
+ */
+ public static boolean isEntity(ObjectModelClassifier classifier) {
+ return hasEntityStereotype(classifier) && ! classifier.isEnum();
+ }
+
/**
* Check if the given attribute has the
* {@link TopiaStereoTypes#STEREOTYPE_ENTITY} stereotype.
Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/TopiaStereoTypes.java
===================================================================
--- trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/TopiaStereoTypes.java 2011-06-10 10:28:38 UTC (rev 2299)
+++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/TopiaStereoTypes.java 2011-06-20 16:59:45 UTC (rev 2300)
@@ -61,7 +61,7 @@
/**
* Stéréotype pour les objets devant être générées sous forme d'entités
*
- * @see TopiaGeneratorUtil#hasEntityStereotype(ObjectModelClassifier)
+ * @see TopiaGeneratorUtil#isEntity(ObjectModelClassifier)
* @see TopiaGeneratorUtil#hasEntityStereotype(ObjectModelAttribute)
*/
@StereotypeDefinition(target = {ObjectModelClassifier.class, ObjectModelAttribute.class},
Added: trunk/topia-persistence/src/test/java/org/nuiton/topiatest/EnumTest.java
===================================================================
--- trunk/topia-persistence/src/test/java/org/nuiton/topiatest/EnumTest.java (rev 0)
+++ trunk/topia-persistence/src/test/java/org/nuiton/topiatest/EnumTest.java 2011-06-20 16:59:45 UTC (rev 2300)
@@ -0,0 +1,55 @@
+package org.nuiton.topiatest;
+
+import junit.framework.Assert;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.nuiton.topia.TestHelper;
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.TopiaNotFoundException;
+import org.nuiton.topia.TopiaTestDAOHelper;
+
+import java.io.File;
+import java.io.IOException;
+
+public class EnumTest {
+
+ private static final Log log = LogFactory.getLog(EnumTest.class);
+
+ protected static File testBasedir;
+
+ @BeforeClass
+ public static void setUpClass() throws Exception {
+ testBasedir = TestHelper.getTestBasedir(EnumTest.class);
+ }
+
+ protected TopiaContext initTopiaContext(String testName) throws IOException, TopiaNotFoundException {
+ TopiaContext root = TestHelper.initTopiaContext(testBasedir,
+ "/TopiaContextImpl.properties",
+ testName);
+ return root;
+ }
+
+ @Test
+ public void storeEntityWithEnumValue() throws Exception {
+ TopiaContext root = initTopiaContext("storeEntityWithEnumValue");
+ TopiaContext transaction = root.beginTransaction();
+
+ PersonneDAO dao = TopiaTestDAOHelper.getPersonneDAO(transaction);
+ Personne personne = new PersonneImpl();
+ personne.setGender(Gender.FEMALE);
+ dao.create(personne);
+ String topiaId = personne.getTopiaId();
+ transaction.commitTransaction();
+ transaction.closeContext();
+
+ transaction = root.beginTransaction();
+ dao = TopiaTestDAOHelper.getPersonneDAO(transaction);
+ dao.findByTopiaId(topiaId);
+ Assert.assertEquals(Gender.FEMALE, personne.getGender());
+
+ Assert.assertNotNull(dao.findByGender(Gender.FEMALE));
+ transaction.closeContext();
+ }
+}
Added: trunk/topia-persistence/src/test/java/org/nuiton/topiatest/Gender.java
===================================================================
--- trunk/topia-persistence/src/test/java/org/nuiton/topiatest/Gender.java (rev 0)
+++ trunk/topia-persistence/src/test/java/org/nuiton/topiatest/Gender.java 2011-06-20 16:59:45 UTC (rev 2300)
@@ -0,0 +1,5 @@
+package org.nuiton.topiatest;
+
+public enum Gender {
+ MALE, FEMALE;
+}
Modified: trunk/topia-persistence/src/test/xmi/topiatest.zargo
===================================================================
(Binary files differ)
1
0
Author: tchemit
Date: 2011-06-10 12:28:38 +0200 (Fri, 10 Jun 2011)
New Revision: 2299
Url: http://nuiton.org/repositories/revision/topia/2299
Log:
use last stable version of hibernate
Modified:
branches/topia-2.6.x/pom.xml
Modified: branches/topia-2.6.x/pom.xml
===================================================================
--- branches/topia-2.6.x/pom.xml 2011-06-07 20:09:20 UTC (rev 2298)
+++ branches/topia-2.6.x/pom.xml 2011-06-10 10:28:38 UTC (rev 2299)
@@ -73,7 +73,7 @@
<nuitonI18nVersion>2.4</nuitonI18nVersion>
<xmlrpcVersion>3.1.2</xmlrpcVersion>
<!--<hibernateVersion>3.3.2.GA</hibernateVersion>-->
- <hibernateVersion>3.6.4.Final</hibernateVersion>
+ <hibernateVersion>3.6.5.Final</hibernateVersion>
<sl4jVersion>1.6.1</sl4jVersion>
<!-- i18n configuration -->
1
0
Author: tchemit
Date: 2011-06-07 22:09:20 +0200 (Tue, 07 Jun 2011)
New Revision: 2298
Url: http://nuiton.org/repositories/revision/topia/2298
Log:
Update mavenpom4redmineAndCentral to 2.5.5.
Modified:
trunk/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2011-06-03 14:27:35 UTC (rev 2297)
+++ trunk/pom.xml 2011-06-07 20:09:20 UTC (rev 2298)
@@ -33,7 +33,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>mavenpom4redmineAndCentral</artifactId>
- <version>2.5.4</version>
+ <version>2.5.5</version>
</parent>
<artifactId>topia</artifactId>
1
0
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
1
0
03 Jun '11
Author: tchemit
Date: 2011-06-03 15:42:37 +0200 (Fri, 03 Jun 2011)
New Revision: 2296
Url: http://nuiton.org/repositories/revision/topia/2296
Log:
put pom properties at the top + improve dependencies + use mavenpom 2.5.5
Modified:
branches/topia-2.6.x/pom.xml
branches/topia-2.6.x/topia-service-replication/pom.xml
Modified: branches/topia-2.6.x/pom.xml
===================================================================
--- branches/topia-2.6.x/pom.xml 2011-05-27 07:24:56 UTC (rev 2295)
+++ branches/topia-2.6.x/pom.xml 2011-06-03 13:42:37 UTC (rev 2296)
@@ -33,7 +33,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>mavenpom4redmineAndCentral</artifactId>
- <version>2.5.4</version>
+ <version>2.5.5-SNAPSHOT</version>
</parent>
<artifactId>topia</artifactId>
@@ -54,6 +54,33 @@
<!--module>topia-service-history</module-->
</modules>
+ <name>ToPIA</name>
+ <description>
+ Tools for Portable and Independent Architecture :
+ Framework de persistance et de distribution d'application.
+ </description>
+ <inceptionYear>2004</inceptionYear>
+ <url>http://maven-site.nuiton.org/topia</url>
+
+ <properties>
+ <!-- pour un muli module on doit fixer le projectId -->
+ <projectId>topia</projectId>
+
+ <!-- libs version -->
+ <eugeneVersion>2.3.4</eugeneVersion>
+ <nuitonUtilsVersion>2.2</nuitonUtilsVersion>
+ <processorPluginVersion>1.2.1</processorPluginVersion>
+ <nuitonI18nVersion>2.4</nuitonI18nVersion>
+ <xmlrpcVersion>3.1.2</xmlrpcVersion>
+ <!--<hibernateVersion>3.3.2.GA</hibernateVersion>-->
+ <hibernateVersion>3.6.4.Final</hibernateVersion>
+ <sl4jVersion>1.6.1</sl4jVersion>
+
+ <!-- i18n configuration -->
+ <i18n.bundles>fr_FR,en_GB,es_ES</i18n.bundles>
+
+ </properties>
+
<dependencyManagement>
<dependencies>
@@ -95,13 +122,19 @@
<groupId>org.hibernate</groupId>
<artifactId>hibernate-ehcache</artifactId>
<version>${hibernateVersion}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ </exclusion>
+ </exclusions>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>javassist</groupId>
<artifactId>javassist</artifactId>
- <version>3.8.0.GA</version>
+ <version>3.12.1.GA</version>
<scope>runtime</scope>
</dependency>
@@ -141,13 +174,7 @@
<!-- ************************************************************* -->
<!-- *** Project Information ************************************* -->
<!-- ************************************************************* -->
- <name>ToPIA</name>
- <description>
- Tools for Portable and Independent Architecture :
- Framework de persistance et de distribution d'application.
- </description>
- <inceptionYear>2004</inceptionYear>
- <url>http://maven-site.nuiton.org/topia</url>
+
<developers>
@@ -263,25 +290,7 @@
<packaging>pom</packaging>
- <properties>
- <!-- pour un muli module on doit fixer le projectId -->
- <projectId>topia</projectId>
- <!-- libs version -->
- <eugeneVersion>2.3.4</eugeneVersion>
- <nuitonUtilsVersion>2.2</nuitonUtilsVersion>
- <processorPluginVersion>1.2.1</processorPluginVersion>
- <nuitonI18nVersion>2.4</nuitonI18nVersion>
- <xmlrpcVersion>3.1.2</xmlrpcVersion>
- <!--<hibernateVersion>3.3.2.GA</hibernateVersion>-->
- <hibernateVersion>3.6.4.Final</hibernateVersion>
- <sl4jVersion>1.6.1</sl4jVersion>
-
- <!-- i18n configuration -->
- <i18n.bundles>fr_FR,en_GB,es_ES</i18n.bundles>
-
- </properties>
-
<build>
<pluginManagement>
Modified: branches/topia-2.6.x/topia-service-replication/pom.xml
===================================================================
--- branches/topia-2.6.x/topia-service-replication/pom.xml 2011-05-27 07:24:56 UTC (rev 2295)
+++ branches/topia-2.6.x/topia-service-replication/pom.xml 2011-06-03 13:42:37 UTC (rev 2296)
@@ -74,6 +74,11 @@
<artifactId>commons-logging</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-core</artifactId>
+ </dependency>
+
<!-- Depencies for test-->
<dependency>
<groupId>com.h2database</groupId>
1
0