xmi 0.5.7 → 0.5.9
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.
- checksums.yaml +4 -4
- data/lib/xmi/ea_root/code_generation.rb +1 -0
- data/lib/xmi/ea_root/extension_lifecycle.rb +1 -1
- data/lib/xmi/parser_pipeline.rb +2 -2
- data/lib/xmi/parsing.rb +1 -1
- data/lib/xmi/root.rb +4 -0
- data/lib/xmi/sparx/index.rb +12 -5
- data/lib/xmi/uml/uml_model.rb +2 -0
- data/lib/xmi/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 4098854bb77dff010c940c3a723f127d0d5870e86cfa557a67550f0a40d5148f
|
|
4
|
+
data.tar.gz: b20c8e1371670c8df054995a1666eb11cd9c68b71b68f5c7c2d4ad5dd0081746
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: af603dcdf25510f8dade18d329986181ad651de7d5b1eceaedbf6842758bc7e1d4beb635b5973bf38c5e2f7f9d201ceafeb96c5957a1ef10f7eb4262cc9cb288
|
|
7
|
+
data.tar.gz: c0c239408d41612dec465659dbf32cbf94aa9b2bf7d2a002a506e0c5b7fb9e2201b104acf5c2bc5bf9accb7f84a45191a397e22e8dc7e2adcf6c485916448908
|
|
@@ -24,7 +24,7 @@ module Xmi
|
|
|
24
24
|
map_entries = []
|
|
25
25
|
new_klasses.each do |klass_name|
|
|
26
26
|
klass = EaRoot.const_get(module_name).const_get(klass_name)
|
|
27
|
-
next unless klass.
|
|
27
|
+
next unless klass.root_tag
|
|
28
28
|
|
|
29
29
|
method_name = Lutaml::Model::Utils.snake_case(klass_name)
|
|
30
30
|
map_entries << [klass.root_tag, method_name.to_sym]
|
data/lib/xmi/parser_pipeline.rb
CHANGED
|
@@ -17,7 +17,7 @@ module Xmi
|
|
|
17
17
|
module FixEncoding
|
|
18
18
|
def self.call(ctx)
|
|
19
19
|
xml = ctx[:xml]
|
|
20
|
-
|
|
20
|
+
unless xml.valid_encoding?
|
|
21
21
|
ctx[:xml] = xml
|
|
22
22
|
.encode("UTF-16be", invalid: :replace, replace: "?")
|
|
23
23
|
.encode("UTF-8")
|
|
@@ -45,7 +45,7 @@ module Xmi
|
|
|
45
45
|
|
|
46
46
|
module BuildIndex
|
|
47
47
|
def self.call(ctx)
|
|
48
|
-
ctx[:root].build_index
|
|
48
|
+
ctx[:root].build_index
|
|
49
49
|
ctx
|
|
50
50
|
end
|
|
51
51
|
end
|
data/lib/xmi/parsing.rb
CHANGED
|
@@ -27,7 +27,7 @@ module Xmi
|
|
|
27
27
|
# @option options [Boolean] :strict Raise on unknown elements
|
|
28
28
|
# @return [Root, Object] Parsed XMI document
|
|
29
29
|
def parse(xml, options = {})
|
|
30
|
-
xml_content = xml.
|
|
30
|
+
xml_content = xml.is_a?(String) ? xml : xml.read
|
|
31
31
|
|
|
32
32
|
Xmi.init_versioning! unless Xmi.versioning_initialized?
|
|
33
33
|
|
data/lib/xmi/root.rb
CHANGED
data/lib/xmi/sparx/index.rb
CHANGED
|
@@ -116,7 +116,7 @@ module Xmi
|
|
|
116
116
|
def build(root)
|
|
117
117
|
model = root.model
|
|
118
118
|
if model
|
|
119
|
-
id = model.id
|
|
119
|
+
id = model.id
|
|
120
120
|
@id_name_map[id] = model.name if id && model.name
|
|
121
121
|
walk_packaged_elements(model.packaged_element, nil)
|
|
122
122
|
end
|
|
@@ -126,6 +126,7 @@ module Xmi
|
|
|
126
126
|
|
|
127
127
|
index_extension_elements(ext.elements)
|
|
128
128
|
index_extension_connectors(ext.connectors)
|
|
129
|
+
index_ea_stubs(ext.ea_stub)
|
|
129
130
|
|
|
130
131
|
primitives = ext.primitive_types
|
|
131
132
|
walk_packaged_elements(primitives.packaged_element, nil) if primitives
|
|
@@ -219,6 +220,15 @@ module Xmi
|
|
|
219
220
|
end
|
|
220
221
|
end
|
|
221
222
|
|
|
223
|
+
def index_ea_stubs(stubs)
|
|
224
|
+
return unless stubs
|
|
225
|
+
|
|
226
|
+
stubs.each do |stub|
|
|
227
|
+
stub_id = stub.id
|
|
228
|
+
@id_name_map[stub_id] = stub.name if stub_id && stub.name
|
|
229
|
+
end
|
|
230
|
+
end
|
|
231
|
+
|
|
222
232
|
def index_extension_connectors(connectors)
|
|
223
233
|
return unless connectors
|
|
224
234
|
|
|
@@ -237,10 +247,7 @@ module Xmi
|
|
|
237
247
|
return unless profile_list
|
|
238
248
|
|
|
239
249
|
profile_list.each do |profile|
|
|
240
|
-
|
|
241
|
-
walk_packaged_elements(profile.packaged_element,
|
|
242
|
-
nil)
|
|
243
|
-
end
|
|
250
|
+
walk_packaged_elements(profile.packaged_element, nil)
|
|
244
251
|
end
|
|
245
252
|
end
|
|
246
253
|
end
|
data/lib/xmi/uml/uml_model.rb
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
module Xmi
|
|
4
4
|
module Uml
|
|
5
5
|
class UmlModel < Lutaml::Model::Serializable
|
|
6
|
+
attribute :id, ::Xmi::Type::XmiId
|
|
6
7
|
attribute :type, ::Xmi::Type::XmiType
|
|
7
8
|
attribute :name, :string
|
|
8
9
|
attribute :profile_application, ProfileApplication, collection: true
|
|
@@ -14,6 +15,7 @@ module Xmi
|
|
|
14
15
|
root "Model"
|
|
15
16
|
namespace ::Xmi::Namespace::Omg::Uml
|
|
16
17
|
|
|
18
|
+
map_attribute "id", to: :id
|
|
17
19
|
map_attribute "type", to: :type
|
|
18
20
|
map_attribute "name", to: :name
|
|
19
21
|
|
data/lib/xmi/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: xmi
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.5.
|
|
4
|
+
version: 0.5.9
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ribose Inc.
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-
|
|
11
|
+
date: 2026-05-11 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: lutaml-model
|