ontomde-java 2.0.4 → 2.0.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -49,6 +49,7 @@ lib/ontomde-java/java/java_todo.rdoc
49
49
  lib/ontomde-java/java/javadoc.rb
50
50
  lib/ontomde-java/java/meta.rb
51
51
  lib/ontomde-java/java/operationAsClass.rb
52
+ lib/ontomde-java/java/refactor.rb
52
53
  lib/ontomde-java/java/security.rb
53
54
  lib/ontomde-java/java/stateMachine.rb
54
55
  lib/ontomde-java/java/tenant.rb
@@ -41,6 +41,7 @@ require 'ontomde-java/java/xsd.rb'
41
41
  require 'ontomde-java/java/xsdCollectionMapping.rb'
42
42
  require 'ontomde-java/java/xsdDatatypeMapping.rb'
43
43
  require 'ontomde-java/java/tenant.rb'
44
+ require 'ontomde-java/java/refactor.rb'
44
45
  require 'ontomde-java/vmware/vso.rb'
45
46
 
46
47
 
@@ -98,13 +98,15 @@ puts "# # # Begin of debug script"
98
98
  puts "# # # Move to original working directory"
99
99
  Dir.chdir(File.dirname(__FILE__))
100
100
 
101
- puts "# # # requesting ontomde-java version #{Ontomde::Java::VERSION}"
102
- gem("ontomde-java","#{Ontomde::Java::VERSION}")
103
-
104
-
105
101
  puts "# # # ARGV initialization"
106
102
  #{initARGV}
107
103
 
104
+ if( ! ARGV.include?('--nogem'))
105
+ puts "# # # requesting ontomde-java version #{Ontomde::Java::VERSION}"
106
+ require 'rubygems'
107
+ gem("ontomde-java","#{Ontomde::Java::VERSION}")
108
+ end
109
+
108
110
  puts "# # #loading ontomde-java command line script"
109
111
  require 'ontomde-java/frontend/command.rb'
110
112
 
@@ -45,6 +45,7 @@ def getDefaultOptions(options={})
45
45
  options[:script]=false
46
46
  options[:webservice]=false
47
47
  options[:javadoc]=true
48
+ options[:javaRefactorFile]=nil
48
49
  options[:statemachine]=false
49
50
  #options[:installRessources]=true
50
51
  options[:target_ejbconf] = nil
@@ -441,6 +441,16 @@ def populateMisc(opts,options)
441
441
  options[:vsoTargetFile] = v
442
442
  end
443
443
 
444
+ opts.on("--javaRefactorFile JAVA_REFACTOR_FILE",": if sets, generate a file containing information on what was generated. This file is designed to be easy to diff in order to know what to refactor","default: -- #{options[:javaRefactorFile]}") do |v|
445
+ options[:javaRefactorFile] = v
446
+ end
447
+
448
+ opts.on("--nogem",": internal options. Used in core ontomde developer mode.") do |v|
449
+ # do nothing.
450
+ # just ignore the option
451
+ end
452
+
453
+
444
454
  end
445
455
 
446
456
  def populateDocumentation(opts,options)
@@ -237,6 +237,12 @@ def step_generate_java(model)
237
237
  end
238
238
  say "Generating/Updating java files"
239
239
  model.java_generateRepository
240
+
241
+ if !model.context[:javaRefactorFile,nil].nil?
242
+ say "Generating helper file javaRefactorFile"
243
+ model.java_generateRefactorFile
244
+ end
245
+
240
246
  end
241
247
  #write java files to disk
242
248
  def step_generate_xsd(model)
@@ -129,6 +129,10 @@ module Muml_Classifier
129
129
  m.uml_isStatic=oa.uml_isStatic
130
130
  m.java_use_Arrays=oa.java_use_Arrays
131
131
 
132
+ # propagate deprecated stereotype
133
+ deprec=oa.umlx_returnStereotypeIfHas("deprecated")
134
+ m.uml_appliedStereotype_add(deprec) unless deprec.nil?
135
+
132
136
  if withQualifier
133
137
  oa.uml_qualifier.each { |qual|
134
138
  ip_qual=m.umlx_createAndAddParameter(m.rdf_uri+qual.rdf_uri)
@@ -103,7 +103,7 @@ END
103
103
  r.uml_type=umlx_dataType_string
104
104
  op.umlx_businessMethod=RDF_FALSE
105
105
 
106
- op=ret.umlx_createAndAddOperation("#{ret.rdf_uri}_name}","getType")
106
+ op=ret.umlx_createAndAddOperation("#{ret.rdf_uri}_getType}","getType")
107
107
  r=op.umlx_createAndAddReturnParameter("#{op.rdf_uri}_ret","return")
108
108
  r.uml_type=umlx_getOrCreateGeneric("java.lang.Class","?")
109
109
  end
@@ -12,6 +12,7 @@ module Mjava_Annotation
12
12
  write(a)
13
13
  write("\n")
14
14
  }
15
+ write("\t@Deprecated\n") if (self.umlx_hasStereotype?("deprecated"))
15
16
  write("\t@Override\n") if (self.kind_of?(Muml_Operation) && !umlx_redefinesMethod.empty? && !umlx_redefinesMethod_one.umlx_owner_one.kind_of?(Muml_Interface) )
16
17
  }
17
18
  end
@@ -137,10 +138,10 @@ module Mrdf_Repository
137
138
  each { |k,c|
138
139
  next if c.kind_of?(Muml_Stereotype)
139
140
  next unless c.kind_of?(Muml_Class) || c.kind_of?(Muml_Interface)||c.kind_of?(Muml_Enumeration)
140
- a << c
141
+ a << c unless c.java_ignoreMe?
141
142
  }
142
143
  a.each {|c|
143
- c.java_transform! unless c.java_ignoreMe?
144
+ c.java_transform!
144
145
  }
145
146
 
146
147
  #java_addPersistence!
@@ -159,6 +160,7 @@ end
159
160
  module Muml_Model
160
161
  def java_generateModel
161
162
  mtk_default_context(:java_generateSetAttributeInitializer=>true) {
163
+ a=Array.new
162
164
  uml_Class_all.each {|c|
163
165
  #next if c.kind_of?(Muml_Stereotype)
164
166
  next unless c.kind_of?(Muml_Class) || c.kind_of?(Muml_Interface)||c.kind_of?(Muml_Enumeration)
@@ -166,13 +168,16 @@ module Muml_Model
166
168
  # usefull for generating separtely tests dans model
167
169
  next if c.java_isATestFile? && !context[:includeTestFiles]
168
170
  next if (!c.java_isATestFile?) && context[:excludeNonTestFiles]
169
- c.java_generateClassifier
171
+ a.push(c)
170
172
  }
171
173
  if context[:generateComponent]
172
174
  uml_Component_all.each { |c|
173
- c.java_generateClassifier
175
+ a.push(c)
174
176
  }
175
177
  end
178
+ a.eachInThread(self) { |cl|
179
+ cl.java_generateClassifier
180
+ }
176
181
  }
177
182
  end
178
183
  end
@@ -543,6 +548,7 @@ module Muml_Enumeration
543
548
  def java_writeImplements
544
549
  imp=Set.new
545
550
  uml_implementation.each { |g|
551
+ next if (g.umlx_hasStereotype?("private") )
546
552
  imp.add(g.uml_supplier_one.java_qualifiedName)
547
553
  }
548
554
  java_implements.each { |g|
@@ -602,6 +608,7 @@ module Muml_Class
602
608
  def java_writeImplements
603
609
  imp=Set.new
604
610
  uml_implementation.each { |g|
611
+ next if (g.umlx_hasStereotype?("private") )
605
612
  imp.add(g.uml_supplier_one.java_qualifiedName)
606
613
  }
607
614
  java_implements.each { |g|
@@ -8,7 +8,7 @@ class String
8
8
  def java_writeJavadoc(res)
9
9
  # replace escaped carriage return by true carriage return
10
10
  # remove java comments (we are already inside a javadoc)
11
- self.gsub(/\\r\\n/,"\n").gsub(/\*\//,'--').gsub(/\/\*/,'--').each { |line|
11
+ self.gsub(/\\r/,"").gsub(/\\n/,"\n").gsub(/\*\//,'--').gsub(/\/\*/,'--').each { |line|
12
12
  res.write("\t * #{line}".tr("\n"," ").rstrip)
13
13
  res.write("\n")
14
14
  }
@@ -0,0 +1,109 @@
1
+
2
+ # refactor generates a single file that contains a report
3
+ # of what java code was generated.
4
+ # This file is designed to be easy to diff.
5
+ #
6
+ # In order to know what to refactor, version this file
7
+ # and run a diff on it. You will know what has changed.
8
+ class String
9
+ def mtk_xml
10
+ return self.tr('<','_').tr('>','_')
11
+ end
12
+ end
13
+ module Mrdf_Repository
14
+ def java_generateRefactorFile
15
+ s=Set.new
16
+ p=Set.new
17
+ uml_Class_all.each {|c|
18
+ next unless c.kind_of?(Muml_Class) || c.kind_of?(Muml_Interface)||c.kind_of?(Muml_Enumeration)
19
+ # only generate if requested to do so
20
+ # usefull for generating separtely tests dans model
21
+ next if c.java_isATestFile? && !context[:includeTestFiles]
22
+ next if (!c.java_isATestFile?) && context[:excludeNonTestFiles]
23
+ s.add(c)
24
+ p.add(c.umlx_owner_one) if c.umlx_owner_one.kind_of?(Muml_Package)
25
+ }
26
+
27
+ mtk_writeSession(context[:javaRefactorFile]) {
28
+ write <<END
29
+ <?xml version="1.0" encoding="UTF-8"?>
30
+ <refactor>
31
+ <!--
32
+
33
+ Although ontomde tries to behave nicely
34
+ when generating over existing code with
35
+ a modified UML model, it is not always
36
+ possible to handle all cases transparently.
37
+
38
+ Therefore, it is sometime best to perform
39
+ Eclipse code refactoring (or such), prior
40
+ to running generation with the new model.
41
+
42
+ The question is now, what should I refactor ?
43
+
44
+ This file is here to help you in this task.
45
+
46
+ When processed with diff (such as TortoiseSVN),
47
+ this file will tell you what to refactor. You
48
+ will now deleted or modified elements (as well
49
+ as neewly created elements).
50
+
51
+ Please note that you should versionned this file
52
+ after running generator on a new model.
53
+
54
+ This file has been designed to behave nicely
55
+ with diff and avoid false change information.
56
+
57
+ -->
58
+ END
59
+ #sort is on rdf_uri because uri does not change
60
+ #sorting on label is KO
61
+ s.sort { |a,b| a.rdf_uri <=> b.rdf_uri }.each { |cc|
62
+ cc.java_writeRefactorData
63
+ }
64
+ p.sort { |a,b| a.rdf_uri <=> b.rdf_uri }.each { |cc|
65
+ cc.java_writeRefactorData
66
+ }
67
+ write(%{</refactor>\n})
68
+ }
69
+ end
70
+ end
71
+
72
+ module Muml_Package
73
+ def java_writeRefactorData
74
+ write(%{<#{self.class}\n})
75
+ write(%{ uri=\"#{rdf_uri}"\n})
76
+ #write(%{ class="#{self.class}"\n})
77
+ write(%{ path="#{java_qualifiedName.mtk_xml}"\n})
78
+ write(%{/>\n})
79
+ end
80
+ end
81
+
82
+ module Muml_Classifier
83
+ def java_writeRefactorData
84
+ write(%{<#{self.class}\n})
85
+ write(%{ uri=\"#{rdf_uri}"\n})
86
+ #write(%{ class="#{self.class}"\n})
87
+ write(%{ package="#{umlx_owner_one.rdf_uri}"\n})
88
+ write(%{ name="#{java_Name.mtk_xml}"\n})
89
+ write(%{>\n})
90
+ uml_ownedAttribute.sort {|a,b| a.rdf_uri<=>b.rdf_uri}.each {|a|
91
+ write(%{ <attribute\n})
92
+ write(%{ uri=\"#{a.rdf_uri}"\n})
93
+ # uri is used for type because we track here a change
94
+ # of parameter type, not a change of type itself.
95
+ #write(%{ type="#{a.uml_type_one.rdf_uri}"\n})
96
+ write(%{ name="#{a.java_Name.mtk_xml}"\n})
97
+ write(%{ />\n})
98
+ }
99
+ uml_ownedOperation.sort {|a,b| a.rdf_uri<=>b.rdf_uri}.each {|a|
100
+ write(%{ <operation\n})
101
+ write(%{ uri=\"#{a.rdf_uri}"\n})
102
+ write(%{ name="#{a.java_Name.mtk_xml}"\n})
103
+ #write(%{ returnType="#{a.umlx_returnResult_one0.rdf_uri}"\n}) unless a.umlx_returnResult_one0.nil?
104
+ write(%{ />\n})
105
+ }
106
+ write(%{</#{self.class}>\n})
107
+ end
108
+ end
109
+
@@ -18,6 +18,7 @@ module Mxsd_Schema
18
18
  types=Set.new
19
19
  xsd_types.each { |clazz|
20
20
  clazz.uml_ownedAttribute.each { |param|
21
+ next if param.xsd_ignoreMe?
21
22
  types.merge(param.uml_type)
22
23
  }
23
24
  }
@@ -25,11 +26,14 @@ module Mxsd_Schema
25
26
  end
26
27
 
27
28
  def xsd_writeImports
29
+ empty=true
28
30
  xsd_dependencies.each {|dep|
31
+ empty=false
29
32
  base=Pathname.new(File.dirname(self.xsd_SchemaName))
30
33
  target=Pathname.new(dep.xsd_SchemaName)
31
34
  write(%{ <xsd:include schemaLocation="#{target.relative_path_from(base)}"/>\n})
32
35
  }
36
+ write("\n") unless empty
33
37
  end
34
38
  #compute xsd dependencies from file
35
39
  def xsd_computeDependencies!(defaultXSD)
@@ -182,20 +186,30 @@ module Mrdf_Repository
182
186
 
183
187
  #parse model and generate file objects for elements
184
188
  def xsd_generateSchemaElements!
189
+
190
+ #compute set of packages with elements of interest
185
191
  packages=Set.new
186
192
  uml_Class_all.each { |c|
193
+ next if c.xsd_ignoreMe?
187
194
  packages.add(c.umlx_owner_one)
188
195
  }
196
+
197
+ #
189
198
  global=Cxsd_Schema.new(self,"uri://globalXSD")
199
+
200
+ #Create one xsd schema for each package
190
201
  xsdFiles=Set.new
191
202
  packages.each { |p|
192
203
  f=Cxsd_Schema.new(self,"#{p.rdf_uri}_xsdFile")
193
204
  xsdFiles.add(f)
194
205
  f.xsd_baseName=p
195
206
  p.uml_Class_all.each {|oe|
207
+ next if oe.xsd_ignoreMe?
196
208
  f.xsd_types_add(oe)
197
209
  }
198
210
  }
211
+
212
+ #
199
213
  d=global.nil? ? Cxsd_Schema.new(self,"defaultXSD") : global
200
214
  xsdFiles.each { |xsd|
201
215
  xsd.xsd_computeDependencies!(d)
@@ -251,6 +265,7 @@ module Muml_Parameter
251
265
  #write(" /* #{uml_lowerValue}..#{uml_upperValue}*/ ")
252
266
  write(" #{xsd_Name}") unless uml_direction_one.isReturn?
253
267
  end
268
+
254
269
  end
255
270
 
256
271
 
@@ -451,7 +466,7 @@ module Muml_Namespace
451
466
  #Example:
452
467
  #* build/package1/package2/NomDeLaClasse.xsd
453
468
  def xsd_SchemaName
454
- return "#{xsd_SchemaPath}#{xsd_Name}.xsd"
469
+ return "#{xsd_SchemaPath}#{xsd_Name}Rec.xsd"
455
470
  end
456
471
 
457
472
 
@@ -475,7 +490,8 @@ module Muml_Namespace
475
490
  # * build/package1/package2
476
491
  # * build/package1/package2/UneClasse.xsd
477
492
  def xsd_SchemaPath
478
- return xsd_getContextJavaFilePath(context[:javaDir])+xsd_InternalFilePath
493
+
494
+ return xsd_getContextJavaFilePath(context[:javaRelativeDir])+xsd_InternalFilePath
479
495
  end
480
496
 
481
497
  # Returns the internal path where to generate file for this object.
@@ -527,13 +543,8 @@ module Muml_Namespace
527
543
  #* returns true if this class name is in JAVA_IGNORE_ROOT_PACKAGE_NAME
528
544
  def xsd_ignoreMe?(ignoreExternal=true)
529
545
  #puts "ignore=#{self.class} #{self.uml_name}"
530
- qn=xsd_qualifiedName
531
- return true if umlx_hasStereotype?("nocode")
532
- return true if umlx_external? && ignoreExternal
533
- JAVA_IGNORE_NAMESPACE.each { |ns|
534
- return true if qn.index(ns)==0
535
- }
536
- return false;
546
+ return true if java_ignoreMe?(ignoreExternal)
547
+ return struts_isStruts?
537
548
  end
538
549
  end
539
550
 
@@ -575,9 +586,9 @@ module Muml_Enumeration
575
586
  #Example:
576
587
  #* enum Colors
577
588
  def xsd_writeMetaClassName(&block)
578
- write(%{<xsd:simpleType name="#{xsd_qualifiedName}" >\n})
589
+ write(%{ <xsd:simpleType name="#{xsd_qualifiedName}" >\n})
579
590
  yield
580
- write(%{</xsd:simpleType>\n})
591
+ write(%{ </xsd:simpleType>\n})
581
592
  end
582
593
 
583
594
  #write enum body (list of litterals) using xsd_writeClassComment, xsd_writeClassModifiers, xsd_writeMetaClassName.
@@ -943,7 +954,7 @@ END
943
954
  def xsd_writeAttributes
944
955
  return if kind_of?(Muml_Interface)
945
956
  #sort has been added because ownedAttribute order is random
946
- #which is cause false change detection on versionned file
957
+ #which causes false change detection on versionned file
947
958
  write(%{ <xsd:sequence>\n})
948
959
  uml_ownedAttribute.sort { |a,b| a.xsd_Name.to_s <=> b.xsd_Name.to_s }.each { |o| o.xsd_writeProperty}
949
960
  write(%{ </xsd:sequence>\n})
@@ -1167,6 +1178,7 @@ module Muml_Property
1167
1178
  #NOTE:
1168
1179
  #* getter/setter/... methods are handled by model transformation
1169
1180
  def xsd_writeProperty
1181
+ return if xsd_ignoreMe?
1170
1182
  write(%{ <xsd:element name="#{xsd_Name}" type="#{uml_type_one.xsd_qualifiedName}"})
1171
1183
  xsd_writeMinOccurs
1172
1184
  xsd_writeMaxOccurs
@@ -1231,6 +1243,12 @@ module Muml_Property
1231
1243
  write("transient ")
1232
1244
  end
1233
1245
 
1246
+ def xsd_ignoreMe?
1247
+ return true if java_ignoreMe?
1248
+ n=java_Name.to_s
1249
+ return true if (n=="isLogicallyDeleted") || (n=="objectVersion")
1250
+ end
1251
+
1234
1252
  end
1235
1253
 
1236
1254
 
@@ -37,8 +37,8 @@ class Crdf_ProtegeDataModel < Crdf_Repository
37
37
 
38
38
  #mtk_protected("converter") {
39
39
  umlDataClass.java_customCode= <<END
40
- private static java.text.SimpleDateFormat dfCalendar= new java.text.SimpleDateFormat("yyyy/MM/dd",java.util.Locale.ENGLISH);
41
- private static java.text.SimpleDateFormat dfTimestamp= new java.text.SimpleDateFormat("yyyy/MM/dd",java.util.Locale.ENGLISH);
40
+ private static java.text.SimpleDateFormat dfCalendar= new java.text.SimpleDateFormat("yyyy-MM-dd",java.util.Locale.ENGLISH);
41
+ private static java.text.SimpleDateFormat dfTimestamp= new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss",java.util.Locale.ENGLISH);
42
42
  public java.util.Date convertCalendar(final String s) {
43
43
  try {
44
44
  return dfCalendar.parse(s) ;
@@ -76,6 +76,9 @@ END
76
76
 
77
77
  n=p.umlx_createAndAddClass("#{c.rdf_uri}_junit","junit#{c.kb_UML_DATA_SET_NAME}")
78
78
 
79
+ #propagate use case documentation to test class
80
+ n.uml_ownedComment=uml_type.uml_ownedComment unless uml_type.uml_ownedComment.empty?
81
+
79
82
  #Provide a Gui
80
83
  n.umlx_businessMethod=RDF_TRUE
81
84
  #puts "n=#{n.uml_name} busniess=#{n.umlx_businessMethod?}"
@@ -208,6 +211,11 @@ class ::Crdfs_Class
208
211
  p=self.kbjava_property_one
209
212
  #i=self.kbjava_initMethod_one
210
213
  i=p.java_AttributeGlobalGetter_one
214
+
215
+ if kbjava_aliasName.nil?
216
+ #no alias, getter is private
217
+ p.java_AttributeGlobalGetter_one.uml_visibility= Cuml_VisibilityKind::Protected
218
+ end
211
219
  #write "private #{uml_type.java_qualifiedName} #{kbjava_varName}=null;\n"
212
220
  #write "#{kbjava_public ? "public" : "private"} #{uml_type.java_qualifiedName} get#{kbjava_varName}() {"
213
221
  #p=self.kbjava_property_one
@@ -313,7 +313,7 @@ module Muml_Property
313
313
  a2.uml_type=form.umlx_dataType_string
314
314
  #a2.uml_type=form.umlx_getOrCreateClass("java.lang.Integer")
315
315
 
316
- sug=form.umlx_createAndAddOperation(form.rdf_uri+"_sug","get#{self.java_NameBean}Sug")
316
+ sug=form.umlx_createAndAddOperation(form.rdf_uri+"_sug_"+self.rdf_uri,"get#{self.java_NameBean}Sug")
317
317
  ret=sug.umlx_createAndAddReturnParameter(sug.rdf_uri+"_return")
318
318
  ret.uml_type=form.umlx_getOrCreateClass("#{STRUTS_LVB}")
319
319
  ret.uml_upperValue=form.umlx_literal(-1)
@@ -330,7 +330,7 @@ module Muml_Property
330
330
  a2.uml_type=form.umlx_dataType_string
331
331
 
332
332
  if ! uml_isReadOnly?
333
- sug=form.umlx_createAndAddOperation(form.rdf_uri+"_sug","get#{self.java_NameBean}Sug")
333
+ sug=form.umlx_createAndAddOperation(form.rdf_uri+"_sug_"+self.rdf_uri,"get#{self.java_NameBean}Sug")
334
334
  ret=sug.umlx_createAndAddReturnParameter(sug.rdf_uri+"_return")
335
335
  ret.uml_type=form.umlx_getOrCreateClass("#{STRUTS_LVB}")
336
336
  ret.uml_upperValue=form.umlx_literal(-1)
@@ -60,7 +60,7 @@ module Mrdf_Repository
60
60
  end
61
61
 
62
62
  def struts_edit_generate
63
- uml_Class_all.each { |c|
63
+ uml_Class_all.eachInThread(self) { |c|
64
64
  next if c.kind_of?(Muml_Enumeration)
65
65
  next if c.kind_of?(Muml_Interface)
66
66
  next if c.java_ignoreMe?
@@ -1,5 +1,5 @@
1
1
  module Ontomde
2
2
  module Java
3
- VERSION = '2.0.4'
3
+ VERSION = '2.0.5'
4
4
  end
5
5
  end
@@ -948,7 +948,18 @@ module TestsStereotypes
948
948
  def test_stereotypeOnTargetAssociation
949
949
  hasStereotype(p=find("withQualifierBiNav",Cuml_Property),"teST")
950
950
  end
951
-
951
+
952
+ def test_stereotypeOnImplements
953
+ c=getComponent
954
+ found=nil
955
+ c.uml_implementation.each {|r|
956
+ return if r.umlx_hasStereotype?("stereotypeOnImplement")
957
+ found=r
958
+ }
959
+ fail "missing implements link on component while looking for stereotypeOnImplement" if found.nil?
960
+ fail "stereotypeOnImplement not found \n(id=#{found.rdf_uri})"
961
+ end
962
+
952
963
  end
953
964
  module TestAggregationKind
954
965
  def test_compositeAssocIsComposition
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ontomde-java
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.4
4
+ version: 2.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Orange-labs BIZZ/CIL/SAM
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-04-08 00:00:00 +02:00
12
+ date: 2009-04-23 00:00:00 +02:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -20,7 +20,7 @@ dependencies:
20
20
  requirements:
21
21
  - - "="
22
22
  - !ruby/object:Gem::Version
23
- version: 2.0.4
23
+ version: 2.0.5
24
24
  version:
25
25
  description: "ontomde-java is a full-featured UML2 to Java5 code generator library. 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 == FEATURES/PROBLEMS: Managed class modifiers * interface implements * single class inheritance * attribute * association * method * inner class"
26
26
  email: stephanepierre.carrie -nospam- @orange-ftgroup.com
@@ -84,6 +84,7 @@ files:
84
84
  - lib/ontomde-java/java/javadoc.rb
85
85
  - lib/ontomde-java/java/meta.rb
86
86
  - lib/ontomde-java/java/operationAsClass.rb
87
+ - lib/ontomde-java/java/refactor.rb
87
88
  - lib/ontomde-java/java/security.rb
88
89
  - lib/ontomde-java/java/stateMachine.rb
89
90
  - lib/ontomde-java/java/tenant.rb