ontomde-java 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
+