Eugene-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
May 2014
- 4 participants
- 9 discussions
21 May '14
See <http://ci.nuiton.org/jenkins/job/eugene-nightly/16/changes>
Changes:
[maven-release] [maven-release-plugin] prepare for next development iteration
[maven-release] [maven-release-plugin] prepare release eugene-2.9
------------------------------------------
Started by an SCM change
Building in workspace <http://ci.nuiton.org/jenkins/job/eugene-nightly/ws/>
Reverting <http://ci.nuiton.org/jenkins/job/eugene-nightly/ws/trunk> to depth infinity with ignoreExternals: false
Updating https://svn.nuiton.org/eugene/trunk at revision '2014-05-22T01:03:55.093 +0200'
U eugene-java-templates/pom.xml
U eugene-yaml-templates/pom.xml
U eugene/pom.xml
U eugene-maven-plugin/pom.xml
U pom.xml
U eugene-plantuml-templates/pom.xml
At revision 1353
Parsing POMs
Modules changed, recalculating dependency graph
[trunk] $ /opt/jdk7/bin/java -Dsettings.security=/var/local/forge/data/nuiton.org/maven/settings-security.xml -Djava.awt.headless=true -cp /var/local/forge/data/nuiton.org/jenkins/plugins/maven-plugin/WEB-INF/lib/maven31-agent-1.5.jar:/opt/maven3/boot/plexus-classworlds-2.5.1.jar:/opt/maven3/conf/logging jenkins.maven3.agent.Maven31Main /opt/maven3 /var/local/forge/exec/tomcat-nuiton.org/webapps/jenkins/WEB-INF/lib/remoting-2.39.jar /var/local/forge/data/nuiton.org/jenkins/plugins/maven-plugin/WEB-INF/lib/maven31-interceptor-1.5.jar /var/local/forge/data/nuiton.org/jenkins/plugins/maven-plugin/WEB-INF/lib/maven3-interceptor-commons-1.5.jar 55286
<===[JENKINS REMOTING CAPACITY]===> channel started
Executing Maven: -B -f <http://ci.nuiton.org/jenkins/job/eugene-nightly/ws/trunk/pom.xml> -s /var/local/forge/data/nuiton.org/maven/settings.xml -e -U clean install -DperformRelease
[INFO] Error stacktraces are turned on.
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO]
[INFO] EUGene
[INFO] EUGene :: EUGene
[INFO] EUGene :: Java templates
[INFO] EUGene :: PlantUML templates
[INFO] EUGene :: YAML templates
[INFO] EUGene :: Maven plugin
[INFO]
[INFO] Using the builder org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder with a thread count of 1
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building EUGene 2.10-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ eugene ---
[INFO] Deleting <http://ci.nuiton.org/jenkins/job/eugene-nightly/ws/trunk/target>
[INFO]
[INFO] --- maven-enforcer-plugin:1.3.1:enforce (ensure-no-container-api) @ eugene ---
[INFO]
[INFO] --- helper-maven-plugin:2.1:check-auto-container (check-central-safe) @ eugene ---
[INFO] Will use repository http://repo1.maven.org/maven2/
[INFO] Will use repository http://maven.nuiton.org/central-releases
[INFO] 14 dependencies to check.
[INFO] 14 artifact(s) resolved by repository http://repo1.maven.org/maven2/ in 2.243s
[INFO] All dependencies are safe.
[INFO]
[INFO] --- maven-enforcer-plugin:1.3.1:enforce (check-project-files) @ eugene ---
[INFO]
[INFO] --- helper-maven-plugin:2.1:share-server-secret (get-redmine-login) @ eugene ---
[INFO] Exporting server [redmine-forge.nuiton.org] privateKey in ${redmine.apiKey}
[INFO]
[INFO] --- license-maven-plugin:1.6:update-project-license (attach-licenses) @ eugene ---
[INFO] Will create or update license file [lgpl_v3] to <http://ci.nuiton.org/jenkins/job/eugene-nightly/ws/trunk/LICENSE.txt>
[INFO]
[INFO] --- license-maven-plugin:1.6:add-third-party (attach-licenses) @ eugene ---
[WARNING] The goal is skip due to packaging 'pom'
[INFO]
[INFO] --- license-maven-plugin:1.6:update-file-header (update-file-header) @ eugene ---
[WARNING] The extension xsl is already accepted for comment style xml
[INFO] Will search files to update from root <http://ci.nuiton.org/jenkins/job/eugene-nightly/ws/trunk/src>
[INFO] Scan 21 files header done in 1.089s.
[INFO] All files are up-to-date.
[INFO]
[INFO] --- animal-sniffer-maven-plugin:1.10:check (default) @ eugene ---
[INFO] Checking unresolved references to org.codehaus.mojo.signature:java16:1.1
[INFO]
[INFO] --- jredmine-maven-plugin:1.8.1:generate-changes (jredmine-generate-changes) @ eugene ---
[JENKINS] Archiving disabled
[JENKINS] Archiving disabled
[JENKINS] Archiving disabled
[JENKINS] Archiving disabled
[JENKINS] Archiving disabled
[JENKINS] Archiving disabled
[JENKINS] Archiving disabled
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] EUGene ............................................ FAILURE [ 8.110 s]
[INFO] EUGene :: EUGene .................................. SKIPPED
[INFO] EUGene :: Java templates .......................... SKIPPED
[INFO] EUGene :: PlantUML templates ...................... SKIPPED
[INFO] EUGene :: YAML templates .......................... SKIPPED
[INFO] EUGene :: Maven plugin ............................ SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 10.158 s
[INFO] Finished at: 2014-05-22T01:04:21+01:00
[INFO] Final Memory: 32M/429M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.nuiton.jredmine:jredmine-maven-plugin:1.8.1:generate-changes (jredmine-generate-changes) on project eugene: the version '2.10' could not be retrieve from redmine server. -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.nuiton.jredmine:jredmine-maven-plugin:1.8.1:generate-changes (jredmine-generate-changes) on project eugene: the version '2.10' could not be retrieve from redmine server.
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:216)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:108)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:76)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:116)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:361)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155)
at org.jvnet.hudson.maven3.launcher.Maven31Launcher.main(Maven31Launcher.java:132)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchStandard(Launcher.java:330)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:238)
at jenkins.maven3.agent.Maven31Main.launch(Maven31Main.java:181)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at hudson.maven.Maven3Builder.call(Maven3Builder.java:134)
at hudson.maven.Maven3Builder.call(Maven3Builder.java:69)
at hudson.remoting.UserRequest.perform(UserRequest.java:118)
at hudson.remoting.UserRequest.perform(UserRequest.java:48)
at hudson.remoting.Request$2.run(Request.java:328)
at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.maven.plugin.MojoExecutionException: the version '2.10' could not be retrieve from redmine server.
at org.nuiton.jredmine.plugin.AbstractRedmineMojo.failIfSafe(AbstractRedmineMojo.java:376)
at org.nuiton.jredmine.plugin.AbstractRedmineMojoWithProjectAndVersion.init(AbstractRedmineMojoWithProjectAndVersion.java:119)
at org.nuiton.jredmine.plugin.GenerateChangesMojo.init(GenerateChangesMojo.java:336)
at org.nuiton.plugin.AbstractPlugin.execute(AbstractPlugin.java:106)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:133)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
... 30 more
[ERROR]
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
Failed to send e-mail to maven-release because no e-mail address is known, and no default e-mail domain is configured
Sending e-mails to: eugene-commits(a)list.nuiton.org
channel stopped
Skipping sonar analysis due to bad build status FAILURE
Failed to send e-mail to maven-release because no e-mail address is known, and no default e-mail domain is configured
1
0
Build failed in Jenkins: eugene-nightly » EUGene #16
by admin+ci-nuiton.org@codelutin.com 21 May '14
by admin+ci-nuiton.org@codelutin.com 21 May '14
21 May '14
See <http://ci.nuiton.org/jenkins/job/eugene-nightly/org.nuiton$eugene/16/changes>
Changes:
[maven-release] [maven-release-plugin] prepare for next development iteration
[maven-release] [maven-release-plugin] prepare release eugene-2.9
------------------------------------------
<===[JENKINS REMOTING CAPACITY]===> channel started
Executing Maven: -B -f <http://ci.nuiton.org/jenkins/job/eugene-nightly/org.nuiton$eugene/ws/pom.xml> -s /var/local/forge/data/nuiton.org/maven/settings.xml -e -U clean install -DperformRelease
[INFO] Error stacktraces are turned on.
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO]
[INFO] EUGene
[INFO] EUGene :: EUGene
[INFO] EUGene :: Java templates
[INFO] EUGene :: PlantUML templates
[INFO] EUGene :: YAML templates
[INFO] EUGene :: Maven plugin
[INFO]
[INFO] Using the builder org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder with a thread count of 1
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building EUGene 2.10-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ eugene ---
[INFO] Deleting <http://ci.nuiton.org/jenkins/job/eugene-nightly/org.nuiton$eugene/ws/target>
[INFO]
[INFO] --- maven-enforcer-plugin:1.3.1:enforce (ensure-no-container-api) @ eugene ---
[INFO]
[INFO] --- helper-maven-plugin:2.1:check-auto-container (check-central-safe) @ eugene ---
[INFO] Will use repository http://repo1.maven.org/maven2/
[INFO] Will use repository http://maven.nuiton.org/central-releases
[INFO] 14 dependencies to check.
[INFO] 14 artifact(s) resolved by repository http://repo1.maven.org/maven2/ in 2.243s
[INFO] All dependencies are safe.
[INFO]
[INFO] --- maven-enforcer-plugin:1.3.1:enforce (check-project-files) @ eugene ---
[INFO]
[INFO] --- helper-maven-plugin:2.1:share-server-secret (get-redmine-login) @ eugene ---
[INFO] Exporting server [redmine-forge.nuiton.org] privateKey in ${redmine.apiKey}
[INFO]
[INFO] --- license-maven-plugin:1.6:update-project-license (attach-licenses) @ eugene ---
[INFO] Will create or update license file [lgpl_v3] to <http://ci.nuiton.org/jenkins/job/eugene-nightly/org.nuiton$eugene/ws/LICENS…>
[INFO]
[INFO] --- license-maven-plugin:1.6:add-third-party (attach-licenses) @ eugene ---
[WARNING] The goal is skip due to packaging 'pom'
[INFO]
[INFO] --- license-maven-plugin:1.6:update-file-header (update-file-header) @ eugene ---
[WARNING] The extension xsl is already accepted for comment style xml
[INFO] Will search files to update from root <http://ci.nuiton.org/jenkins/job/eugene-nightly/org.nuiton$eugene/ws/src>
[INFO] Scan 21 files header done in 1.089s.
[INFO] All files are up-to-date.
[INFO]
[INFO] --- animal-sniffer-maven-plugin:1.10:check (default) @ eugene ---
[INFO] Checking unresolved references to org.codehaus.mojo.signature:java16:1.1
[INFO]
[INFO] --- jredmine-maven-plugin:1.8.1:generate-changes (jredmine-generate-changes) @ eugene ---
[JENKINS] Archiving disabled
1
0
The EUGene team is pleased to announce the eugene-2.9 release!
Efficient Universal Generator
Documentation of the project can be found here:
https://doc.nuiton.org/eugene
Changes
-------
Changes in this version include:
New features:
o Add a failIfUnsafe flag on generate mojo Issue: 3185. Thanks to Tony Chemit. Resolved by tchemit.
o Change stereotypes collection to set Issue: 3183. Thanks to Tony Chemit. Resolved by tchemit.
o to be able to load multiple stereotype from the model properties file Issue: 3182. Thanks to Tony Chemit. Resolved by tchemit.
o Improve Stereotype and TagValue API Issue: 3175. Thanks to Tony Chemit. Resolved by tchemit.
o Review the outputProperties state in Transformer Issue: 3176. Thanks to Tony Chemit. Resolved by tchemit.
Fixed Bugs:
o Template properties are not available in Generator Issue: 3170. Thanks to Tony Chemit. Resolved by tchemit.
Changes:
o Only show in verbose mode file that are not generated Issue: 3169. Thanks to Tony Chemit. Resolved by tchemit.
Downloads
---------
No release file deployed. (all files are deployed in the maven repository)
Maven artifacts
---------------
Artifacts are deployed in Maven Central Repository
http://repo1.maven.org/maven2/
Find us at
* http://search.maven.org/#artifactdetails|org.nuiton|eugene|2.9|jar
Have fun!
-EUGene team
1
0
r1353 - in trunk: . eugene eugene-java-templates eugene-maven-plugin eugene-plantuml-templates eugene-yaml-templates
by maven-release@users.nuiton.org 21 May '14
by maven-release@users.nuiton.org 21 May '14
21 May '14
Author: maven-release
Date: 2014-05-21 14:54:14 +0200 (Wed, 21 May 2014)
New Revision: 1353
Url: http://forge.nuiton.org/projects/eugene/repository/revisions/1353
Log:
[maven-release-plugin] prepare for next development iteration
Modified:
trunk/eugene-java-templates/pom.xml
trunk/eugene-maven-plugin/pom.xml
trunk/eugene-plantuml-templates/pom.xml
trunk/eugene-yaml-templates/pom.xml
trunk/eugene/pom.xml
trunk/pom.xml
Modified: trunk/eugene/pom.xml
===================================================================
--- trunk/eugene/pom.xml 2014-05-21 12:54:08 UTC (rev 1352)
+++ trunk/eugene/pom.xml 2014-05-21 12:54:14 UTC (rev 1353)
@@ -27,7 +27,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>eugene</artifactId>
- <version>2.9</version>
+ <version>2.10-SNAPSHOT</version>
</parent>
<groupId>org.nuiton.eugene</groupId>
Modified: trunk/eugene-java-templates/pom.xml
===================================================================
--- trunk/eugene-java-templates/pom.xml 2014-05-21 12:54:08 UTC (rev 1352)
+++ trunk/eugene-java-templates/pom.xml 2014-05-21 12:54:14 UTC (rev 1353)
@@ -28,7 +28,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>eugene</artifactId>
- <version>2.9</version>
+ <version>2.10-SNAPSHOT</version>
</parent>
<groupId>org.nuiton.eugene</groupId>
Modified: trunk/eugene-maven-plugin/pom.xml
===================================================================
--- trunk/eugene-maven-plugin/pom.xml 2014-05-21 12:54:08 UTC (rev 1352)
+++ trunk/eugene-maven-plugin/pom.xml 2014-05-21 12:54:14 UTC (rev 1353)
@@ -29,7 +29,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>eugene</artifactId>
- <version>2.9</version>
+ <version>2.10-SNAPSHOT</version>
</parent>
<groupId>org.nuiton.eugene</groupId>
Modified: trunk/eugene-plantuml-templates/pom.xml
===================================================================
--- trunk/eugene-plantuml-templates/pom.xml 2014-05-21 12:54:08 UTC (rev 1352)
+++ trunk/eugene-plantuml-templates/pom.xml 2014-05-21 12:54:14 UTC (rev 1353)
@@ -28,7 +28,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>eugene</artifactId>
- <version>2.9</version>
+ <version>2.10-SNAPSHOT</version>
</parent>
<groupId>org.nuiton.eugene</groupId>
Modified: trunk/eugene-yaml-templates/pom.xml
===================================================================
--- trunk/eugene-yaml-templates/pom.xml 2014-05-21 12:54:08 UTC (rev 1352)
+++ trunk/eugene-yaml-templates/pom.xml 2014-05-21 12:54:14 UTC (rev 1353)
@@ -28,7 +28,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>eugene</artifactId>
- <version>2.9</version>
+ <version>2.10-SNAPSHOT</version>
</parent>
<groupId>org.nuiton.eugene</groupId>
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2014-05-21 12:54:08 UTC (rev 1352)
+++ trunk/pom.xml 2014-05-21 12:54:14 UTC (rev 1353)
@@ -32,7 +32,7 @@
</parent>
<artifactId>eugene</artifactId>
- <version>2.9</version>
+ <version>2.10-SNAPSHOT</version>
<packaging>pom</packaging>
<name>EUGene</name>
<description>Efficient Universal Generator</description>
@@ -129,11 +129,11 @@
</modules>
<scm>
- <connection>scm:svn:https://svn.nuiton.org/eugene/tags/eugene-2.9</connection>
+ <connection>scm:svn:https://svn.nuiton.org/eugene/trunk</connection>
<developerConnection>
- scm:svn:https://svn.nuiton.org/eugene/tags/eugene-2.9
+ scm:svn:https://svn.nuiton.org/eugene/trunk
</developerConnection>
- <url>https://forge.nuiton.org/projects/eugene/repository/show/tags/eugene-2.9</url>
+ <url>https://forge.nuiton.org/projects/eugene/repository/show/trunk</url>
</scm>
<distributionManagement>
<site>
1
0
Author: maven-release
Date: 2014-05-21 14:54:08 +0200 (Wed, 21 May 2014)
New Revision: 1352
Url: http://forge.nuiton.org/projects/eugene/repository/revisions/1352
Log:
[maven-release-plugin] copy for tag eugene-2.9
Added:
tags/eugene-2.9/
Property changes on: tags/eugene-2.9
___________________________________________________________________
Added: svn:ignore
+ target
.settings
bin
.classpath
.project
*.iml
*.ipr
*.iws
.idea
Added: svn:mergeinfo
+ /branches/1.0.1-Javabuilder:641-651
/branches/1.1.0-Javabuilder:652-681
/branches/eugene-2.0:682-754
/branches/eugene-2.4.3:1151-1173
1
0
r1351 - in trunk: . eugene eugene-java-templates eugene-maven-plugin eugene-plantuml-templates eugene-yaml-templates
by maven-release@users.nuiton.org 21 May '14
by maven-release@users.nuiton.org 21 May '14
21 May '14
Author: maven-release
Date: 2014-05-21 14:54:04 +0200 (Wed, 21 May 2014)
New Revision: 1351
Url: http://forge.nuiton.org/projects/eugene/repository/revisions/1351
Log:
[maven-release-plugin] prepare release eugene-2.9
Modified:
trunk/eugene-java-templates/pom.xml
trunk/eugene-maven-plugin/pom.xml
trunk/eugene-plantuml-templates/pom.xml
trunk/eugene-yaml-templates/pom.xml
trunk/eugene/pom.xml
trunk/pom.xml
Modified: trunk/eugene/pom.xml
===================================================================
--- trunk/eugene/pom.xml 2014-05-04 11:05:28 UTC (rev 1350)
+++ trunk/eugene/pom.xml 2014-05-21 12:54:04 UTC (rev 1351)
@@ -27,7 +27,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>eugene</artifactId>
- <version>2.9-SNAPSHOT</version>
+ <version>2.9</version>
</parent>
<groupId>org.nuiton.eugene</groupId>
Modified: trunk/eugene-java-templates/pom.xml
===================================================================
--- trunk/eugene-java-templates/pom.xml 2014-05-04 11:05:28 UTC (rev 1350)
+++ trunk/eugene-java-templates/pom.xml 2014-05-21 12:54:04 UTC (rev 1351)
@@ -28,7 +28,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>eugene</artifactId>
- <version>2.9-SNAPSHOT</version>
+ <version>2.9</version>
</parent>
<groupId>org.nuiton.eugene</groupId>
Modified: trunk/eugene-maven-plugin/pom.xml
===================================================================
--- trunk/eugene-maven-plugin/pom.xml 2014-05-04 11:05:28 UTC (rev 1350)
+++ trunk/eugene-maven-plugin/pom.xml 2014-05-21 12:54:04 UTC (rev 1351)
@@ -29,7 +29,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>eugene</artifactId>
- <version>2.9-SNAPSHOT</version>
+ <version>2.9</version>
</parent>
<groupId>org.nuiton.eugene</groupId>
Modified: trunk/eugene-plantuml-templates/pom.xml
===================================================================
--- trunk/eugene-plantuml-templates/pom.xml 2014-05-04 11:05:28 UTC (rev 1350)
+++ trunk/eugene-plantuml-templates/pom.xml 2014-05-21 12:54:04 UTC (rev 1351)
@@ -28,7 +28,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>eugene</artifactId>
- <version>2.9-SNAPSHOT</version>
+ <version>2.9</version>
</parent>
<groupId>org.nuiton.eugene</groupId>
Modified: trunk/eugene-yaml-templates/pom.xml
===================================================================
--- trunk/eugene-yaml-templates/pom.xml 2014-05-04 11:05:28 UTC (rev 1350)
+++ trunk/eugene-yaml-templates/pom.xml 2014-05-21 12:54:04 UTC (rev 1351)
@@ -28,7 +28,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>eugene</artifactId>
- <version>2.9-SNAPSHOT</version>
+ <version>2.9</version>
</parent>
<groupId>org.nuiton.eugene</groupId>
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2014-05-04 11:05:28 UTC (rev 1350)
+++ trunk/pom.xml 2014-05-21 12:54:04 UTC (rev 1351)
@@ -32,7 +32,7 @@
</parent>
<artifactId>eugene</artifactId>
- <version>2.9-SNAPSHOT</version>
+ <version>2.9</version>
<packaging>pom</packaging>
<name>EUGene</name>
<description>Efficient Universal Generator</description>
@@ -129,11 +129,11 @@
</modules>
<scm>
- <connection>scm:svn:https://svn.nuiton.org/eugene/trunk</connection>
+ <connection>scm:svn:https://svn.nuiton.org/eugene/tags/eugene-2.9</connection>
<developerConnection>
- scm:svn:https://svn.nuiton.org/eugene/trunk
+ scm:svn:https://svn.nuiton.org/eugene/tags/eugene-2.9
</developerConnection>
- <url>https://forge.nuiton.org/projects/eugene/repository/show/trunk</url>
+ <url>https://forge.nuiton.org/projects/eugene/repository/show/tags/eugene-2.9</url>
</scm>
<distributionManagement>
<site>
1
0
04 May '14
Author: tchemit
Date: 2014-05-04 13:05:28 +0200 (Sun, 04 May 2014)
New Revision: 1350
Url: http://forge.nuiton.org/projects/eugene/repository/revisions/1350
Log:
fix some urls
Modified:
trunk/eugene-plantuml-templates/src/site/fr/rst/index.rst
Modified: trunk/eugene-plantuml-templates/src/site/fr/rst/index.rst
===================================================================
--- trunk/eugene-plantuml-templates/src/site/fr/rst/index.rst 2014-05-04 10:58:54 UTC (rev 1349)
+++ trunk/eugene-plantuml-templates/src/site/fr/rst/index.rst 2014-05-04 11:05:28 UTC (rev 1350)
@@ -88,4 +88,4 @@
.. _ObjectModel : http://doc.nuiton.org/eugene/02-objectmodel.html
.. _Graphviz : http://www.graphviz.org/
.. _PlantUML Server : http://plantuml.com/plantuml/
-.. _Pollen : http://maven-site.chorem.org/pollen/
+.. _Pollen : http://doc.chorem.org/pollen/
1
0
Author: tchemit
Date: 2014-05-04 12:58:54 +0200 (Sun, 04 May 2014)
New Revision: 1349
Url: http://forge.nuiton.org/projects/eugene/repository/revisions/1349
Log:
fix some urls
Modified:
trunk/changelog.txt
trunk/eugene-maven-plugin/changelog.txt
trunk/eugene-maven-plugin/src/main/java/org/nuiton/eugene/plugin/SmartGenerateMojo.java
trunk/eugene-maven-plugin/src/site/fr/rst/index.rst
trunk/eugene-maven-plugin/src/site/rst/index.rst
trunk/eugene-plantuml-templates/src/site/fr/rst/index.rst
trunk/eugene/changelog.txt
trunk/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelReader.java
trunk/eugene/src/main/java/org/nuiton/eugene/models/object/reader/AbstractObjectModelReader.java
trunk/eugene/src/main/java/org/nuiton/eugene/models/object/reader/InvalidModelPropertiesException.java
trunk/eugene/src/main/java/org/nuiton/eugene/models/stereotype/InvalidStereotypeSyntaxException.java
trunk/eugene/src/main/java/org/nuiton/eugene/models/stereotype/MyStereotypeDefinitionProvider.java
trunk/eugene/src/main/java/org/nuiton/eugene/models/stereotype/Stereotypes.java
trunk/eugene/src/main/java/org/nuiton/eugene/models/tagvalue/InvalidTagValueSyntaxException.java
trunk/eugene/src/main/xsl/xmi1.2ToObjectModel.xsl
trunk/eugene/src/main/xsl/xmi2.1ToObjectModel.xsl
trunk/eugene/src/site/fr/rst/index.rst
trunk/eugene/src/site/rst/index.rst
trunk/src/site/fr/rst/03-generation.rst
trunk/src/site/fr/rst/07-glossaire.rst
trunk/src/site/rst/03-generation.rst
trunk/src/site/rst/07-glossaire.rst
Modified: trunk/changelog.txt
===================================================================
--- trunk/changelog.txt 2014-05-01 12:17:20 UTC (rev 1348)
+++ trunk/changelog.txt 2014-05-04 10:58:54 UTC (rev 1349)
@@ -1,6 +1,6 @@
2.0.0
* Changelog is not any longer maintained, please refer to the release note :
- http://maven-site.nuiton.org/eugene/changes-report.html
+ http://doc.nuiton.org/eugene/changes-report.html
1.0.1 xxx xxx
Modified: trunk/eugene/changelog.txt
===================================================================
--- trunk/eugene/changelog.txt 2014-05-01 12:17:20 UTC (rev 1348)
+++ trunk/eugene/changelog.txt 2014-05-04 10:58:54 UTC (rev 1349)
@@ -1,6 +1,6 @@
2.0.0
* Changelog is not any longer maintained, please refer to the release note :
- http://maven-site.nuiton.org/eugene/changes-report.html
+ http://doc.nuiton.org/eugene/changes-report.html
1.0.1
* 20091016 [chatellier] Regression on ant task, was generating model file one by one
Modified: trunk/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelReader.java
===================================================================
--- trunk/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelReader.java 2014-05-01 12:17:20 UTC (rev 1348)
+++ trunk/eugene/src/main/java/org/nuiton/eugene/models/object/ObjectModelReader.java 2014-05-04 10:58:54 UTC (rev 1349)
@@ -31,7 +31,6 @@
import org.apache.commons.logging.LogFactory;
import org.nuiton.eugene.EugeneTagValues;
import org.nuiton.eugene.ModelHelper;
-import org.nuiton.eugene.ModelPropertiesUtil;
import org.nuiton.eugene.ModelReader;
import org.nuiton.eugene.models.object.reader.XmlObjectModelReader;
import org.nuiton.eugene.models.object.xml.DigesterObjectModelRuleSet;
Modified: trunk/eugene/src/main/java/org/nuiton/eugene/models/object/reader/AbstractObjectModelReader.java
===================================================================
--- trunk/eugene/src/main/java/org/nuiton/eugene/models/object/reader/AbstractObjectModelReader.java 2014-05-01 12:17:20 UTC (rev 1348)
+++ trunk/eugene/src/main/java/org/nuiton/eugene/models/object/reader/AbstractObjectModelReader.java 2014-05-04 10:58:54 UTC (rev 1349)
@@ -86,32 +86,6 @@
public static final String CLASS = "class";
-// /**
-// * Pattern to define tag values authorized at classifier level in the model
-// * properties file.
-// * <p/>
-// * L'expression réguliere match les chaines de type
-// * <package.ClassName>.<class|attribute|operation>.[name].<stereotype|tagvalue>.[tag]
-// * fr.isisfish.entities.Population.class.stereotype=entity
-// * fr.isisfish.entities.Population.class.tagvalue.persistenceType=flatfile
-// * fr.isisfish.entities.Population.attribute.name.stereotype=...
-// * fr.isisfish.entities.Population.attribute.name.tagvalue.pk=topiaId
-// * fr.isisfish.entities.Population.operation.getRegion.stereotype=...
-// * fr.isisfish.entities.Population.operation.getRegion.tagvalue.pk=...
-// */
-// protected Pattern propertiesPattern = Pattern
-// .compile("^((?:[_a-zA-Z0-9]+\\.)+(?:_?[A-Z][_a-zA-Z0-9]*\\.)+)(?:(class|attribute|operation))\\.(?:([_a-zA-Z0-9]+)\\.)?(?:(tagvalue|tagValue)?)\\.([_a-z0-9][_a-zA-Z0-9]*)?$");
-
-// protected Pattern stereotypePattern = Pattern
-// .compile("^((?:[_a-zA-Z0-9]+\\.)+(?:_?[A-Z][_a-zA-Z0-9]*\\.)+)(?:(class|attribute|operation))\\.(?:([_a-zA-Z0-9]+)\\.)?(?:(stereotype)?)$");
-
-// /**
-// * Pattern to define tag values authorized at model level in the model
-// * properties file.
-// */
-// protected Pattern modelTagValuePattern = Pattern.compile(
-// "^model\\.(?:(tagvalue|tagValue)?)\\.((?:.+))$");
-
public static final String MODEL = "model";
@Override
Modified: trunk/eugene/src/main/java/org/nuiton/eugene/models/object/reader/InvalidModelPropertiesException.java
===================================================================
--- trunk/eugene/src/main/java/org/nuiton/eugene/models/object/reader/InvalidModelPropertiesException.java 2014-05-01 12:17:20 UTC (rev 1348)
+++ trunk/eugene/src/main/java/org/nuiton/eugene/models/object/reader/InvalidModelPropertiesException.java 2014-05-04 10:58:54 UTC (rev 1349)
@@ -1,5 +1,27 @@
package org.nuiton.eugene.models.object.reader;
+/*
+ * #%L
+ * EUGene :: EUGene
+ * %%
+ * Copyright (C) 2004 - 2014 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Lesser Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * #L%
+ */
+
/**
* Created on 5/1/14.
*
Modified: trunk/eugene/src/main/java/org/nuiton/eugene/models/stereotype/InvalidStereotypeSyntaxException.java
===================================================================
--- trunk/eugene/src/main/java/org/nuiton/eugene/models/stereotype/InvalidStereotypeSyntaxException.java 2014-05-01 12:17:20 UTC (rev 1348)
+++ trunk/eugene/src/main/java/org/nuiton/eugene/models/stereotype/InvalidStereotypeSyntaxException.java 2014-05-04 10:58:54 UTC (rev 1349)
@@ -1,5 +1,27 @@
package org.nuiton.eugene.models.stereotype;
+/*
+ * #%L
+ * EUGene :: EUGene
+ * %%
+ * Copyright (C) 2004 - 2014 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Lesser Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * #L%
+ */
+
/**
* Created on 5/1/14.
*
Modified: trunk/eugene/src/main/java/org/nuiton/eugene/models/stereotype/MyStereotypeDefinitionProvider.java
===================================================================
--- trunk/eugene/src/main/java/org/nuiton/eugene/models/stereotype/MyStereotypeDefinitionProvider.java 2014-05-01 12:17:20 UTC (rev 1348)
+++ trunk/eugene/src/main/java/org/nuiton/eugene/models/stereotype/MyStereotypeDefinitionProvider.java 2014-05-04 10:58:54 UTC (rev 1349)
@@ -1,5 +1,27 @@
package org.nuiton.eugene.models.stereotype;
+/*
+ * #%L
+ * EUGene :: EUGene
+ * %%
+ * Copyright (C) 2004 - 2014 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Lesser Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * #L%
+ */
+
import org.nuiton.eugene.models.object.ObjectModelAttribute;
/**
Modified: trunk/eugene/src/main/java/org/nuiton/eugene/models/stereotype/Stereotypes.java
===================================================================
--- trunk/eugene/src/main/java/org/nuiton/eugene/models/stereotype/Stereotypes.java 2014-05-01 12:17:20 UTC (rev 1348)
+++ trunk/eugene/src/main/java/org/nuiton/eugene/models/stereotype/Stereotypes.java 2014-05-04 10:58:54 UTC (rev 1349)
@@ -1,5 +1,27 @@
package org.nuiton.eugene.models.stereotype;
+/*
+ * #%L
+ * EUGene :: EUGene
+ * %%
+ * Copyright (C) 2004 - 2014 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Lesser Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * #L%
+ */
+
import com.google.common.collect.ImmutableSet;
import java.util.Set;
Modified: trunk/eugene/src/main/java/org/nuiton/eugene/models/tagvalue/InvalidTagValueSyntaxException.java
===================================================================
--- trunk/eugene/src/main/java/org/nuiton/eugene/models/tagvalue/InvalidTagValueSyntaxException.java 2014-05-01 12:17:20 UTC (rev 1348)
+++ trunk/eugene/src/main/java/org/nuiton/eugene/models/tagvalue/InvalidTagValueSyntaxException.java 2014-05-04 10:58:54 UTC (rev 1349)
@@ -1,5 +1,27 @@
package org.nuiton.eugene.models.tagvalue;
+/*
+ * #%L
+ * EUGene :: EUGene
+ * %%
+ * Copyright (C) 2004 - 2014 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Lesser Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * #L%
+ */
+
/**
* Created on 5/1/14.
*
Modified: trunk/eugene/src/main/xsl/xmi1.2ToObjectModel.xsl
===================================================================
--- trunk/eugene/src/main/xsl/xmi1.2ToObjectModel.xsl 2014-05-01 12:17:20 UTC (rev 1348)
+++ trunk/eugene/src/main/xsl/xmi1.2ToObjectModel.xsl 2014-05-04 10:58:54 UTC (rev 1349)
@@ -55,7 +55,7 @@
<xsl:template match="/XMI/XMI.content/UML:Model/UML:Namespace.ownedElement">
<xsl:element name="objectModel">
- <xsl:attribute name="xsi:schemaLocation">http://nuiton.org/eugene/objectModel/v1 http://maven-site.nuiton.org/eugene/xsd/v1/objectmodel.xsd</xsl:attribute>
+ <xsl:attribute name="xsi:schemaLocation">http://nuiton.org/eugene/objectModel/v1 http://doc.nuiton.org/eugene/xsd/v1/objectmodel.xsd</xsl:attribute>
<xsl:attribute name="name">
<xsl:value-of select="../@name"/>
</xsl:attribute>
Modified: trunk/eugene/src/main/xsl/xmi2.1ToObjectModel.xsl
===================================================================
--- trunk/eugene/src/main/xsl/xmi2.1ToObjectModel.xsl 2014-05-01 12:17:20 UTC (rev 1348)
+++ trunk/eugene/src/main/xsl/xmi2.1ToObjectModel.xsl 2014-05-04 10:58:54 UTC (rev 1349)
@@ -51,7 +51,7 @@
<xsl:template match="uml:Model">
<xsl:element name="objectModel">
- <xsl:attribute name="xsi:schemaLocation">http://nuiton.org/eugene/objectModel/v1 http://maven-site.nuiton.org/eugene/xsd/v1/objectmodel.xsd</xsl:attribute>
+ <xsl:attribute name="xsi:schemaLocation">http://nuiton.org/eugene/objectModel/v1 http://doc.nuiton.org/eugene/xsd/v1/objectmodel.xsd</xsl:attribute>
<xsl:attribute name="name">
<xsl:value-of select="@name" />
</xsl:attribute>
Modified: trunk/eugene/src/site/fr/rst/index.rst
===================================================================
--- trunk/eugene/src/site/fr/rst/index.rst 2014-05-01 12:17:20 UTC (rev 1348)
+++ trunk/eugene/src/site/fr/rst/index.rst 2014-05-04 10:58:54 UTC (rev 1349)
@@ -73,13 +73,13 @@
la syntaxe Java correpondante. Les classes Java obtenues peuvent donc être
compilées et deviennent autonomes.
-.. _NuitonProcessor: http://maven-site.nuiton.org/processor/
+.. _NuitonProcessor: http://doc.nuiton.org/processor/
Règle ant
---------
Une tâche ant est disponible à l'adresse suivante
-http://maven-site.nuiton.org/eugene/ant-eugene-task. Il permet l'utilisation
+http://doc.nuiton.org/eugene/ant-eugene-task. Il permet l'utilisation
depuis Ant de Eugene.
@@ -87,5 +87,5 @@
------------
Un plugin maven est disponnible à l'adresse suivante
-http://maven-site.nuiton.org/eugene/eugene-maven-plugin . Il permet l'utilisation
+http://doc.nuiton.org/eugene/eugene-maven-plugin . Il permet l'utilisation
depuis maven de Eugene.
Modified: trunk/eugene/src/site/rst/index.rst
===================================================================
--- trunk/eugene/src/site/rst/index.rst 2014-05-01 12:17:20 UTC (rev 1348)
+++ trunk/eugene/src/site/rst/index.rst 2014-05-04 10:58:54 UTC (rev 1349)
@@ -77,4 +77,4 @@
independents.
-.. _NuitonProcessor: http://maven-site.nuiton.org/processor/
+.. _NuitonProcessor: http://doc.nuiton.org/processor/
Modified: trunk/eugene-maven-plugin/changelog.txt
===================================================================
--- trunk/eugene-maven-plugin/changelog.txt 2014-05-01 12:17:20 UTC (rev 1348)
+++ trunk/eugene-maven-plugin/changelog.txt 2014-05-04 10:58:54 UTC (rev 1349)
@@ -1,6 +1,6 @@
2.0.0
* Changelog is not any longer maintained, please refer to the release note :
- http://maven-site.nuiton.org/eugene/changes-report.html
+ http://doc.nuiton.org/eugene/changes-report.html
1.0.0 xxx xxx
* Add multiple models loading and restricted package generation
Modified: trunk/eugene-maven-plugin/src/main/java/org/nuiton/eugene/plugin/SmartGenerateMojo.java
===================================================================
--- trunk/eugene-maven-plugin/src/main/java/org/nuiton/eugene/plugin/SmartGenerateMojo.java 2014-05-01 12:17:20 UTC (rev 1348)
+++ trunk/eugene-maven-plugin/src/main/java/org/nuiton/eugene/plugin/SmartGenerateMojo.java 2014-05-04 10:58:54 UTC (rev 1349)
@@ -52,8 +52,8 @@
getLog().warn("Since version 2.5, smart-generate is deprecated (it will be removed in version 3.0).");
getLog().warn("Prefer use now the generate goal.");
getLog().warn("");
- getLog().warn("See http://maven-site.nuiton.org/eugene/eugene-maven-plugin/generate-mojo.html");
- getLog().warn("See http://nuiton.org/issues/2251");
+ getLog().warn("See http://doc.nuiton.org/eugene/eugene-maven-plugin/generate-mojo.html");
+ getLog().warn("See http://forge.nuiton.org/issues/2251");
getLog().warn("");
getLog().warn("================================================================================");
Modified: trunk/eugene-maven-plugin/src/site/fr/rst/index.rst
===================================================================
(Binary files differ)
Modified: trunk/eugene-maven-plugin/src/site/rst/index.rst
===================================================================
(Binary files differ)
Modified: trunk/eugene-plantuml-templates/src/site/fr/rst/index.rst
===================================================================
--- trunk/eugene-plantuml-templates/src/site/fr/rst/index.rst 2014-05-01 12:17:20 UTC (rev 1348)
+++ trunk/eugene-plantuml-templates/src/site/fr/rst/index.rst 2014-05-04 10:58:54 UTC (rev 1349)
@@ -85,7 +85,7 @@
.. image:: ../images/legend3.png
.. _PlantUML : http://plantuml.sourceforge.net/index.html
-.. _ObjectModel : http://maven-site.nuiton.org/eugene/02-objectmodel.html
+.. _ObjectModel : http://doc.nuiton.org/eugene/02-objectmodel.html
.. _Graphviz : http://www.graphviz.org/
.. _PlantUML Server : http://plantuml.com/plantuml/
.. _Pollen : http://maven-site.chorem.org/pollen/
Modified: trunk/src/site/fr/rst/03-generation.rst
===================================================================
--- trunk/src/site/fr/rst/03-generation.rst 2014-05-01 12:17:20 UTC (rev 1348)
+++ trunk/src/site/fr/rst/03-generation.rst 2014-05-04 10:58:54 UTC (rev 1349)
@@ -122,7 +122,7 @@
.. _ObjectModel: 02-objectmodel.html
.. _syntaxe simple: 04-templates.html#Syntaxe_dcriture_dun_Generator
-.. _Nuiton-processor: http://maven-site.nuiton.org/processor/nuiton-processor/index.html
+.. _Nuiton-processor: http://doc.nuiton.org/processor/nuiton-processor/index.html
.. _Writer: 06-fonctionnalites-avancees.html#Writer
.. _ModelReader: 06-fonctionnalites-avancees.html#ModelReader
Modified: trunk/src/site/fr/rst/07-glossaire.rst
===================================================================
--- trunk/src/site/fr/rst/07-glossaire.rst 2014-05-01 12:17:20 UTC (rev 1348)
+++ trunk/src/site/fr/rst/07-glossaire.rst 2014-05-04 10:58:54 UTC (rev 1349)
@@ -65,7 +65,7 @@
Ref : `Templates EUgene`_ , `librairie Nuiton-processor`_
.. _Templates EUGene: 04-templates.html
-.. _librairie Nuiton-processor: http://maven-site.nuiton.org/processor
+.. _librairie Nuiton-processor: http://doc.nuiton.org/processor
Transformer
-----------
Modified: trunk/src/site/rst/03-generation.rst
===================================================================
--- trunk/src/site/rst/03-generation.rst 2014-05-01 12:17:20 UTC (rev 1348)
+++ trunk/src/site/rst/03-generation.rst 2014-05-04 10:58:54 UTC (rev 1349)
@@ -118,7 +118,7 @@
.. _ObjectModel: 02-objectmodel.html
.. _simple syntax: 04-templates.html#Generator_writing_syntax
-.. _Nuiton-processor: http://maven-site.nuiton.org/processor/nuiton-processor/index.html
+.. _Nuiton-processor: http://doc.nuiton.org/processor/nuiton-processor/index.html
.. _Writer: 06-fonctionnalites-avancees.html#Writer
.. _ModelReader: 06-fonctionnalites-avancees.html#ModelReader
Modified: trunk/src/site/rst/07-glossaire.rst
===================================================================
--- trunk/src/site/rst/07-glossaire.rst 2014-05-01 12:17:20 UTC (rev 1348)
+++ trunk/src/site/rst/07-glossaire.rst 2014-05-04 10:58:54 UTC (rev 1349)
@@ -64,7 +64,7 @@
Ref : `EUgene templates`_ , `Nuiton-processor library`_
.. _EUGene templates: 04-templates.html
-.. _Nuiton-processor library: http://maven-site.nuiton.org/processor
+.. _Nuiton-processor library: http://doc.nuiton.org/processor
Transformer
-----------
1
0
Author: tchemit
Date: 2014-05-01 14:17:20 +0200 (Thu, 01 May 2014)
New Revision: 1348
Url: http://forge.nuiton.org/projects/eugene/repository/revisions/1348
Log:
fixes #3182: to be able to load multiple stereotype from the model properties file
fixes #3183: Change stereotypes collection to set
fixes #3185: Add a failIfUnsafe flag on generate mojo
Added:
trunk/eugene/src/main/java/org/nuiton/eugene/models/object/reader/InvalidModelPropertiesException.java
trunk/eugene/src/main/java/org/nuiton/eugene/models/stereotype/InvalidStereotypeSyntaxException.java
trunk/eugene/src/main/java/org/nuiton/eugene/models/stereotype/Stereotypes.java
trunk/eugene/src/main/java/org/nuiton/eugene/models/tagvalue/InvalidTagValueSyntaxException.java
Modified:
trunk/eugene-maven-plugin/src/main/java/org/nuiton/eugene/plugin/GenerateMojo.java
trunk/eugene-maven-plugin/src/main/java/org/nuiton/eugene/plugin/writer/BaseChainedFileWriterToMemoryModel.java
trunk/eugene-maven-plugin/src/main/java/org/nuiton/eugene/plugin/writer/ModelChainedFileWriter.java
trunk/eugene-plantuml-templates/src/main/java/org/nuiton/eugene/plantuml/PlantumlTemplatesGenerator.java
trunk/eugene/src/main/java/org/nuiton/eugene/java/ObjectModelTransformerToJava.java
trunk/eugene/src/main/java/org/nuiton/eugene/models/object/reader/AbstractObjectModelReader.java
trunk/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelElementImpl.java
trunk/eugene/src/main/java/org/nuiton/eugene/models/stereotype/StereotypeAble.java
trunk/eugene/src/main/java/org/nuiton/eugene/models/tagvalue/TagValues.java
Modified: trunk/eugene/src/main/java/org/nuiton/eugene/java/ObjectModelTransformerToJava.java
===================================================================
--- trunk/eugene/src/main/java/org/nuiton/eugene/java/ObjectModelTransformerToJava.java 2014-04-27 13:34:28 UTC (rev 1347)
+++ trunk/eugene/src/main/java/org/nuiton/eugene/java/ObjectModelTransformerToJava.java 2014-05-01 12:17:20 UTC (rev 1348)
@@ -649,7 +649,7 @@
protected void cloneStereotypes(ObjectModelClassifier source,
ObjectModelClassifier destination) {
- Collection<String> stereotypes = source.getStereotypes();
+ Set<String> stereotypes = source.getStereotypes();
for (String stereotype : stereotypes) {
addStereotype(destination, stereotype);
}
Modified: trunk/eugene/src/main/java/org/nuiton/eugene/models/object/reader/AbstractObjectModelReader.java
===================================================================
--- trunk/eugene/src/main/java/org/nuiton/eugene/models/object/reader/AbstractObjectModelReader.java 2014-04-27 13:34:28 UTC (rev 1347)
+++ trunk/eugene/src/main/java/org/nuiton/eugene/models/object/reader/AbstractObjectModelReader.java 2014-05-01 12:17:20 UTC (rev 1348)
@@ -39,15 +39,17 @@
import org.nuiton.eugene.models.object.ObjectModelOperation;
import org.nuiton.eugene.models.object.xml.ObjectModelAssociationClassImpl;
import org.nuiton.eugene.models.object.xml.ObjectModelClassifierImpl;
-import org.nuiton.eugene.models.object.xml.ObjectModelElementImpl;
import org.nuiton.eugene.models.object.xml.ObjectModelImpl;
-import org.nuiton.eugene.models.object.xml.ObjectModelImplRef;
+import org.nuiton.eugene.models.stereotype.InvalidStereotypeSyntaxException;
import org.nuiton.eugene.models.stereotype.MismatchStereotypeTargetException;
import org.nuiton.eugene.models.stereotype.StereotypeDefinitionProviders;
import org.nuiton.eugene.models.stereotype.StereotypeNotFoundException;
+import org.nuiton.eugene.models.stereotype.Stereotypes;
+import org.nuiton.eugene.models.tagvalue.InvalidTagValueSyntaxException;
import org.nuiton.eugene.models.tagvalue.MismatchTagValueTargetException;
import org.nuiton.eugene.models.tagvalue.TagValueDefinitionProviders;
import org.nuiton.eugene.models.tagvalue.TagValueNotFoundException;
+import org.nuiton.eugene.models.tagvalue.TagValues;
import org.nuiton.util.FileUtil;
import org.nuiton.util.RecursiveProperties;
import org.nuiton.util.StringUtil;
@@ -61,8 +63,8 @@
import java.util.Iterator;
import java.util.List;
import java.util.Properties;
+import java.util.Set;
import java.util.regex.Matcher;
-import java.util.regex.Pattern;
/**
* Abstract object model reader.
@@ -84,31 +86,31 @@
public static final String CLASS = "class";
- /**
- * Pattern to define tag values authorized at classifier level in the model
- * properties file.
- * <p/>
- * L'expression réguliere match les chaines de type
- * <package.ClassName>.<class|attribute|operation>.[name].<stereotype|tagvalue>.[tag]
- * fr.isisfish.entities.Population.class.stereotype=entity
- * fr.isisfish.entities.Population.class.tagvalue.persistenceType=flatfile
- * fr.isisfish.entities.Population.attribute.name.stereotype=...
- * fr.isisfish.entities.Population.attribute.name.tagvalue.pk=topiaId
- * fr.isisfish.entities.Population.operation.getRegion.stereotype=...
- * fr.isisfish.entities.Population.operation.getRegion.tagvalue.pk=...
- */
- protected Pattern propertiesPattern = Pattern
- .compile("^((?:[_a-zA-Z0-9]+\\.)+(?:_?[A-Z][_a-zA-Z0-9]*\\.)+)(?:(class|attribute|operation))\\.(?:([_a-zA-Z0-9]+)\\.)?(?:(tagvalue|tagValue)?)\\.([_a-z0-9][_a-zA-Z0-9]*)?$");
+// /**
+// * Pattern to define tag values authorized at classifier level in the model
+// * properties file.
+// * <p/>
+// * L'expression réguliere match les chaines de type
+// * <package.ClassName>.<class|attribute|operation>.[name].<stereotype|tagvalue>.[tag]
+// * fr.isisfish.entities.Population.class.stereotype=entity
+// * fr.isisfish.entities.Population.class.tagvalue.persistenceType=flatfile
+// * fr.isisfish.entities.Population.attribute.name.stereotype=...
+// * fr.isisfish.entities.Population.attribute.name.tagvalue.pk=topiaId
+// * fr.isisfish.entities.Population.operation.getRegion.stereotype=...
+// * fr.isisfish.entities.Population.operation.getRegion.tagvalue.pk=...
+// */
+// protected Pattern propertiesPattern = Pattern
+// .compile("^((?:[_a-zA-Z0-9]+\\.)+(?:_?[A-Z][_a-zA-Z0-9]*\\.)+)(?:(class|attribute|operation))\\.(?:([_a-zA-Z0-9]+)\\.)?(?:(tagvalue|tagValue)?)\\.([_a-z0-9][_a-zA-Z0-9]*)?$");
- protected Pattern stereotypePattern = Pattern
- .compile("^((?:[_a-zA-Z0-9]+\\.)+(?:_?[A-Z][_a-zA-Z0-9]*\\.)+)(?:(class|attribute|operation))\\.(?:([_a-zA-Z0-9]+)\\.)?(?:(stereotype)?)$");
+// protected Pattern stereotypePattern = Pattern
+// .compile("^((?:[_a-zA-Z0-9]+\\.)+(?:_?[A-Z][_a-zA-Z0-9]*\\.)+)(?:(class|attribute|operation))\\.(?:([_a-zA-Z0-9]+)\\.)?(?:(stereotype)?)$");
- /**
- * Pattern to define tag values authorized at model level in the model
- * properties file.
- */
- protected Pattern modelTagValuePattern = Pattern.compile(
- "^model\\.(?:(tagvalue|tagValue)?)\\.((?:.+))$");
+// /**
+// * Pattern to define tag values authorized at model level in the model
+// * properties file.
+// */
+// protected Pattern modelTagValuePattern = Pattern.compile(
+// "^model\\.(?:(tagvalue|tagValue)?)\\.((?:.+))$");
public static final String MODEL = "model";
@@ -138,13 +140,6 @@
}
setStereotypeDefinitionProvider(StereotypeDefinitionProviders.newProvider(getClass().getClassLoader(), false));
}
-
-// if (modelPropertiesProvider == null) {
-// if (log.isDebugEnabled()) {
-// log.debug("No properties provider filled, will instanciate a new default one");
-// }
-// setModelPropertiesProvider(ModelPropertiesUtil.newStore(getClass().getClassLoader(), false));
-// }
}
@Override
@@ -223,7 +218,7 @@
ObjectModel model) throws IOException {
Properties prop = new RecursiveProperties();
-// try {
+
FileInputStream inStream = new FileInputStream(propFile);
try {
prop.load(inStream);
@@ -232,19 +227,23 @@
}
// number of sucessfull imported tag values into model
+ boolean safe = true;
+
int numberImportedTagValues = 0;
+ int numberImportedStereotypes = 0;
// get all the tagvalues keys and sort them
List<String> keys = new ArrayList<String>();
CollectionUtils.addAll(keys, prop.keys());
Collections.sort(keys);
+ boolean strictLoading = isStrictLoading();
// for each tag value try to import in in model
for (String key : keys) {
String value = prop.getProperty(key);
if (log.isDebugEnabled()) {
- log.debug("Propriete: '" + key + "' = " + value);
+ log.debug("Property: '" + key + "' = " + value);
}
if (key.startsWith(MODEL)) {
@@ -252,11 +251,11 @@
// model tag value
boolean loaded = loadModelTagValue(model, key, value);
-
if (loaded) {
-
numberImportedTagValues++;
}
+ safe &= loaded;
+
continue;
}
@@ -266,12 +265,41 @@
// stereotype property
- boolean loaded = loadStereotype(model, key, value);
+ // check key is ok
+ Matcher matcher;
+ try {
+ matcher = Stereotypes.getMatcher(key);
+ } catch (InvalidStereotypeSyntaxException e) {
+ String message = "Invalid stereotype [" + key + "] : syntax is not correct.";
+ if (strictLoading) {
+ if (log.isErrorEnabled()) {
+ log.error(message);
+ }
+ } else {
+ if (log.isWarnEnabled()) {
+ log.warn(message);
+ }
+ }
+ safe = false;
+ continue;
+ }
- if (loaded) {
- numberImportedTagValues++;
+ String fqn = matcher.group(1);
+ fqn = StringUtil.substring(fqn, 0, -1); // remove ended .
+ // target is class, attribute or operation
+ String target = matcher.group(2);
+ String targetName = matcher.group(3);
+ // target real type
+ Class<?> targetType = getTargetType(target);
+
+ Set<String> stereotypes = Stereotypes.getStereotypes(value);
+ for (String stereotype : stereotypes) {
+ boolean loaded = loadStereotype(model, key, fqn, target, targetName, targetType, stereotype);
+ safe &= loaded;
+ if (loaded) {
+ numberImportedStereotypes++;
+ }
}
-
continue;
}
@@ -279,30 +307,47 @@
// tag value property
boolean loaded = loadTagValue(model, key, value);
-
if (loaded) {
numberImportedTagValues++;
}
+ safe &= loaded;
}
if (isVerbose()) {
log.info(numberImportedTagValues + " tag values were succesfull imported from " + propFile);
+ log.info(numberImportedStereotypes + " stereotypes were succesfull imported from " + propFile);
}
- int nbFailed = prop.size() - numberImportedTagValues;
- if (nbFailed > 0 && isVerbose()) {
- log.info(nbFailed + " tag values failed to be imported from " + propFile);
+ if (!safe) {
+
+ String errorMessage = "There is some tag value(s) or stereotype(s) failed to be imported from " + propFile;
+ if (strictLoading) {
+ throw new InvalidModelPropertiesException(errorMessage);
+ }
+ if (isVerbose()) {
+ log.info(errorMessage);
+ }
}
return prop;
}
- public boolean loadModelTagValue(ObjectModel model, String key, String value) {
- Matcher matcher = modelTagValuePattern.matcher(key);
+ protected boolean loadModelTagValue(ObjectModel model, String key, String value) throws InvalidModelPropertiesException {
- if (!matcher.find()) {
- if (log.isWarnEnabled()) {
- log.warn("Invalid model tag value [" + key + "] : only tagvalue or tagValue is allowed on model in properties");
+ Matcher matcher;
+ try {
+ matcher = TagValues.getModelMatcher(key);
+ } catch (InvalidTagValueSyntaxException e) {
+ String message = "Invalid model tag value [" + key + "] : only tagvalue or tagValue is allowed on model in properties";
+ if (isStrictLoading()) {
+ if (log.isErrorEnabled()) {
+ log.error(message);
+ }
+ } else {
+ if (log.isWarnEnabled()) {
+ log.warn(message);
+ }
}
return false;
}
+
String tag = matcher.group(2);
boolean safe = false;
@@ -311,21 +356,29 @@
tagValueDefinitionProvider.validate(tag, ObjectModel.class);
safe = true;
} catch (TagValueNotFoundException e) {
- if (log.isWarnEnabled()) {
- log.warn("Invalid model tag value [" + key + "] : the tagvalue '" + tag + "' is unknown.");
+ String message = "Invalid model tag value [" + key + "] : the tagvalue '" + tag + "' is unknown.";
+ if (isStrictLoading()) {
+ if (log.isErrorEnabled()) {
+ log.error(message);
+ }
+ } else {
+ if (log.isWarnEnabled()) {
+ log.warn(message);
+ }
}
} catch (MismatchTagValueTargetException e) {
- if (log.isWarnEnabled()) {
- log.warn("Invalid model tag value [" + key + "] : this tagvalue '" + tag + "' can not be apply on the model.");
+ String message = "Invalid model tag value [" + key + "] : this tagvalue '" + tag + "' can not be apply on the model.";
+ if (isStrictLoading()) {
+ if (log.isErrorEnabled()) {
+ log.error(message);
+ }
+ } else {
+ if (log.isWarnEnabled()) {
+ log.warn(message);
+ }
}
}
- if (!safe && isStrictLoading()) {
-
- // in strict loading do not accept unsafe tags
- return false;
- }
-
if (safe) {
// test if tagValue is deprecated
@@ -335,13 +388,17 @@
log.warn("Deprecated tagValue usage [" + key + "] : " + value);
}
}
+ } else {
+ if (isStrictLoading()) {
+ // in strict loading do not accept unsafe tags
+ return false;
+ }
}
ObjectModelImpl modelImpl = (ObjectModelImpl) model;
if (tag.equals(EugeneTagValues.TAG_VERSION)) {
- // push directly the version in the model version
- // property
+ // push directly the version in the model version property
modelImpl.setVersion(value);
}
if (isVerbose()) {
@@ -351,197 +408,209 @@
return true;
}
- public boolean loadStereotype(ObjectModel model, String key, String value) {
- Matcher matcher = stereotypePattern.matcher(key);
+ protected boolean loadTagValue(ObjectModel model, String key, String value) {
+ Matcher matcher;
+ try {
+ matcher = TagValues.getMatcher(key);
+ } catch (InvalidTagValueSyntaxException e) {
- if (!matcher.find()) {
-
- if (log.isWarnEnabled()) {
- log.warn("Invalid stereotype [" + key + "] : syntax is not correct.");
+ String message = "Invalid tag value [" + key + "] : syntax is not correct.";
+ if (isStrictLoading()) {
+ if (log.isErrorEnabled()) {
+ log.error(message);
+ }
+ } else {
+ if (log.isWarnEnabled()) {
+ log.warn(message);
+ }
}
return false;
}
String fqn = matcher.group(1);
- fqn = StringUtil.substring(fqn, 0, -1); // remove ended .
+ fqn = StringUtil.substring(fqn, 0, -1); // remove ended dot
// target is class, attribute or operation
String target = matcher.group(2);
+ // name of the target (can be null on class)
String targetName = matcher.group(3);
- // type is stereotype
+ // type is tagvalue
String type = matcher.group(4).toLowerCase();
+ // name of the tag value
+ String tag = matcher.group(5);
// target real type
Class<?> targetType = getTargetType(target);
+ if (log.isDebugEnabled()) {
+ log.debug("Property: '" + key + "' => "
+ + "fqn:" + fqn + " target:" + target
+ + " targetName:" + targetName
+ + " type:" + type + " tag:" + tag);
+ }
+
boolean safe = false;
try {
- stereotypeDefinitionProvider.validate(value, targetType);
+ tagValueDefinitionProvider.validate(tag, targetType);
safe = true;
- } catch (StereotypeNotFoundException e) {
- if (log.isWarnEnabled()) {
- log.warn("Invalid model stereotype [" + key + "] : the stereotype '" + value + "' is unknown.");
+ } catch (TagValueNotFoundException e) {
+
+ String message = "Invalid tag value [" + key + "] : this tagvalue '" + tag + "' is unknown.";
+ if (isStrictLoading()) {
+ if (log.isErrorEnabled()) {
+ log.error(message);
+ }
+ } else {
+ if (log.isWarnEnabled()) {
+ log.warn(message);
+ }
}
- } catch (MismatchStereotypeTargetException e) {
- if (log.isWarnEnabled()) {
- log.warn("Invalid model stereotype [" + key + "] : this stereotype '" + value + "' can not be apply on '" + targetType + "'.");
+
+ } catch (MismatchTagValueTargetException e) {
+ String message = "Invalid tag value [" + key + "] : this tagvalue '" + tag + "' can not be apply on the given type '" + target + "'.";
+ if (isStrictLoading()) {
+ if (log.isErrorEnabled()) {
+ log.error(message);
+ }
+ } else {
+ if (log.isWarnEnabled()) {
+ log.warn(message);
+ }
}
}
- if (!safe && isStrictLoading()) {
- // in strict loading do not accept unsafe stereotypes
- return false;
- }
-
if (safe) {
// test if tagValue is deprecated
- boolean deprecated = stereotypeDefinitionProvider.isDeprecated(value);
+ boolean deprecated = tagValueDefinitionProvider.isDeprecated(tag);
if (deprecated) {
if (log.isWarnEnabled()) {
- log.warn("Deprecated stereotype usage [" + key + "] : " + value);
+ log.warn("Deprecated tagValue usage [" + key + "] : " + value);
}
}
- }
+ } else {
- if (log.isDebugEnabled()) {
- log.debug("Propriete: '" + key + "' => "
- + "fqn:" + fqn + " target:" + target
- + " targetName:" + targetName
- + " type:" + type);
+ if (isStrictLoading()) {
+ // in strict loading do not accept unsafe tags
+ return false;
+ }
}
- ObjectModelClassifier omc = getClassifier(model, STEREOTYPE, key, fqn);
+ ObjectModelClassifier omc = getClassifier(model, TAGVALUE, key, fqn);
if (omc == null) {
// classifier not found
return false;
}
- List<ObjectModelElement> elems = getObjectElements(omc, STEREOTYPE, key, fqn, target, targetName);
+ List<ObjectModelElement> elements =
+ getObjectElements(omc, TAGVALUE, key, fqn, target, targetName);
- if (elems == null) {
+ if (elements == null) {
- // no element to apply
+ // no elements to apply
return false;
}
- for (ObjectModelElement elem1 : elems) {
- //TODO tchemit 2010-11-29 uncomment this if there is some proble, but I don't see why there would be...
-// if (elem1 == null) {
-// if (log.isWarnEnabled()) {
-// log.warn("Invalid stereotype [" + key + "] : Element '" + targetName + "' of type '" + target + "' on classifier '" + fqn + "' is null.");
-// }
-// continue;
-// }
- ObjectModelElementImpl elem = (ObjectModelElementImpl) elem1;
+ for (ObjectModelElement element : elements) {
- // pour les stereotypes
- ObjectModelImplRef stereotype = new ObjectModelImplRef();
- stereotype.setName(value);
- elem.addStereotype(stereotype);
+ if (log.isDebugEnabled()) {
+ log.debug("add tagValue " + tag
+ + ", value:" + value
+ + " to element:" + element);
+ }
+ element.addTagValue(tag, value);
+
}
-
if (isVerbose()) {
- log.info("stereotype imported " + key + " --> " + fqn + ":" + target + ":" + targetName + ":" + type + " = " + value);
+ log.info("tag value imported " + key + " --> " + fqn + ":" + target + ":" + targetName + ":" + type + ":" + tag + " = " + value);
}
-
return true;
}
- private boolean loadTagValue(ObjectModel model, String key, String value) {
- Matcher matcher = propertiesPattern.matcher(key);
+ protected boolean loadStereotype(ObjectModel model,
+ String key,
+ String fqn,
+ String target,
+ String targetName,
+ Class<?> targetType,
+ String stereotype) {
- if (!matcher.find()) {
-
- if (log.isWarnEnabled()) {
- log.warn("Invalid tag value [" + key + "] : syntax is not correct.");
- }
- return false;
- }
-
- String fqn = matcher.group(1);
- fqn = StringUtil.substring(fqn, 0, -1); // remove ended dot
- // target is class, attribute or operation
- String target = matcher.group(2);
- // name of the target (can be null on class)
- String targetName = matcher.group(3);
- // type is tagvalue
- String type = matcher.group(4).toLowerCase();
- // name of the tag value
- String tag = matcher.group(5);
- // target real type
- Class<?> targetType = getTargetType(target);
-
- if (log.isDebugEnabled()) {
- log.debug("Propriete: '" + key + "' => "
- + "fqn:" + fqn + " target:" + target
- + " targetName:" + targetName
- + " type:" + type + " tag:" + tag);
- }
-
boolean safe = false;
-
try {
- tagValueDefinitionProvider.validate(tag, targetType);
+ stereotypeDefinitionProvider.validate(stereotype, targetType);
safe = true;
- } catch (TagValueNotFoundException e) {
- if (log.isWarnEnabled()) {
- log.warn("Invalid tag value [" + key + "] : this tagvalue '" + tag + "' is unknown.");
+ } catch (StereotypeNotFoundException e) {
+
+ String message = "Invalid model stereotype [" + key + "] : the stereotype '" + stereotype + "' is unknown.";
+ if (isStrictLoading()) {
+ if (log.isErrorEnabled()) {
+ log.error(message);
+ }
+ } else {
+ if (log.isWarnEnabled()) {
+ log.warn(message);
+ }
}
- } catch (MismatchTagValueTargetException e) {
- if (log.isWarnEnabled()) {
- log.warn("Invalid tag value [" + key + "] : this tagvalue '" + tag + "' can not be apply on the given type '" + target + "'.");
+ } catch (MismatchStereotypeTargetException e) {
+ String message = "Invalid model stereotype [" + key + "] : this stereotype '" + stereotype + "' can not be apply on '" + targetType + "'.";
+ if (isStrictLoading()) {
+ if (log.isErrorEnabled()) {
+ log.error(message);
+ }
+ } else {
+ if (log.isWarnEnabled()) {
+ log.warn(message);
+ }
}
}
- if (!safe && isStrictLoading()) {
-
- // in strict loading do not accept unsafe tags
- return false;
- }
-
if (safe) {
// test if tagValue is deprecated
- boolean deprecated = tagValueDefinitionProvider.isDeprecated(tag);
+ boolean deprecated = stereotypeDefinitionProvider.isDeprecated(stereotype);
if (deprecated) {
if (log.isWarnEnabled()) {
- log.warn("Deprecated tagValue usage [" + key + "] : " + value);
+ log.warn("Deprecated stereotype usage [" + key + "] : " + stereotype);
}
}
+ } else {
+ if (isStrictLoading()) {
+ // in strict loading do not accept unsafe stereotypes
+ return false;
+ }
}
+ if (log.isDebugEnabled()) {
+ log.debug("Property: '" + key + "' => "
+ + "fqn:" + fqn + " target:" + target
+ + " targetName:" + targetName
+ + " type:" + stereotype);
+ }
- ObjectModelClassifier omc = getClassifier(model, TAGVALUE, key, fqn);
+ ObjectModelClassifier omc = getClassifier(model, STEREOTYPE, key, fqn);
if (omc == null) {
// classifier not found
return false;
}
- List<ObjectModelElement> elements =
- getObjectElements(omc, TAGVALUE, key, fqn, target, targetName);
+ List<ObjectModelElement> elems = getObjectElements(omc, STEREOTYPE, key, fqn, target, targetName);
- if (elements == null) {
+ if (elems == null) {
- // no elements to apply
+ // no element to apply
return false;
}
- for (ObjectModelElement element : elements) {
+ for (ObjectModelElement elem : elems) {
+ elem.addStereotype(stereotype);
+ }
- if (log.isDebugEnabled()) {
- log.debug("add tagValue " + tag
- + ", value:" + value
- + " to element:" + element);
- }
- element.addTagValue(tag, value);
-
- }
if (isVerbose()) {
- log.info("tag value imported " + key + " --> " + fqn + ":" + target + ":" + targetName + ":" + type + ":" + tag + " = " + value);
+ log.info("stereotype imported " + key + " --> " + fqn + ":" + target + ":" + targetName + ":" + stereotype + " = " + stereotype);
}
+
return true;
}
Added: trunk/eugene/src/main/java/org/nuiton/eugene/models/object/reader/InvalidModelPropertiesException.java
===================================================================
--- trunk/eugene/src/main/java/org/nuiton/eugene/models/object/reader/InvalidModelPropertiesException.java (rev 0)
+++ trunk/eugene/src/main/java/org/nuiton/eugene/models/object/reader/InvalidModelPropertiesException.java 2014-05-01 12:17:20 UTC (rev 1348)
@@ -0,0 +1,15 @@
+package org.nuiton.eugene.models.object.reader;
+
+/**
+ * Created on 5/1/14.
+ *
+ * @author Tony Chemit <chemit(a)codelutin.com>
+ * @since 2.9
+ */
+public class InvalidModelPropertiesException extends RuntimeException {
+ private static final long serialVersionUID = 1L;
+
+ public InvalidModelPropertiesException(String message) {
+ super(message);
+ }
+}
Property changes on: trunk/eugene/src/main/java/org/nuiton/eugene/models/object/reader/InvalidModelPropertiesException.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Modified: trunk/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelElementImpl.java
===================================================================
--- trunk/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelElementImpl.java 2014-04-27 13:34:28 UTC (rev 1347)
+++ trunk/eugene/src/main/java/org/nuiton/eugene/models/object/xml/ObjectModelElementImpl.java 2014-05-01 12:17:20 UTC (rev 1348)
@@ -35,7 +35,6 @@
import org.nuiton.eugene.models.object.ObjectModelModifier;
import java.util.ArrayList;
-import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
@@ -65,7 +64,7 @@
protected String documentation;
- protected List<String> stereotypes;
+ protected Set<String> stereotypes;
protected Map<String, String> tagValues;
@@ -75,7 +74,7 @@
public ObjectModelElementImpl() {
tagValues = new HashMap<String, String>();
- stereotypes = new ArrayList<String>();
+ stereotypes = new HashSet<String>();
comments = new ArrayList<String>();
modifiers = new HashSet<ObjectModelModifier>();
}
@@ -206,7 +205,7 @@
}
@Override
- public Collection<String> getStereotypes() {
+ public Set<String> getStereotypes() {
return stereotypes;
}
@@ -216,6 +215,11 @@
}
@Override
+ public void addStereotype(String stereotype) {
+ stereotypes.add(stereotype);
+ }
+
+ @Override
public Map<String, String> getTagValues() {
return tagValues;
}
Added: trunk/eugene/src/main/java/org/nuiton/eugene/models/stereotype/InvalidStereotypeSyntaxException.java
===================================================================
--- trunk/eugene/src/main/java/org/nuiton/eugene/models/stereotype/InvalidStereotypeSyntaxException.java (rev 0)
+++ trunk/eugene/src/main/java/org/nuiton/eugene/models/stereotype/InvalidStereotypeSyntaxException.java 2014-05-01 12:17:20 UTC (rev 1348)
@@ -0,0 +1,11 @@
+package org.nuiton.eugene.models.stereotype;
+
+/**
+ * Created on 5/1/14.
+ *
+ * @author Tony Chemit <chemit(a)codelutin.com>
+ * @since 2.9
+ */
+public class InvalidStereotypeSyntaxException extends Exception {
+ private static final long serialVersionUID = 1L;
+}
Property changes on: trunk/eugene/src/main/java/org/nuiton/eugene/models/stereotype/InvalidStereotypeSyntaxException.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Modified: trunk/eugene/src/main/java/org/nuiton/eugene/models/stereotype/StereotypeAble.java
===================================================================
--- trunk/eugene/src/main/java/org/nuiton/eugene/models/stereotype/StereotypeAble.java 2014-04-27 13:34:28 UTC (rev 1347)
+++ trunk/eugene/src/main/java/org/nuiton/eugene/models/stereotype/StereotypeAble.java 2014-05-01 12:17:20 UTC (rev 1348)
@@ -22,7 +22,7 @@
* #L%
*/
-import java.util.Collection;
+import java.util.Set;
/**
* Created on 4/26/14.
@@ -37,7 +37,7 @@
*
* @return a Collection containing all stereotypes names associated with this element as String.
*/
- Collection<String> getStereotypes();
+ Set<String> getStereotypes();
/**
* Returns whether this element has a stereotype corresponding to the given name, or not.
@@ -46,4 +46,11 @@
* @return a boolean indicating whether this element has a stereotype corresponding to the given name, or not.
*/
boolean hasStereotype(String stereotypeName);
+
+ /**
+ * Add a stereotype.
+ *
+ * @param stereotype stereotype to add
+ */
+ void addStereotype(String stereotype);
}
Added: trunk/eugene/src/main/java/org/nuiton/eugene/models/stereotype/Stereotypes.java
===================================================================
--- trunk/eugene/src/main/java/org/nuiton/eugene/models/stereotype/Stereotypes.java (rev 0)
+++ trunk/eugene/src/main/java/org/nuiton/eugene/models/stereotype/Stereotypes.java 2014-05-01 12:17:20 UTC (rev 1348)
@@ -0,0 +1,32 @@
+package org.nuiton.eugene.models.stereotype;
+
+import com.google.common.collect.ImmutableSet;
+
+import java.util.Set;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+/**
+ * Created on 5/1/14.
+ *
+ * @author Tony Chemit <chemit(a)codelutin.com>
+ * @since 2.9
+ */
+public class Stereotypes {
+
+ protected static final Pattern STEREOTYPE_PATTERN = Pattern
+ .compile("^((?:[_a-zA-Z0-9]+\\.)+(?:_?[A-Z][_a-zA-Z0-9]*\\.)+)(?:(class|attribute|operation))\\.(?:([_a-zA-Z0-9]+)\\.)?(?:(stereotype)?)$");
+
+ public static Matcher getMatcher(String key) throws InvalidStereotypeSyntaxException {
+ Matcher matcher = STEREOTYPE_PATTERN.matcher(key);
+ if (!matcher.find()) {
+ throw new InvalidStereotypeSyntaxException();
+ }
+ return matcher;
+ }
+
+ public static Set<String> getStereotypes(String value) {
+ String[] split = value.split("\\s*,\\s*");
+ return ImmutableSet.<String>builder().add(split).build();
+ }
+}
Property changes on: trunk/eugene/src/main/java/org/nuiton/eugene/models/stereotype/Stereotypes.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Added: trunk/eugene/src/main/java/org/nuiton/eugene/models/tagvalue/InvalidTagValueSyntaxException.java
===================================================================
--- trunk/eugene/src/main/java/org/nuiton/eugene/models/tagvalue/InvalidTagValueSyntaxException.java (rev 0)
+++ trunk/eugene/src/main/java/org/nuiton/eugene/models/tagvalue/InvalidTagValueSyntaxException.java 2014-05-01 12:17:20 UTC (rev 1348)
@@ -0,0 +1,11 @@
+package org.nuiton.eugene.models.tagvalue;
+
+/**
+ * Created on 5/1/14.
+ *
+ * @author Tony Chemit <chemit(a)codelutin.com>
+ * @since 2.9
+ */
+public class InvalidTagValueSyntaxException extends Exception {
+ private static final long serialVersionUID = 1L;
+}
Property changes on: trunk/eugene/src/main/java/org/nuiton/eugene/models/tagvalue/InvalidTagValueSyntaxException.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Modified: trunk/eugene/src/main/java/org/nuiton/eugene/models/tagvalue/TagValues.java
===================================================================
--- trunk/eugene/src/main/java/org/nuiton/eugene/models/tagvalue/TagValues.java 2014-04-27 13:34:28 UTC (rev 1347)
+++ trunk/eugene/src/main/java/org/nuiton/eugene/models/tagvalue/TagValues.java 2014-05-01 12:17:20 UTC (rev 1348)
@@ -25,6 +25,9 @@
import org.apache.commons.lang3.StringUtils;
import org.nuiton.eugene.models.object.ObjectModelElement;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
/**
* Created on 4/26/14.
*
@@ -34,6 +37,45 @@
public class TagValues {
/**
+ * Pattern to define tag values authorized at classifier level in the model
+ * properties file.
+ * <p/>
+ * L'expression réguliere match les chaines de type
+ * <package.ClassName>.<class|attribute|operation>.[name].<stereotype|tagvalue>.[tag]
+ * fr.isisfish.entities.Population.class.stereotype=entity
+ * fr.isisfish.entities.Population.class.tagvalue.persistenceType=flatfile
+ * fr.isisfish.entities.Population.attribute.name.stereotype=...
+ * fr.isisfish.entities.Population.attribute.name.tagvalue.pk=topiaId
+ * fr.isisfish.entities.Population.operation.getRegion.stereotype=...
+ * fr.isisfish.entities.Population.operation.getRegion.tagvalue.pk=...
+ */
+ protected static final Pattern TAG_VALUE_PATTERN = Pattern
+ .compile("^((?:[_a-zA-Z0-9]+\\.)+(?:_?[A-Z][_a-zA-Z0-9]*\\.)+)(?:(class|attribute|operation))\\.(?:([_a-zA-Z0-9]+)\\.)?(?:(tagvalue|tagValue)?)\\.([_a-z0-9][_a-zA-Z0-9]*)?$");
+
+ /**
+ * Pattern to define tag values authorized at model level in the model
+ * properties file.
+ */
+ protected static final Pattern MODEL_TAG_VALUE_PATTERN = Pattern.compile(
+ "^model\\.(?:(tagvalue|tagValue)?)\\.((?:.+))$");
+
+ public static Matcher getModelMatcher(String key) throws InvalidTagValueSyntaxException {
+ Matcher matcher = MODEL_TAG_VALUE_PATTERN.matcher(key);
+ if (!matcher.find()) {
+ throw new InvalidTagValueSyntaxException();
+ }
+ return matcher;
+ }
+
+ public static Matcher getMatcher(String key) throws InvalidTagValueSyntaxException {
+ Matcher matcher = TAG_VALUE_PATTERN.matcher(key);
+ if (!matcher.find()) {
+ throw new InvalidTagValueSyntaxException();
+ }
+ return matcher;
+ }
+
+ /**
* Seek for a Boolean tag value.
* <p/>
* Will first the tag value using the method {@link #findTagValue(String, TagValueAble...)}.
Modified: trunk/eugene-maven-plugin/src/main/java/org/nuiton/eugene/plugin/GenerateMojo.java
===================================================================
--- trunk/eugene-maven-plugin/src/main/java/org/nuiton/eugene/plugin/GenerateMojo.java 2014-04-27 13:34:28 UTC (rev 1347)
+++ trunk/eugene-maven-plugin/src/main/java/org/nuiton/eugene/plugin/GenerateMojo.java 2014-05-01 12:17:20 UTC (rev 1348)
@@ -29,6 +29,7 @@
import org.apache.maven.artifact.Artifact;
import org.apache.maven.model.Resource;
import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugin.MojoFailureException;
import org.apache.maven.plugins.annotations.Component;
import org.apache.maven.plugins.annotations.Mojo;
import org.apache.maven.plugins.annotations.Parameter;
@@ -40,14 +41,14 @@
import org.nuiton.eugene.ModelReader;
import org.nuiton.eugene.Template;
import org.nuiton.eugene.models.Model;
+import org.nuiton.eugene.models.object.reader.InvalidModelPropertiesException;
import org.nuiton.eugene.models.stereotype.StereotypeDefinitionProvider;
import org.nuiton.eugene.models.stereotype.StereotypeDefinitionProviders;
import org.nuiton.eugene.models.tagvalue.TagValueDefinitionProvider;
import org.nuiton.eugene.models.tagvalue.TagValueDefinitionProviders;
import org.nuiton.eugene.plugin.writer.BaseChainedFileWriter;
+import org.nuiton.eugene.plugin.writer.BaseChainedFileWriterToMemoryModel;
import org.nuiton.eugene.plugin.writer.XmiChainedFileWriter;
-import org.nuiton.eugene.plugin.writer.XmlModelChainedFileWriter;
-import org.nuiton.eugene.plugin.writer.YamlModelChainedFileWriter;
import org.nuiton.eugene.writer.ChainedFileWriter;
import org.nuiton.eugene.writer.ChainedFileWriterConfiguration;
import org.nuiton.eugene.writer.ChainedFileWriterData;
@@ -284,6 +285,14 @@
protected String extractedPackages;
/**
+ * A flag to fail if model properties is not safe (means some tagValues or stereotypes are not correct).
+ *
+ * @since 2.9
+ */
+ @Parameter(property = "eugene.failIfUnsafe", defaultValue = "false")
+ protected boolean failIfUnsafe;
+
+ /**
* Maven project.
*
* @since 2.0.0
@@ -436,26 +445,18 @@
properties.put(XmiChainedFileWriter.PROP_RESOLVER, resolver);
}
- if (engine.containsWriter("xmlmodel")) {
+ if (engine.containsWriter("model")) {
- // add xml model writer support
+ // add model writer support
- properties.put(XmlModelChainedFileWriter.PROP_TAG_VALUE_DEFINITION_PROVIDER,
+ properties.put(BaseChainedFileWriterToMemoryModel.PROP_TAG_VALUE_DEFINITION_PROVIDER,
getTagValueDefinitionProvider());
- properties.put(XmlModelChainedFileWriter.PROP_STEREOTYPE_DEFINITION_PROVIDER,
+ properties.put(BaseChainedFileWriterToMemoryModel.PROP_STEREOTYPE_DEFINITION_PROVIDER,
getStereotypeDefinitionProvider());
- }
- if (engine.containsWriter("yamlmodel")) {
-
- // add yaml model writer support
-
- properties.put(YamlModelChainedFileWriter.PROP_TAG_VALUE_DEFINITION_PROVIDER,
- getTagValueDefinitionProvider());
-
- properties.put(YamlModelChainedFileWriter.PROP_STEREOTYPE_DEFINITION_PROVIDER,
- getStereotypeDefinitionProvider());
+ properties.put(BaseChainedFileWriterToMemoryModel.PROP_FAIL_IF_UNSAFE,
+ failIfUnsafe);
}
// init templates
@@ -520,8 +521,12 @@
// obtains data to react for this writer
ChainedFileWriterData data = engine.getData(writer);
- // launch generation
- writer.generate(this, data);
+ try {
+ // launch generation
+ writer.generate(this, data);
+ } catch (InvalidModelPropertiesException e) {
+ throw new MojoFailureException("failIfUnsafe flag is on, and some errors occurs while loading model.", e);
+ }
if (writer instanceof ChainedFileWriterToMemoryModel) {
// keep result
Modified: trunk/eugene-maven-plugin/src/main/java/org/nuiton/eugene/plugin/writer/BaseChainedFileWriterToMemoryModel.java
===================================================================
--- trunk/eugene-maven-plugin/src/main/java/org/nuiton/eugene/plugin/writer/BaseChainedFileWriterToMemoryModel.java 2014-04-27 13:34:28 UTC (rev 1347)
+++ trunk/eugene-maven-plugin/src/main/java/org/nuiton/eugene/plugin/writer/BaseChainedFileWriterToMemoryModel.java 2014-05-01 12:17:20 UTC (rev 1348)
@@ -53,6 +53,8 @@
public static final String PROP_STEREOTYPE_DEFINITION_PROVIDER = "stereotypeDefinitionProvider";
+ public static final String PROP_FAIL_IF_UNSAFE = "failIfUnsafe";
+
@Deprecated
public static final String PROP_MODEL_PROPERTIES_PROVIDER = "modelPropertiesProvider";
@@ -70,7 +72,8 @@
PROP_MODEL_READER, "xmlModelReader",
PROP_TAG_VALUE_DEFINITION_PROVIDER, "tagValueDefinitionProvider",
PROP_STEREOTYPE_DEFINITION_PROVIDER, "stereotypeDefinitionProvider",
- PROP_MODEL_PROPERTIES_PROVIDER, "modelPropertiesProvider"
+ PROP_MODEL_PROPERTIES_PROVIDER, "modelPropertiesProvider",
+ PROP_FAIL_IF_UNSAFE, "failIfUnsafe"
);
}
@@ -127,6 +130,11 @@
return getProperty(PROP_STEREOTYPE_DEFINITION_PROVIDER, StereotypeDefinitionProvider.class);
}
+ protected boolean isFailIfUnsafe() {
+ Boolean property = getProperty(PROP_FAIL_IF_UNSAFE, Boolean.class);
+ return property != null && property;
+ }
+
@Override
protected void initWriter(ChainedFileWriterConfiguration configuration) {
super.initWriter(configuration);
@@ -138,19 +146,20 @@
String modelType = configuration.getModelType();
+ ModelReader<?> modelReader;
+
if (getReader() != null) {
+
// use a specific reader
String reader = getReader();
try {
ClassLoader fixedClassLoader = loader;
- ModelReader<?> modelReader = (ModelReader<?>)
- Class.forName(reader, true,
- fixedClassLoader).newInstance();
+ modelReader = (ModelReader<?>) Class.forName(reader, true,
+ fixedClassLoader).newInstance();
String modelTypeFromReader = modelReader.getModelType();
if (!modelType.equals(modelTypeFromReader)) {
throw new IllegalStateException("Model reader [" + modelTypeFromReader + "] does not match with modelType: " + modelType);
}
- properties.put(PROP_MODEL_READER, modelReader);
} catch (IllegalStateException eee) {
throw eee;
} catch (Exception eee) {
@@ -160,7 +169,8 @@
} else {
String inputType = getInputType();
- ModelReader<?> modelReader = configuration.getModelHelper().getModelReader(modelType, inputType);
+
+ modelReader = configuration.getModelHelper().getModelReader(modelType, inputType);
if (modelReader == null) {
throw new IllegalStateException(
"could not find a model reader for modelType: " +
@@ -168,8 +178,10 @@
configuration.getModelHelper().getModelReaders().values()
);
}
- properties.put(PROP_MODEL_READER, modelReader);
+
}
+ modelReader.setStrictLoading(isFailIfUnsafe());
+ properties.put(PROP_MODEL_READER, modelReader);
}
boolean verbose = configuration.isVerbose();
@@ -177,13 +189,6 @@
getModelReader().setStereotypeDefinitionProvider(getStereotypeDefinitionProvider());
getModelReader().setTagValueDefinitionProvider(getTagValueDefinitionProvider());
-// // gets the provider of safe tag values and stereotypes
-// ModelPropertiesUtil.ModelPropertiesProvider propertiesProvider =
-// getModelPropertiesProvider();
-//
-// // affect it to the model reader
-// getModelReader().setModelPropertiesProvider(propertiesProvider);
-
// set the verbose level of the model reader
getModelReader().setVerbose(verbose);
}
Modified: trunk/eugene-maven-plugin/src/main/java/org/nuiton/eugene/plugin/writer/ModelChainedFileWriter.java
===================================================================
--- trunk/eugene-maven-plugin/src/main/java/org/nuiton/eugene/plugin/writer/ModelChainedFileWriter.java 2014-04-27 13:34:28 UTC (rev 1347)
+++ trunk/eugene-maven-plugin/src/main/java/org/nuiton/eugene/plugin/writer/ModelChainedFileWriter.java 2014-05-01 12:17:20 UTC (rev 1348)
@@ -50,7 +50,9 @@
*
* @author tchemit
* @since 2.0.0
+ * @deprecated since 2.6.3, will be removed in 3.0, use instead {@link XmlModelChainedFileWriter}.
*/
+@Deprecated
public class ModelChainedFileWriter extends BaseChainedFileWriter {
public static final String PROP_GENERATED_PACKAGES = Template.PROP_GENERATED_PACKAGES;
Modified: trunk/eugene-plantuml-templates/src/main/java/org/nuiton/eugene/plantuml/PlantumlTemplatesGenerator.java
===================================================================
--- trunk/eugene-plantuml-templates/src/main/java/org/nuiton/eugene/plantuml/PlantumlTemplatesGenerator.java 2014-04-27 13:34:28 UTC (rev 1347)
+++ trunk/eugene-plantuml-templates/src/main/java/org/nuiton/eugene/plantuml/PlantumlTemplatesGenerator.java 2014-05-01 12:17:20 UTC (rev 1348)
@@ -171,7 +171,7 @@
output.write("\n");
}
- public String getFromStereotypes(Collection<String> stereotypes) {
+ public String getFromStereotypes(Set<String> stereotypes) {
StringBuilder stereotype = new StringBuilder("");
if (stereotypes.size() > 0) {
stereotype.append("<< ");
1
0