ontomde-java 2.0.4 → 2.0.5

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.
@@ -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