rgen 0.4.6 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. data/CHANGELOG +95 -83
  2. data/Rakefile +4 -3
  3. data/lib/ea_support/ea_support.rb +54 -0
  4. data/lib/ea_support/id_store.rb +32 -0
  5. data/lib/ea_support/uml13_ea_metamodel.rb +562 -0
  6. data/lib/ea_support/uml13_ea_metamodel_ext.rb +45 -0
  7. data/lib/ea_support/uml13_ea_metamodel_generator.rb +43 -0
  8. data/lib/ea_support/uml13_ea_to_uml13.rb +72 -0
  9. data/lib/ea_support/uml13_to_uml13_ea.rb +82 -0
  10. data/lib/rgen/ecore/ecore.rb +16 -2
  11. data/lib/rgen/ecore/ecore_builder_methods.rb +81 -0
  12. data/lib/rgen/ecore/ecore_instantiator.rb +5 -1
  13. data/lib/rgen/metamodel_builder/builder_extensions.rb +11 -3
  14. data/lib/rgen/metamodel_builder/module_extension2.rb +205 -0
  15. data/lib/rgen/method_delegation.rb +99 -0
  16. data/lib/rgen/model_builder.rb +27 -0
  17. data/lib/rgen/model_builder/builder_context.rb +318 -0
  18. data/lib/rgen/model_builder/model_serializer.rb +201 -0
  19. data/lib/rgen/model_builder/reference_resolver.rb +156 -0
  20. data/lib/rgen/template_language/directory_template_container.rb +6 -2
  21. data/lib/rgen/template_language/output_handler.rb +2 -4
  22. data/lib/rgen/template_language/template_container.rb +212 -195
  23. data/lib/rgen/transformer.rb +95 -4
  24. data/lib/transformers/ecore_to_uml13.rb +66 -0
  25. data/lib/transformers/uml13_to_ecore.rb +16 -7
  26. data/test/ea_instantiator_test.rb +8 -14
  27. data/test/ea_serializer_test.rb +3 -9
  28. data/test/ea_serializer_test/ea_testmodel_regenerated.xml +2 -2
  29. data/test/ea_serializer_test/ea_testmodel_regenerated_import.log +3 -0
  30. data/test/metamodel_roundtrip_test/TestModel_Regenerated.rb +19 -19
  31. data/test/metamodel_roundtrip_test/houseMetamodel_Regenerated.ecore +44 -44
  32. data/test/method_delegation_test.rb +178 -0
  33. data/test/model_builder/builder_context_test.rb +59 -0
  34. data/test/model_builder/builder_test.rb +284 -0
  35. data/test/model_builder/ecore_internal.rb +103 -0
  36. data/test/model_builder/ecore_original.rb +163 -0
  37. data/test/model_builder/ecore_original_regenerated.rb +163 -0
  38. data/test/model_builder/reference_resolver_test.rb +156 -0
  39. data/test/model_builder/serializer_test.rb +63 -0
  40. data/test/model_builder_test.rb +4 -0
  41. data/test/rgen_test.rb +2 -0
  42. data/test/template_language_test.rb +41 -1
  43. data/test/template_language_test/expected_result1.txt +1 -3
  44. data/test/template_language_test/templates/define_local_test/local.tpl +8 -0
  45. data/test/template_language_test/templates/define_local_test/test.tpl +8 -0
  46. data/test/template_language_test/templates/evaluate_test/test.tpl +7 -0
  47. data/test/template_language_test/templates/no_indent_test/no_indent.tpl +3 -0
  48. data/test/template_language_test/templates/no_indent_test/sub1/no_indent.tpl +3 -0
  49. data/test/template_language_test/templates/no_indent_test/test.tpl +24 -0
  50. data/test/template_language_test/templates/no_indent_test/test2.tpl +13 -0
  51. data/test/template_language_test/templates/no_indent_test/test3.tpl +10 -0
  52. data/test/template_language_test/templates/template_resolution_test/sub1.tpl +9 -0
  53. data/test/template_language_test/templates/template_resolution_test/sub1/sub1.tpl +3 -0
  54. data/test/template_language_test/templates/template_resolution_test/test.tpl +4 -0
  55. data/test/template_language_test/testout.txt +1 -3
  56. data/test/testmodel/ea_testmodel_import.log +1 -0
  57. data/test/testmodel/ea_testmodel_regenerated.xml +808 -0
  58. data/test/transformer_test.rb +3 -5
  59. metadata +52 -3
  60. data/lib/instantiators/ea_instantiator.rb +0 -39
@@ -6,7 +6,6 @@ require 'rgen/transformer'
6
6
  require 'rgen/environment'
7
7
  require 'rgen/model_comparator'
8
8
  require 'metamodels/uml13_metamodel'
9
- require 'instantiators/ea_instantiator'
10
9
  require 'testmodel/class_model_checker'
11
10
 
12
11
  class TransformerTest < Test::Unit::TestCase
@@ -242,10 +241,9 @@ class TransformerTest < Test::Unit::TestCase
242
241
  def test_copyTransformer
243
242
  envIn = RGen::Environment.new
244
243
  envOut = RGen::Environment.new
245
- File.open(MODEL_DIR+"/ea_testmodel.xml") { |f|
246
- inst = EAInstantiator.new(envIn, EAInstantiator::ERROR)
247
- inst.instantiate(f.read)
248
- }
244
+
245
+ EASupport.instantiateUML13FromXMI11(envIn, MODEL_DIR+"/ea_testmodel.xml")
246
+
249
247
  CopyTransformer.new(envIn, envOut).transform
250
248
  checkClassModel(envOut)
251
249
  assert modelEqual?(
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rgen
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.6
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Martin Thiede
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-03-01 00:00:00 +01:00
12
+ date: 2009-06-08 00:00:00 +02:00
13
13
  default_executable:
14
14
  dependencies: []
15
15
 
@@ -24,8 +24,15 @@ extra_rdoc_files:
24
24
  - CHANGELOG
25
25
  - MIT-LICENSE
26
26
  files:
27
+ - lib/ea_support
28
+ - lib/ea_support/ea_support.rb
29
+ - lib/ea_support/id_store.rb
30
+ - lib/ea_support/uml13_ea_metamodel.rb
31
+ - lib/ea_support/uml13_ea_metamodel_ext.rb
32
+ - lib/ea_support/uml13_ea_metamodel_generator.rb
33
+ - lib/ea_support/uml13_ea_to_uml13.rb
34
+ - lib/ea_support/uml13_to_uml13_ea.rb
27
35
  - lib/instantiators
28
- - lib/instantiators/ea_instantiator.rb
29
36
  - lib/metamodels
30
37
  - lib/metamodels/uml13_metamodel.rb
31
38
  - lib/metamodels/uml13_metamodel_ext.rb
@@ -42,6 +49,7 @@ files:
42
49
  - lib/rgen/auto_class_creator.rb
43
50
  - lib/rgen/ecore
44
51
  - lib/rgen/ecore/ecore.rb
52
+ - lib/rgen/ecore/ecore_builder_methods.rb
45
53
  - lib/rgen/ecore/ecore_ext.rb
46
54
  - lib/rgen/ecore/ecore_instantiator.rb
47
55
  - lib/rgen/ecore/ecore_transformer.rb
@@ -62,7 +70,14 @@ files:
62
70
  - lib/rgen/metamodel_builder/metamodel_description.rb
63
71
  - lib/rgen/metamodel_builder/mm_multiple.rb
64
72
  - lib/rgen/metamodel_builder/module_extension.rb
73
+ - lib/rgen/metamodel_builder/module_extension2.rb
65
74
  - lib/rgen/metamodel_builder.rb
75
+ - lib/rgen/method_delegation.rb
76
+ - lib/rgen/model_builder
77
+ - lib/rgen/model_builder/builder_context.rb
78
+ - lib/rgen/model_builder/model_serializer.rb
79
+ - lib/rgen/model_builder/reference_resolver.rb
80
+ - lib/rgen/model_builder.rb
66
81
  - lib/rgen/model_comparator.rb
67
82
  - lib/rgen/model_dumper.rb
68
83
  - lib/rgen/name_helper.rb
@@ -77,12 +92,15 @@ files:
77
92
  - lib/rgen/template_language/template_helper.rb
78
93
  - lib/rgen/template_language.rb
79
94
  - lib/rgen/transformer.rb
95
+ - lib/serializers
80
96
  - lib/transformers
97
+ - lib/transformers/ecore_to_uml13.rb
81
98
  - lib/transformers/uml13_to_ecore.rb
82
99
  - test/array_extensions_test.rb
83
100
  - test/ea_instantiator_test.rb
84
101
  - test/ea_serializer_test
85
102
  - test/ea_serializer_test/ea_testmodel_regenerated.xml
103
+ - test/ea_serializer_test/ea_testmodel_regenerated_import.log
86
104
  - test/ea_serializer_test.rb
87
105
  - test/ecore_self_test.rb
88
106
  - test/environment_test.rb
@@ -94,6 +112,16 @@ files:
94
112
  - test/metamodel_roundtrip_test/TestModel.rb
95
113
  - test/metamodel_roundtrip_test/TestModel_Regenerated.rb
96
114
  - test/metamodel_roundtrip_test.rb
115
+ - test/method_delegation_test.rb
116
+ - test/model_builder
117
+ - test/model_builder/builder_context_test.rb
118
+ - test/model_builder/builder_test.rb
119
+ - test/model_builder/ecore_internal.rb
120
+ - test/model_builder/ecore_original.rb
121
+ - test/model_builder/ecore_original_regenerated.rb
122
+ - test/model_builder/reference_resolver_test.rb
123
+ - test/model_builder/serializer_test.rb
124
+ - test/model_builder_test.rb
97
125
  - test/output_handler_test.rb
98
126
  - test/rgen_test.rb
99
127
  - test/template_language_test
@@ -108,21 +136,40 @@ files:
108
136
  - test/template_language_test/templates/content
109
137
  - test/template_language_test/templates/content/author.tpl
110
138
  - test/template_language_test/templates/content/chapter.tpl
139
+ - test/template_language_test/templates/define_local_test
140
+ - test/template_language_test/templates/define_local_test/local.tpl
141
+ - test/template_language_test/templates/define_local_test/test.tpl
142
+ - test/template_language_test/templates/evaluate_test
143
+ - test/template_language_test/templates/evaluate_test/test.tpl
111
144
  - test/template_language_test/templates/indent_string_test.tpl
112
145
  - test/template_language_test/templates/index
113
146
  - test/template_language_test/templates/index/c
114
147
  - test/template_language_test/templates/index/c/cmod.tpl
115
148
  - test/template_language_test/templates/index/chapter.tpl
116
149
  - test/template_language_test/templates/no_backslash_r_test.tpl
150
+ - test/template_language_test/templates/no_indent_test
151
+ - test/template_language_test/templates/no_indent_test/no_indent.tpl
152
+ - test/template_language_test/templates/no_indent_test/sub1
153
+ - test/template_language_test/templates/no_indent_test/sub1/no_indent.tpl
154
+ - test/template_language_test/templates/no_indent_test/test.tpl
155
+ - test/template_language_test/templates/no_indent_test/test2.tpl
156
+ - test/template_language_test/templates/no_indent_test/test3.tpl
117
157
  - test/template_language_test/templates/null_context_test.tpl
118
158
  - test/template_language_test/templates/root.tpl
159
+ - test/template_language_test/templates/template_resolution_test
160
+ - test/template_language_test/templates/template_resolution_test/sub1
161
+ - test/template_language_test/templates/template_resolution_test/sub1/sub1.tpl
162
+ - test/template_language_test/templates/template_resolution_test/sub1.tpl
163
+ - test/template_language_test/templates/template_resolution_test/test.tpl
119
164
  - test/template_language_test/testout.txt
120
165
  - test/template_language_test.rb
121
166
  - test/testmodel
122
167
  - test/testmodel/class_model_checker.rb
123
168
  - test/testmodel/ea_testmodel.eap
124
169
  - test/testmodel/ea_testmodel.xml
170
+ - test/testmodel/ea_testmodel_import.log
125
171
  - test/testmodel/ea_testmodel_partial.xml
172
+ - test/testmodel/ea_testmodel_regenerated.xml
126
173
  - test/testmodel/ecore_model_checker.rb
127
174
  - test/testmodel/manual_testmodel.xml
128
175
  - test/testmodel/object_model_checker.rb
@@ -215,6 +262,8 @@ rdoc_options:
215
262
  - test
216
263
  - -x
217
264
  - metamodels
265
+ - -x
266
+ - ea_support/uml13*
218
267
  require_paths:
219
268
  - lib
220
269
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -1,39 +0,0 @@
1
- require 'rgen/instantiator/xmi11_instantiator'
2
- require 'metamodels/uml13_metamodel'
3
-
4
- class EAInstantiator < XMI11Instantiator
5
-
6
- #TODO add element names to make feature names unique
7
- FIXMAP = {
8
- :tags => {
9
- "EAStub" => proc { |tag, attr| UML13::Class.new(
10
- :name => attr["name"]
11
- )},
12
- "ActivityModel" => "ActivityGraph",
13
- "PseudoState" => "Pseudostate"
14
- },
15
- :feature_names => {
16
- "isOrdered" => "ordering",
17
- "subtype" => "child",
18
- "supertype" => "parent",
19
- "changeable" => "changeability",
20
- "substate" => "subvertex"
21
- },
22
- :feature_values => {
23
- "ordering" => {"true" => "ordered", "false" => "unordered"},
24
- "aggregation" => {"shared" => "aggregate"},
25
- "changeability" => {"none" => "frozen"},
26
- "multiplicity" => proc { |v| UML13::Multiplicity.new(
27
- :range => [UML13::MultiplicityRange.new(
28
- :lower => v.split("..").first,
29
- :upper => v.split("..").last
30
- )])}
31
- }
32
- }
33
-
34
- def initialize(env, loglevel)
35
- super(env, FIXMAP, loglevel)
36
- add_metamodel("omg.org/UML1.3", UML13)
37
- end
38
-
39
- end