ontomde-java 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +10 -0
- data/Manifest.txt +156 -0
- data/README.txt +98 -0
- data/Rakefile +21 -0
- data/bin/ontomde-java +5 -0
- data/generateRdocFile.sh +16 -0
- data/lib/ontomde-java.rb +45 -0
- data/lib/ontomde-java/crank.rb +13 -0
- data/lib/ontomde-java/crank/context.rb +384 -0
- data/lib/ontomde-java/crank/crankJpa.rb +103 -0
- data/lib/ontomde-java/crank/equals.rb +83 -0
- data/lib/ontomde-java/crank/facelets.rb +243 -0
- data/lib/ontomde-java/crank/facesconfig.rb +113 -0
- data/lib/ontomde-java/crank/helper.rb +46 -0
- data/lib/ontomde-java/crank/main.rb +51 -0
- data/lib/ontomde-java/crank/menu.rb +39 -0
- data/lib/ontomde-java/crank/menu2.rb +78 -0
- data/lib/ontomde-java/crank/validation.rb +34 -0
- data/lib/ontomde-java/ejb2.rb +3 -0
- data/lib/ontomde-java/ejb2/main-ejb2.rb +194 -0
- data/lib/ontomde-java/flex.rb +7 -0
- data/lib/ontomde-java/flex/Editor.mxml.as.rb +184 -0
- data/lib/ontomde-java/flex/Editor.mxml.rb +701 -0
- data/lib/ontomde-java/flex/ImportationAS.rb +40 -0
- data/lib/ontomde-java/flex/ValueObjectAS.rb +338 -0
- data/lib/ontomde-java/flex/fileTypes.rb +19 -0
- data/lib/ontomde-java/flex/main.rb +347 -0
- data/lib/ontomde-java/frontend/command.rb +324 -0
- data/lib/ontomde-java/frontend/command.rdoc +583 -0
- data/lib/ontomde-java/frontend/defaultOptions.rb +124 -0
- data/lib/ontomde-java/frontend/options.rb +555 -0
- data/lib/ontomde-java/frontend/steps.rb +287 -0
- data/lib/ontomde-java/java/accessorCode.rb +528 -0
- data/lib/ontomde-java/java/accessorSignature.rb +347 -0
- data/lib/ontomde-java/java/annotationOntoMDE.rb +88 -0
- data/lib/ontomde-java/java/apache.rb +34 -0
- data/lib/ontomde-java/java/build.rb +80 -0
- data/lib/ontomde-java/java/collectionMapping.rb +112 -0
- data/lib/ontomde-java/java/component.rb +446 -0
- data/lib/ontomde-java/java/contextualize.rb +43 -0
- data/lib/ontomde-java/java/enumAssignable.rb +75 -0
- data/lib/ontomde-java/java/enumCompatibilityLayer.rb +195 -0
- data/lib/ontomde-java/java/equals.rb +91 -0
- data/lib/ontomde-java/java/groovy.rb +95 -0
- data/lib/ontomde-java/java/java.rb +1329 -0
- data/lib/ontomde-java/java/java.rdoc +78 -0
- data/lib/ontomde-java/java/javaDatatypeMapping.rb +156 -0
- data/lib/ontomde-java/java/javaHelper.rb +25 -0
- data/lib/ontomde-java/java/java_todo.rdoc +3 -0
- data/lib/ontomde-java/java/javadoc.rb +254 -0
- data/lib/ontomde-java/java/meta.rb +28 -0
- data/lib/ontomde-java/java/operationAsClass.rb +144 -0
- data/lib/ontomde-java/java/security.rb +260 -0
- data/lib/ontomde-java/java/stateMachine.rb +415 -0
- data/lib/ontomde-java/java/tenant.rb +65 -0
- data/lib/ontomde-java/java/xsd.rb +1363 -0
- data/lib/ontomde-java/java/xsdCollectionMapping.rb +112 -0
- data/lib/ontomde-java/java/xsdDatatypeMapping.rb +103 -0
- data/lib/ontomde-java/jpa.rb +17 -0
- data/lib/ontomde-java/jpa/configuration.rb +176 -0
- data/lib/ontomde-java/jpa/finder.rb +102 -0
- data/lib/ontomde-java/jpa/jpa.rb +531 -0
- data/lib/ontomde-java/jpa/jpa.rdoc +20 -0
- data/lib/ontomde-java/jpa/locking.rb +18 -0
- data/lib/ontomde-java/jpa/mapping.rb +314 -0
- data/lib/ontomde-java/jpa/redefined.rb +77 -0
- data/lib/ontomde-java/jpa/simulationAutoImplement.rb +54 -0
- data/lib/ontomde-java/jpdl.rb +9 -0
- data/lib/ontomde-java/jpdl/bpm.pprj +1745 -0
- data/lib/ontomde-java/jpdl/bpm.rdf +140 -0
- data/lib/ontomde-java/jpdl/bpm.rdfs +231 -0
- data/lib/ontomde-java/jpdl/constant.rb +5 -0
- data/lib/ontomde-java/jpdl/graphic.rb +52 -0
- data/lib/ontomde-java/jpdl/jpdl.rb +281 -0
- data/lib/ontomde-java/jpdl/jpdl_deploy.rb +114 -0
- data/lib/ontomde-java/jpdl/main.rb +348 -0
- data/lib/ontomde-java/jpdl/main.rdoc +2 -0
- data/lib/ontomde-java/jpdl/processOperationToClass.rb +316 -0
- data/lib/ontomde-java/kbjava.rb +6 -0
- data/lib/ontomde-java/kbjava/rdfToJava.rb +407 -0
- data/lib/ontomde-java/struts.rb +27 -0
- data/lib/ontomde-java/struts/MessageResources.rb +359 -0
- data/lib/ontomde-java/struts/action.rb +883 -0
- data/lib/ontomde-java/struts/blob.rb +11 -0
- data/lib/ontomde-java/struts/exceptionHandling.rb +167 -0
- data/lib/ontomde-java/struts/footer.rb +128 -0
- data/lib/ontomde-java/struts/form.rb +450 -0
- data/lib/ontomde-java/struts/header.rb +37 -0
- data/lib/ontomde-java/struts/header_link.rb +39 -0
- data/lib/ontomde-java/struts/jsp_edit.rb +870 -0
- data/lib/ontomde-java/struts/jsp_edit_field.rb +1 -0
- data/lib/ontomde-java/struts/jsp_edit_js.rb +124 -0
- data/lib/ontomde-java/struts/jsp_index.rb +136 -0
- data/lib/ontomde-java/struts/localeAction.rb +641 -0
- data/lib/ontomde-java/struts/main.rb +41 -0
- data/lib/ontomde-java/struts/mappingForBean.rb +132 -0
- data/lib/ontomde-java/struts/mappingForJsp.rb +272 -0
- data/lib/ontomde-java/struts/mappingToJavaHierarchy.rb +87 -0
- data/lib/ontomde-java/struts/reloadAction.rb +33 -0
- data/lib/ontomde-java/struts/spring.rb +89 -0
- data/lib/ontomde-java/struts/struts-config.rb +232 -0
- data/lib/ontomde-java/struts/validation.rb +116 -0
- data/lib/ontomde-java/struts/validator.rb +341 -0
- data/lib/ontomde-java/struts/webXml.rb +195 -0
- data/lib/ontomde-java/struts/xmlForm.rb +308 -0
- data/lib/ontomde-java/version.rb +5 -0
- data/profiling.xls +0 -0
- data/test/.classpath +14 -0
- data/test/.project +17 -0
- data/test/.settings/org.eclipse.jdt.core.prefs +23 -0
- data/test/Rakefile +71 -0
- data/test/build.xml +34 -0
- data/test/classpath.rb +15 -0
- data/test/lib/junit-4.1.jar +0 -0
- data/test/load1.rb +3 -0
- data/test/load2.rb +3 -0
- data/test/log4j.properties +46 -0
- data/test/model/.project +11 -0
- data/test/model/BigProject.mdzip +0 -0
- data/test/model/BigProject.mdzip.nt +102866 -0
- data/test/model/ClassDiagram.EntArch.gif +0 -0
- data/test/model/ClassDiagram.emx.gif +0 -0
- data/test/model/ClassDiagram.mdzip.gif +0 -0
- data/test/model/model_ea71.bis.ea.xmi +149 -0
- data/test/model/model_ea71.ea.xmi +4470 -0
- data/test/model/model_ea71.eap +0 -0
- data/test/model/model_ea71_README.txt +8 -0
- data/test/model/multipleInheritance.emx +466 -0
- data/test/model/multipleInheritance.emx.nt +2428 -0
- data/test/model/simple1-530.ofp +0 -0
- data/test/model/simple1-includedAsReference.emx +169 -0
- data/test/model/simple1.emx +3729 -0
- data/test/model/simple1.emx.fragments.nt +81 -0
- data/test/model/simple1.emx.nt +5760 -0
- data/test/model/simple1.mdzip +0 -0
- data/test/model/simple1.mdzip.nt +11500 -0
- data/test/model/simple1.oe530.nt +1986 -0
- data/test/model/simple1.oe600.nt +1627 -0
- data/test/src/RuntimeTest.java +656 -0
- data/test/src/testsLevel1.java +174 -0
- data/test/src/testsLevel2.java +29 -0
- data/test/src/testsLevel3.java +40 -0
- data/test/test-ea7.sh +15 -0
- data/test/test-magicDraw.sh +10 -0
- data/test/test-mi.sh +9 -0
- data/test/test-oe530.sh +10 -0
- data/test/test-oe600.sh +11 -0
- data/test/test-rsm.sh +11 -0
- data/test/test_export_ea71.rb +5 -0
- data/test/test_export_oe530.rb +4 -0
- data/test/test_export_oe600.rb +4 -0
- data/test/test_export_rsm60.rb +4 -0
- data/test/trace +419 -0
- data/test/uml_test.rb +1434 -0
- data/test/uml_test.xls +0 -0
- data/test/unit_test.rb +6 -0
- 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
|