ontomde-java 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (157) hide show
  1. data/History.txt +10 -0
  2. data/Manifest.txt +156 -0
  3. data/README.txt +98 -0
  4. data/Rakefile +21 -0
  5. data/bin/ontomde-java +5 -0
  6. data/generateRdocFile.sh +16 -0
  7. data/lib/ontomde-java.rb +45 -0
  8. data/lib/ontomde-java/crank.rb +13 -0
  9. data/lib/ontomde-java/crank/context.rb +384 -0
  10. data/lib/ontomde-java/crank/crankJpa.rb +103 -0
  11. data/lib/ontomde-java/crank/equals.rb +83 -0
  12. data/lib/ontomde-java/crank/facelets.rb +243 -0
  13. data/lib/ontomde-java/crank/facesconfig.rb +113 -0
  14. data/lib/ontomde-java/crank/helper.rb +46 -0
  15. data/lib/ontomde-java/crank/main.rb +51 -0
  16. data/lib/ontomde-java/crank/menu.rb +39 -0
  17. data/lib/ontomde-java/crank/menu2.rb +78 -0
  18. data/lib/ontomde-java/crank/validation.rb +34 -0
  19. data/lib/ontomde-java/ejb2.rb +3 -0
  20. data/lib/ontomde-java/ejb2/main-ejb2.rb +194 -0
  21. data/lib/ontomde-java/flex.rb +7 -0
  22. data/lib/ontomde-java/flex/Editor.mxml.as.rb +184 -0
  23. data/lib/ontomde-java/flex/Editor.mxml.rb +701 -0
  24. data/lib/ontomde-java/flex/ImportationAS.rb +40 -0
  25. data/lib/ontomde-java/flex/ValueObjectAS.rb +338 -0
  26. data/lib/ontomde-java/flex/fileTypes.rb +19 -0
  27. data/lib/ontomde-java/flex/main.rb +347 -0
  28. data/lib/ontomde-java/frontend/command.rb +324 -0
  29. data/lib/ontomde-java/frontend/command.rdoc +583 -0
  30. data/lib/ontomde-java/frontend/defaultOptions.rb +124 -0
  31. data/lib/ontomde-java/frontend/options.rb +555 -0
  32. data/lib/ontomde-java/frontend/steps.rb +287 -0
  33. data/lib/ontomde-java/java/accessorCode.rb +528 -0
  34. data/lib/ontomde-java/java/accessorSignature.rb +347 -0
  35. data/lib/ontomde-java/java/annotationOntoMDE.rb +88 -0
  36. data/lib/ontomde-java/java/apache.rb +34 -0
  37. data/lib/ontomde-java/java/build.rb +80 -0
  38. data/lib/ontomde-java/java/collectionMapping.rb +112 -0
  39. data/lib/ontomde-java/java/component.rb +446 -0
  40. data/lib/ontomde-java/java/contextualize.rb +43 -0
  41. data/lib/ontomde-java/java/enumAssignable.rb +75 -0
  42. data/lib/ontomde-java/java/enumCompatibilityLayer.rb +195 -0
  43. data/lib/ontomde-java/java/equals.rb +91 -0
  44. data/lib/ontomde-java/java/groovy.rb +95 -0
  45. data/lib/ontomde-java/java/java.rb +1329 -0
  46. data/lib/ontomde-java/java/java.rdoc +78 -0
  47. data/lib/ontomde-java/java/javaDatatypeMapping.rb +156 -0
  48. data/lib/ontomde-java/java/javaHelper.rb +25 -0
  49. data/lib/ontomde-java/java/java_todo.rdoc +3 -0
  50. data/lib/ontomde-java/java/javadoc.rb +254 -0
  51. data/lib/ontomde-java/java/meta.rb +28 -0
  52. data/lib/ontomde-java/java/operationAsClass.rb +144 -0
  53. data/lib/ontomde-java/java/security.rb +260 -0
  54. data/lib/ontomde-java/java/stateMachine.rb +415 -0
  55. data/lib/ontomde-java/java/tenant.rb +65 -0
  56. data/lib/ontomde-java/java/xsd.rb +1363 -0
  57. data/lib/ontomde-java/java/xsdCollectionMapping.rb +112 -0
  58. data/lib/ontomde-java/java/xsdDatatypeMapping.rb +103 -0
  59. data/lib/ontomde-java/jpa.rb +17 -0
  60. data/lib/ontomde-java/jpa/configuration.rb +176 -0
  61. data/lib/ontomde-java/jpa/finder.rb +102 -0
  62. data/lib/ontomde-java/jpa/jpa.rb +531 -0
  63. data/lib/ontomde-java/jpa/jpa.rdoc +20 -0
  64. data/lib/ontomde-java/jpa/locking.rb +18 -0
  65. data/lib/ontomde-java/jpa/mapping.rb +314 -0
  66. data/lib/ontomde-java/jpa/redefined.rb +77 -0
  67. data/lib/ontomde-java/jpa/simulationAutoImplement.rb +54 -0
  68. data/lib/ontomde-java/jpdl.rb +9 -0
  69. data/lib/ontomde-java/jpdl/bpm.pprj +1745 -0
  70. data/lib/ontomde-java/jpdl/bpm.rdf +140 -0
  71. data/lib/ontomde-java/jpdl/bpm.rdfs +231 -0
  72. data/lib/ontomde-java/jpdl/constant.rb +5 -0
  73. data/lib/ontomde-java/jpdl/graphic.rb +52 -0
  74. data/lib/ontomde-java/jpdl/jpdl.rb +281 -0
  75. data/lib/ontomde-java/jpdl/jpdl_deploy.rb +114 -0
  76. data/lib/ontomde-java/jpdl/main.rb +348 -0
  77. data/lib/ontomde-java/jpdl/main.rdoc +2 -0
  78. data/lib/ontomde-java/jpdl/processOperationToClass.rb +316 -0
  79. data/lib/ontomde-java/kbjava.rb +6 -0
  80. data/lib/ontomde-java/kbjava/rdfToJava.rb +407 -0
  81. data/lib/ontomde-java/struts.rb +27 -0
  82. data/lib/ontomde-java/struts/MessageResources.rb +359 -0
  83. data/lib/ontomde-java/struts/action.rb +883 -0
  84. data/lib/ontomde-java/struts/blob.rb +11 -0
  85. data/lib/ontomde-java/struts/exceptionHandling.rb +167 -0
  86. data/lib/ontomde-java/struts/footer.rb +128 -0
  87. data/lib/ontomde-java/struts/form.rb +450 -0
  88. data/lib/ontomde-java/struts/header.rb +37 -0
  89. data/lib/ontomde-java/struts/header_link.rb +39 -0
  90. data/lib/ontomde-java/struts/jsp_edit.rb +870 -0
  91. data/lib/ontomde-java/struts/jsp_edit_field.rb +1 -0
  92. data/lib/ontomde-java/struts/jsp_edit_js.rb +124 -0
  93. data/lib/ontomde-java/struts/jsp_index.rb +136 -0
  94. data/lib/ontomde-java/struts/localeAction.rb +641 -0
  95. data/lib/ontomde-java/struts/main.rb +41 -0
  96. data/lib/ontomde-java/struts/mappingForBean.rb +132 -0
  97. data/lib/ontomde-java/struts/mappingForJsp.rb +272 -0
  98. data/lib/ontomde-java/struts/mappingToJavaHierarchy.rb +87 -0
  99. data/lib/ontomde-java/struts/reloadAction.rb +33 -0
  100. data/lib/ontomde-java/struts/spring.rb +89 -0
  101. data/lib/ontomde-java/struts/struts-config.rb +232 -0
  102. data/lib/ontomde-java/struts/validation.rb +116 -0
  103. data/lib/ontomde-java/struts/validator.rb +341 -0
  104. data/lib/ontomde-java/struts/webXml.rb +195 -0
  105. data/lib/ontomde-java/struts/xmlForm.rb +308 -0
  106. data/lib/ontomde-java/version.rb +5 -0
  107. data/profiling.xls +0 -0
  108. data/test/.classpath +14 -0
  109. data/test/.project +17 -0
  110. data/test/.settings/org.eclipse.jdt.core.prefs +23 -0
  111. data/test/Rakefile +71 -0
  112. data/test/build.xml +34 -0
  113. data/test/classpath.rb +15 -0
  114. data/test/lib/junit-4.1.jar +0 -0
  115. data/test/load1.rb +3 -0
  116. data/test/load2.rb +3 -0
  117. data/test/log4j.properties +46 -0
  118. data/test/model/.project +11 -0
  119. data/test/model/BigProject.mdzip +0 -0
  120. data/test/model/BigProject.mdzip.nt +102866 -0
  121. data/test/model/ClassDiagram.EntArch.gif +0 -0
  122. data/test/model/ClassDiagram.emx.gif +0 -0
  123. data/test/model/ClassDiagram.mdzip.gif +0 -0
  124. data/test/model/model_ea71.bis.ea.xmi +149 -0
  125. data/test/model/model_ea71.ea.xmi +4470 -0
  126. data/test/model/model_ea71.eap +0 -0
  127. data/test/model/model_ea71_README.txt +8 -0
  128. data/test/model/multipleInheritance.emx +466 -0
  129. data/test/model/multipleInheritance.emx.nt +2428 -0
  130. data/test/model/simple1-530.ofp +0 -0
  131. data/test/model/simple1-includedAsReference.emx +169 -0
  132. data/test/model/simple1.emx +3729 -0
  133. data/test/model/simple1.emx.fragments.nt +81 -0
  134. data/test/model/simple1.emx.nt +5760 -0
  135. data/test/model/simple1.mdzip +0 -0
  136. data/test/model/simple1.mdzip.nt +11500 -0
  137. data/test/model/simple1.oe530.nt +1986 -0
  138. data/test/model/simple1.oe600.nt +1627 -0
  139. data/test/src/RuntimeTest.java +656 -0
  140. data/test/src/testsLevel1.java +174 -0
  141. data/test/src/testsLevel2.java +29 -0
  142. data/test/src/testsLevel3.java +40 -0
  143. data/test/test-ea7.sh +15 -0
  144. data/test/test-magicDraw.sh +10 -0
  145. data/test/test-mi.sh +9 -0
  146. data/test/test-oe530.sh +10 -0
  147. data/test/test-oe600.sh +11 -0
  148. data/test/test-rsm.sh +11 -0
  149. data/test/test_export_ea71.rb +5 -0
  150. data/test/test_export_oe530.rb +4 -0
  151. data/test/test_export_oe600.rb +4 -0
  152. data/test/test_export_rsm60.rb +4 -0
  153. data/test/trace +419 -0
  154. data/test/uml_test.rb +1434 -0
  155. data/test/uml_test.xls +0 -0
  156. data/test/unit_test.rb +6 -0
  157. metadata +224 -0
data/History.txt ADDED
@@ -0,0 +1,10 @@
1
+
2
+ == 1.0.8 / 2008-10-27
3
+ * frontend: added loading of external configuration file (.ontomde-java)
4
+ * frontend: renamed option --daemon to --inspector
5
+ * frontend: added option --generateDebugLauncher for easy in-project debugging (with netbeans or other java debugger)
6
+ * struts: BUG 1940098: inheritance and generation special struts actions
7
+ http://sourceforge.net/tracker/index.php?func=detail&aid=1940098&group_id=219856&atid=1048367
8
+ * struts: FEATURE: added back/return navigation button.
9
+
10
+ == 1.0.0 / 2007-10-28
data/Manifest.txt ADDED
@@ -0,0 +1,156 @@
1
+ History.txt
2
+ Manifest.txt
3
+ README.txt
4
+ Rakefile
5
+ bin/ontomde-java
6
+ generateRdocFile.sh
7
+ lib/ontomde-java.rb
8
+ lib/ontomde-java/crank.rb
9
+ lib/ontomde-java/crank/context.rb
10
+ lib/ontomde-java/crank/crankJpa.rb
11
+ lib/ontomde-java/crank/equals.rb
12
+ lib/ontomde-java/crank/facelets.rb
13
+ lib/ontomde-java/crank/facesconfig.rb
14
+ lib/ontomde-java/crank/helper.rb
15
+ lib/ontomde-java/crank/main.rb
16
+ lib/ontomde-java/crank/menu.rb
17
+ lib/ontomde-java/crank/menu2.rb
18
+ lib/ontomde-java/crank/validation.rb
19
+ lib/ontomde-java/ejb2.rb
20
+ lib/ontomde-java/ejb2/main-ejb2.rb
21
+ lib/ontomde-java/flex.rb
22
+ lib/ontomde-java/flex/Editor.mxml.as.rb
23
+ lib/ontomde-java/flex/Editor.mxml.rb
24
+ lib/ontomde-java/flex/ImportationAS.rb
25
+ lib/ontomde-java/flex/ValueObjectAS.rb
26
+ lib/ontomde-java/flex/fileTypes.rb
27
+ lib/ontomde-java/flex/main.rb
28
+ lib/ontomde-java/frontend/command.rb
29
+ lib/ontomde-java/frontend/command.rdoc
30
+ lib/ontomde-java/frontend/defaultOptions.rb
31
+ lib/ontomde-java/frontend/options.rb
32
+ lib/ontomde-java/frontend/steps.rb
33
+ lib/ontomde-java/java/accessorCode.rb
34
+ lib/ontomde-java/java/accessorSignature.rb
35
+ lib/ontomde-java/java/annotationOntoMDE.rb
36
+ lib/ontomde-java/java/apache.rb
37
+ lib/ontomde-java/java/build.rb
38
+ lib/ontomde-java/java/collectionMapping.rb
39
+ lib/ontomde-java/java/component.rb
40
+ lib/ontomde-java/java/contextualize.rb
41
+ lib/ontomde-java/java/enumAssignable.rb
42
+ lib/ontomde-java/java/enumCompatibilityLayer.rb
43
+ lib/ontomde-java/java/equals.rb
44
+ lib/ontomde-java/java/groovy.rb
45
+ lib/ontomde-java/java/java.rb
46
+ lib/ontomde-java/java/java.rdoc
47
+ lib/ontomde-java/java/javaDatatypeMapping.rb
48
+ lib/ontomde-java/java/javaHelper.rb
49
+ lib/ontomde-java/java/java_todo.rdoc
50
+ lib/ontomde-java/java/javadoc.rb
51
+ lib/ontomde-java/java/meta.rb
52
+ lib/ontomde-java/java/operationAsClass.rb
53
+ lib/ontomde-java/java/security.rb
54
+ lib/ontomde-java/java/stateMachine.rb
55
+ lib/ontomde-java/java/tenant.rb
56
+ lib/ontomde-java/java/xsd.rb
57
+ lib/ontomde-java/java/xsdCollectionMapping.rb
58
+ lib/ontomde-java/java/xsdDatatypeMapping.rb
59
+ lib/ontomde-java/jpa.rb
60
+ lib/ontomde-java/jpa/configuration.rb
61
+ lib/ontomde-java/jpa/finder.rb
62
+ lib/ontomde-java/jpa/jpa.rb
63
+ lib/ontomde-java/jpa/jpa.rdoc
64
+ lib/ontomde-java/jpa/locking.rb
65
+ lib/ontomde-java/jpa/mapping.rb
66
+ lib/ontomde-java/jpa/redefined.rb
67
+ lib/ontomde-java/jpa/simulationAutoImplement.rb
68
+ lib/ontomde-java/jpdl.rb
69
+ lib/ontomde-java/jpdl/bpm.pprj
70
+ lib/ontomde-java/jpdl/bpm.rdf
71
+ lib/ontomde-java/jpdl/bpm.rdfs
72
+ lib/ontomde-java/jpdl/constant.rb
73
+ lib/ontomde-java/jpdl/graphic.rb
74
+ lib/ontomde-java/jpdl/jpdl.rb
75
+ lib/ontomde-java/jpdl/jpdl_deploy.rb
76
+ lib/ontomde-java/jpdl/main.rb
77
+ lib/ontomde-java/jpdl/main.rdoc
78
+ lib/ontomde-java/jpdl/processOperationToClass.rb
79
+ lib/ontomde-java/kbjava.rb
80
+ lib/ontomde-java/kbjava/rdfToJava.rb
81
+ lib/ontomde-java/struts.rb
82
+ lib/ontomde-java/struts/MessageResources.rb
83
+ lib/ontomde-java/struts/action.rb
84
+ lib/ontomde-java/struts/blob.rb
85
+ lib/ontomde-java/struts/exceptionHandling.rb
86
+ lib/ontomde-java/struts/footer.rb
87
+ lib/ontomde-java/struts/form.rb
88
+ lib/ontomde-java/struts/header.rb
89
+ lib/ontomde-java/struts/header_link.rb
90
+ lib/ontomde-java/struts/jsp_edit.rb
91
+ lib/ontomde-java/struts/jsp_edit_field.rb
92
+ lib/ontomde-java/struts/jsp_edit_js.rb
93
+ lib/ontomde-java/struts/jsp_index.rb
94
+ lib/ontomde-java/struts/localeAction.rb
95
+ lib/ontomde-java/struts/main.rb
96
+ lib/ontomde-java/struts/mappingForBean.rb
97
+ lib/ontomde-java/struts/mappingForJsp.rb
98
+ lib/ontomde-java/struts/mappingToJavaHierarchy.rb
99
+ lib/ontomde-java/struts/reloadAction.rb
100
+ lib/ontomde-java/struts/spring.rb
101
+ lib/ontomde-java/struts/struts-config.rb
102
+ lib/ontomde-java/struts/validation.rb
103
+ lib/ontomde-java/struts/validator.rb
104
+ lib/ontomde-java/struts/webXml.rb
105
+ lib/ontomde-java/struts/xmlForm.rb
106
+ lib/ontomde-java/version.rb
107
+ profiling.xls
108
+ test/.classpath
109
+ test/.project
110
+ test/.settings/org.eclipse.jdt.core.prefs
111
+ test/Rakefile
112
+ test/build.xml
113
+ test/classpath.rb
114
+ test/lib/junit-4.1.jar
115
+ test/load1.rb
116
+ test/load2.rb
117
+ test/log4j.properties
118
+ test/model/.project
119
+ test/model/BigProject.mdzip
120
+ test/model/BigProject.mdzip.nt
121
+ test/model/ClassDiagram.EntArch.gif
122
+ test/model/ClassDiagram.emx.gif
123
+ test/model/ClassDiagram.mdzip.gif
124
+ test/model/model_ea71.bis.ea.xmi
125
+ test/model/model_ea71.ea.xmi
126
+ test/model/model_ea71.eap
127
+ test/model/model_ea71_README.txt
128
+ test/model/multipleInheritance.emx
129
+ test/model/multipleInheritance.emx.nt
130
+ test/model/simple1-530.ofp
131
+ test/model/simple1-includedAsReference.emx
132
+ test/model/simple1.emx
133
+ test/model/simple1.emx.fragments.nt
134
+ test/model/simple1.emx.nt
135
+ test/model/simple1.mdzip
136
+ test/model/simple1.mdzip.nt
137
+ test/model/simple1.oe530.nt
138
+ test/model/simple1.oe600.nt
139
+ test/src/RuntimeTest.java
140
+ test/src/testsLevel1.java
141
+ test/src/testsLevel2.java
142
+ test/src/testsLevel3.java
143
+ test/test-ea7.sh
144
+ test/test-magicDraw.sh
145
+ test/test-mi.sh
146
+ test/test-oe530.sh
147
+ test/test-oe600.sh
148
+ test/test-rsm.sh
149
+ test/test_export_ea71.rb
150
+ test/test_export_oe530.rb
151
+ test/test_export_oe600.rb
152
+ test/test_export_rsm60.rb
153
+ test/trace
154
+ test/uml_test.rb
155
+ test/uml_test.xls
156
+ test/unit_test.rb
data/README.txt ADDED
@@ -0,0 +1,98 @@
1
+ ontomde-java
2
+ by stephane (Pierre) Carrie
3
+ http://ontomde.rubyforge.org
4
+
5
+ == DESCRIPTION:
6
+
7
+ ontomde-java is a full-featured UML2 to Java5 code generator library.
8
+
9
+ A sample raw UML2 source model is available here: http://ontomde.rubyforge.org/website/demo/java5/index.html. This model is included in a running demonstration available from this page: http://ontomde.rubyforge.org/website/demonstration.html
10
+
11
+
12
+ == FEATURES/PROBLEMS:
13
+
14
+ Managed class modifiers
15
+ * interface implements
16
+ * single class inheritance
17
+ * attribute
18
+ * association
19
+ * method
20
+ * inner class
21
+
22
+ Managed interface modifiers
23
+ * interface inheritance
24
+ * method
25
+ * attribute accessors
26
+
27
+ Managed attribute modifiers
28
+ * Cardinality (0, *)
29
+ * visibility (public, ..)
30
+ * static
31
+ * derived
32
+ * read-only
33
+ * ordered
34
+
35
+ Managed association modifiers
36
+ * Cardinality (0, *)
37
+ * static
38
+ * derived
39
+ * read-only
40
+ * single navigability
41
+ * bi-navigability (automatic handling)
42
+ * composition
43
+
44
+ Managed method modifier
45
+ * static
46
+ * abstract
47
+ * visibility
48
+ * exception thrown
49
+ * parameters
50
+ * return parameter
51
+
52
+ Managed method parameter modifiers
53
+ * cardinality (0, *)
54
+ * ordered
55
+
56
+ Special featureds
57
+ * Multiple class inheritance handling
58
+ * Abstract method auto-implement
59
+ * Interface operation auto-implement
60
+ * Interface attribute auto-implement
61
+
62
+ Non managed elements
63
+ * Class association
64
+
65
+
66
+ == SYNOPSIS:
67
+
68
+ $ ontomde-java --help
69
+
70
+ == REQUIREMENTS:
71
+
72
+ * requires ontomde-uml2
73
+
74
+ == INSTALL:
75
+
76
+ * (UNIX) sudo gem install ontomde-java
77
+ * (WIN) gem install ontomde-java
78
+
79
+ Additional information is available on ontoMDE web site :
80
+ http://ontomde.rubyforge.org/website/download.html
81
+ == LICENSE:
82
+
83
+ Copyright (C) 2008 Orange-labs
84
+ 38 rue General Leclerc
85
+ 92130 ISSY LES MOULINEAUX, France
86
+
87
+ This program is free software: you can redistribute it and/or modify
88
+ it under the terms of the GNU Affero General Public License as
89
+ published by the Free Software Foundation, either version 3 of the
90
+ License, or (at your option) any later version.
91
+
92
+ This program is distributed in the hope that it will be useful,
93
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
94
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
95
+ GNU Affero General Public License for more details.
96
+
97
+ You should have received a copy of the GNU Affero General Public License
98
+ along with this program. If not, see http://www.gnu.org/licenses/.
data/Rakefile ADDED
@@ -0,0 +1,21 @@
1
+ # -*- ruby -*-
2
+
3
+ require 'rubygems'
4
+ require 'ontomde-hoe'
5
+ require './lib/ontomde-java/version.rb'
6
+
7
+ OntomdeHoe.new('ontomde-java', Ontomde::Java::VERSION) do |p|
8
+ p.rubyforge_name = 'ontomde'
9
+ p.author = 'Orange-labs BIZZ/CIL/SAM'
10
+ p.email = 'stephanepierre.carrie -nospam- @orange-ftgroup.com'
11
+ p.summary = 'OntoMDE Java5 language cartridge'
12
+ p.description = p.paragraphs_of('README.txt', 2..5).join("\n\n")
13
+ p.url="http://ontomde.rubyforge.org"
14
+ p.changes = p.paragraphs_of('History.txt', 0..1).join("\n\n")
15
+ p.extra_deps=[
16
+ ['ontomde-uml2',"= #{Ontomde::Java::VERSION}"]
17
+ ]
18
+ p.spec_extras={ :required_ruby_version => '>=1.8.6' ,:required_rubygems_version => '>=1.0.0'}
19
+ end
20
+
21
+ # vim: syntax=Ruby
data/bin/ontomde-java ADDED
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'ontomde-java/frontend/command.rb'
4
+
5
+ runJavaFrontEnd(__FILE__)
@@ -0,0 +1,16 @@
1
+ #!/bin/bash
2
+
3
+ cd `dirname "$0"`
4
+ I=""
5
+ for x in ../ontomde*/lib
6
+ do
7
+ I="$I -I $x"
8
+ done
9
+ ruby $I ./bin/ontomde-java --help-rdoc \
10
+ | grep -v 'Starting onto' \
11
+ | grep -v 'O.S detected' \
12
+ | grep -v 'Ruby.*platform.*detected' \
13
+ > lib/ontomde-java/frontend/command.rdoc
14
+
15
+ #rake${WINDIR:+.bat} install_gem
16
+
@@ -0,0 +1,45 @@
1
+ # This class is meant to be included in your project that require java code generation capability.
2
+ #
3
+ #EXAMPLE: The following code will generate all the java file corresponding to the UML elements stored in model.emx.nt
4
+ #
5
+ # require ontomde-java'
6
+ # modelFile='model.emx.nt'
7
+ #
8
+ # model=Crdf_Repository.new
9
+ # model.loadUml2
10
+ # model.loadModelFromFile(modelFile)
11
+ #
12
+ # model.mtk_context(:build=> build) {
13
+ # model.java_generate
14
+ # }
15
+ # puts 'Your Java file have been generated'
16
+
17
+
18
+ require 'ontomde-uml2'
19
+ require 'ontomde-java/version.rb'
20
+
21
+ require 'ontomde-java/java/javaDatatypeMapping.rb'
22
+ require 'ontomde-java/java/java.rb'
23
+ require 'ontomde-java/java/javaHelper.rb'
24
+ require 'ontomde-java/java/accessorCode.rb'
25
+ require 'ontomde-java/java/accessorSignature.rb'
26
+ require 'ontomde-java/java/meta.rb'
27
+ require 'ontomde-java/java/enumCompatibilityLayer.rb'
28
+ require 'ontomde-java/java/enumAssignable.rb'
29
+ require 'ontomde-java/java/annotationOntoMDE.rb'
30
+ require 'ontomde-java/java/operationAsClass.rb'
31
+ require 'ontomde-java/java/build.rb'
32
+ require 'ontomde-java/java/collectionMapping.rb'
33
+ require 'ontomde-java/java/javadoc.rb'
34
+ require 'ontomde-java/java/security.rb'
35
+ require 'ontomde-java/java/groovy.rb'
36
+ require 'ontomde-java/java/contextualize.rb'
37
+ require 'ontomde-java/java/apache.rb'
38
+ require 'ontomde-java/java/stateMachine.rb'
39
+ require 'ontomde-java/java/component.rb'
40
+ require 'ontomde-java/java/xsd.rb'
41
+ require 'ontomde-java/java/xsdCollectionMapping.rb'
42
+ require 'ontomde-java/java/xsdDatatypeMapping.rb'
43
+ require 'ontomde-java/java/tenant.rb'
44
+
45
+
@@ -0,0 +1,13 @@
1
+ require 'ontomde-java'
2
+ require 'ontomde-java/jpa'
3
+
4
+ require 'ontomde-java/crank/helper.rb'
5
+ require 'ontomde-java/crank/main.rb'
6
+ require 'ontomde-java/crank/context.rb'
7
+ require 'ontomde-java/crank/facesconfig.rb'
8
+ require 'ontomde-java/crank/facelets.rb'
9
+ require 'ontomde-java/crank/menu2.rb'
10
+ require 'ontomde-java/crank/validation.rb'
11
+ require 'ontomde-java/crank/equals.rb'
12
+
13
+ require 'ontomde-java/crank/crankJpa.rb'
@@ -0,0 +1,384 @@
1
+
2
+ module Muml_Model
3
+ def eachCrankBean
4
+ return rdf_model.eachCrankBean
5
+ end
6
+
7
+ def eachClassEnum
8
+ rdf_model.uml_Class_all.each { |c|
9
+ next unless c.kind_of?(Muml_Enumeration)
10
+ yield(c)
11
+ }
12
+ end
13
+
14
+ def crank_generate_context
15
+
16
+ p_context=umlx_getOrCreatePackage("xmda.crank")
17
+ c=p_context.umlx_createAndAddClass(p_context.rdf_uri+"_ctx")
18
+ c.db_isTransient=RDF_TRUE
19
+ c.uml_isAbstract=RDF_TRUE
20
+ c.uml_name="CrankCrudApplicationContext"
21
+
22
+ i = umlx_getOrCreateClass("org.crank.crud.jsf.xmda.ExtendedCrudJSFConfig")
23
+ i.db_isTransient=RDF_TRUE
24
+ c.umlx_createAndAddGeneralization(i)
25
+
26
+ c.java_annotation_add("@Configuration(defaultLazy = Lazy.TRUE)")
27
+
28
+
29
+ p=c.umlx_createAndAddProperty(c.rdf_uri+"_obj","managedObjects")
30
+ cObj = umlx_getOrCreateClass("List<CrudManagedObject>")
31
+ cObj.java_isGeneric=RDF_TRUE
32
+ p.uml_type=cObj
33
+ p.uml_visibility=::Cuml_VisibilityKind::Private
34
+ p.uml_isStatic=RDF_TRUE
35
+
36
+
37
+ m1=c.umlx_createAndAddOperation(c.rdf_uri+"_managed")
38
+ m1.uml_name="managedObjects"
39
+ m1.uml_class=c
40
+ m1.uml_visibility=Cuml_VisibilityKind::Public
41
+ r1=m1.umlx_createAndAddReturnParameter("#{m1.rdf_uri}_ret")
42
+ r1.uml_type=cObj
43
+ m1.java_annotation_add("@Bean(scope = DefaultScopes.SINGLETON)")
44
+ managedObj=<<CODE
45
+ if (managedObjects == null) {
46
+ managedObjects = new ArrayList<CrudManagedObject>();
47
+ CODE
48
+ crankBeans = eachCrankBean
49
+ crankBeans.each { |mc|
50
+ managedObj << " managedObjects.add(new CrudManagedObject(#{mc.java_Name}.class, #{mc.java_DAOClass_one.java_Name}.class));\n"
51
+ c.java_import_add(mc.java_qualifiedName)
52
+ c.java_import_add(mc.java_DAOClass_one.java_qualifiedName)
53
+ }
54
+ managedObj += <<CODE
55
+ }
56
+ return managedObjects;
57
+ CODE
58
+ m1.java_code=managedObj
59
+
60
+
61
+ m2=c.umlx_createAndAddOperation(c.rdf_uri+"_items")
62
+ m2.uml_name="selectItemGenerators"
63
+ m2.uml_class=c
64
+ m2.uml_visibility=Cuml_VisibilityKind::Public
65
+ m2.uml_raisedException_add(umlx_getOrCreateClass("Exception"))
66
+ r1=m2.umlx_createAndAddReturnParameter("#{m2.rdf_uri}_ret")
67
+ cObj2 = umlx_getOrCreateClass("Map<String, SelectItemGenerator>")
68
+ cObj2.java_isGeneric=RDF_TRUE
69
+ r1.uml_type=cObj2
70
+ m2.java_annotation_add("@SuppressWarnings(\"unchecked\")")
71
+ m2.java_annotation_add("@Bean(scope = DefaultScopes.SINGLETON)")
72
+ managedObj=<<CODE
73
+ Map<String, SelectItemGenerator> selectItemGenerators = super
74
+ .selectItemGenerators();
75
+ CODE
76
+ eachClassEnum { |mc|
77
+ managedObj << " SelectItemGenerator selectItemGenerator#{mc.java_Name} = new SelectItemGenerator();\n"
78
+ managedObj << " EnumDataSource<#{mc.java_Name}> dataSource#{mc.java_Name} = new EnumDataSource();\n"
79
+ managedObj << " dataSource#{mc.java_Name}.setType(#{mc.java_Name}.class);\n"
80
+ managedObj << " selectItemGenerator#{mc.java_Name}.setDataSource(dataSource#{mc.java_Name});\n"
81
+ managedObj << " selectItemGenerators.put(\"#{mc.java_Name}\", selectItemGenerator#{mc.java_Name});\n"
82
+ c.java_import_add(mc.java_qualifiedName)
83
+ }
84
+ managedObj += <<CODE
85
+ return selectItemGenerators;\n
86
+ CODE
87
+ m2.java_code=managedObj
88
+
89
+
90
+ m=c.umlx_createAndAddOperation(c.rdf_uri+"_unit")
91
+ m.uml_name="persistenceUnitName"
92
+ m.uml_class=c
93
+ m.uml_visibility=Cuml_VisibilityKind::Public
94
+ r=m.umlx_createAndAddReturnParameter("#{m.rdf_uri}_ret")
95
+ r.uml_type=umlx_getOrCreateDataType("String")
96
+ m.java_annotation_add("@Bean")
97
+ m.java_code=<<CODE
98
+ return "persistence-unit-test";
99
+ CODE
100
+
101
+
102
+ crankBeans.each { |mc|
103
+ mc.addCrudMethod
104
+ }
105
+
106
+ c.addImportForConfigurationClass
107
+
108
+ #Generate context with all the configurtion class
109
+ mtk_writeSession("#{context[:webResourcesDir]}/configContext.xml") {
110
+ write <<CONFIG
111
+ <?xml version="1.0" encoding="UTF-8"?>
112
+
113
+ <beans xmlns="http://www.springframework.org/schema/beans"
114
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
115
+ xmlns:aop="http://www.springframework.org/schema/aop"
116
+ xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
117
+ http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd">
118
+
119
+ <bean class="xmda.crank.CrankCrudApplicationContext" />
120
+
121
+ CONFIG
122
+ crankBeans.each {|c|
123
+ write " <bean class=\"#{c.crankConfigClass.java_qualifiedName}\" />\n"
124
+ }
125
+ write <<CONFIG
126
+
127
+ </beans>
128
+ CONFIG
129
+ }
130
+ end
131
+
132
+ end
133
+
134
+ module Muml_Classifier
135
+
136
+ attr_accessor :crankConfigClass
137
+
138
+ #Used for Crank Bean
139
+ def addCrudMethod
140
+
141
+ p_context=umlx_getOrCreatePackage("#{umlx_package.java_qualifiedName}.crank")
142
+ c=p_context.umlx_createAndAddClass(self.rdf_uri+"_cfg")
143
+ self.crankConfigClass = c
144
+ c.db_isTransient=RDF_TRUE
145
+ c.uml_isAbstract=RDF_TRUE
146
+ c.uml_name="#{self.java_Name}CrankConfig"
147
+ c.java_annotation_add("@Configuration(defaultLazy = Lazy.TRUE)")
148
+ c.addImportForConfigurationClass
149
+
150
+ m2=c.umlx_createAndAddOperation(self.rdf_uri+"_crud")
151
+ m2.uml_name="#{java_Name.downcase}Crud"
152
+ m2.uml_class=c
153
+ m2.uml_visibility=Cuml_VisibilityKind::Public
154
+ m2.uml_raisedException_add(umlx_getOrCreateClass("Exception"))
155
+ rm2=m2.umlx_createAndAddReturnParameter("#{m2.rdf_uri}_ret")
156
+ rm2.uml_type=umlx_getOrCreateClass("JsfCrudAdapter")
157
+ m2.java_annotation_add("@SuppressWarnings(\"unchecked\")")
158
+ m2.java_annotation_add("@Bean(scope = DefaultScopes.SESSION, aliases = \"#{m2.uml_name}Proxy\")")
159
+ m2.java_code=<<CODE
160
+ JsfCrudAdapter adapter = cruds().get("#{java_Name}");
161
+ CODE
162
+ #END OF THE CODE AFTER THE EACH
163
+
164
+ if self.crank_hasCrankBeanChild?
165
+ c.java_import_add("org.crank.crud.controller.CrudOperations");
166
+ c.java_import_add("java.util.Map");
167
+ c.java_import_add("java.util.HashMap");
168
+ m2.java_code_one << <<CODE
169
+ Map<Class, CrudOperations> map = new HashMap<Class, CrudOperations>();
170
+ CODE
171
+ crank_subCrankBean.each{|sc|
172
+ next if "#{sc.java_Name}" == "#{self.java_Name}"
173
+ c.crank_addCrudAlias(sc)
174
+ m2.java_code_one << <<CODE
175
+ JsfCrudAdapter #{sc.java_Name.downcase}CrudProxy = #{sc.java_Name.downcase}CrudProxy();
176
+ map.put(#{sc.java_Name}.class, #{sc.java_Name.downcase}CrudProxy.getController());
177
+ CODE
178
+ c.java_import_add("#{sc.java_qualifiedName}")
179
+ }
180
+ m2.java_code_one << <<CODE
181
+ ((CrudController)adapter.getController()).setSubController(map);
182
+ adapter.setupSubCrudControllerWiring();
183
+ CODE
184
+
185
+ end
186
+
187
+
188
+ eachCrankBeanRelations.each { |a|
189
+ #ADD THIS CODE TO THE crud if MasterDetail
190
+ # if a.crank_isMasterFromMasterDetail?
191
+ # m2.java_code_one << <<CODE
192
+ # JsfDetailController jsf#{a.java_Name}DetailController = new JsfDetailController(#{a.uml_type_one.java_Name}.class);
193
+ # jsf#{a.java_Name}DetailController.setForceUpdate(true);
194
+ # adapter.getController().addChild("detail", jsf#{a.java_Name}DetailController);
195
+ #CODE
196
+ # end
197
+ c.java_import_add("#{a.uml_type_one.java_qualifiedName}")
198
+
199
+ m1=c.umlx_createAndAddOperation(a.rdf_uri+"_select")
200
+ m1.uml_name="#{a.java_Name.downcase}From#{java_Name}To#{a.uml_type_one.java_Name}Controller"
201
+ m1.uml_class=c
202
+ m1.uml_visibility=Cuml_VisibilityKind::Public
203
+ m1.uml_raisedException_add(umlx_getOrCreateClass("Exception"))
204
+ rm1=m1.umlx_createAndAddReturnParameter("#{m1.rdf_uri}_ret")
205
+ cRet = nil
206
+ #Indique si c'est une relation many esclave au framework
207
+ isMasterEnd=""
208
+ if a.java_isManyAssociation?
209
+ cRet = umlx_getOrCreateClass("JsfSelectManyController<#{a.uml_type_one.java_Name}, Long>")
210
+ cRet.java_isGeneric=RDF_TRUE
211
+ if a.java_isBinavAssociation? && !a.umlx_masterEnd?
212
+ isMasterEnd=",false"
213
+ end
214
+ mCode = ""
215
+ if a.crank_isMasterFromMasterDetail?
216
+ c.java_import_add("org.crank.crud.jsf.xmda.JsfDetailExtendedController")
217
+ mCode=<<CODE
218
+ JsfDetailExtendedController<#{a.uml_type_one.java_Name}, Long> controller = new JsfDetailExtendedController<#{a.uml_type_one.java_Name}, Long>(
219
+ (CrudController<#{a.uml_type_one.java_Name}, Long>) #{a.uml_type_one.java_Name.downcase}CrudProxy().getController(), "#{a.java_Name}", paginators().get("#{a.uml_type_one.java_Name}"), #{java_Name.downcase}CrudProxy().getController());
220
+ CODE
221
+ elsif
222
+ mCode=<<CODE
223
+ #{cRet.java_Name} controller = new JsfSelectManyExtendedController<#{a.uml_type_one.java_Name}, Long>(#{a.uml_type_one.java_Name}.class, "#{a.java_Name}", paginators().get("#{a.uml_type_one.java_Name}"), #{java_Name.downcase}CrudProxy().getController()#{isMasterEnd});
224
+ CODE
225
+ end
226
+ mCode << <<CODE
227
+ SelectManyRelationshipManager relationManager = controller.getManager();
228
+ relationManager.setAddToParentMethodName("add#{a.java_NameBean}");
229
+ relationManager.setRemoveFromParentMethodName("remove#{a.java_NameBean}");
230
+ return controller;
231
+ CODE
232
+ m1.java_code = mCode
233
+ c.crank_addCrudAlias(a.uml_type_one)
234
+ elsif
235
+ cRet = umlx_getOrCreateClass("JsfSelectOneListingController<#{a.uml_type_one.java_Name}, Long>")
236
+ cRet.java_isGeneric=RDF_TRUE
237
+ m1.java_code=<<CODE
238
+ #{cRet.java_Name} controller = new #{cRet.java_Name}(#{a.uml_type_one.java_Name}.class, "#{a.java_Name}", paginators().get("#{a.uml_type_one.java_Name}"), #{java_Name.downcase}CrudProxy().getController()#{isMasterEnd});
239
+ controller.setLabelProperty("#{a.uml_type_one.crank_guiProperty.java_Name}");
240
+ return controller;
241
+ CODE
242
+ c.java_import_add("#{a.uml_type_one.java_qualifiedName}")
243
+
244
+ end
245
+
246
+ rm1.uml_type=cRet
247
+ m1.java_annotation_add("@SuppressWarnings(\"unchecked\")")
248
+ m1.java_annotation_add("@Bean(scope = DefaultScopes.SESSION)")
249
+
250
+ }
251
+ #END OF THE CRUD CREATION CODE
252
+ m2.java_code_one << <<CODE
253
+ return adapter;
254
+ CODE
255
+
256
+ c.crank_addCrudAlias(self)
257
+
258
+ # Alias for cruds
259
+ m=c.umlx_createAndAddOperation(self.rdf_uri+"_cruds")
260
+ m.uml_name="cruds"
261
+ m.uml_class=c
262
+ m.uml_visibility=Cuml_VisibilityKind::Public
263
+ m.uml_isAbstract = RDF_TRUE
264
+ rm=m.umlx_createAndAddReturnParameter("#{m.rdf_uri}_ret")
265
+ crudsRetType=umlx_getOrCreateClass("Map<String, JsfCrudAdapter>")
266
+ crudsRetType.java_isGeneric=RDF_TRUE
267
+ crudsRetType.db_isTransient=RDF_TRUE
268
+ rm.uml_type=crudsRetType
269
+ m.java_annotation_add("@SuppressWarnings(\"unchecked\")")
270
+ m.java_annotation_add("@ExternalBean")
271
+
272
+ # Alias for paginators
273
+ mp=c.umlx_createAndAddOperation(self.rdf_uri+"_paginators")
274
+ mp.uml_name="paginators"
275
+ mp.uml_class=c
276
+ mp.uml_visibility=Cuml_VisibilityKind::Public
277
+ mp.uml_isAbstract = RDF_TRUE
278
+ rm=mp.umlx_createAndAddReturnParameter("#{m.rdf_uri}_ret")
279
+ retType=umlx_getOrCreateClass("Map<String, FilterablePageable>")
280
+ retType.java_isGeneric=RDF_TRUE
281
+ retType.db_isTransient=RDF_TRUE
282
+ rm.uml_type=retType
283
+ mp.java_annotation_add("@SuppressWarnings(\"unchecked\")")
284
+ mp.java_annotation_add("@ExternalBean")
285
+
286
+ end
287
+
288
+ def crank_addCrudAlias(crankBean)
289
+ aliasUri = self.rdf_uri+"_#{crankBean.java_Name}crudProxy"
290
+ #return si d�j� ajout�
291
+ uml_ownedOperation.each{|o|
292
+ return if o.rdf_uri == aliasUri
293
+ }
294
+
295
+ m=self.umlx_createAndAddOperation(aliasUri)
296
+ m.uml_name="#{crankBean.java_Name.downcase}CrudProxy"
297
+ m.uml_class=self
298
+ m.uml_visibility=Cuml_VisibilityKind::Public
299
+ m.uml_isAbstract = RDF_TRUE
300
+ rm=m.umlx_createAndAddReturnParameter("#{m.rdf_uri}_ret")
301
+ rm.uml_type=umlx_getOrCreateClass("JsfCrudAdapter")
302
+ m.java_annotation_add("@SuppressWarnings(\"unchecked\")")
303
+ m.java_annotation_add("@ExternalBean")
304
+ end
305
+
306
+ def eachCrankBeanRelations(ret=Set.new)
307
+ umlx_ownedAndInheritedAttribute.each { |a|
308
+ next if a.uml_type_one.db_isTransient?
309
+ if !a.umlx_isAttribute?
310
+ ret.add(a)
311
+ end
312
+ }
313
+ return ret.sort{ |a,b| a <=> b}
314
+ end
315
+
316
+ def crank_guiProperty(firstPropertyFound = nil, mustFoundGuiLabel = true)
317
+ # puts "#{java_Name}.crank_guiProperty"
318
+ uml_ownedAttribute.sort{ |a,b| a <=> b}.each {|a|
319
+ next unless a.umlx_isAttribute?
320
+ next if a.uml_isStatic?
321
+ if firstPropertyFound.nil?
322
+ firstPropertyFound = a
323
+ end
324
+ return a if a.umlx_hasStereotype?('GuiLabel')
325
+ }
326
+ res = nil
327
+ if self.kind_of?(Muml_Class)
328
+ uml_implementation.each { |g|
329
+ res = g.uml_supplier_one.crank_guiProperty(firstPropertyFound, false)
330
+ return res if !res.nil?
331
+ }
332
+ end
333
+ uml_generalization.sort{ |a,b| a <=> b}.each { |g|
334
+ # puts " -- #{g.uml_general_one.java_Name}.crank_guiProperty"
335
+ # next if g.kind_of?(Muml_Interface)
336
+ res = g.uml_general_one.crank_guiProperty(firstPropertyFound, false)
337
+ return res if !res.nil?
338
+ }
339
+
340
+ if mustFoundGuiLabel
341
+ if firstPropertyFound.nil?
342
+ raise Exception.new("no GuiLabel defined nor Property selected for Class #{self.java_Name} !!")
343
+ elsif
344
+ log.warn { "no GuiLabel defined for Class #{self.java_Name} : Property #{firstPropertyFound.java_Name} selected !!" }
345
+ end
346
+ end
347
+ return firstPropertyFound
348
+ end
349
+
350
+ #Used only for the configuration class
351
+ def addImportForConfigurationClass
352
+ self.java_import_add("java.util.ArrayList")
353
+ self.java_import_add("java.util.List")
354
+ self.java_import_add("java.util.Map")
355
+
356
+ self.java_import_add("org.crank.crud.controller.CrudManagedObject")
357
+ self.java_import_add("org.springframework.config.java.annotation.Bean")
358
+ self.java_import_add("org.springframework.config.java.annotation.ExternalBean")
359
+ self.java_import_add("org.springframework.config.java.annotation.Configuration")
360
+ self.java_import_add("org.springframework.config.java.annotation.Lazy")
361
+ self.java_import_add("org.springframework.config.java.util.DefaultScopes")
362
+ self.java_import_add("org.crank.crud.controller.FilterablePageable")
363
+ self.java_import_add("org.crank.crud.controller.CrudController")
364
+ self.java_import_add("org.crank.crud.jsf.support.*")
365
+ self.java_import_add("org.crank.crud.relationships.SelectManyRelationshipManager")
366
+ self.java_import_add("org.crank.crud.jsf.xmda.JsfSelectManyExtendedController")
367
+ self.java_import_add("org.crank.crud.controller.datasource.EnumDataSource")
368
+ end
369
+ end
370
+
371
+ module Muml_Property
372
+ def java_isBinavAssociation?
373
+ oe=umlx_otherEnd
374
+ return (!oe.nil?) && oe.umlx_isNavigable?
375
+ end
376
+
377
+ def java_isManyAssociation?
378
+ return !umlx_upperValueIsOne?
379
+ end
380
+
381
+ end
382
+
383
+
384
+