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
January 2010
- 4 participants
- 52 discussions
r1793 - in trunk: . topia-persistence topia-service-history topia-service-index topia-service-migration topia-service-replication topia-service-security topia-soa
by tchemit@users.nuiton.org 31 Jan '10
by tchemit@users.nuiton.org 31 Jan '10
31 Jan '10
Author: tchemit
Date: 2010-01-31 18:13:40 +0100 (Sun, 31 Jan 2010)
New Revision: 1793
Modified:
trunk/pom.xml
trunk/topia-persistence/pom.xml
trunk/topia-service-history/pom.xml
trunk/topia-service-index/pom.xml
trunk/topia-service-migration/pom.xml
trunk/topia-service-replication/pom.xml
trunk/topia-service-security/pom.xml
trunk/topia-soa/pom.xml
Log:
[maven-release-plugin] prepare for next development iteration
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2010-01-31 17:13:32 UTC (rev 1792)
+++ trunk/pom.xml 2010-01-31 17:13:40 UTC (rev 1793)
@@ -13,7 +13,7 @@
</parent>
<artifactId>topia</artifactId>
- <version>2.3.0-beta-7</version>
+ <version>2.3.0-beta-8-SNAPSHOT</version>
<modules>
<module>topia-persistence</module>
@@ -261,9 +261,9 @@
<!-- Source control management. -->
<scm>
- <connection>scm:svn:http://svn.nuiton.org/svn/topia/tags/topia-2.3.0-beta-7</connection>
- <developerConnection>scm:svn:http://svn.nuiton.org/svn/topia/tags/topia-2.3.0-beta-7</developerConnection>
- <url>http://www.nuiton.org/repositories/browse/topia/tags/topia-2.3.0-beta-7</url>
+ <connection>scm:svn:http://svn.nuiton.org/svn/topia/trunk</connection>
+ <developerConnection>scm:svn:http://svn.nuiton.org/svn/topia/trunk</developerConnection>
+ <url>http://www.nuiton.org/repositories/browse/topia/trunk</url>
</scm>
</project>
Modified: trunk/topia-persistence/pom.xml
===================================================================
--- trunk/topia-persistence/pom.xml 2010-01-31 17:13:32 UTC (rev 1792)
+++ trunk/topia-persistence/pom.xml 2010-01-31 17:13:40 UTC (rev 1793)
@@ -10,7 +10,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>topia</artifactId>
- <version>2.3.0-beta-7</version>
+ <version>2.3.0-beta-8-SNAPSHOT</version>
</parent>
<groupId>org.nuiton.topia</groupId>
Modified: trunk/topia-service-history/pom.xml
===================================================================
--- trunk/topia-service-history/pom.xml 2010-01-31 17:13:32 UTC (rev 1792)
+++ trunk/topia-service-history/pom.xml 2010-01-31 17:13:40 UTC (rev 1793)
@@ -10,7 +10,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>topia</artifactId>
- <version>2.3.0-beta-7</version>
+ <version>2.3.0-beta-8-SNAPSHOT</version>
</parent>
<groupId>org.nuiton.topia</groupId>
Modified: trunk/topia-service-index/pom.xml
===================================================================
--- trunk/topia-service-index/pom.xml 2010-01-31 17:13:32 UTC (rev 1792)
+++ trunk/topia-service-index/pom.xml 2010-01-31 17:13:40 UTC (rev 1793)
@@ -10,7 +10,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>topia</artifactId>
- <version>2.3.0-beta-7</version>
+ <version>2.3.0-beta-8-SNAPSHOT</version>
</parent>
<groupId>org.nuiton.topia</groupId>
Modified: trunk/topia-service-migration/pom.xml
===================================================================
--- trunk/topia-service-migration/pom.xml 2010-01-31 17:13:32 UTC (rev 1792)
+++ trunk/topia-service-migration/pom.xml 2010-01-31 17:13:40 UTC (rev 1793)
@@ -10,7 +10,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>topia</artifactId>
- <version>2.3.0-beta-7</version>
+ <version>2.3.0-beta-8-SNAPSHOT</version>
</parent>
<groupId>org.nuiton.topia</groupId>
Modified: trunk/topia-service-replication/pom.xml
===================================================================
--- trunk/topia-service-replication/pom.xml 2010-01-31 17:13:32 UTC (rev 1792)
+++ trunk/topia-service-replication/pom.xml 2010-01-31 17:13:40 UTC (rev 1793)
@@ -10,7 +10,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>topia</artifactId>
- <version>2.3.0-beta-7</version>
+ <version>2.3.0-beta-8-SNAPSHOT</version>
</parent>
<groupId>org.nuiton.topia</groupId>
Modified: trunk/topia-service-security/pom.xml
===================================================================
--- trunk/topia-service-security/pom.xml 2010-01-31 17:13:32 UTC (rev 1792)
+++ trunk/topia-service-security/pom.xml 2010-01-31 17:13:40 UTC (rev 1793)
@@ -10,7 +10,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>topia</artifactId>
- <version>2.3.0-beta-7</version>
+ <version>2.3.0-beta-8-SNAPSHOT</version>
</parent>
<groupId>org.nuiton.topia</groupId>
Modified: trunk/topia-soa/pom.xml
===================================================================
--- trunk/topia-soa/pom.xml 2010-01-31 17:13:32 UTC (rev 1792)
+++ trunk/topia-soa/pom.xml 2010-01-31 17:13:40 UTC (rev 1793)
@@ -10,7 +10,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>topia</artifactId>
- <version>2.3.0-beta-7</version>
+ <version>2.3.0-beta-8-SNAPSHOT</version>
</parent>
<groupId>org.nuiton.topia</groupId>
1
0
Author: tchemit
Date: 2010-01-31 18:13:32 +0100 (Sun, 31 Jan 2010)
New Revision: 1792
Added:
tags/topia-2.3.0-beta-7/
Log:
[maven-scm] copy for tag topia-2.3.0-beta-7
Property changes on: tags/topia-2.3.0-beta-7
___________________________________________________________________
Added: svn:ignore
+ *.ipr
*.iws
.classpath
*.iml
.project
target
.settings
Added: svn:mergeinfo
+ /branches/from2.2.2-eugene2-beta:1662-1714
1
0
r1791 - in trunk: . topia-persistence topia-service-history topia-service-index topia-service-migration topia-service-replication topia-service-security topia-soa
by tchemit@users.nuiton.org 31 Jan '10
by tchemit@users.nuiton.org 31 Jan '10
31 Jan '10
Author: tchemit
Date: 2010-01-31 18:13:30 +0100 (Sun, 31 Jan 2010)
New Revision: 1791
Modified:
trunk/pom.xml
trunk/topia-persistence/pom.xml
trunk/topia-service-history/pom.xml
trunk/topia-service-index/pom.xml
trunk/topia-service-migration/pom.xml
trunk/topia-service-replication/pom.xml
trunk/topia-service-security/pom.xml
trunk/topia-soa/pom.xml
Log:
[maven-release-plugin] prepare release topia-2.3.0-beta-7
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2010-01-31 17:10:49 UTC (rev 1790)
+++ trunk/pom.xml 2010-01-31 17:13:30 UTC (rev 1791)
@@ -13,7 +13,7 @@
</parent>
<artifactId>topia</artifactId>
- <version>2.3.0-beta-7-SNAPSHOT</version>
+ <version>2.3.0-beta-7</version>
<modules>
<module>topia-persistence</module>
@@ -261,9 +261,9 @@
<!-- Source control management. -->
<scm>
- <connection>scm:svn:http://svn.nuiton.org/svn/topia/trunk</connection>
- <developerConnection>scm:svn:http://svn.nuiton.org/svn/topia/trunk</developerConnection>
- <url>http://www.nuiton.org/repositories/browse/topia/trunk</url>
+ <connection>scm:svn:http://svn.nuiton.org/svn/topia/tags/topia-2.3.0-beta-7</connection>
+ <developerConnection>scm:svn:http://svn.nuiton.org/svn/topia/tags/topia-2.3.0-beta-7</developerConnection>
+ <url>http://www.nuiton.org/repositories/browse/topia/tags/topia-2.3.0-beta-7</url>
</scm>
</project>
Modified: trunk/topia-persistence/pom.xml
===================================================================
--- trunk/topia-persistence/pom.xml 2010-01-31 17:10:49 UTC (rev 1790)
+++ trunk/topia-persistence/pom.xml 2010-01-31 17:13:30 UTC (rev 1791)
@@ -10,7 +10,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>topia</artifactId>
- <version>2.3.0-beta-7-SNAPSHOT</version>
+ <version>2.3.0-beta-7</version>
</parent>
<groupId>org.nuiton.topia</groupId>
Modified: trunk/topia-service-history/pom.xml
===================================================================
--- trunk/topia-service-history/pom.xml 2010-01-31 17:10:49 UTC (rev 1790)
+++ trunk/topia-service-history/pom.xml 2010-01-31 17:13:30 UTC (rev 1791)
@@ -10,7 +10,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>topia</artifactId>
- <version>2.3.0-beta-7-SNAPSHOT</version>
+ <version>2.3.0-beta-7</version>
</parent>
<groupId>org.nuiton.topia</groupId>
Modified: trunk/topia-service-index/pom.xml
===================================================================
--- trunk/topia-service-index/pom.xml 2010-01-31 17:10:49 UTC (rev 1790)
+++ trunk/topia-service-index/pom.xml 2010-01-31 17:13:30 UTC (rev 1791)
@@ -10,7 +10,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>topia</artifactId>
- <version>2.3.0-beta-7-SNAPSHOT</version>
+ <version>2.3.0-beta-7</version>
</parent>
<groupId>org.nuiton.topia</groupId>
Modified: trunk/topia-service-migration/pom.xml
===================================================================
--- trunk/topia-service-migration/pom.xml 2010-01-31 17:10:49 UTC (rev 1790)
+++ trunk/topia-service-migration/pom.xml 2010-01-31 17:13:30 UTC (rev 1791)
@@ -10,7 +10,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>topia</artifactId>
- <version>2.3.0-beta-7-SNAPSHOT</version>
+ <version>2.3.0-beta-7</version>
</parent>
<groupId>org.nuiton.topia</groupId>
Modified: trunk/topia-service-replication/pom.xml
===================================================================
--- trunk/topia-service-replication/pom.xml 2010-01-31 17:10:49 UTC (rev 1790)
+++ trunk/topia-service-replication/pom.xml 2010-01-31 17:13:30 UTC (rev 1791)
@@ -10,7 +10,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>topia</artifactId>
- <version>2.3.0-beta-7-SNAPSHOT</version>
+ <version>2.3.0-beta-7</version>
</parent>
<groupId>org.nuiton.topia</groupId>
Modified: trunk/topia-service-security/pom.xml
===================================================================
--- trunk/topia-service-security/pom.xml 2010-01-31 17:10:49 UTC (rev 1790)
+++ trunk/topia-service-security/pom.xml 2010-01-31 17:13:30 UTC (rev 1791)
@@ -10,7 +10,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>topia</artifactId>
- <version>2.3.0-beta-7-SNAPSHOT</version>
+ <version>2.3.0-beta-7</version>
</parent>
<groupId>org.nuiton.topia</groupId>
Modified: trunk/topia-soa/pom.xml
===================================================================
--- trunk/topia-soa/pom.xml 2010-01-31 17:10:49 UTC (rev 1790)
+++ trunk/topia-soa/pom.xml 2010-01-31 17:13:30 UTC (rev 1791)
@@ -10,7 +10,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>topia</artifactId>
- <version>2.3.0-beta-7-SNAPSHOT</version>
+ <version>2.3.0-beta-7</version>
</parent>
<groupId>org.nuiton.topia</groupId>
1
0
Author: tchemit
Date: 2010-01-31 18:10:49 +0100 (Sun, 31 Jan 2010)
New Revision: 1790
Modified:
trunk/pom.xml
Log:
bump to stable eugene version
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2010-01-29 20:20:15 UTC (rev 1789)
+++ trunk/pom.xml 2010-01-31 17:10:49 UTC (rev 1790)
@@ -188,7 +188,7 @@
<projectId>topia</projectId>
<!-- libs version -->
- <eugene.version>2.0.0-beta-4-SNAPSHOT</eugene.version>
+ <eugene.version>2.0.0-beta-4</eugene.version>
<lutinutil.version>1.1.3</lutinutil.version>
<processor.version>1.0.2</processor.version>
<i18n.version>1.0.1</i18n.version>
1
0
r1789 - in trunk: . topia-persistence/src/main/java/org/nuiton/topia/generator topia-persistence/src/test/java/org/nuiton/topia/generator
by tchemit@users.nuiton.org 29 Jan '10
by tchemit@users.nuiton.org 29 Jan '10
29 Jan '10
Author: tchemit
Date: 2010-01-29 21:20:15 +0100 (Fri, 29 Jan 2010)
New Revision: 1789
Modified:
trunk/pom.xml
trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DAOAbstractTransformer.java
trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityAbstractTransformer.java
trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityHibernateMappingGenerator.java
trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityInterfaceTransformer.java
trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/TopiaGeneratorUtil.java
trunk/topia-persistence/src/test/java/org/nuiton/topia/generator/TopiaGeneratorUtilTest.java
Log:
- bump eugene version to use ConstantsManager api
- Evolution #289: Use generated constants in transformers
- reformat code to 80 caracters max per line
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2010-01-29 17:01:21 UTC (rev 1788)
+++ trunk/pom.xml 2010-01-29 20:20:15 UTC (rev 1789)
@@ -188,7 +188,7 @@
<projectId>topia</projectId>
<!-- libs version -->
- <eugene.version>2.0.0-beta-3</eugene.version>
+ <eugene.version>2.0.0-beta-4-SNAPSHOT</eugene.version>
<lutinutil.version>1.1.3</lutinutil.version>
<processor.version>1.0.2</processor.version>
<i18n.version>1.0.1</i18n.version>
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 2010-01-29 17:01:21 UTC (rev 1788)
+++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/DAOAbstractTransformer.java 2010-01-29 20:20:15 UTC (rev 1789)
@@ -58,7 +58,8 @@
/**
* Logger
*/
- private static final Log log = LogFactory.getLog(DAOAbstractTransformer.class);
+ private static final Log log = LogFactory.getLog(
+ DAOAbstractTransformer.class);
@Override
public void transformFromClass(ObjectModelClass clazz) {
@@ -68,7 +69,9 @@
String clazzName = clazz.getName();
- ObjectModelClass result = createAbstractClass(clazzName + "DAOAbstract<E extends " + clazzName + ">", clazz.getPackageName());
+ ObjectModelClass result = createAbstractClass(
+ clazzName + "DAOAbstract<E extends " + clazzName + ">",
+ clazz.getPackageName());
// super class
@@ -108,9 +111,9 @@
boolean enableSecurity = (
clazz.hasTagValue(TopiaGeneratorUtil.TAG_SECURITY_CREATE) ||
- clazz.hasTagValue(TopiaGeneratorUtil.TAG_SECURITY_LOAD) ||
- clazz.hasTagValue(TopiaGeneratorUtil.TAG_SECURITY_UPDATE) ||
- clazz.hasTagValue(TopiaGeneratorUtil.TAG_SECURITY_DELETE)
+ clazz.hasTagValue(TopiaGeneratorUtil.TAG_SECURITY_LOAD) ||
+ clazz.hasTagValue(TopiaGeneratorUtil.TAG_SECURITY_UPDATE) ||
+ clazz.hasTagValue(TopiaGeneratorUtil.TAG_SECURITY_DELETE)
);
if (enableSecurity) {
@@ -132,7 +135,10 @@
// getEntityClass
- op = addOperation(result,"getEntityClass","Class<E>", ObjectModelModifier.PUBLIC);
+ op = addOperation(result,
+ "getEntityClass",
+ "Class<E>",
+ ObjectModelModifier.PUBLIC);
setOperationBody(op,""
/*{
return (Class<E>)<%=clazzName%>.class;
@@ -149,7 +155,9 @@
addParameter(op, "E", "entity");
StringBuilder body = new StringBuilder();
String modelName = StringUtils.capitalize(model.getName());
- String providerFQN = getOutputProperties().getProperty(Template.PROP_DEFAULT_PACKAGE) + "." + modelName + "DAOHelper.getImplementationClass";
+ String providerFQN = getOutputProperties().getProperty(
+ Template.PROP_DEFAULT_PACKAGE) + "." + modelName +
+ "DAOHelper.getImplementationClass";
for (ObjectModelAttribute attr : clazz.getAttributes()) {
String attrType = attr.getType();
String reverseAttrName = attr.getReverseAttributeName();
@@ -179,7 +187,8 @@
}*/
);
} else if (!attr.hasAssociationClass() && reverse != null
- && reverse.isNavigable() && !GeneratorUtil.isNMultiplicity(reverse)) {
+ && reverse.isNavigable()
+ && !GeneratorUtil.isNMultiplicity(reverse)) {
// On doit mettre a null les attributs qui ont cet objet sur les
// autres entites en one-to-*
// TODO peut-etre qu'hibernate est capable de faire ca tout seul ?
@@ -225,20 +234,21 @@
String attrName = attr.getName();
if (!GeneratorUtil.isNMultiplicity(attr)) {
- generateNoNMultiplicity(result, attr, false);
+ generateNoNMultiplicity(clazzName, result, attr, false);
} else {
- generateNMultiplicity(result, attr);
+ generateNMultiplicity(clazzName, result, attr);
}
}
if (clazz instanceof ObjectModelAssociationClass) {
- ObjectModelAssociationClass assocClass = (ObjectModelAssociationClass)clazz;
+ ObjectModelAssociationClass assocClass =
+ (ObjectModelAssociationClass)clazz;
for (ObjectModelAttribute attr : assocClass.getParticipantsAttributes()) {
if (attr != null) {
if (!GeneratorUtil.isNMultiplicity(attr)) {
- generateNoNMultiplicity(result, attr, true);
+ generateNoNMultiplicity(clazzName, result, attr, true);
} else {
- generateNMultiplicity(result, attr);
+ generateNMultiplicity(clazzName, result, attr);
}
}
}
@@ -248,8 +258,12 @@
// getRequestPermission
- op = addOperation(result,"getRequestPermission","List<Permission>",ObjectModelModifier.PUBLIC);
- setDocumentation(op,"Retourne les permissions a verifier pour l'acces a l'entite pour le service Taas");
+ op = addOperation(result,
+ "getRequestPermission",
+ "List<Permission>",
+ ObjectModelModifier.PUBLIC);
+ setDocumentation(op,"Retourne les permissions a verifier pour " +
+ "l'acces a l'entite pour le service Taas");
addException(op, TopiaException.class);
addParameter(op,String.class,"topiaId");
addParameter(op,int.class,"actions");
@@ -260,28 +274,32 @@
if ((actions & TaasUtil.CREATE) == TaasUtil.CREATE) {
}*/
);
- buffer.append(generateSecurity(result, clazz, TopiaGeneratorUtil.TAG_SECURITY_CREATE));
+ buffer.append(generateSecurity(result, clazz,
+ TopiaGeneratorUtil.TAG_SECURITY_CREATE));
buffer.append(""
/*{
}
if ((actions & TaasUtil.LOAD) == TaasUtil.LOAD) {
}*/
);
- buffer.append(generateSecurity(result, clazz, TopiaGeneratorUtil.TAG_SECURITY_LOAD));
+ buffer.append(generateSecurity(result, clazz,
+ TopiaGeneratorUtil.TAG_SECURITY_LOAD));
buffer.append(""
/*{
}
if ((actions & TaasUtil.UPDATE) == TaasUtil.UPDATE) {
}*/
);
- buffer.append(generateSecurity(result, clazz, TopiaGeneratorUtil.TAG_SECURITY_UPDATE));
+ buffer.append(generateSecurity(result, clazz,
+ TopiaGeneratorUtil.TAG_SECURITY_UPDATE));
buffer.append(""
/*{
}
if ((actions & TaasUtil.DELETE) == TaasUtil.DELETE) {
}*/
);
- buffer.append(generateSecurity(result, clazz, TopiaGeneratorUtil.TAG_SECURITY_DELETE));
+ buffer.append(generateSecurity(result, clazz,
+ TopiaGeneratorUtil.TAG_SECURITY_DELETE));
buffer.append(""
/*{
}
@@ -296,13 +314,17 @@
// getRequestPermission
- op = addOperation(result,"getRequestPermission","List<Permission>",ObjectModelModifier.PROTECTED);
+ op = addOperation(result,
+ "getRequestPermission",
+ "List<Permission>",
+ ObjectModelModifier.PROTECTED);
addParameter(op,String.class,"topiaId");
addParameter(op,int.class,"actions");
addParameter(op,String.class,"query");
addParameter(op,Class.class,"daoClass");
addException(op,TopiaException.class);
- setDocumentation(op,"Retourne les permissions a verifier pour l'acces a l'entite pour le service Taas");
+ setDocumentation(op,"Retourne les permissions a verifier pour " +
+ "l'acces a l'entite pour le service Taas");
setOperationBody(op,""
/*{ TopiaContextImplementor context = getContext();
List<String> result = context.find(query, "id", topiaId);
@@ -331,19 +353,26 @@
* @param result clazz where to add operations
* @param operations operations to generate
*/
- private void generateDAOOperations(ObjectModelClass result, Collection<ObjectModelOperation> operations) {
+ private void generateDAOOperations(ObjectModelClass result,
+ Collection<ObjectModelOperation>
+ operations) {
for (ObjectModelOperation op : operations) {
//TODO: add to transformer cloneOperation
ObjectModelOperation op2;
- op2 = addOperation(result, op.getName(), op.getReturnType(), ObjectModelModifier.ABSTRACT, ObjectModelModifier.toValue(op.getVisibility()));
+ op2 = addOperation(result,
+ op.getName(),
+ op.getReturnType(),
+ ObjectModelModifier.ABSTRACT,
+ ObjectModelModifier.toValue(op.getVisibility()));
setDocumentation(op2, op.getDocumentation());
// parameters
for (ObjectModelParameter param : op.getParameters()) {
- ObjectModelParameter param2 = addParameter(op2, param.getType(), param.getName());
+ ObjectModelParameter param2 = addParameter(op2,
+ param.getType(), param.getName());
setDocumentation(param2, param.getDocumentation());
}
@@ -357,7 +386,9 @@
}
- private String generateSecurity(ObjectModelClass result, ObjectModelClass clazz, String securityTagName) {
+ private String generateSecurity(ObjectModelClass result,
+ ObjectModelClass clazz,
+ String securityTagName) {
StringBuilder buffer = new StringBuilder();
if (clazz.hasTagValue(securityTagName)) {
@@ -404,32 +435,43 @@
return buffer.toString();
}
- protected void generateNoNMultiplicity(ObjectModelClass result, ObjectModelAttribute attr, boolean isAssoc) {
+ protected void generateNoNMultiplicity(String clazzName,
+ ObjectModelClass result,
+ ObjectModelAttribute attr,
+ boolean isAssoc) {
String attrName = attr.getName();
String attrType = attr.getType();
String propertyName = attrName;
if (!isAssoc && attr.hasAssociationClass()) {
- propertyName = TopiaGeneratorUtil.toLowerCaseFirstLetter(attr.getAssociationClass().getName()) + "." + propertyName;
+ propertyName = TopiaGeneratorUtil.toLowerCaseFirstLetter(
+ attr.getAssociationClass().getName()) + "." + propertyName;
}
ObjectModelOperation op;
- op = addOperation(result, "findBy" + StringUtils.capitalize(attrName), "E", ObjectModelModifier.PUBLIC);
+ op = addOperation(result,
+ "findBy" + StringUtils.capitalize(attrName),
+ "E",
+ ObjectModelModifier.PUBLIC);
addException(op, TopiaException.class);
addParameter(op, attrType, "v");
setDocumentation(op, "Retourne le premier élément trouvé ayant comme valeur pour l'attribut "+ attrName + " le paramètre.");
setOperationBody(op,""
/*{
- E result = findByProperty("<%=propertyName%>", v);
+ E result = findByProperty(<%=clazzName + "." + getConstantName(propertyName)%>, v);
return result;
}*/
);
- op = addOperation(result, "findAllBy" + StringUtils.capitalize(attrName), "List<E>", ObjectModelModifier.PUBLIC);
+ op = addOperation(result,
+ "findAllBy" + StringUtils.capitalize(attrName),
+ "List<E>",
+ ObjectModelModifier.PUBLIC);
addException(op, TopiaException.class);
addParameter(op, attrType, "v");
- setDocumentation(op, "Retourne les éléments ayant comme valeur pour l'attribut " + attrName + " le paramètre.");
+ setDocumentation(op, "Retourne les éléments ayant comme valeur pour " +
+ "l'attribut " + attrName + " le paramètre.");
setOperationBody(op,""
/*{
- List<E> result = findAllByProperty("<%=propertyName%>", v);
+ List<E> result = findAllByProperty(<%=clazzName + "." + getConstantName(propertyName)%>, v);
return result;
}*/
);
@@ -437,59 +479,84 @@
if (attr.hasAssociationClass()) {
String assocClassName = attr.getAssociationClass().getName();
String assocClassFQN = attr.getAssociationClass().getQualifiedName();
- op = addOperation(result, "findBy" + StringUtils.capitalize(assocClassName), "E", ObjectModelModifier.PUBLIC);
+ op = addOperation(result,
+ "findBy" + StringUtils.capitalize(assocClassName),
+ "E",
+ ObjectModelModifier.PUBLIC);
addException(op, TopiaException.class);
addParameter(op, assocClassFQN, "value");
- setDocumentation(op, "Retourne le premier élément trouvé ayant comme valeur pour l'attribut " + TopiaGeneratorUtil.toLowerCaseFirstLetter(assocClassName) + " le paramètre.");
+ setDocumentation(op, "Retourne le premier élément trouvé ayant " +
+ "comme valeur pour l'attribut " +
+ TopiaGeneratorUtil.toLowerCaseFirstLetter(assocClassName) +
+ " le paramètre.");
setOperationBody(op, ""
/*{
- E result = findByProperty("<%=TopiaGeneratorUtil.toLowerCaseFirstLetter(assocClassName)%>", value);
+ E result = findByProperty(<%=clazzName + "." + getConstantName(TopiaGeneratorUtil.toLowerCaseFirstLetter(assocClassName))%>, value);
return result;
}*/
);
- op = addOperation(result, "findAllBy" + StringUtils.capitalize(assocClassName), "List<E>", ObjectModelModifier.PUBLIC);
+ op = addOperation(result,
+ "findAllBy" + StringUtils.capitalize(assocClassName),
+ "List<E>",
+ ObjectModelModifier.PUBLIC);
addException(op, TopiaException.class);
addParameter(op, assocClassFQN, "value");
- setDocumentation(op, "Retourne les éléments ayant comme valeur pour l'attribut " + TopiaGeneratorUtil.toLowerCaseFirstLetter(assocClassName) + " le paramètre.");
+ setDocumentation(op, "Retourne les éléments ayant comme valeur pour" +
+ " l'attribut " +
+ TopiaGeneratorUtil.toLowerCaseFirstLetter(assocClassName) +
+ " le paramètre.");
setOperationBody(op,""
/*{
- List<E> result = findAllByProperty("<%=TopiaGeneratorUtil.toLowerCaseFirstLetter(assocClassName)%>", value);
+ List<E> result = findAllByProperty(<%=clazzName + "." + getConstantName(TopiaGeneratorUtil.toLowerCaseFirstLetter(assocClassName))%>, value);
return result;
}*/
);
}
}
- protected void generateNMultiplicity(ObjectModelClass result, ObjectModelAttribute attr) {
+ protected void generateNMultiplicity(String clazzName, ObjectModelClass result, ObjectModelAttribute attr) {
String attrName = attr.getName();
String attrType = attr.getType();
ObjectModelOperation op;
- op = addOperation(result, "findContains" + StringUtils.capitalize(attrName), "E", ObjectModelModifier.PUBLIC);
+ op = addOperation(result,
+ "findContains" + StringUtils.capitalize(attrName),
+ "E",
+ ObjectModelModifier.PUBLIC);
addException(op, TopiaException.class);
addParameter(op, attrType + "...", "v");
- setDocumentation(op, "Retourne le premier élément trouvé dont l'attribut " +attrName + " contient le paramètre." );
+ setDocumentation(op, "Retourne le premier élément trouvé dont " +
+ "l'attribut " +attrName + " contient le paramètre." );
setOperationBody(op,""
/*{
+ //FIXME TC-20100129 : really strange behaviour : contains on sub-sub properties instead of sub properties ?
+ //E result = findContainsProperties(<%=clazzName + "." + getConstantName(TopiaGeneratorUtil.toLowerCaseFirstLetter(attrName))%>, Arrays.asList(v));
E result = findContainsProperties("<%=TopiaGeneratorUtil.toLowerCaseFirstLetter(attrName)%>", Arrays.asList(v));
return result;
}*/
);
- op = addOperation(result, "findAllContains" + StringUtils.capitalize(attrName), "List<E>", ObjectModelModifier.PUBLIC);
+ op = addOperation(result,
+ "findAllContains" + StringUtils.capitalize(attrName),
+ "List<E>",
+ ObjectModelModifier.PUBLIC);
addException(op, TopiaException.class);
addParameter(op, attrType + "...", "v");
- setDocumentation(op, "Retourne les éléments trouvé dont l'attribut " + attrName + " contient le paramètre.");
+ setDocumentation(op, "Retourne les éléments trouvé dont l'attribut " +
+ attrName + " contient le paramètre.");
setOperationBody(op, ""
/*{
+ //FIXME TC-20100129 : really strange behaviour : contains on sub-sub properties instead of sub properties ?
+ //List<E> results = findAllContainsProperties(<%=clazzName + "." + getConstantName(TopiaGeneratorUtil.toLowerCaseFirstLetter(attrName))%>, Arrays.asList(v));
List<E> results = findAllContainsProperties("<%=TopiaGeneratorUtil.toLowerCaseFirstLetter(attrName)%>", Arrays.asList(v));
return results;
}*/
);
}
- private boolean isCollectionNeeded(Collection<ObjectModelOperation> operations) {
+ private boolean isCollectionNeeded(
+ Collection<ObjectModelOperation> operations) {
return isImportNeeded(operations, "Collection");
}
@@ -497,7 +564,8 @@
return isImportNeeded(operations, "Set");
}
- private boolean isImportNeeded(Collection<ObjectModelOperation> operations, String importName) {
+ private boolean isImportNeeded(Collection<ObjectModelOperation> operations,
+ String importName) {
for (ObjectModelOperation op : operations) {
if (op.getReturnType().contains(importName)) {
return true;
@@ -511,8 +579,10 @@
return false;
}
- public static Collection<ObjectModelOperation> getDAOOperations(ObjectModelClass clazz) {
- Collection<ObjectModelOperation> results = new ArrayList<ObjectModelOperation>();
+ public static Collection<ObjectModelOperation> getDAOOperations(
+ ObjectModelClass clazz) {
+ Collection<ObjectModelOperation> results =
+ new ArrayList<ObjectModelOperation>();
for (ObjectModelOperation op : clazz.getOperations()) {
if (op.hasStereotype(TopiaGeneratorUtil.STEREOTYPE_DAO)) {
results.add(op);
Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityAbstractTransformer.java
===================================================================
--- trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityAbstractTransformer.java 2010-01-29 17:01:21 UTC (rev 1788)
+++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityAbstractTransformer.java 2010-01-29 20:20:15 UTC (rev 1789)
@@ -34,6 +34,7 @@
import org.nuiton.topia.persistence.TopiaEntity;
import org.nuiton.topia.persistence.TopiaEntityAbstract;
+import java.beans.Introspector;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
@@ -57,7 +58,8 @@
/**
* Logger
*/
- private static final Log log = LogFactory.getLog(EntityAbstractTransformer.class);
+ private static final Log log =
+ LogFactory.getLog(EntityAbstractTransformer.class);
@Override
public void transformFromClass(ObjectModelClass clazz) {
@@ -66,7 +68,8 @@
}
String clazzName = clazz.getName();
- String clazzFQN = TopiaGeneratorUtil.getSimpleName(clazz.getQualifiedName());
+ String clazzFQN = TopiaGeneratorUtil.getSimpleName(
+ clazz.getQualifiedName());
ObjectModelClass result;
@@ -74,7 +77,8 @@
log.debug("for entity : " + clazz.getQualifiedName());
}
- result = createAbstractClass(clazzName + "Abstract", clazz.getPackageName());
+ result = createAbstractClass(clazzName + "Abstract",
+ clazz.getPackageName());
addInterface(result, clazzName);
@@ -88,12 +92,16 @@
// javadoc
StringBuilder doc = new StringBuilder();
- doc.append("Implantation POJO pour l'entité {@link ").append(StringUtils.capitalize(clazzFQN)).append("}\n");
+ doc.append("Implantation POJO pour l'entité {@link ");
+ doc.append(StringUtils.capitalize(clazzFQN));
+ doc.append("}\n");
{
String dbName = clazz.getTagValue(TopiaGeneratorUtil.TAG_DB_NAME);
if (dbName != null) {
- doc.append("<p>Nom de l'entité en BD : ").append(dbName).append(".</p>");
+ doc.append("<p>Nom de l'entité en BD : ");
+ doc.append(dbName);
+ doc.append(".</p>");
}
}
@@ -122,9 +130,13 @@
// serialVersionUID
- String svUID = TopiaGeneratorUtil.findTagValue("serialVersionUID", clazz, model);
+ String svUID = TopiaGeneratorUtil.findTagValue("serialVersionUID",
+ clazz, model);
if (svUID != null) {
- addAttribute(result, "serialVersionUID", long.class, svUID, ObjectModelModifier.PRIVATE, ObjectModelModifier.STATIC, ObjectModelModifier.FINAL);
+ addAttribute(result, "serialVersionUID", long.class, svUID,
+ ObjectModelModifier.PRIVATE,
+ ObjectModelModifier.STATIC,
+ ObjectModelModifier.FINAL);
}
@@ -152,32 +164,39 @@
// type = TopiaGeneratorUtil.getSimpleName(attr.getType());
} else {
String assocAttrName = TopiaGeneratorUtil.getAssocAttrName(attr);
- //TODO THIMEL : Je pense que les GeneratorUtil.toLowerCaseFirstLetter sont inutiles ici, ou alors il faudrait le faire partout
+ //TODO THIMEL : Je pense que les
+ // GeneratorUtil.toLowerCaseFirstLetter sont inutiles
+ // ici, ou alors il faudrait le faire partout
name = GeneratorUtil.toLowerCaseFirstLetter(assocAttrName);
type = attr.getAssociationClass().getQualifiedName();
// type = TopiaGeneratorUtil.getSimpleName(attr.getAssociationClass().getQualifiedName());
}
if (GeneratorUtil.isNMultiplicity(attr)) {
- String collectionType = TopiaGeneratorUtil.getNMultiplicityInterfaceType(attr);
+ String collectionType =
+ TopiaGeneratorUtil.getNMultiplicityInterfaceType(attr);
type = collectionType + "<" + type + ">";
}
String attrVisibility = attr.getVisibility();
- attr2 = addAttribute(result, name, type, null, ObjectModelModifier.toValue(attrVisibility));
+ attr2 = addAttribute(result, name, type, null,
+ ObjectModelModifier.toValue(attrVisibility));
-
doc = new StringBuilder();
- if (TopiaGeneratorUtil.hasDocumentation(attr) || attr.hasTagValue(TopiaGeneratorUtil.TAG_DB_NAME)) {
+ if (TopiaGeneratorUtil.hasDocumentation(attr) ||
+ attr.hasTagValue(TopiaGeneratorUtil.TAG_DB_NAME)) {
if (TopiaGeneratorUtil.hasDocumentation(attr)) {
String attrDocumentation = attr.getDocumentation();
doc.append(attrDocumentation).append("\n");
}
if (attr.hasTagValue(TopiaGeneratorUtil.TAG_DB_NAME)) {
- String dbName = attr.getTagValue(TopiaGeneratorUtil.TAG_DB_NAME);
- doc.append("Nom de l'attribut en BD : ").append(dbName).append("\n");
+ String dbName =
+ attr.getTagValue(TopiaGeneratorUtil.TAG_DB_NAME);
+ doc.append("Nom de l'attribut en BD : ");
+ doc.append(dbName);
+ doc.append("\n");
}
}
@@ -185,8 +204,10 @@
if (attr.hasTagValue(TopiaGeneratorUtil.TAG_ANNOTATION)) {
- String annotation = attr.getTagValue(TopiaGeneratorUtil.TAG_ANNOTATION);
+ String annotation =
+ attr.getTagValue(TopiaGeneratorUtil.TAG_ANNOTATION);
//FIXME Make annotation works...
+ //TODO Use the addAnnotation method...
///* <%=annotation%>
//*/
}
@@ -194,18 +215,23 @@
//Déclaration des attributs d'une classe d'associations
if (clazz instanceof ObjectModelAssociationClass) {
- ObjectModelAssociationClass assoc = (ObjectModelAssociationClass) clazz;
+ ObjectModelAssociationClass assoc =
+ (ObjectModelAssociationClass) clazz;
for (ObjectModelAttribute attr : assoc.getParticipantsAttributes()) {
if (attr != null) {
String attrVisibility = attr.getVisibility();
String attrType = attr.getType();
String attrName = attr.getName();
- addAttribute(result, GeneratorUtil.toLowerCaseFirstLetter(attrName), attrType, null, ObjectModelModifier.toValue(attrVisibility));
+ addAttribute(result,
+ GeneratorUtil.toLowerCaseFirstLetter(attrName),
+ attrType, null,
+ ObjectModelModifier.toValue(attrVisibility));
}
}
}
- ObjectModelOperation op = addOperation(result, "update", "void", ObjectModelModifier.PUBLIC);
+ ObjectModelOperation op = addOperation(result, "update", "void",
+ ObjectModelModifier.PUBLIC);
addException(op, TopiaException.class);
setOperationBody(op, ""
/*{
@@ -232,7 +258,8 @@
ObjectModelAttribute reverse = attr.getReverseAttribute();
if (!(attr.isNavigable()
- || hasUnidirectionalRelationOnAbstractType(reverse, model))) {
+ || hasUnidirectionalRelationOnAbstractType(reverse, model)))
+ {
continue;
}
@@ -242,12 +269,14 @@
//Méthodes d'accès aux attributs d'une classe d'associations
if (clazz instanceof ObjectModelAssociationClass) {
- generateAssociationAccessors(result, (ObjectModelAssociationClass) clazz);
+ generateAssociationAccessors(result,
+ (ObjectModelAssociationClass) clazz);
}
generateAbstractMethods(result, clazz);
- boolean doGenerateToString = TopiaGeneratorUtil.generateToString(clazz, model);
+ boolean doGenerateToString = TopiaGeneratorUtil.generateToString(clazz,
+ model);
if (doGenerateToString) {
generateToStringMethod(result, clazz);
}
@@ -259,7 +288,9 @@
}
}
- protected void transformAttribute(ObjectModelClass result, ObjectModelAttribute attr, ObjectModelAttribute reverse) {
+ protected void transformAttribute(ObjectModelClass result,
+ ObjectModelAttribute attr,
+ ObjectModelAttribute reverse) {
String attrName = attr.getName();
String attrType = TopiaGeneratorUtil.getSimpleName(attr.getType());
@@ -280,20 +311,25 @@
// setXXX
- op = addOperation(result, "set" + StringUtils.capitalize(assocAttrName), "void", ObjectModelModifier.PUBLIC);
+ op = addOperation(result,
+ "set" + StringUtils.capitalize(assocAttrName),
+ "void",
+ ObjectModelModifier.PUBLIC);
addParameter(op, assocClassFQN, "association");
setOperationBody(op, ""
/*{
<%=assocClassFQN%> _oldValue = this.<%=name%>;
- fireOnPreWrite("<%=name%>", _oldValue, association);
+ fireOnPreWrite(<%=getConstantName(name)%>, _oldValue, association);
this.<%=name%> = association;
- fireOnPostWrite("<%=name%>", _oldValue, association);
+ fireOnPostWrite(<%=getConstantName(name)%>, _oldValue, association);
}*/
);
// getXXX
- op = addOperation(result, "get" + StringUtils.capitalize(assocAttrName), assocClassFQN, ObjectModelModifier.PUBLIC);
+ op = addOperation(result,
+ "get" + StringUtils.capitalize(assocAttrName),
+ assocClassFQN, ObjectModelModifier.PUBLIC);
setOperationBody(op, ""
/*{
return <%=name%>;
@@ -303,26 +339,32 @@
// setXXX
- op = addOperation(result, "set" + StringUtils.capitalize(attrName), "void", ObjectModelModifier.PUBLIC);
+ op = addOperation(result,
+ "set" + StringUtils.capitalize(attrName),
+ "void",
+ ObjectModelModifier.PUBLIC);
addParameter(op, attrType, "value");
setOperationBody(op, ""
/*{
<%=attrType%> _oldValue = this.<%=attrName%>;
- fireOnPreWrite("<%=attrName%>", _oldValue, value);
+ fireOnPreWrite(<%=getConstantName(attrName)%>, _oldValue, value);
this.<%=attrName%> = value;
- fireOnPostWrite("<%=attrName%>", _oldValue, value);
+ fireOnPostWrite(<%=getConstantName(attrName)%>, _oldValue, value);
}*/
);
// getXXX
- op = addOperation(result, "get" + StringUtils.capitalize(attrName), attrType, ObjectModelModifier.PUBLIC);
+ op = addOperation(result,
+ "get" + StringUtils.capitalize(attrName),
+ attrType,
+ ObjectModelModifier.PUBLIC);
setOperationBody(op, ""
/*{
- fireOnPreRead("<%=attrName%>", <%=attrName%>);
+ fireOnPreRead(<%=getConstantName(attrName)%>, <%=attrName%>);
<%=attrType%> result = this.<%=attrName%>;
- fireOnPostRead("<%=attrName%>", <%=attrName%>);
+ fireOnPostRead(<%=getConstantName(attrName)%>, <%=attrName%>);
return result;
}*/
);
@@ -340,13 +382,16 @@
// addXXX
- op = addOperation(result, "add" + StringUtils.capitalize(attrName), "void", ObjectModelModifier.PUBLIC);
+ op = addOperation(result,
+ "add" + StringUtils.capitalize(attrName),
+ "void",
+ ObjectModelModifier.PUBLIC);
addParameter(op, attrType, attrName);
StringBuilder body = new StringBuilder();
body.append(""
/*{
- fireOnPreWrite("<%=attrName%>", null, <%=attrName%>);
+ fireOnPreWrite(<%=getConstantName(attrName)%>, null, <%=attrName%>);
if (this.<%=attrName%> == null) {
this.<%=attrName%> = new <%=collectionObject%><<%=attrType%>>();
}
@@ -374,14 +419,17 @@
}
body.append(""
/*{ this.<%=attrName%>.add(<%=attrName%>);
- fireOnPostWrite("<%=attrName%>", this.<%=attrName%>.size(), null, <%=attrName%>);
+ fireOnPostWrite(<%=getConstantName(attrName)%>, this.<%=attrName%>.size(), null, <%=attrName%>);
}*/
);
setOperationBody(op, body.toString());
// addAllXXX
- op = addOperation(result, "addAll" + StringUtils.capitalize(attrName), "void", ObjectModelModifier.PUBLIC);
+ op = addOperation(result,
+ "addAll" + StringUtils.capitalize(attrName),
+ "void",
+ ObjectModelModifier.PUBLIC);
addParameter(op, collectionInterface + "<" + attrType + ">", "values");
setOperationBody(op, ""
@@ -397,7 +445,10 @@
if (!isPrimitiveType(attr) && !isDateType(attr)) {
- op = addOperation(result, "get" + StringUtils.capitalize(attrName) + "ByTopiaId", attrType, ObjectModelModifier.PUBLIC);
+ op = addOperation(result,
+ "get" + StringUtils.capitalize(attrName) + "ByTopiaId",
+ attrType,
+ ObjectModelModifier.PUBLIC);
addParameter(op, String.class, "topiaId");
setOperationBody(op, ""
/*{
@@ -409,15 +460,18 @@
// setXXX
- op = addOperation(result, "set" + StringUtils.capitalize(attrName), "void", ObjectModelModifier.PUBLIC);
+ op = addOperation(result,
+ "set" + StringUtils.capitalize(attrName),
+ "void",
+ ObjectModelModifier.PUBLIC);
addParameter(op, collectionInterface + "<" + attrType + ">", "values");
setOperationBody(op, ""
/*{
<%=collectionInterface%><<%=attrType%>> _oldValue = <%=attrName%>;
- fireOnPreWrite("<%=attrName%>", _oldValue, values);
+ fireOnPreWrite(<%=getConstantName(attrName)%>, _oldValue, values);
<%=attrName%> = values;
- fireOnPostWrite("<%=attrName%>", _oldValue, values);
+ fireOnPostWrite(<%=getConstantName(attrName)%>, _oldValue, values);
}*/
);
@@ -425,13 +479,16 @@
// removeXXX
- op = addOperation(result, "remove" + StringUtils.capitalize(attrName), "void", ObjectModelModifier.PUBLIC);
+ op = addOperation(result,
+ "remove" + StringUtils.capitalize(attrName),
+ "void",
+ ObjectModelModifier.PUBLIC);
addParameter(op, attrType, "value");
body = new StringBuilder();
body.append(""
/*{
- fireOnPreWrite("<%=attrName%>", value, null);
+ fireOnPreWrite(<%=getConstantName(attrName)%>, value, null);
if ((this.<%=attrName%> == null) || (!this.<%=attrName%>.remove(value))) {
throw new IllegalArgumentException("List does not contain given element");
}
@@ -454,7 +511,7 @@
}
}
body.append(""
-/*{ fireOnPostWrite("<%=attrName%>", this.<%=attrName%>.size()+1, value, null);
+/*{ fireOnPostWrite(<%=getConstantName(attrName)%>, this.<%=attrName%>.size()+1, value, null);
}*/
);
setOperationBody(op, body.toString());
@@ -462,7 +519,10 @@
// clearXXX
- op = addOperation(result, "clear" + StringUtils.capitalize(attrName), "void", ObjectModelModifier.PUBLIC);
+ op = addOperation(result,
+ "clear" + StringUtils.capitalize(attrName),
+ "void",
+ ObjectModelModifier.PUBLIC);
body = new StringBuilder();
@@ -499,9 +559,9 @@
}
body.append(""
/*{ <%=collectionInterface%><<%=attrType%>> _oldValue = new <%=collectionObject%><<%=attrType%>>(this.<%=attrName%>);
- fireOnPreWrite("<%=attrName%>", _oldValue, this.<%=attrName%>);
+ fireOnPreWrite(<%=getConstantName(attrName)%>, _oldValue, this.<%=attrName%>);
this.<%=attrName%>.clear();
- fireOnPostWrite("<%=attrName%>", _oldValue, this.<%=attrName%>);
+ fireOnPostWrite(<%=getConstantName(attrName)%>, _oldValue, this.<%=attrName%>);
}*/
);
@@ -516,14 +576,17 @@
// addXXX
- op = addOperation(result, "add" + StringUtils.capitalize(assocAttrName), "void", ObjectModelModifier.PUBLIC);
+ op = addOperation(result,
+ "add" + StringUtils.capitalize(assocAttrName),
+ "void",
+ ObjectModelModifier.PUBLIC);
addParameter(op, assocClassFQN, "value");
StringBuilder body = new StringBuilder();
body.append(""
/*{
- fireOnPreWrite("<%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%>", null, value);
+ fireOnPreWrite(<%=getConstantName(GeneratorUtil.toLowerCaseFirstLetter(assocAttrName))%>, null, value);
if (this.<%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%> == null) {
this.<%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%> = new <%=collectionObject%><<%=assocClassFQN%>>();
}
@@ -539,7 +602,7 @@
}
body.append(""
/*{ this.<%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%>.add(value);
- fireOnPostWrite("<%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%>", this.<%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%>.size(), null, value);
+ fireOnPostWrite(<%=getConstantName(GeneratorUtil.toLowerCaseFirstLetter(assocAttrName))%>, this.<%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%>.size(), null, value);
}*/
);
setOperationBody(op, body.toString());
@@ -549,7 +612,10 @@
// getXXXByTopiaId
- op = addOperation(result, "get" + StringUtils.capitalize(assocAttrName) + "ByTopiaId", assocClassFQN, ObjectModelModifier.PUBLIC);
+ op = addOperation(result,
+ "get" + StringUtils.capitalize(assocAttrName) + "ByTopiaId",
+ assocClassFQN,
+ ObjectModelModifier.PUBLIC);
addParameter(op, String.class, "topiaId");
setOperationBody(op, ""
/*{
@@ -561,7 +627,10 @@
// addAllXXX
- op = addOperation(result, "addAll" + StringUtils.capitalize(assocAttrName), "void", ObjectModelModifier.PUBLIC);
+ op = addOperation(result,
+ "addAll" + StringUtils.capitalize(assocAttrName),
+ "void",
+ ObjectModelModifier.PUBLIC);
addParameter(op, collectionInterface + "<" + assocClassFQN + ">", "values");
setOperationBody(op, ""
/*{
@@ -576,7 +645,10 @@
// setXXX
- op = addOperation(result, "set" + StringUtils.capitalize(assocAttrName), "void", ObjectModelModifier.PUBLIC);
+ op = addOperation(result,
+ "set" + StringUtils.capitalize(assocAttrName),
+ "void",
+ ObjectModelModifier.PUBLIC);
addParameter(op, collectionInterface + "<" + assocClassFQN + ">", "values");
setOperationBody(op, ""
/*{
@@ -584,22 +656,25 @@
// addAll<%=StringUtils.capitalize(assocAttrName)%>(values);
// FIXME
<%=collectionInterface%><<%=assocClassFQN%>> _oldValue = <%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%>;
- fireOnPreWrite("<%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%>", _oldValue, values);
+ fireOnPreWrite(<%=getConstantName(GeneratorUtil.toLowerCaseFirstLetter(assocAttrName))%>, _oldValue, values);
<%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%> = values;
- fireOnPostWrite("<%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%>", _oldValue, values);
+ fireOnPostWrite(<%=getConstantName(GeneratorUtil.toLowerCaseFirstLetter(assocAttrName))%>, _oldValue, values);
}*/
);
// removeXXX
- op = addOperation(result, "remove" + StringUtils.capitalize(assocAttrName), "void", ObjectModelModifier.PUBLIC);
+ op = addOperation(result,
+ "remove" + StringUtils.capitalize(assocAttrName),
+ "void",
+ ObjectModelModifier.PUBLIC);
addParameter(op, assocClassFQN, "value");
body = new StringBuilder();
body.append(""
/*{
- fireOnPreWrite("<%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%>", value, null);
+ fireOnPreWrite(<%=getConstantName(GeneratorUtil.toLowerCaseFirstLetter(assocAttrName))%>, value, null);
if ((this.<%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%> == null) || (!this.<%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%>.remove(value))) {
throw new IllegalArgumentException("List does not contain given element");
}
@@ -614,7 +689,7 @@
);
}
body.append(""
-/*{ fireOnPostWrite("<%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%>", this.<%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%>.size()+1, value, null);
+/*{ fireOnPostWrite(<%=getConstantName(GeneratorUtil.toLowerCaseFirstLetter(assocAttrName))%>, this.<%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%>.size()+1, value, null);
}*/
);
@@ -622,7 +697,10 @@
// clearXXX
- op = addOperation(result, "clear" + StringUtils.capitalize(assocAttrName), "void", ObjectModelModifier.PUBLIC);
+ op = addOperation(result,
+ "clear" + StringUtils.capitalize(assocAttrName),
+ "void",
+ ObjectModelModifier.PUBLIC);
body = new StringBuilder();
@@ -646,9 +724,9 @@
}
body.append(""
/*{ <%=collectionInterface%><<%=assocClassFQN%>> _oldValue = new <%=collectionObject%><<%=assocClassFQN%>>(this.<%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%>);
- fireOnPreWrite("<%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%>", _oldValue, null);
+ fireOnPreWrite(<%=getConstantName(GeneratorUtil.toLowerCaseFirstLetter(assocAttrName))%>, _oldValue, null);
this.<%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%>.clear();
- fireOnPostWrite("<%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%>", _oldValue, null);
+ fireOnPostWrite(<%=getConstantName(GeneratorUtil.toLowerCaseFirstLetter(assocAttrName))%>, _oldValue, null);
}*/
);
setOperationBody(op, body.toString());
@@ -658,7 +736,10 @@
// getXXX
- op = addOperation(result, "get" + StringUtils.capitalize(attrName), collectionInterface + "<" + attrType + ">", ObjectModelModifier.PUBLIC);
+ op = addOperation(result,
+ "get" + StringUtils.capitalize(attrName),
+ collectionInterface + "<" + attrType + ">",
+ ObjectModelModifier.PUBLIC);
setOperationBody(op, ""
/*{
return <%=attrName%>;
@@ -667,7 +748,10 @@
// sizeXXX
- op = addOperation(result, "size" + StringUtils.capitalize(attrName), int.class, ObjectModelModifier.PUBLIC);
+ op = addOperation(result,
+ "size" + StringUtils.capitalize(attrName),
+ int.class,
+ ObjectModelModifier.PUBLIC);
setOperationBody(op, ""
/*{
if (<%=attrName%> == null) {
@@ -679,7 +763,10 @@
// isXXXEmpty
- op = addOperation(result, "is" + StringUtils.capitalize(attrName) + "Empty", boolean.class, ObjectModelModifier.PUBLIC);
+ op = addOperation(result,
+ "is" + StringUtils.capitalize(attrName) + "Empty",
+ boolean.class,
+ ObjectModelModifier.PUBLIC);
setOperationBody(op, ""
/*{
int size = size<%=StringUtils.capitalize(attrName)%>();
@@ -694,7 +781,10 @@
// getXXX
- op = addOperation(result, "get" + StringUtils.capitalize(assocAttrName), collectionInterface + "<" + assocClassFQN + ">", ObjectModelModifier.PUBLIC);
+ op = addOperation(result,
+ "get" + StringUtils.capitalize(assocAttrName),
+ collectionInterface + "<" + assocClassFQN + ">",
+ ObjectModelModifier.PUBLIC);
setOperationBody(op, ""
/*{
return <%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%>;
@@ -703,7 +793,10 @@
// getXXX
- op = addOperation(result, "get" + StringUtils.capitalize(assocAttrName), assocClassFQN, ObjectModelModifier.PUBLIC);
+ op = addOperation(result,
+ "get" + StringUtils.capitalize(assocAttrName),
+ assocClassFQN,
+ ObjectModelModifier.PUBLIC);
addParameter(op, attrType, "value");
setOperationBody(op, ""
/*{
@@ -722,7 +815,10 @@
// sizeXXX
- op = addOperation(result, "size" + StringUtils.capitalize(assocAttrName), int.class, ObjectModelModifier.PUBLIC);
+ op = addOperation(result,
+ "size" + StringUtils.capitalize(assocAttrName),
+ int.class,
+ ObjectModelModifier.PUBLIC);
setOperationBody(op, ""
/*{
if (<%=GeneratorUtil.toLowerCaseFirstLetter(assocAttrName)%> == null) {
@@ -734,7 +830,10 @@
//isXXXEmpty
- op = addOperation(result, "is" + StringUtils.capitalize(assocAttrName) + "Empty", boolean.class, ObjectModelModifier.PUBLIC);
+ op = addOperation(result,
+ "is" + StringUtils.capitalize(assocAttrName) + "Empty",
+ boolean.class,
+ ObjectModelModifier.PUBLIC);
setOperationBody(op, ""
/*{
int size = size<%=StringUtils.capitalize(assocAttrName)%>();
@@ -746,7 +845,8 @@
}
}
- protected void generateAssociationAccessors(ObjectModelClass result, ObjectModelAssociationClass assoc) {
+ protected void generateAssociationAccessors(ObjectModelClass result,
+ ObjectModelAssociationClass assoc) {
for (ObjectModelAttribute attr : assoc.getParticipantsAttributes()) {
if (attr != null) {
String attrType = TopiaGeneratorUtil.getSimpleName(attr.getType());
@@ -763,11 +863,16 @@
}
}
- protected void generateToStringMethod(ObjectModelClass result, ObjectModelClass clazz) {
+ protected void generateToStringMethod(ObjectModelClass result,
+ ObjectModelClass clazz) {
if (log.isDebugEnabled()) {
- log.debug("generate toString method for clazz " + clazz.getQualifiedName());
+ log.debug("generate toString method for clazz " +
+ clazz.getQualifiedName());
}
- ObjectModelOperation op = addOperation(result, "toString", String.class, ObjectModelModifier.PUBLIC);
+ ObjectModelOperation op = addOperation(result,
+ "toString",
+ String.class,
+ ObjectModelModifier.PUBLIC);
addAnnotation(result, op, Override.class.getSimpleName());
StringBuilder body = new StringBuilder();
@@ -783,12 +888,15 @@
if (model.hasClass(attr.getType())) {
attrEntity = model.getClass(attr.getType());
}
- boolean isEntity = (attrEntity != null && attrEntity.hasStereotype(TopiaGeneratorUtil.STEREOTYPE_ENTITY));
+ boolean isEntity = (attrEntity != null &&
+ attrEntity.hasStereotype(
+ TopiaGeneratorUtil.STEREOTYPE_ENTITY));
ObjectModelAttribute reverse = attr.getReverseAttribute();
- if ((isEntity && (reverse == null || !reverse.isNavigable()) && !attr.hasAssociationClass()) || (!isEntity)) {
+ if ((isEntity && (reverse == null || !reverse.isNavigable())
+ && !attr.hasAssociationClass()) || (!isEntity)) {
String attrName = attr.getName();
body.append(""
-/*{ append("<%=attrName%>", this.<%=attrName%>).
+/*{ append(<%=getConstantName(attrName)%>, this.<%=attrName%>).
}*/
);
}
@@ -802,9 +910,13 @@
}
- protected void generateCompositeMethod(ObjectModelClass result, ObjectModelClass clazz) {
+ protected void generateCompositeMethod(ObjectModelClass result,
+ ObjectModelClass clazz) {
- ObjectModelOperation op = addOperation(result, "getComposite", List.class.getName() + "<" + TopiaEntity.class.getName() + ">", ObjectModelModifier.PUBLIC);
+ ObjectModelOperation op = addOperation(result,
+ "getComposite",
+ List.class.getName() + "<" + TopiaEntity.class.getName() + ">",
+ ObjectModelModifier.PUBLIC);
addException(op, TopiaException.class);
StringBuilder body = new StringBuilder();
body.append(""
@@ -816,7 +928,9 @@
}*/
);
for (ObjectModelAttribute attr : clazz.getAttributes()) {
- if (attr.referenceClassifier() && attr.getClassifier().hasStereotype(TopiaGeneratorUtil.STEREOTYPE_ENTITY)) {
+ if (attr.referenceClassifier() &&
+ attr.getClassifier().hasStereotype(
+ TopiaGeneratorUtil.STEREOTYPE_ENTITY)) {
if (attr.isComposite()) {
String attrName = attr.getName();
String getterName = "get" + StringUtils.capitalize(attrName);
@@ -834,9 +948,12 @@
);
}
} else if (attr.hasAssociationClass()) {
- String assocAttrName = TopiaGeneratorUtil.getAssocAttrName(attr);
- String assocClassFQN = TopiaGeneratorUtil.getSimpleName(attr.getAssociationClass().getQualifiedName());
- String ref = "this." + GeneratorUtil.toLowerCaseFirstLetter(assocAttrName);
+ String assocAttrName = TopiaGeneratorUtil.getAssocAttrName(
+ attr);
+ String assocClassFQN = TopiaGeneratorUtil.getSimpleName(
+ attr.getAssociationClass().getQualifiedName());
+ String ref = "this." + GeneratorUtil.toLowerCaseFirstLetter(
+ assocAttrName);
if (!GeneratorUtil.isNMultiplicity(attr)) {
body.append(""
/*{
@@ -892,9 +1009,13 @@
setOperationBody(op, body.length() == 0 ? " " : body.toString());
}
- protected void generateAggregateMethod(ObjectModelClass result, ObjectModelClass clazz) {
+ protected void generateAggregateMethod(ObjectModelClass result,
+ ObjectModelClass clazz) {
- ObjectModelOperation op = addOperation(result, "accept", List.class.getName() + "<" + TopiaEntity.class.getName() + ">", ObjectModelModifier.PUBLIC);
+ ObjectModelOperation op = addOperation(result,
+ "accept",
+ List.class.getName() + "<" + TopiaEntity.class.getName() + ">",
+ ObjectModelModifier.PUBLIC);
addException(op, TopiaException.class);
StringBuilder body = new StringBuilder();
@@ -907,7 +1028,9 @@
}*/
);
for (ObjectModelAttribute attr : clazz.getAttributes()) {
- if (attr.referenceClassifier() && attr.getClassifier().hasStereotype(TopiaGeneratorUtil.STEREOTYPE_ENTITY)) {
+ if (attr.referenceClassifier() &&
+ attr.getClassifier().hasStereotype(
+ TopiaGeneratorUtil.STEREOTYPE_ENTITY)) {
if (attr.isAggregate()) {
String attrName = attr.getName();
String getterName = "get" + StringUtils.capitalize(attrName);
@@ -944,12 +1067,17 @@
protected void generateAcceptMethod(ObjectModelClass result, ObjectModelClass clazz) {
- ObjectModelOperation op = addOperation(result, "accept", "void", ObjectModelModifier.PUBLIC);
+ ObjectModelOperation op = addOperation(result,
+ "accept",
+ "void",
+ ObjectModelModifier.PUBLIC);
addException(op, TopiaException.class);
- setDocumentation(op, "Envoi via les methodes du visitor l'ensemble des champs de l'entity\n" +
+ setDocumentation(op, "Envoi via les methodes du visitor l'ensemble des " +
+ "champs de l'entity\n" +
"avec leur nom, type et valeur.");
{
- ObjectModelParameter attr = addParameter(op, EntityVisitor.class, "visitor");
+ ObjectModelParameter attr = addParameter(op, EntityVisitor.class,
+ "visitor");
setDocumentation(attr, "le visiteur de l'entite.");
}
StringBuilder body = new StringBuilder();
@@ -975,29 +1103,32 @@
String attrName = attr.getName();
if (!GeneratorUtil.isNMultiplicity(attr)) {
body.append(""
-/*{ visitor.visit(this, "<%=attrName%>", <%=attrType%>.class, <%=attrName%>);
+/*{ visitor.visit(this, <%=getConstantName(attrName)%>, <%=attrType%>.class, <%=attrName%>);
}*/
);
} else {
- String collectionType = TopiaGeneratorUtil.getSimpleName(TopiaGeneratorUtil.getNMultiplicityInterfaceType(attr));
+ String collectionType = TopiaGeneratorUtil.getSimpleName(
+ TopiaGeneratorUtil.getNMultiplicityInterfaceType(
+ attr));
body.append(""
-/*{ visitor.visit(this, "<%=attrName%>", <%=collectionType%>.class, <%=attrType%>.class, <%=attrName%>);
+/*{ visitor.visit(this, <%=getConstantName(attrName)%>, <%=collectionType%>.class, <%=attrType%>.class, <%=attrName%>);
}*/
);
}
} else {
String assocAttrName = TopiaGeneratorUtil.getAssocAttrName(attr);
assocAttrName = GeneratorUtil.toLowerCaseFirstLetter(assocAttrName);
- String assocClassFQN = TopiaGeneratorUtil.getSimpleName(attr.getAssociationClass().getQualifiedName());
+ String assocClassFQN = TopiaGeneratorUtil.getSimpleName(
+ attr.getAssociationClass().getQualifiedName());
if (!GeneratorUtil.isNMultiplicity(attr)) {
body.append(""
-/*{ visitor.visit(this, "<%=assocAttrName%>", <%=assocClassFQN%>.class, <%=assocAttrName%>);
+/*{ visitor.visit(this, <%=getConstantName(assocAttrName)%>, <%=assocClassFQN%>.class, <%=assocAttrName%>);
}*/
);
} else {
String collectionType = TopiaGeneratorUtil.getNMultiplicityInterfaceType(attr);
body.append(""
-/*{ visitor.visit(this, "<%=assocAttrName%>", <%=collectionType%>.class, <%=assocClassFQN%>.class, <%=assocAttrName%>);
+/*{ visitor.visit(this, <%=getConstantName(assocAttrName)%>, <%=collectionType%>.class, <%=assocClassFQN%>.class, <%=assocAttrName%>);
}*/
);
}
@@ -1009,11 +1140,12 @@
ObjectModelAssociationClass assoc = (ObjectModelAssociationClass) clazz;
for (ObjectModelAttribute attr : assoc.getParticipantsAttributes()) {
if (attr != null) {
- String attrType = TopiaGeneratorUtil.getSimpleName(attr.getType());
+ String attrType = TopiaGeneratorUtil.getSimpleName(
+ attr.getType());
String attrName = attr.getName();
attrName = GeneratorUtil.toLowerCaseFirstLetter(attrName);
body.append(""
-/*{ visitor.visit(this, "<%=attrName%>", <%=attrType%>.class, <%=attrName%>);
+/*{ visitor.visit(this, <%=getConstantName(attrName)%>, <%=attrType%>.class, <%=attrName%>);
}*/
);
}
@@ -1030,9 +1162,13 @@
private void generateAssociationAccessors(ObjectModelClass result, String name, String type) {
ObjectModelOperation op;
- op = addOperation(result, "set" + StringUtils.capitalize(name), "void", ObjectModelModifier.PUBLIC);
+ op = addOperation(result,
+ "set" + StringUtils.capitalize(name),
+ "void",
+ ObjectModelModifier.PUBLIC);
ObjectModelParameter param = addParameter(op, type, "value");
- setDocumentation(param, "La valeur de l'attribut " + name + " à positionner.");
+ setDocumentation(param, "La valeur de l'attribut " + name +
+ " à positionner.");
setOperationBody(op, ""
/*{
<%=type%> _oldValue = this.<%=GeneratorUtil.toLowerCaseFirstLetter(name)%>;
@@ -1042,7 +1178,10 @@
}*/
);
- op = addOperation(result, "get" + StringUtils.capitalize(name), type, ObjectModelModifier.PUBLIC);
+ op = addOperation(result,
+ "get" + StringUtils.capitalize(name),
+ type,
+ ObjectModelModifier.PUBLIC);
setOperationBody(op, ""
/*{
return <%=GeneratorUtil.toLowerCaseFirstLetter(name)%>;
@@ -1061,13 +1200,18 @@
private void generateAbstractMethods(ObjectModelClass result, ObjectModelClass clazz) {
for (ObjectModelOperation op : clazz.getOperations()) {
if (log.isDebugEnabled()) {
- log.debug("clazz : " + clazz.getQualifiedName() + " - method : " + op.getName() +
+ log.debug("clazz : " + clazz.getQualifiedName() +
+ " - method : " + op.getName() +
" - visibility : " + op.getVisibility());
}
String visibility = op.getVisibility();
ObjectModelModifier visibilityModifier = ObjectModelModifier.toValue(visibility);
if (!visibilityModifier.equals(ObjectModelModifier.PUBLIC)) {
- addOperation(result, op.getName(), op.getReturnType(), visibilityModifier, ObjectModelModifier.ABSTRACT);
+ addOperation(result,
+ op.getName(),
+ op.getReturnType(),
+ visibilityModifier,
+ ObjectModelModifier.ABSTRACT);
}
}
}
@@ -1075,9 +1219,9 @@
private void generateI18n(ObjectModelClass result, String i18nPrefix, ObjectModelClass clazz) {
StringBuilder buffer = new StringBuilder();
- addI18n(buffer, i18nPrefix, java.beans.Introspector.decapitalize(clazz.getName()));
+ addI18n(buffer, i18nPrefix, Introspector.decapitalize(clazz.getName()));
for (ObjectModelAttribute attr : clazz.getAttributes()) {
- addI18n(buffer, i18nPrefix, java.beans.Introspector.decapitalize(attr.getName()));
+ addI18n(buffer, i18nPrefix, Introspector.decapitalize(attr.getName()));
}
//FIXME : use a block extension for java
@@ -1086,6 +1230,9 @@
}
private void addI18n(StringBuilder buffer, String i18nPrefix, String suffix) {
- buffer.append("\n org.nuiton.i18n.I18n.n_(\"").append(i18nPrefix).append(suffix).append("\");");
+ buffer.append("\n org.nuiton.i18n.I18n.n_(\"");
+ buffer.append(i18nPrefix);
+ buffer.append(suffix);
+ buffer.append("\");");
}
}
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 2010-01-29 17:01:21 UTC (rev 1788)
+++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityHibernateMappingGenerator.java 2010-01-29 20:20:15 UTC (rev 1789)
@@ -36,6 +36,7 @@
package org.nuiton.topia.generator;
+import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.nuiton.eugene.models.object.ObjectModelGenerator;
@@ -330,13 +331,26 @@
optionalAttributes += generateFromTagValue(attr, TopiaGeneratorUtil.TAG_LENGTH, "length");
String attrColumn = TopiaGeneratorUtil.getDBName(attr);
optionalAttributes = optionalAttributes.trim();
- if (!optionalAttributes.isEmpty())
+ if (!optionalAttributes.isEmpty()) {
optionalAttributes = " " + optionalAttributes;
+ }
+ if (StringUtils.isNotEmpty(attr.getDefaultValue())) {
+ //TC-20100129 with a default value we must use the column child tag
+
+ String defaultValue = attr.getDefaultValue().trim();
+/*{<%=optionalAttributes%>>
+<%=prefix%> <column name="<%=attrColumn%>" default="<%=defaultValue%>"/>
+<%=prefix%> </property>
+}*/
+
+ } else {
/*{column="<%=attrColumn%>" node="<%=attrName%>"<%=optionalAttributes%>/>
}*/
+ }
} else {
/*{<%=optionalAttributes%>>
}*/
+ //TC-20100129 : should we deal default value in such case ?
for (String columnName : columnNames) {
columnName = attrName + "_" + columnName.trim();
/*{<%=prefix%> <column name="<%=columnName%>"/>
Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityInterfaceTransformer.java
===================================================================
--- trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityInterfaceTransformer.java 2010-01-29 17:01:21 UTC (rev 1788)
+++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/EntityInterfaceTransformer.java 2010-01-29 20:20:15 UTC (rev 1789)
@@ -96,7 +96,9 @@
for (ObjectModelAttribute attr : clazz.getAttributes()) {
ObjectModelAttribute reverse = attr.getReverseAttribute();
- if (!attr.isNavigable() && !TopiaGeneratorUtil.hasUnidirectionalRelationOnAbstractType(reverse, model)) {
+ if (!attr.isNavigable() &&
+ !TopiaGeneratorUtil.hasUnidirectionalRelationOnAbstractType(
+ reverse, model)) {
continue;
}
@@ -116,7 +118,8 @@
generateInterfaceOperations(result, clazz);
}
- protected void generateAssociationAttributes(ObjectModelInterface result, ObjectModelClass clazz) {
+ protected void generateAssociationAttributes(ObjectModelInterface result,
+ ObjectModelClass clazz) {
if (clazz instanceof ObjectModelAssociationClass) {
ObjectModelAssociationClass assoc = (ObjectModelAssociationClass) clazz;
for (ObjectModelAttribute attr : assoc.getParticipantsAttributes()) {
@@ -135,7 +138,8 @@
}
- protected void addNoneAssociationAttribute(ObjectModelInterface result, ObjectModelAttribute attr) {
+ protected void addNoneAssociationAttribute(ObjectModelInterface result,
+ ObjectModelAttribute attr) {
String attrName = attr.getName();
String attrType = attr.getType();
ObjectModelOperation op;
@@ -145,16 +149,23 @@
// setXXX
- op = addOperation(result, "set" + StringUtils.capitalize(attrName), "void", ObjectModelModifier.PACKAGE);
+ op = addOperation(result,
+ "set" + StringUtils.capitalize(attrName),
+ "void",
+ ObjectModelModifier.PACKAGE);
if (TopiaGeneratorUtil.hasDocumentation(attr)) {
setDocumentation(op, attr.getDocumentation());
}
attr2 = addParameter(op, attrType, GeneratorUtil.toLowerCaseFirstLetter(attrName));
- setDocumentation(attr2, "La valeur de l'attribut " + attrName + " à positionner.");
+ setDocumentation(attr2, "La valeur de l'attribut " + attrName
+ + " à positionner.");
// getXXX
- op = addOperation(result, "get" + StringUtils.capitalize(attrName), attrType, ObjectModelModifier.PACKAGE);
+ op = addOperation(result,
+ "get" + StringUtils.capitalize(attrName),
+ attrType,
+ ObjectModelModifier.PACKAGE);
if (TopiaGeneratorUtil.hasDocumentation(attr)) {
setDocumentation(op, attr.getDocumentation());
}
@@ -163,7 +174,10 @@
// addXXX
- op = addOperation(result, "add" + StringUtils.capitalize(attrName), "void", ObjectModelModifier.PACKAGE);
+ op = addOperation(result,
+ "add" + StringUtils.capitalize(attrName),
+ "void",
+ ObjectModelModifier.PACKAGE);
if (TopiaGeneratorUtil.hasDocumentation(attr)) {
setDocumentation(op, attr.getDocumentation());
}
@@ -172,7 +186,10 @@
// addAllXXX
- op = addOperation(result, "addAll" + StringUtils.capitalize(attrName), "void", ObjectModelModifier.PACKAGE);
+ op = addOperation(result,
+ "addAll" + StringUtils.capitalize(attrName),
+ "void",
+ ObjectModelModifier.PACKAGE);
if (TopiaGeneratorUtil.hasDocumentation(attr)) {
setDocumentation(op, attr.getDocumentation());
}
@@ -181,7 +198,10 @@
// setXXX
- op = addOperation(result, "set" + StringUtils.capitalize(attrName), "void", ObjectModelModifier.PACKAGE);
+ op = addOperation(result,
+ "set" + StringUtils.capitalize(attrName),
+ "void",
+ ObjectModelModifier.PACKAGE);
if (TopiaGeneratorUtil.hasDocumentation(attr)) {
setDocumentation(op, attr.getDocumentation());
}
@@ -190,7 +210,10 @@
// removeXXX
- op = addOperation(result, "remove" + StringUtils.capitalize(attrName), "void", ObjectModelModifier.PACKAGE);
+ op = addOperation(result,
+ "remove" + StringUtils.capitalize(attrName),
+ "void",
+ ObjectModelModifier.PACKAGE);
if (TopiaGeneratorUtil.hasDocumentation(attr)) {
setDocumentation(op, attr.getDocumentation());
}
@@ -199,7 +222,10 @@
// clearXXX
- op = addOperation(result, "clear" + StringUtils.capitalize(attrName), "void", ObjectModelModifier.PACKAGE);
+ op = addOperation(result,
+ "clear" + StringUtils.capitalize(attrName),
+ "void",
+ ObjectModelModifier.PACKAGE);
if (TopiaGeneratorUtil.hasDocumentation(attr)) {
setDocumentation(op, attr.getDocumentation());
}
@@ -207,7 +233,10 @@
// getXXX
- op = addOperation(result, "get" + StringUtils.capitalize(attrName), collectionInterface + "<" + attrType + ">", ObjectModelModifier.PACKAGE);
+ op = addOperation(result,
+ "get" + StringUtils.capitalize(attrName),
+ collectionInterface + "<" + attrType + ">",
+ ObjectModelModifier.PACKAGE);
if (TopiaGeneratorUtil.hasDocumentation(attr)) {
setDocumentation(op, "Retourne la collection.");
}
@@ -216,7 +245,10 @@
// getXXXByTopiaId
- op = addOperation(result, "get" + StringUtils.capitalize(attrName) + "ByTopiaId", attrType, ObjectModelModifier.PACKAGE);
+ op = addOperation(result,
+ "get" + StringUtils.capitalize(attrName) + "ByTopiaId",
+ attrType,
+ ObjectModelModifier.PACKAGE);
setDocumentation(op, "Recupère l'attribut " + attrName + " à partir de son topiaId");
attr2 = addParameter(op, String.class, "topiaId");
setDocumentation(attr2, "le topia id de l'entité recherchée");
@@ -224,12 +256,18 @@
// sizeXXX
- op = addOperation(result, "size" + StringUtils.capitalize(attrName), int.class, ObjectModelModifier.PACKAGE);
+ op = addOperation(result,
+ "size" + StringUtils.capitalize(attrName),
+ int.class,
+ ObjectModelModifier.PACKAGE);
setDocumentation(op, "Retourne le nombre d'éléments de la collection " + attrName);
// isXXXEmpty
- op = addOperation(result, "is" + StringUtils.capitalize(attrName) + "Empty", boolean.class, ObjectModelModifier.PACKAGE);
+ op = addOperation(result,
+ "is" + StringUtils.capitalize(attrName) + "Empty",
+ boolean.class,
+ ObjectModelModifier.PACKAGE);
setDocumentation(op, "Retourne {@code true} si la collection " + attrName + " est vide.");
}
}
@@ -248,55 +286,82 @@
// setXXX
- op = addOperation(result, "set" + StringUtils.capitalize(assocAttrName), "void", ObjectModelModifier.PACKAGE);
+ op = addOperation(result,
+ "set" + StringUtils.capitalize(assocAttrName),
+ "void",
+ ObjectModelModifier.PACKAGE);
attr2 = addParameter(op, assocClassFQN, GeneratorUtil.toLowerCaseFirstLetter(assocClassName));
setDocumentation(attr2, "La valeur de l'attribut " + assocClassName + " à positionner");
// getXXX
- addOperation(result, "get" + StringUtils.capitalize(assocAttrName), assocClassFQN, ObjectModelModifier.PACKAGE);
+ addOperation(result,
+ "get" + StringUtils.capitalize(assocAttrName),
+ assocClassFQN,
+ ObjectModelModifier.PACKAGE);
} else {
String collectionInterface = TopiaGeneratorUtil.getNMultiplicityInterfaceType(attr);
// addXXX
- op = addOperation(result, "add" + StringUtils.capitalize(assocAttrName), "void", ObjectModelModifier.PACKAGE);
+ op = addOperation(result,
+ "add" + StringUtils.capitalize(assocAttrName),
+ "void",
+ ObjectModelModifier.PACKAGE);
attr2 = addParameter(op, assocClassFQN, GeneratorUtil.toLowerCaseFirstLetter(assocClassName));
setDocumentation(attr2, "L'instance de " + assocClassName + " à ajouter");
// addAllXXX
- op = addOperation(result, "addAll" + StringUtils.capitalize(assocAttrName), "void", ObjectModelModifier.PACKAGE);
+ op = addOperation(result,
+ "addAll" + StringUtils.capitalize(assocAttrName),
+ "void",
+ ObjectModelModifier.PACKAGE);
attr2 = addParameter(op, collectionInterface + "<" + assocClassFQN + ">", GeneratorUtil.toLowerCaseFirstLetter(assocClassName));
setDocumentation(attr2, "Les instances de " + assocClassName + " à ajouter");
// setXXX
- op = addOperation(result, "set" + StringUtils.capitalize(assocAttrName), "void", ObjectModelModifier.PACKAGE);
+ op = addOperation(result,
+ "set" + StringUtils.capitalize(assocAttrName),
+ "void",
+ ObjectModelModifier.PACKAGE);
attr2 = addParameter(op, collectionInterface + "<" + assocClassFQN + ">", GeneratorUtil.toLowerCaseFirstLetter(assocClassName));
setDocumentation(attr2, "La Collection de " + assocClassName + " à ajouter");
// removeXXX
- op = addOperation(result, "remove" + StringUtils.capitalize(assocAttrName), "void", ObjectModelModifier.PACKAGE);
+ op = addOperation(result,
+ "remove" + StringUtils.capitalize(assocAttrName),
+ "void",
+ ObjectModelModifier.PACKAGE);
attr2 = addParameter(op, assocClassFQN, GeneratorUtil.toLowerCaseFirstLetter(assocClassName));
setDocumentation(attr2, "L'instance de " + assocClassName + " à retirer");
// clearXXX
- op = addOperation(result, "clear" + StringUtils.capitalize(assocAttrName), "void", ObjectModelModifier.PACKAGE);
+ op = addOperation(result,
+ "clear" + StringUtils.capitalize(assocAttrName),
+ "void",
+ ObjectModelModifier.PACKAGE);
setDocumentation(op, "Vide la Collection de " + assocClassName + " .");
// getXXX
- addOperation(result, "get" + StringUtils.capitalize(assocAttrName), collectionInterface + "<" + assocClassFQN + ">", ObjectModelModifier.PACKAGE);
+ addOperation(result,
+ "get" + StringUtils.capitalize(assocAttrName),
+ collectionInterface + "<" + assocClassFQN + ">",
+ ObjectModelModifier.PACKAGE);
if (!TopiaGeneratorUtil.isPrimitiveType(attr) && !TopiaGeneratorUtil.isDateType(attr)) {
// getXXXByTopiaId
- op = addOperation(result, "get" + StringUtils.capitalize(assocAttrName) + "ByTopiaId", assocClassFQN, ObjectModelModifier.PACKAGE);
+ op = addOperation(result,
+ "get" + StringUtils.capitalize(assocAttrName) + "ByTopiaId",
+ assocClassFQN,
+ ObjectModelModifier.PACKAGE);
setDocumentation(op, "Recupère l'attribut " + attrName + " à partir de son topiaId");
attr2 = addParameter(op, String.class, "topiaId");
setDocumentation(attr2, "le topia id de l'entité recherchée");
@@ -304,18 +369,26 @@
// getXXX
- op = addOperation(result, "get" + StringUtils.capitalize(assocAttrName), assocClassFQN);
+ op = addOperation(result,
+ "get" + StringUtils.capitalize(assocAttrName),
+ assocClassFQN);
addParameter(op, attrType, "value");
// sizeXXX
- addOperation(result, "size" + StringUtils.capitalize(assocAttrName), int.class, ObjectModelModifier.PACKAGE);
+ addOperation(result,
+ "size" + StringUtils.capitalize(assocAttrName),
+ int.class,
+ ObjectModelModifier.PACKAGE);
// isXXXEmpty
- addOperation(result, "is" + StringUtils.capitalize(assocAttrName) + "Empty", boolean.class, ObjectModelModifier.PACKAGE);
+ addOperation(result,
+ "is" + StringUtils.capitalize(assocAttrName) + "Empty",
+ boolean.class,
+ ObjectModelModifier.PACKAGE);
}
}
@@ -357,11 +430,17 @@
ObjectModelOperation op;
ObjectModelParameter param;
- op = addOperation(output, "set" + StringUtils.capitalize(attrName), "void", ObjectModelModifier.PACKAGE);
+ op = addOperation(output,
+ "set" + StringUtils.capitalize(attrName),
+ "void",
+ ObjectModelModifier.PACKAGE);
param = addParameter(op, attrType, "value");
setDocumentation(param, "La valeur de l'attribut " + attrName + " à positionner.");
- op = addOperation(output, "get" + StringUtils.capitalize(attrName), attrType, ObjectModelModifier.PACKAGE);
+ op = addOperation(output,
+ "get" + StringUtils.capitalize(attrName),
+ attrType,
+ ObjectModelModifier.PACKAGE);
setDocumentation(op, "Retourne la valeur de l'attribut " + attrName + ".");
}
@@ -416,25 +495,34 @@
if (needAnnotation) {
StringBuilder buffer = new StringBuilder();
if (!txtFields.isEmpty()) {
- buffer.append("\n txtFields={").append(getStringRepresentation(txtFields)).append("}");
- if (!numFields.isEmpty() || !boolFields.isEmpty() || !dateFields.isEmpty()) {
+ buffer.append("\n txtFields={");
+ buffer.append(getStringRepresentation(txtFields));
+ buffer.append("}");
+ if (!numFields.isEmpty() || !boolFields.isEmpty() ||
+ !dateFields.isEmpty()) {
buffer.append(",");
}
}
if (!numFields.isEmpty()) {
- buffer.append("\n numFields={").append(getStringRepresentation(numFields)).append("}");
+ buffer.append("\n numFields={");
+ buffer.append(getStringRepresentation(numFields));
+ buffer.append("}");
if (!boolFields.isEmpty() || !dateFields.isEmpty()) {
buffer.append(",");
}
}
if (!boolFields.isEmpty()) {
- buffer.append("\n boolFields={").append(getStringRepresentation(boolFields)).append("}");
+ buffer.append("\n boolFields={");
+ buffer.append(getStringRepresentation(boolFields));
+ buffer.append("}");
if (!dateFields.isEmpty()) {
buffer.append(",");
}
}
if (!dateFields.isEmpty()) {
- buffer.append("\n dateFields={").append(getStringRepresentation(dateFields)).append("}");
+ buffer.append("\n dateFields={");
+ buffer.append(getStringRepresentation(dateFields));
+ buffer.append("}");
}
annotationCode.append(""
/*{<%=buffer.toString()%>
@@ -447,11 +535,13 @@
addAnnotation(result, result, annotationCode.toString());
}
- private void generateStaticColumnNames(ObjectModelInterface result, ObjectModelClass clazz) {
+ private void generateStaticColumnNames(ObjectModelInterface result,
+ ObjectModelClass clazz) {
for (ObjectModelAttribute attr : clazz.getAttributes()) {
ObjectModelAttribute reverse = attr.getReverseAttribute();
- if (!(attr.isNavigable()
- || TopiaGeneratorUtil.hasUnidirectionalRelationOnAbstractType(reverse, model)
+ if (!(attr.isNavigable() ||
+ TopiaGeneratorUtil.hasUnidirectionalRelationOnAbstractType(
+ reverse, model)
|| attr.hasAssociationClass())) {
continue;
}
@@ -462,8 +552,13 @@
String assocAttrName = TopiaGeneratorUtil.getAssocAttrName(attr);
attrName = GeneratorUtil.toLowerCaseFirstLetter(assocAttrName);
}
- String attrColName = TopiaGeneratorUtil.convertVariableNameToConstantName(attrName);
- addAttribute(result, attrColName, String.class, "\"" + attrName + "\"", ObjectModelModifier.PACKAGE);
+ String attrColName = getConstantName(attrName);
+// String attrColName = TopiaGeneratorUtil.convertVariableNameToConstantName(attrName);
+ addAttribute(result,
+ attrColName,
+ String.class,
+ "\"" + attrName + "\"",
+ ObjectModelModifier.PACKAGE);
}
//Déclaration des noms des champs des attributs d'une classe d'associations
@@ -472,8 +567,13 @@
for (ObjectModelAttribute attr : assoc.getParticipantsAttributes()) {
if (attr != null) {
String attrName = attr.getName();
- String attrColName = TopiaGeneratorUtil.convertVariableNameToConstantName(attrName);
- addAttribute(result, attrColName, String.class, "\"" + attrName + "\"", ObjectModelModifier.PACKAGE);
+ String attrColName = getConstantName(attrName);
+// String attrColName = TopiaGeneratorUtil.convertVariableNameToConstantName(attrName);
+ addAttribute(result,
+ attrColName,
+ String.class,
+ "\"" + attrName + "\"",
+ ObjectModelModifier.PACKAGE);
}
}
}
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 2010-01-29 17:01:21 UTC (rev 1788)
+++ trunk/topia-persistence/src/main/java/org/nuiton/topia/generator/TopiaGeneratorUtil.java 2010-01-29 20:20:15 UTC (rev 1789)
@@ -995,7 +995,11 @@
*
* @param variableName le nom de variable a convertir
* @return le nom de la constante à partir du nom de la variable
+ * @deprecated since 2.3, prefer use the
+ * {@link org.nuiton.eugene.java.ConstantsManagerExtension}. Will be removed
+ * in version 3.
*/
+ @Deprecated
public static String convertVariableNameToConstantName(String variableName) {
//TODO Faire des tests pour savoir si variableName est non null et valide
//TODO Ameliorer l'algo pour tenir compte des caractères non alpha
Modified: trunk/topia-persistence/src/test/java/org/nuiton/topia/generator/TopiaGeneratorUtilTest.java
===================================================================
--- trunk/topia-persistence/src/test/java/org/nuiton/topia/generator/TopiaGeneratorUtilTest.java 2010-01-29 17:01:21 UTC (rev 1788)
+++ trunk/topia-persistence/src/test/java/org/nuiton/topia/generator/TopiaGeneratorUtilTest.java 2010-01-29 20:20:15 UTC (rev 1789)
@@ -33,6 +33,7 @@
*/
public class TopiaGeneratorUtilTest {
+ @Deprecated
@Test
public void testConvertVariableNameToConstantName() {
1
0
r1788 - trunk/topia-persistence/src/main/java/org/nuiton/topia/framework
by fdesbois@users.nuiton.org 29 Jan '10
by fdesbois@users.nuiton.org 29 Jan '10
29 Jan '10
Author: fdesbois
Date: 2010-01-29 18:01:21 +0100 (Fri, 29 Jan 2010)
New Revision: 1788
Modified:
trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/TopiaQuery.java
Log:
Add return to resetLimit method to use concatenation
Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/TopiaQuery.java
===================================================================
--- trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/TopiaQuery.java 2010-01-29 16:38:16 UTC (rev 1787)
+++ trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/TopiaQuery.java 2010-01-29 17:01:21 UTC (rev 1788)
@@ -734,10 +734,12 @@
/**
* Remove limits previously set
+ * @return the TopiaQuery
*/
- public void resetLimit() {
+ public TopiaQuery<E> resetLimit() {
startIndex = null;
endIndex = null;
+ return this;
}
/**
1
0
r1787 - trunk/topia-persistence/src/main/java/org/nuiton/topia/framework
by fdesbois@users.nuiton.org 29 Jan '10
by fdesbois@users.nuiton.org 29 Jan '10
29 Jan '10
Author: fdesbois
Date: 2010-01-29 17:38:16 +0100 (Fri, 29 Jan 2010)
New Revision: 1787
Modified:
trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/TopiaQuery.java
Log:
Evo #293 : [TopiaQuery] Change scope of resetLimit method to public
Modified: trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/TopiaQuery.java
===================================================================
--- trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/TopiaQuery.java 2010-01-29 03:28:10 UTC (rev 1786)
+++ trunk/topia-persistence/src/main/java/org/nuiton/topia/framework/TopiaQuery.java 2010-01-29 16:38:16 UTC (rev 1787)
@@ -732,7 +732,10 @@
return this;
}
- protected void resetLimit() {
+ /**
+ * Remove limits previously set
+ */
+ public void resetLimit() {
startIndex = null;
endIndex = null;
}
1
0
r1786 - in trunk/topia-service-migration/src/main: java/org/nuiton/topia/migration resources/i18n
by tchemit@users.nuiton.org 29 Jan '10
by tchemit@users.nuiton.org 29 Jan '10
29 Jan '10
Author: tchemit
Date: 2010-01-29 04:28:10 +0100 (Fri, 29 Jan 2010)
New Revision: 1786
Modified:
trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/ManualMigrationCallback.java
trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/ManualMigrationEngine.java
trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/MigrationService.java
trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/TopiaMigrationService.java
trunk/topia-service-migration/src/main/resources/i18n/topia-service-migration-en_GB.properties
trunk/topia-service-migration/src/main/resources/i18n/topia-service-migration-fr_FR.properties
Log:
Evolution #291: Improve manual migration service logs
Modified: trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/ManualMigrationCallback.java
===================================================================
--- trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/ManualMigrationCallback.java 2010-01-26 21:08:09 UTC (rev 1785)
+++ trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/ManualMigrationCallback.java 2010-01-29 03:28:10 UTC (rev 1786)
@@ -32,6 +32,7 @@
import org.nuiton.topia.TopiaContext;
import org.nuiton.topia.TopiaException;
import org.nuiton.topia.framework.TopiaContextImplementor;
+import org.nuiton.util.StringUtil;
import org.nuiton.util.Version;
import static org.nuiton.i18n.I18n._;
@@ -78,17 +79,23 @@
* @param ctxt topia context de la transaction en cours
* @param dbVersion database version
* @param applicationVersion application version
- * @param versions all versions knwon by service
- * @return migration aggrement
+ * @param showSql drapeau pour afficher les requete sql
+ * @param showProgression drapeau pour afficher la progression
+ * @param versions all versions knwon by service @return migration aggrement
+ * @return le choix de migration executee
*/
- public MigrationChoice doMigration(TopiaContext ctxt, Version dbVersion, Version applicationVersion, List<Version> versions) {
+ public MigrationChoice doMigration(TopiaContext ctxt, Version dbVersion,
+ Version applicationVersion,
+ boolean showSql,
+ boolean showProgression,
+ List<Version> versions) {
MigrationChoice result = MigrationChoice.NO_MIGRATION;
boolean doMigrate = askUser(dbVersion, applicationVersion, versions);
if (doMigrate) {
- TopiaContextImplementor tx = null;
+ TopiaContextImplementor tx;
for (Version v : versions) {
// ouverture d'une connexion direct JDBC sur la base
@@ -100,17 +107,41 @@
String methodName = "migrateTo_" + v.getValidName();
- Method m = getClass().getMethod(methodName, TopiaContextImplementor.class);
- m.setAccessible(true);
+ Method m;
+ try {
+ m = getClass().getMethod(methodName,
+ TopiaContextImplementor.class,
+ boolean.class,
+ boolean.class);
- log.info(_("topia.migration.start.migrate" ,v));
-
- if (log.isDebugEnabled()) {
- log.debug("launch method " + methodName);
+ m.setAccessible(true);
+
+ log.info(_("topia.migration.start.migrate", v));
+
+ if (log.isDebugEnabled()) {
+ log.debug("launch method " + methodName);
+ }
+
+ m.invoke(this, tx, showSql, showProgression);
+
+
+ } catch (NoSuchMethodException e) {
+ // try with no boolean values (for legacy callbacks)
+ m = getClass().getMethod(methodName,
+ TopiaContextImplementor.class);
+
+ m.setAccessible(true);
+
+ log.info(_("topia.migration.start.migrate", v));
+
+ if (log.isDebugEnabled()) {
+ log.debug("launch method " + methodName);
+ }
+
+ m.invoke(this, tx);
+
}
- m.invoke(this, tx);
-
// commit des modifs
tx.commitTransaction();
@@ -136,20 +167,72 @@
return result;
}
- public void executeSQL(TopiaContextImplementor tx, final String... sqls) throws TopiaException {
+ public void executeSQL(TopiaContextImplementor tx, final String... sqls)
+ throws TopiaException {
+ executeSQL(tx, false, false, sqls);
+ }
+ /**
+ * Executes the given {@code sqls} requests.
+ *
+ * @param tx the session
+ * @param showSql flag to see sql requests
+ * @param showProgression flag to see progession on console
+ * @param sqls requests to execute
+ * @throws TopiaException if any pb
+ * @since 2.3.0
+ */
+ public void executeSQL(TopiaContextImplementor tx,
+ final boolean showSql,
+ final boolean showProgression,
+ final String... sqls) throws TopiaException {
+
+ if (log.isInfoEnabled()) {
+
+ log.info(_("topia.migration.start.sqls", sqls.length));
+ }
+ if (showSql) {
+ StringBuilder buffer = new StringBuilder();
+ for (String s : sqls) {
+ buffer.append(s).append("\n");
+ }
+ log.info("SQL TO EXECUTE :\n" +
+ "--------------------------------------------------------------------------------\n" +
+ "--------------------------------------------------------------------------------\n" +
+ buffer.toString() +
+ "--------------------------------------------------------------------------------\n" +
+ "--------------------------------------------------------------------------------\n"
+ );
+ }
tx.getHibernate().doWork(new Work() {
@Override
public void execute(Connection connection) throws SQLException {
+ int index = 0;
+ int max = sqls.length;
for (final String sql : sqls) {
- log.info(sql);
+ long t0 = System.nanoTime();
+ if ((log.isInfoEnabled())) {
+ String message = "";
+
+ if (showProgression) {
+ message = _("topia.migration.start.sql", (++index), max);
+ }
+ if (showSql) {
+ message += "\n" + sql;
+ }
+ if (showProgression || showSql) {
+
+ log.info(message);
+ }
+ }
PreparedStatement sta = connection.prepareStatement(sql);
sta.executeUpdate();
- if(log.isDebugEnabled()) {
- log.debug("done " + sql);
+ sta.close();
+ if (log.isDebugEnabled()) {
+ String message = _("topia.migration.end.sql", (++index), max, StringUtil.convertTime(System.nanoTime() - t0));
+ log.debug(message);
}
- sta.close();
}
}
});
Modified: trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/ManualMigrationEngine.java
===================================================================
--- trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/ManualMigrationEngine.java 2010-01-26 21:08:09 UTC (rev 1785)
+++ trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/ManualMigrationEngine.java 2010-01-29 03:28:10 UTC (rev 1786)
@@ -85,6 +85,14 @@
*/
static public final String MIGRATION_MIGRATE_ON_INIT = "topia.service.migration.no.migrate.on.init";
/**
+ * Pour afficher les requetes sql executees
+ */
+ static public final String MIGRATION_SHOW_SQL = "showSql";
+ /**
+ * Pour afficher la progression des requetes sql executees
+ */
+ static public final String MIGRATION_SHOW_PROGRESSION = "showProgression";
+ /**
* Configuration hibernate ne mappant que l'entite version (initialise en pre-init)
*/
protected Configuration versionConfiguration;
@@ -124,6 +132,14 @@
* Un drapeau pour savoir si le service a bien ete initialise (i.e a bien fini la methode preInit)
*/
protected boolean init = false;
+ /**
+ * Un drapeau pour afficher les requetes sql executees
+ */
+ protected boolean showSql = false;
+ /**
+ * Un drapeau pour afficher la progression des requetes sql executees
+ */
+ protected boolean showProgression= false;
@Override
public Class<?>[] getPersistenceClasses() {
@@ -148,6 +164,8 @@
String[] dirs = config.getProperty(TopiaContextImpl.TOPIA_PERSISTENCE_DIRECTORIES, "").split(",");
this.migrateOnInit = Boolean.valueOf(config.getProperty(MIGRATION_MIGRATE_ON_INIT, "true"));
+ this.showSql = Boolean.valueOf(config.getProperty(MIGRATION_SHOW_SQL, "false"));
+ this.showProgression = Boolean.valueOf(config.getProperty(MIGRATION_SHOW_PROGRESSION, "false"));
String modelName = config.getProperty(MIGRATION_MODEL_NAME, null);
if (version == null || version.trim().isEmpty()) {
@@ -168,7 +186,7 @@
// enregistrement du callback
try {
- Class<?> clazz = (Class<?>) Class.forName(callbackStr);
+ Class<?> clazz = Class.forName(callbackStr);
this.callback = (ManualMigrationCallback) clazz.newInstance();
} catch (ClassNotFoundException e) {
@@ -343,6 +361,8 @@
MigrationChoice bMigrationWanted = callback.doMigration(rootContext,
dbVersion,
applicationVersion,
+ showSql,
+ showProgression,
versionsToApply);
if (log.isDebugEnabled()) {
Modified: trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/MigrationService.java
===================================================================
--- trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/MigrationService.java 2010-01-26 21:08:09 UTC (rev 1785)
+++ trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/MigrationService.java 2010-01-29 03:28:10 UTC (rev 1786)
@@ -39,51 +39,51 @@
* Renvoie le chemin du ficier de configuration utilise
* @return Chemin du fichier de configuration
*/
- public String getConfigurationFile();
+ String getConfigurationFile();
/**
* Modifie le fichier de configuration
* @param configurationFile Chemin du fichier de configuration d'hibernate
*/
- public void setConfigurationFile(String configurationFile);
+ void setConfigurationFile(String configurationFile);
/**
* Retourne la configuration
* @return la configuration
* @see org.hibernate.cfg.Configuration
*/
- public Configuration getConfiguration();
+ Configuration getConfiguration();
/**
* Renseigne la configuration
* @param configuration la configuration
* @see org.hibernate.cfg.Configuration
*/
- public void setConfiguration(Configuration configuration);
+ void setConfiguration(Configuration configuration);
/**
* Retourne le repertoire des anciens schemas
* @return Le repertoire des anciens schemas
*/
- public String getMappingsDirectory();
+ String getMappingsDirectory();
/**
* Modifie le chemin du dossier des anciens schemas
* @param mappingsDirectory Le chemin du dossier des anciens schemas
*/
- public void setMappingsDirectory(String mappingsDirectory);
+ void setMappingsDirectory(String mappingsDirectory);
/**
* Change la version courante
* @param version la version
*/
- public void setApplicationVersion(String version);
+ void setApplicationVersion(String version);
/**
* Ajoute un callbackhandler pour la migration
* @param callbackHandler le controleur a ajouter
*/
- public void addMigrationCallbackHandler(MigrationCallbackHandler callbackHandler);
+ void addMigrationCallbackHandler(MigrationCallbackHandler callbackHandler);
/**
* Migrate the schema
@@ -91,5 +91,5 @@
* @return <tt>true</tt> si la migration a ete effectuee et s'est bien passee, <tt>false</tt> sinon
* @throws MigrationServiceException dans le cas ou le schema ne peut pas etre mis a jour
*/
- public boolean migrateSchema() throws MigrationServiceException;
+ boolean migrateSchema() throws MigrationServiceException;
}
Modified: trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/TopiaMigrationService.java
===================================================================
--- trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/TopiaMigrationService.java 2010-01-26 21:08:09 UTC (rev 1785)
+++ trunk/topia-service-migration/src/main/java/org/nuiton/topia/migration/TopiaMigrationService.java 2010-01-29 03:28:10 UTC (rev 1786)
@@ -38,7 +38,7 @@
/**
* Nom du service
*/
- static final String SERVICE_NAME = "migration";
+ String SERVICE_NAME = "migration";
boolean migrateSchema() throws MigrationServiceException;
}
Modified: trunk/topia-service-migration/src/main/resources/i18n/topia-service-migration-en_GB.properties
===================================================================
--- trunk/topia-service-migration/src/main/resources/i18n/topia-service-migration-en_GB.properties 2010-01-26 21:08:09 UTC (rev 1785)
+++ trunk/topia-service-migration/src/main/resources/i18n/topia-service-migration-en_GB.properties 2010-01-29 03:28:10 UTC (rev 1786)
@@ -1,6 +1,7 @@
topia.migration.available.versions=Available versions \: %1$s
topia.migration.db.not.versionned=Database version not found, so database schema is considered as V0
topia.migration.detected.db.version=detected database version \: %1$s
+topia.migration.end.sql=Request [%1$-4s/%2$-4s] executed in %3$s.
topia.migration.migrate.versions=Versions to apply \: %1$s
topia.migration.migration.incomplete=Database migration not succesfully ended \!
topia.migration.saving.db.version=Saving new database version \: %1$s
@@ -8,3 +9,5 @@
topia.migration.skip.migration.no.version.to.apply=No version to apply, no migration needed.
topia.migration.start.migrate=Start migration to version %1$s
topia.migration.start.migration=Starting Topia Migration Service - Application version \: %1$s, Database version \: %2$s
+topia.migration.start.sql=Executing request [%1$-4s/%2$-4s]
+topia.migration.start.sqls=Will execute %1$s requests...
Modified: trunk/topia-service-migration/src/main/resources/i18n/topia-service-migration-fr_FR.properties
===================================================================
--- trunk/topia-service-migration/src/main/resources/i18n/topia-service-migration-fr_FR.properties 2010-01-26 21:08:09 UTC (rev 1785)
+++ trunk/topia-service-migration/src/main/resources/i18n/topia-service-migration-fr_FR.properties 2010-01-29 03:28:10 UTC (rev 1786)
@@ -1,6 +1,7 @@
-topia.migration.available.versions=Mises \u00E0 jour disponibles \: %1$s
+topia.migration.available.versions=Versions d\u00E9tect\u00E9es \: %1$s
topia.migration.db.not.versionned=La base de donn\u00E9es n'est pas versionn\u00E9e, elle sera consid\u00E9r\u00E9e en version 0.
topia.migration.detected.db.version=Version de base d\u00E9tect\u00E9e \: %1$s
+topia.migration.end.sql=Requ\u00EAte [%1$-4s/%2$-4s] ex\u00E9cut\u00E9e en %3$s.
topia.migration.migrate.versions=Mises \u00E0 jour \u00E0 installer \: %1$s
topia.migration.migration.incomplete=La migration de la base s'est mal d\u00E9roul\u00E9 ou a \u00E9t\u00E9 annul\u00E9e\!
topia.migration.saving.db.version=Sauvegarde de la nouvelle version de la base \: %1$s
@@ -8,3 +9,5 @@
topia.migration.skip.migration.no.version.to.apply=Aucune version \u00E0 appliquer, aucune migration n\u00E9cessaire.
topia.migration.start.migrate=D\u00E9marrage de la mise \u00E0 jour vers la version %1$s
topia.migration.start.migration=D\u00E9marrage du service de mise \u00E0 jour - version de l'application \: %1$s, version de la base \: %2$s
+topia.migration.start.sql=Execution de la requ\u00EAte [%1$-4s/%2$-4s]
+topia.migration.start.sqls=Va executer %1$s requ\u00EAte(s)...
1
0
Author: tchemit
Date: 2010-01-26 22:08:09 +0100 (Tue, 26 Jan 2010)
New Revision: 1785
Modified:
trunk/pom.xml
Log:
Utilisation de mavenpom4redmine 2.0.4
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2010-01-26 13:38:08 UTC (rev 1784)
+++ trunk/pom.xml 2010-01-26 21:08:09 UTC (rev 1785)
@@ -9,7 +9,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>mavenpom4redmine</artifactId>
- <version>2.0.3</version>
+ <version>2.0.4</version>
</parent>
<artifactId>topia</artifactId>
1
0
r1784 - in trunk: . topia-persistence topia-service-history topia-service-index topia-service-migration topia-service-replication topia-service-security topia-soa
by fdesbois@users.nuiton.org 26 Jan '10
by fdesbois@users.nuiton.org 26 Jan '10
26 Jan '10
Author: fdesbois
Date: 2010-01-26 14:38:08 +0100 (Tue, 26 Jan 2010)
New Revision: 1784
Modified:
trunk/pom.xml
trunk/topia-persistence/pom.xml
trunk/topia-service-history/pom.xml
trunk/topia-service-index/pom.xml
trunk/topia-service-migration/pom.xml
trunk/topia-service-replication/pom.xml
trunk/topia-service-security/pom.xml
trunk/topia-soa/pom.xml
Log:
[maven-release-plugin] prepare for next development iteration
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2010-01-26 13:38:03 UTC (rev 1783)
+++ trunk/pom.xml 2010-01-26 13:38:08 UTC (rev 1784)
@@ -13,7 +13,7 @@
</parent>
<artifactId>topia</artifactId>
- <version>2.3.0-beta-6</version>
+ <version>2.3.0-beta-7-SNAPSHOT</version>
<modules>
<module>topia-persistence</module>
@@ -261,9 +261,9 @@
<!-- Source control management. -->
<scm>
- <connection>scm:svn:http://svn.nuiton.org/svn/topia/tags/topia-2.3.0-beta-6</connection>
- <developerConnection>scm:svn:http://svn.nuiton.org/svn/topia/tags/topia-2.3.0-beta-6</developerConnection>
- <url>http://www.nuiton.org/repositories/browse/topia/tags/topia-2.3.0-beta-6</url>
+ <connection>scm:svn:http://svn.nuiton.org/svn/topia/trunk</connection>
+ <developerConnection>scm:svn:http://svn.nuiton.org/svn/topia/trunk</developerConnection>
+ <url>http://www.nuiton.org/repositories/browse/topia/trunk</url>
</scm>
</project>
Modified: trunk/topia-persistence/pom.xml
===================================================================
--- trunk/topia-persistence/pom.xml 2010-01-26 13:38:03 UTC (rev 1783)
+++ trunk/topia-persistence/pom.xml 2010-01-26 13:38:08 UTC (rev 1784)
@@ -10,7 +10,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>topia</artifactId>
- <version>2.3.0-beta-6</version>
+ <version>2.3.0-beta-7-SNAPSHOT</version>
</parent>
<groupId>org.nuiton.topia</groupId>
Modified: trunk/topia-service-history/pom.xml
===================================================================
--- trunk/topia-service-history/pom.xml 2010-01-26 13:38:03 UTC (rev 1783)
+++ trunk/topia-service-history/pom.xml 2010-01-26 13:38:08 UTC (rev 1784)
@@ -10,7 +10,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>topia</artifactId>
- <version>2.3.0-beta-6</version>
+ <version>2.3.0-beta-7-SNAPSHOT</version>
</parent>
<groupId>org.nuiton.topia</groupId>
Modified: trunk/topia-service-index/pom.xml
===================================================================
--- trunk/topia-service-index/pom.xml 2010-01-26 13:38:03 UTC (rev 1783)
+++ trunk/topia-service-index/pom.xml 2010-01-26 13:38:08 UTC (rev 1784)
@@ -10,7 +10,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>topia</artifactId>
- <version>2.3.0-beta-6</version>
+ <version>2.3.0-beta-7-SNAPSHOT</version>
</parent>
<groupId>org.nuiton.topia</groupId>
Modified: trunk/topia-service-migration/pom.xml
===================================================================
--- trunk/topia-service-migration/pom.xml 2010-01-26 13:38:03 UTC (rev 1783)
+++ trunk/topia-service-migration/pom.xml 2010-01-26 13:38:08 UTC (rev 1784)
@@ -10,7 +10,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>topia</artifactId>
- <version>2.3.0-beta-6</version>
+ <version>2.3.0-beta-7-SNAPSHOT</version>
</parent>
<groupId>org.nuiton.topia</groupId>
Modified: trunk/topia-service-replication/pom.xml
===================================================================
--- trunk/topia-service-replication/pom.xml 2010-01-26 13:38:03 UTC (rev 1783)
+++ trunk/topia-service-replication/pom.xml 2010-01-26 13:38:08 UTC (rev 1784)
@@ -10,7 +10,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>topia</artifactId>
- <version>2.3.0-beta-6</version>
+ <version>2.3.0-beta-7-SNAPSHOT</version>
</parent>
<groupId>org.nuiton.topia</groupId>
Modified: trunk/topia-service-security/pom.xml
===================================================================
--- trunk/topia-service-security/pom.xml 2010-01-26 13:38:03 UTC (rev 1783)
+++ trunk/topia-service-security/pom.xml 2010-01-26 13:38:08 UTC (rev 1784)
@@ -10,7 +10,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>topia</artifactId>
- <version>2.3.0-beta-6</version>
+ <version>2.3.0-beta-7-SNAPSHOT</version>
</parent>
<groupId>org.nuiton.topia</groupId>
Modified: trunk/topia-soa/pom.xml
===================================================================
--- trunk/topia-soa/pom.xml 2010-01-26 13:38:03 UTC (rev 1783)
+++ trunk/topia-soa/pom.xml 2010-01-26 13:38:08 UTC (rev 1784)
@@ -10,7 +10,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>topia</artifactId>
- <version>2.3.0-beta-6</version>
+ <version>2.3.0-beta-7-SNAPSHOT</version>
</parent>
<groupId>org.nuiton.topia</groupId>
1
0