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
@@ -0,0 +1,324 @@
1
+ #:include: ../../README.txt
2
+ #:include: command.rdoc
3
+ #
4
+ #
5
+ #Command line front end for ontomde-java generator.
6
+
7
+ require 'optparse'
8
+ require 'ontomde-core'
9
+ require 'ontomde-uml2'
10
+ require 'ontomde-java'
11
+ #require 'ontomde-java/frontend'
12
+ require 'ontomde-java/frontend/options.rb'
13
+ require 'ontomde-java/frontend/steps.rb'
14
+ require 'ontomde-java/frontend/defaultOptions.rb'
15
+
16
+ # Flush output automatically
17
+ # Added to solve a bug where
18
+ # after an external program is executed,
19
+ # stdout was no longer updated.
20
+ STDOUT.sync = true
21
+
22
+ OR_MAPPING= %w[jpox,jpa]
23
+ OR_MAPPING_ALIASES = { "jdo" => "jpox", "jpa" => "hibernate" ,"none" => "none"}
24
+ DB_TYPE_DISCRIMINATOR=%w[:default,:int]
25
+ DB_TYPE_DISCRIMINATOR_ALIASES={"int"=>:int,"default"=>:default}
26
+
27
+ module Kernel
28
+ DEPS= ['ontomde-uml2-jpdl', 'ontomde-java/struts', 'ontomde-uml2-ejb2', 'ontomde-uml2-jdo', 'ontomde-java/jpa', 'ontomde-uml2/kb', 'ontomde-java/kbjava','ontomde-uml2-flex','ontomde-core/inspector', 'ontomde-uml2-crank']
29
+ def require_deps(f)
30
+ # make sure DEPS lists every libs
31
+ if !DEPS.include?(f)
32
+ raise Exception.new("Internal error: require '#{f}' not declared in DEPS}")
33
+ end
34
+
35
+ begin
36
+ require f
37
+ rescue Exception => e
38
+ puts "*"*47
39
+ puts "** READ THIS ** "*3
40
+ puts "** An error occured while loading module #{f}"
41
+ puts "** This is most likely because this module is not installed on this system."
42
+ puts "** Please use the following command for installing #{f} module :"
43
+ puts "$ set HTTP_PROXY=http://yourProxy:yourPort"
44
+ puts "$ gem install #{f}"
45
+ puts "*"*47
46
+ raise e
47
+ end
48
+ end
49
+ end
50
+
51
+ # default configuration file
52
+ ONTOMDE_DEFAULT_CONFIGURATION=".ontomde-java"
53
+
54
+ # open default configuration file.
55
+ def addOptionsFromConfigurationFile(opts)
56
+ insertIndex=0
57
+ [ONTOMDE_DEFAULT_CONFIGURATION, ONTOMDE_DEFAULT_CONFIGURATION+"-user"].each {|confile|
58
+ unless(File.exists?(confile))
59
+ puts "no configuration file found (#{confile})"
60
+ else
61
+ puts "loading configuration file (#{confile})"
62
+ File.open(confile){ |f|
63
+ f.each_line { |line|
64
+ next if line =~/^[ ]*#/
65
+ next if line =~/^[ ]*$/
66
+ line.chop!.split(" ").each { |item|
67
+ opts.insert(insertIndex,item)
68
+ insertIndex+=1
69
+ }
70
+ }
71
+ }
72
+ end
73
+ }
74
+ end
75
+
76
+ #Rubygems allow a specific script version to be passed on command line.
77
+ #Version is passed as a first parameter like : _1.0.1_
78
+ #
79
+ #For testing purposes, this script may be called directly (not through gem).
80
+ #We have to remove the version number which was not removed by gem.
81
+ def removeVersionInARGV
82
+ return if ARGV.empty?
83
+ return unless ARGV[0]=~/^_[.0-9]*_$/
84
+ puts "** WARNING: command line parameter #{ARGV[0]} ignored.\n"
85
+ ARGV.delete_at(0)
86
+ end
87
+
88
+ # generate a helper ruby file for running this script from a debugger.
89
+ def generateDebugLauncher(orgARGV)
90
+ initARGV="ARGV.clear\n"
91
+ orgARGV.each { |item|
92
+ initARGV+="ARGV<< '"+item.gsub(/\\/,'\\\\\\\\')+"' \n"
93
+ }
94
+ File.open("ontomde-java-debug.rb",File::CREAT|File::TRUNC|File::RDWR, 0644) { |f|
95
+ f.write %{
96
+ puts "# # # Begin of debug script"
97
+
98
+ puts "# # # Move to original working directory"
99
+ Dir.chdir(File.dirname(__FILE__))
100
+
101
+ puts "# # # requesting ontomde-java-frontend version #{Ontomde::Java::VERSION}"
102
+ gem("ontomde-java-frontend","#{Ontomde::Java::VERSION}")
103
+
104
+
105
+ puts "# # # ARGV initialization"
106
+ #{initARGV}
107
+
108
+ puts "# # #loading ontomde-java command line script"
109
+ require 'ontomde-java-frontend/command.rb'
110
+
111
+ puts "# # # running ontomde-java"
112
+ runJavaFrontEnd(__FILE__)
113
+
114
+ puts "### End of debug script"
115
+
116
+ }
117
+ }
118
+ end
119
+
120
+
121
+
122
+ # run java generator command line front end
123
+ # startupFile is the name of the calling script.
124
+ #
125
+ # cf: #getDefaultOptions, #populateOptionsFromCommandLine, #getGenerationChain
126
+ def runJavaFrontEnd(startupFile)
127
+ puts "Starting ontomde v. #{Ontomde::Java::VERSION}"
128
+
129
+ removeVersionInARGV()
130
+ orgARGV=ARGV.clone
131
+ addOptionsFromConfigurationFile(ARGV)
132
+ options=getDefaultOptions()
133
+ populateOptionsFromCommandLine(startupFile,options)
134
+ generateDebugLauncher(orgARGV) if[:generateDebugLauncher]
135
+
136
+
137
+
138
+ begin # of the rescue section
139
+ if options[:selfTestAndExit ]
140
+ # load every depencies
141
+ # used by rubyscript2exe to automatically populate
142
+ # en inventory of used dependencies
143
+ Kernel::DEPS.each { |deps|
144
+ require deps
145
+ }
146
+ exit 0
147
+ end
148
+
149
+ if options[:bpm]
150
+ require_deps 'ontomde-uml2-jpdl'
151
+ end
152
+
153
+ if options[:inspector] || options[:inspectorAfterLoad]
154
+ puts "dameon"
155
+ require_deps 'ontomde-core/inspector'
156
+ end
157
+
158
+ if options[:struts] #||options[:useUnzip] || options[:messageCheck]
159
+ options[:withGenerateMethodForm]=true
160
+ require_deps 'ontomde-java/struts'
161
+ else
162
+ #options[:installRessources]=false
163
+ options[:messageCheck]=false
164
+ options[:useUnzip]=false
165
+ end
166
+
167
+ if options[:crank] #||options[:useUnzip] || options[:messageCheck]
168
+ require_deps 'ontomde-uml2-crank'
169
+ end
170
+
171
+ if options[:testDataRDFS].nil? && options[:testDataRDF]=~/\.rdf$/
172
+ #guess rdfs file name
173
+ options[:testDataRDFS]=options[:testDataRDF].gsub(/\.rdf$/,'.rdfs')
174
+ end
175
+
176
+ if options[:ejb2]
177
+ require_deps 'ontomde-uml2-ejb2'
178
+ end
179
+
180
+ if options[:rel_mapping]=='jpox'
181
+ require_deps 'ontomde-uml2-jdo'
182
+ elsif options[:rel_mapping]=='hibernate'
183
+ require_deps 'ontomde-java/jpa'
184
+ elsif options[:rel_mapping]=='none'
185
+ # nop
186
+ else
187
+ m="unknown object/relational mapping library (#{options[:rel_mapping]})"
188
+ log.error(m)
189
+ raise Exception.new(m)
190
+ end
191
+
192
+ if options[:flex]
193
+ require_deps 'ontomde-uml2-flex'
194
+ end
195
+
196
+ if options[:enableTestData]
197
+ puts "ENABLED testDATA" if options[:verbose]
198
+ require_deps 'ontomde-uml2/kb'
199
+ require_deps 'ontomde-java/kbjava'
200
+ end
201
+ options[:db]=(options[:rel_mapping] != "none")
202
+ options[:javaDir]=options[:targetDir]+"/"+options[:javaRelativeDir]
203
+ options[:flexDir]=options[:targetDir]+"/"+options[:flexRelativeDir]
204
+
205
+ if !options[:jpaConfigDir].nil?
206
+ options[:jpaConfigDir]=options[:targetDir]+"/"+options[:jpaConfigDir]
207
+ end
208
+ options[:webResourcesDir]=options[:targetDir]+"/"+options[:webResourcesDir]
209
+ options[:webContentDir]=options[:targetDir]+"/"+options[:webContentRelativeDir]
210
+ options[:load].each { |f|
211
+ puts "INFO : Loading custom transformation from #{f} in #{FileUtils.pwd}" if options[:verbose]
212
+ begin
213
+ # if require is used add "./" to avoid
214
+ # file not found from binary generated with rubyscript2exe
215
+ require "./#{f}"
216
+ rescue Exception => e
217
+ log.error %{
218
+ *************** ERROR ***************
219
+ ** Error processing
220
+ ** --load #{f}
221
+ ** (pwd=#{FileUtils.pwd})
222
+ ** Exception:
223
+ ** #{e}
224
+ *************** ERROR ***************
225
+
226
+ }
227
+ raise e
228
+
229
+ end
230
+ }
231
+
232
+
233
+ if !options[:globalReverseFile].nil?
234
+ options[:hasGlobalReverse]=true
235
+ end
236
+
237
+ options[:startupFile]=startupFile # used by inspectAfterLoad
238
+
239
+ model=Crdf_Repository.new
240
+ model.mtk_context(options) {
241
+
242
+
243
+
244
+
245
+
246
+
247
+ if model.context[:benchmark]
248
+ require 'benchmark'
249
+ include Benchmark
250
+
251
+ labels=[]
252
+ getGenerationChain.each{ |step|
253
+ puts "step : #{step[0]}"
254
+ labels<<step[0]
255
+ }
256
+ Benchmark.benchmark(" " + CAPTION, labels.length, FMTSTR, *(labels+[">total",">avg"])) do |x|
257
+ duration={}
258
+ totalDuration=0
259
+ getGenerationChain.each { |step|
260
+ label=step[0]
261
+ methodName=step[1]
262
+ duration[label]=x.report(label) {
263
+ callStep(model,methodName)
264
+ }
265
+ totalDuration+=duration[label]
266
+ }
267
+ puts "***************************************************"
268
+ puts " user system total real"
269
+ return duration+[totalDuration,totalDuration/labels.length]
270
+ end
271
+ else
272
+ getGenerationChain.each{ |step|
273
+ label=step[0]
274
+ methodName=step[1]
275
+ callStep(model,methodName)
276
+ }
277
+ end
278
+
279
+ model.inspector_start_daemon(startupFile) if options[:inspector]
280
+
281
+ }
282
+ rescue Exception => e
283
+ if options[:backTrace]
284
+ raise e
285
+ else
286
+ puts "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
287
+ puts e
288
+ puts "use --backTrace to display full backtrace"
289
+ puts "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
290
+ exit(1)
291
+ end
292
+ rescue => e
293
+ if options[:backTrace]
294
+ raise e
295
+ else
296
+ puts "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
297
+ puts e
298
+ puts "use --backTrace to display full backtrace"
299
+ puts "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
300
+ exit(1)
301
+ end
302
+ rescue RuntimeError => e
303
+ if options[:backTrace]
304
+ raise e
305
+ else
306
+ puts "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
307
+ puts e
308
+ puts "use --backTrace to display full backtrace"
309
+ puts "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
310
+ exit(1)
311
+ end
312
+ end
313
+
314
+ end
315
+
316
+
317
+ def say(x)
318
+ #puts("# #{File.basename(startupFile)}: #{x}")
319
+ puts " :#{x}"
320
+ end
321
+
322
+
323
+
324
+
@@ -0,0 +1,583 @@
1
+ no configuration file found (.ontomde-java)
2
+ no configuration file found (.ontomde-java-user)
3
+ ontomde-java is a command line utility to generate Java Code from a UML2 model stored in a UML2/RDF model file.
4
+
5
+ This command line is a front end to OntoMDE generator offering a set of pre-packaged, yet powerfull generation rules.
6
+
7
+ This Java code generator is full featured and covers many UML features (incremental generation, loading of additional MDA transformation rules, ...)
8
+
9
+ == Example: generate java code from one model file
10
+ $ ontomde-java --nt myUmlModel.emx.nt
11
+
12
+ == Example: generate java code in a custom directory
13
+ $ ontomde-java --nt myUmlModel.emx.nt --target ./src
14
+
15
+ == Usage:
16
+ ontomde-java [options]
17
+
18
+ == Source and Target options :
19
+
20
+ ===-nt FILE1.nt,FILE2.nt, ... :
21
+
22
+ Source UML2 model(s) (exported from a UML case tool)
23
+
24
+
25
+ <i>default:</i> --nt
26
+
27
+ ===-ntList FILE1,FILE2,... :
28
+
29
+ File containing a list of nt file to be loaded
30
+ ===-l, --load FILE1.rb,File2.rb :
31
+
32
+ Optionnal ruby extension or setup file (used as well new datatype declaration mappings, as for any generation customisation)
33
+
34
+
35
+ <i>default:</i> --load
36
+ ===-loadDir DIRECTORY1,.. :
37
+
38
+ Optionnal ruby extension or setup file
39
+ (used as well new datatype declaration mappings, as for any generation customisation)
40
+
41
+
42
+ <i>default:</i> --loadDir
43
+ ===-loadList FILE_list1,FILE_list2, ... :
44
+
45
+ File containing a list of ruby file to be loaded
46
+ (same as --load on each item)
47
+ ===-javaRelativeDir DIRECTORY :
48
+
49
+ Relative destination directory for generated java files, properties, ...
50
+ relative to --targetDir
51
+
52
+
53
+ <i>default:</i> --javaRelativeDir src/main/java/
54
+ ===-webResourcesDir DIRECTORY :
55
+
56
+ Relative destination directory for generated Web Resources properties, ...
57
+ relative to --targetDir
58
+
59
+
60
+ <i>default:</i> --webResourcesDir src/main/java/
61
+ ===-javaFilePathRegexp REGEXP@DIRECTORY :
62
+
63
+ Relative destination directory for generated java files, properties, ...
64
+ relative to --targetDir
65
+
66
+
67
+ <i>default:</i> --javaFilePathRegexp
68
+ ===-targetDir DIRECTORY :
69
+
70
+ Target generation root directory
71
+
72
+
73
+ <i>default:</i> --targetDir .
74
+
75
+ == Model pre-processors options :
76
+
77
+ ===-[no-]withMultipleInheritance :
78
+
79
+ Apply pattern to map UML model with multiple inheritance to Java compliant model.
80
+ (Class inheritance is mapped to interface implementation)
81
+
82
+
83
+ <i>default:</i> --withMultipleInheritance
84
+ ===-[no-]statemachine :
85
+
86
+ Apply state Machine genration on State Diagram.
87
+ State Machine
88
+
89
+
90
+ <i>default:</i> --no-statemachine
91
+ ===-p, --[no-]withAutoImplementProperty :
92
+
93
+ Generate automatically missing property in concrete class implementing an interface uml properties
94
+ (feature introduced for model redondancy reduction)
95
+
96
+
97
+ <i>default:</i> --no-withAutoImplementProperty
98
+ ===-o, --[no-]withAutoImplementOperation :
99
+
100
+ Generate automatically missing operations in concrete class implementing an interface
101
+ (feature introduced for model redondancy reduction)
102
+
103
+
104
+ <i>default:</i> --no-withAutoImplementOperation
105
+ ===-[no-]makeCompositionBiNavigable :
106
+
107
+ Force compositions to be bi-navigable
108
+ (Feature introduced for web persistence handling)
109
+
110
+
111
+ <i>default:</i> --no-makeCompositionBiNavigable
112
+ ===-[no-]contextualizeStaticProperties :
113
+
114
+ (alpha feature) Move static elements to composite owner.
115
+ This feature is used in order to have persistent static properties.
116
+
117
+
118
+ <i>default:</i> --no-contextualizeStaticProperties
119
+
120
+ == Model enhancement options:
121
+
122
+ ===-a, --[no-]withEnumAssignable :
123
+
124
+ Generates for each class and interfaces an enum containing assignable class
125
+ (required for creators)
126
+ NOTE: also disable generation of createAndAdd methods
127
+
128
+
129
+ <i>default:</i> --withEnumAssignable
130
+ ===-enumAssignableSubPackage SUBDIR :
131
+
132
+ Directory where enumAssignable artefacts wil be generated
133
+
134
+
135
+ <i>default:</i> --enumAssignableSubPackage assignable
136
+ ===-f, --[no-]withGenerateMethodForm :
137
+
138
+ Apply a pattern to generate a form (as a class) for every method of the model.
139
+ (Feature introduced for web form handling)
140
+
141
+
142
+ <i>default:</i> --no-withGenerateMethodForm
143
+
144
+ == Pre-Java 5 compatibility options:
145
+
146
+ ===-e, --[no-]withEnumAsString :
147
+
148
+ Generate additional string getter and setter
149
+ for properties with an enum type, so enums property can be manipulated as if it was a string
150
+ (feature introduced
151
+ for Flex interoperability)
152
+
153
+
154
+ <i>default:</i> --no-withEnumAsString
155
+
156
+ == Tests Data options:
157
+
158
+ ===-[no-]excludeNonTestFiles :
159
+
160
+ Do not generate files which are not test files
161
+ junit,data,...
162
+
163
+
164
+ <i>default:</i> --no-excludeNonTestFiles
165
+ ===-[no-]includeTestFiles :
166
+
167
+ Include test files in generation
168
+ junit,data,...
169
+
170
+
171
+ <i>default:</i> --includeTestFiles
172
+
173
+ == Access control enhancement options:
174
+
175
+ ===-[no-]security :
176
+
177
+ Activate authentification and access control
178
+
179
+
180
+ <i>default:</i> --no-security
181
+
182
+ == Runtime scripting options:
183
+
184
+ ===-[no-]script :
185
+
186
+ Activate script engine
187
+
188
+
189
+ <i>default:</i> --no-script
190
+
191
+ == WebService options:
192
+
193
+ ===-[no-]webservice :
194
+
195
+ Activate Web Service
196
+
197
+
198
+ <i>default:</i> --no-webservice
199
+
200
+ == BPM enhancement options:
201
+
202
+ ===-[no-]bpm :
203
+
204
+ Activate bpm processing
205
+
206
+
207
+ <i>default:</i> --no-bpm
208
+ ===-jpdl FILE1.nt,FILE2.nt, ... :
209
+
210
+ Source jpdl xml BPM model(s)
211
+
212
+
213
+ <i>default:</i> --jpdl
214
+ ===-jpdlList FILE_list1,FILE_list2, ... :
215
+
216
+ File containing a list of jpdl file to be loaded
217
+ ===-bpm_javaSubPackage [SUBPACKAGE] :
218
+
219
+ Relative sub package where will be generated service class
220
+ (enums for transitions,...)
221
+
222
+
223
+ <i>default:</i> --bpm_javaSubPackage bpm
224
+
225
+ == Crank options
226
+
227
+ --[no-]crank Enable crank generation.
228
+
229
+
230
+ <i>default:</i> --no-crank
231
+
232
+ == Flex integration options:
233
+
234
+ ===-[no-]generateXMLStrutsForm :
235
+
236
+ Add XML form serializer.
237
+ feature introduced for FLEX
238
+
239
+
240
+ <i>default:</i> --no-generateXMLStrutsForm
241
+ ===-[no-]flex :
242
+
243
+ Generate flex code
244
+
245
+
246
+ <i>default:</i> --no-flex
247
+
248
+ == Database persistence options:
249
+
250
+ ===-m, --relational_mapping objr :
251
+
252
+ Select object/relation library
253
+ (none,jpa,jdo,jpox,jpa)
254
+
255
+
256
+ <i>default:</i> --relation_mapping none
257
+ ===-[no-]db_useStereotypeMarker :
258
+
259
+ Are persistent capable classes marked with a stereotype
260
+
261
+
262
+ <i>default:</i> --no-db_useStereotypeMarker
263
+ ===-[no-]silentlyTruncateTableName :
264
+
265
+ Silently truncate generated table name to maximum sgbd allowed length.
266
+
267
+
268
+ <i>default:</i> --no-silentlyTruncateTableName
269
+ ===-d, --ddl_mode [MODE] :
270
+
271
+ SGBD schema creation mode
272
+ (create/update/...)
273
+
274
+
275
+ <i>default:</i> --ddl_mode create
276
+ ===-s, --[no-]simulateNotImplementedMethods :
277
+
278
+ Replace unimplemeted method with a simulation method.
279
+
280
+
281
+ <i>default:</i> --no-simulateNotImplementedMethods
282
+ ===-[no-]java_addSuggester :
283
+
284
+ Add or remove the suggester method.
285
+
286
+
287
+ <i>default:</i> --no-java_addSuggester
288
+ ===-dbTypeDiscriminator [objr] :
289
+
290
+ Column type used to store an object type in database.
291
+ (default,int,:default,:int)
292
+
293
+
294
+ <i>default:</i> --dbTypeDiscriminator :default,:int
295
+ ===-dbDiscriminatorCacheRelFile [RBFILE] :
296
+
297
+ File where db discriminator will be saved
298
+ to allow subsquent generation to use the same ids
299
+ NOTE: generated file will not be used, unless specified using --load option
300
+
301
+
302
+ <i>default:</i> --dbDiscriminatorCacheRelFile dbDiscriminatorCache.rb
303
+ ===-[no-]mysql :
304
+
305
+ Optimize for mysql.
306
+
307
+
308
+ <i>default:</i> --no-mysql
309
+ ===-[no-]derby :
310
+
311
+ Optimize for derby.
312
+
313
+
314
+ <i>default:</i> --no-derby
315
+ ===-jpaConfigDir JPA_CONFIG_DIR :
316
+
317
+ Directory for the persistence.xml
318
+
319
+ == Struts Webapp options:
320
+
321
+ ===-[no-]struts :
322
+
323
+ Enable struts generation.
324
+
325
+
326
+ <i>default:</i> --no-struts
327
+ ===-[no-]java_addJavaEnumInterface :
328
+
329
+ Add Enum Interface.
330
+
331
+
332
+ <i>default:</i> --no-java_addJavaEnumInterface
333
+ ===-u, --[no-]useUnzip :
334
+
335
+ Use unzip to install resources.
336
+
337
+
338
+ <i>default:</i> --no-useUnzip
339
+ ===-c, --[no-]message-check :
340
+
341
+ Check message ressources consistency.
342
+
343
+
344
+ <i>default:</i> --message-check
345
+ ===-webContentRelativeDir [DIRECTORY] :
346
+
347
+ Directory where webapp artefacts wil be generated (WEB-INF, META-INF, JSP, ...)
348
+
349
+
350
+ <i>default:</i> --webContentRelativeDir ./WebContent/
351
+ ===-strutsActionFormPackage [SUBPACKAGE] :
352
+
353
+ SubPackage where to generate struts related classes
354
+
355
+
356
+ <i>default:</i> --strutsActionFormPackage struts
357
+
358
+ == EJB options:
359
+
360
+ ===-[no-]ejb2 :
361
+
362
+ Enable ejb2 experimental processing
363
+
364
+
365
+ <i>default:</i> --no-ejb2
366
+ ===-[no-]generateComponent :
367
+
368
+ generate UML component as Java code
369
+
370
+
371
+ <i>default:</i> --generateComponent
372
+ ===-t, --target_ejbconf DIRECTORY :
373
+
374
+ Destination directory for generated files
375
+
376
+
377
+ <i>default:</i> --target_ejbconf
378
+
379
+ == Misc. options:
380
+
381
+ ===-[no-]generateAntBuildFile :
382
+
383
+ Generates a default ant build file
384
+
385
+
386
+ <i>default:</i> --no-generateAntBuildFile
387
+ ===-versionSignature version :
388
+
389
+ Adds a version signature to generated code, so old cold will not compile.
390
+ (an implemented interface is added to class and interfaces)
391
+
392
+
393
+ <i>default:</i> --versionSignature
394
+ ===-[no-]skipNoReverseMarker :
395
+
396
+ Only write markers when reverse is already set to yes. Usefull to get rid of unused reverse zone and get a better code browsing experience.
397
+
398
+
399
+ <i>default:</i> --no-skipNoReverseMarker
400
+ ===-globalReverseFile FILE :
401
+
402
+ File containing all the tags of the reversed files
403
+ ===-[no-]readGlobalReverseFile :
404
+
405
+ Read the global reverse file for protected code.
406
+
407
+
408
+ <i>default:</i> --readGlobalReverseFile
409
+ ===-[no-]silentlyForceUnknownDatatypeToString :
410
+
411
+ Silently map an unknown datatype to String. This feature should only be used for testing.
412
+
413
+
414
+ <i>default:</i> --no-silentlyForceUnknownDatatypeToString
415
+ ===-[no-]java_failIfNonUniqueName :
416
+
417
+ Stop generation immediately when a name unicitiy constraint failure is detected.
418
+
419
+
420
+ <i>default:</i> --java_failIfNonUniqueName
421
+ ===-[no-]groovyExperimental :
422
+
423
+ Add experimental groovy features (alpha).
424
+
425
+
426
+ <i>default:</i> --no-groovyExperimental
427
+ ===-[no-]inspector :
428
+
429
+ start inspector web server at the end of code generation. Inspector is a web application for browsing in-memory scructure. This features is usefull for browsing meta-model structure and meta-model method calls.
430
+
431
+
432
+ <i>default:</i> --no-inspector
433
+ ===-[no-]inspectorAfterLoad :
434
+
435
+ start inspector web server just after loading models in memory. Inspector is a web application for browsing in-memory scructure. This features is usefull for browsing meta-model structure and meta-model method calls.
436
+
437
+
438
+ <i>default:</i> --no-inspectorAfterLoad
439
+ ===-[no-]generateDebugLauncher :
440
+
441
+ generates ruby script helper for launching ontomde-java from a ruby debugger. (netbeans, ruby, ...)
442
+
443
+
444
+ <i>default:</i> --no-generateDebugLauncher
445
+
446
+ == Report generator:
447
+
448
+ ===-rsm6WebDocURI URL :
449
+
450
+ Base URL of RSM6 model html export
451
+
452
+
453
+ <i>default:</i> --
454
+ ===-[no-]hideJavadocReverseTag :
455
+
456
+ Hide javadoc reverse tag.
457
+
458
+
459
+ <i>default:</i> --no-reverseJavadoc
460
+ ===-[no-]generateCompositionDiagram :
461
+
462
+ Generate a composition diagram (in graphviz dot file format)
463
+
464
+
465
+ <i>default:</i> --no-generateCompositionDiagram
466
+ ===-[no-]checkForAbstractAndInheritance :
467
+
468
+ Check model for abstract class with inheriting classes. Stop generation if an invalid class is encountered.
469
+
470
+
471
+ <i>default:</i> --no-checkForAbstractAndInheritance
472
+
473
+ == Debug options:
474
+
475
+ ===-[no-]salvage :
476
+
477
+ Tries to handle highly defective model using best guess.
478
+ This feature is only intended for **quick demo** purposes.
479
+ Do not use for serious work!
480
+
481
+
482
+ <i>default:</i> --no-salvage
483
+
484
+ == File creation options:
485
+
486
+ ===-[no-]autoNewFileCreation :
487
+
488
+ Allows generator to create new file on its own
489
+ This feature should be deactivated for project under version control so no new file can be added to a project without a developper approval.
490
+ This feature should also be deactivated to help keep track of file rename and allow project refactoring
491
+
492
+
493
+ <i>default:</i> --autoNewFileCreation
494
+ ===-[no-]allowAutomaticCodeDeletion :
495
+
496
+ Automatically ignore deleted protected code.
497
+ If disabled, generator will halt when reversed code is not reused in file newly created
498
+
499
+
500
+ <i>default:</i> --no-allowAutomaticCodeDeletion
501
+ ===-[no-]dry-run :
502
+
503
+ Do a dry run without executing actions..
504
+ No file will be changed neither created on disk
505
+
506
+
507
+ <i>default:</i> --no-dry-run
508
+ ===-v, --[no-]verbose :
509
+
510
+ Run in verbose mode
511
+
512
+
513
+ <i>default:</i> --no-verbose
514
+ ===-[no-]benchmark :
515
+
516
+ Run in benchmark mode
517
+ Feature usefull for optimizing generation time
518
+
519
+
520
+ <i>default:</i> --no-benchmark
521
+ ===-[no-]profile :
522
+
523
+ Run in profile mode
524
+ Feature usefull for optimizing generation time
525
+
526
+
527
+ <i>default:</i> --no-profile
528
+ ===-[no-]logFileWrite :
529
+
530
+ Log file write access to screen
531
+
532
+
533
+ <i>default:</i> --no-logFileWrite
534
+ ===-[no-]selfTestAndExit :
535
+
536
+ Self test and exit.
537
+ (loads every dependencies)
538
+ (Note: used by binary generator)
539
+
540
+
541
+ <i>default:</i> --no-selfTestAndExit
542
+ ===-[no-]backTrace :
543
+
544
+ Display back trace on error.
545
+
546
+
547
+ <i>default:</i> --no-backTrace
548
+
549
+ == Knowledge base export options:
550
+
551
+ ===-[no-]updateTestDataProject :
552
+
553
+ update data test file specified by testDataRDFS
554
+
555
+
556
+ <i>default:</i> --no-updateTestDataProject
557
+ ===-testDataProject DATAPROJECT :
558
+
559
+ load Data from Protege/2000 RDF/RDFS DATAPROJECT (name of project without extension .pprj)
560
+
561
+ == XML schema export options:
562
+
563
+ ===-[no-]generateXSD :
564
+
565
+ generate XSD schema files
566
+
567
+
568
+ <i>default:</i> --no-generateXSD
569
+
570
+ == Software As A Service (SaaS) options:
571
+
572
+ ===-[no-]multiTenant :
573
+
574
+ enable multi-tenant mode which allows shared hosting of an application for multiple tenants.
575
+
576
+
577
+ <i>default:</i> --no-multiTenant
578
+ ===-h, --help :
579
+
580
+ Show this message
581
+ ===-help-rdoc :
582
+
583
+ Show help in rdoc format