ea 0.1.0 → 0.1.4
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/CLAUDE.md +125 -0
- data/Rakefile +12 -4
- data/TODO.next/00-publish-blocking-bugs.md +74 -0
- data/TODO.next/01-standalone-ea-gem-identity.md +76 -0
- data/TODO.next/02-optional-lutaml-uml-dependency.md +47 -0
- data/TODO.next/03-slim-lutaml-uml.md +79 -0
- data/TODO.next/04-loader-registry-for-uml-repository.md +49 -0
- data/TODO.next/05-extract-shared-transformer-methods.md +14 -0
- data/TODO.next/06-deduplicate-stereotype-loading.md +17 -0
- data/TODO.next/07-transformer-registry-in-factory.md +20 -0
- data/TODO.next/08-connector-type-registry.md +27 -0
- data/TODO.next/09-element-renderer-registry.md +29 -0
- data/TODO.next/10-connector-renderer-lsp.md +18 -0
- data/TODO.next/11-consolidate-style-knowledge.md +33 -0
- data/TODO.next/12-data-driven-from-db-row.md +24 -0
- data/TODO.next/13-extract-duplicated-methods.md +17 -0
- data/TODO.next/14-remove-dead-code.md +10 -0
- data/TODO.next/15-narrow-exception-handling.md +39 -0
- data/TODO.next/16-repository-indexes.md +28 -0
- data/TODO.next/17-fix-spec-quality-and-coverage.md +32 -0
- data/TODO.next/18-xmi-tool-specific-parser-architecture.md +172 -0
- data/TODO.next/19-fix-ea-gemspec-dependency-declarations.md +56 -0
- data/TODO.next/20-ci-requires-unreleased-lutaml-uml.md +63 -0
- data/TODO.next/21-qeatoxmi-via-xmi-gem.md +340 -0
- data/TODO.next/22-strip-respond-to-from-qeatoxmi-specs.md +32 -0
- data/TODO.next/23-cleanup-idallocator.md +41 -0
- data/TODO.next/24-tighten-parity-specs.md +42 -0
- data/TODO.next/25-sparx-eaid-format-for-synthesized-ids.md +62 -0
- data/TODO.next/26-fix-uppervalue-lowervalue-count-gap.md +51 -0
- data/TODO.next/27-extract-cardinality-module.md +68 -0
- data/TODO.next/28-extract-xml-sanitizer.md +51 -0
- data/TODO.next/29-ocp-registry-for-classifier-builders.md +58 -0
- data/TODO.next/30-struct-return-for-association-end.md +37 -0
- data/TODO.next/31-idallocator-specs.md +27 -0
- data/TODO.next/32-phase2-gap-sentinel-specs.md +53 -0
- data/TODO.next/33-normalize-lower-cleanup.md +30 -0
- data/TODO.next/34-document-member-end-order-rt-prefix.md +29 -0
- data/TODO.next/35-walk-runstate-for-instance-slots.md +76 -0
- data/TODO.next/36-wire-interface-realization.md +50 -0
- data/TODO.next/37-visibility-returns-real-booleans.md +36 -0
- data/config/diagram_styles.yml +200 -0
- data/config/model_transformations.yml +266 -0
- data/config/qea_schema.yml +1024 -0
- data/docs/ea_to_uml_type_mapping.md +89 -0
- data/docs/xmi_qea_conversion_capabilities.md +99 -0
- data/examples/lur/20251010_current_plateau_v5.1.lur +0 -0
- data/examples/lur/basic.lur +0 -0
- data/examples/lur/test-output.lur +0 -0
- data/examples/lur/test.lur +0 -0
- data/examples/lur_basic_usage.rb +221 -0
- data/examples/lur_cli_workflow.rb +263 -0
- data/examples/lur_statistics.rb +326 -0
- data/examples/qea/20251010_current_plateau_v5.1.qea +0 -0
- data/examples/qea/ArcGISWorkspace_template.qea +0 -0
- data/examples/qea/README_qea_parser.adoc +230 -0
- data/examples/qea/UmlModel_template.qea +0 -0
- data/examples/qea/basic.qea +0 -0
- data/examples/qea/simple.qea +0 -0
- data/examples/qea/simple_example.qea +0 -0
- data/examples/qea/test.qea +0 -0
- data/examples/qea_standalone_query.rb +73 -0
- data/examples/qea_to_repository.rb +51 -0
- data/examples/smoke_test_real_qea.rb +81 -0
- data/exe/ea +7 -0
- data/lib/ea/cli/app.rb +72 -0
- data/lib/ea/cli/command/base.rb +80 -0
- data/lib/ea/cli/command/convert.rb +62 -0
- data/lib/ea/cli/command/diagrams.rb +81 -0
- data/lib/ea/cli/command/list.rb +61 -0
- data/lib/ea/cli/command/parse.rb +29 -0
- data/lib/ea/cli/command/stats.rb +20 -0
- data/lib/ea/cli/command/validate.rb +41 -0
- data/lib/ea/cli/command.rb +15 -0
- data/lib/ea/cli/error.rb +34 -0
- data/lib/ea/cli/output/formatter.rb +34 -0
- data/lib/ea/cli/output/json_formatter.rb +20 -0
- data/lib/ea/cli/output/table_formatter.rb +42 -0
- data/lib/ea/cli/output/yaml_formatter.rb +20 -0
- data/lib/ea/cli/output.rb +56 -0
- data/lib/ea/cli.rb +17 -0
- data/lib/ea/diagram/configuration.rb +379 -0
- data/lib/ea/diagram/element_renderers/base_renderer.rb +77 -0
- data/lib/ea/diagram/element_renderers/class_renderer.rb +323 -0
- data/lib/ea/diagram/element_renderers/connector_renderer.rb +41 -0
- data/lib/ea/diagram/element_renderers/package_renderer.rb +61 -0
- data/lib/ea/diagram/element_renderers.rb +43 -0
- data/lib/ea/diagram/extractor.rb +560 -0
- data/lib/ea/diagram/layout_engine.rb +170 -0
- data/lib/ea/diagram/path_builder.rb +202 -0
- data/lib/ea/diagram/style_parser.rb +42 -0
- data/lib/ea/diagram/style_resolver.rb +276 -0
- data/lib/ea/diagram/svg_renderer.rb +274 -0
- data/lib/ea/diagram/util.rb +73 -0
- data/lib/ea/diagram.rb +47 -0
- data/lib/ea/qea/benchmark.rb +210 -0
- data/lib/ea/qea/database.rb +308 -0
- data/lib/ea/qea/factory/association_builder.rb +203 -0
- data/lib/ea/qea/factory/association_transformer.rb +91 -0
- data/lib/ea/qea/factory/attribute_tag_transformer.rb +57 -0
- data/lib/ea/qea/factory/attribute_transformer.rb +93 -0
- data/lib/ea/qea/factory/base_transformer.rb +177 -0
- data/lib/ea/qea/factory/class_transformer.rb +116 -0
- data/lib/ea/qea/factory/constraint_transformer.rb +75 -0
- data/lib/ea/qea/factory/data_type_transformer.rb +77 -0
- data/lib/ea/qea/factory/diagram_transformer.rb +157 -0
- data/lib/ea/qea/factory/document_builder.rb +283 -0
- data/lib/ea/qea/factory/ea_to_uml_factory.rb +229 -0
- data/lib/ea/qea/factory/enum_transformer.rb +74 -0
- data/lib/ea/qea/factory/generalization_builder.rb +227 -0
- data/lib/ea/qea/factory/generalization_transformer.rb +98 -0
- data/lib/ea/qea/factory/instance_transformer.rb +68 -0
- data/lib/ea/qea/factory/object_property_transformer.rb +58 -0
- data/lib/ea/qea/factory/operation_transformer.rb +66 -0
- data/lib/ea/qea/factory/package_transformer.rb +145 -0
- data/lib/ea/qea/factory/reference_resolver.rb +99 -0
- data/lib/ea/qea/factory/stereotype_loader.rb +39 -0
- data/lib/ea/qea/factory/tagged_value_transformer.rb +38 -0
- data/lib/ea/qea/factory/transformer_registry.rb +80 -0
- data/lib/ea/qea/factory.rb +37 -0
- data/lib/ea/qea/file_detector.rb +178 -0
- data/lib/ea/qea/infrastructure/database_connection.rb +100 -0
- data/lib/ea/qea/infrastructure/schema_reader.rb +136 -0
- data/lib/ea/qea/infrastructure/table_reader.rb +224 -0
- data/lib/ea/qea/infrastructure.rb +12 -0
- data/lib/ea/qea/models/base_model.rb +59 -0
- data/lib/ea/qea/models/ea_attribute.rb +109 -0
- data/lib/ea/qea/models/ea_attribute_tag.rb +100 -0
- data/lib/ea/qea/models/ea_complexity_type.rb +79 -0
- data/lib/ea/qea/models/ea_connector.rb +160 -0
- data/lib/ea/qea/models/ea_connector_type.rb +60 -0
- data/lib/ea/qea/models/ea_constraint_type.rb +63 -0
- data/lib/ea/qea/models/ea_datatype.rb +104 -0
- data/lib/ea/qea/models/ea_diagram.rb +115 -0
- data/lib/ea/qea/models/ea_diagram_link.rb +78 -0
- data/lib/ea/qea/models/ea_diagram_object.rb +73 -0
- data/lib/ea/qea/models/ea_diagram_type.rb +56 -0
- data/lib/ea/qea/models/ea_document.rb +63 -0
- data/lib/ea/qea/models/ea_object.rb +223 -0
- data/lib/ea/qea/models/ea_object_constraint.rb +53 -0
- data/lib/ea/qea/models/ea_object_property.rb +87 -0
- data/lib/ea/qea/models/ea_object_type.rb +73 -0
- data/lib/ea/qea/models/ea_operation.rb +127 -0
- data/lib/ea/qea/models/ea_operation_param.rb +76 -0
- data/lib/ea/qea/models/ea_package.rb +78 -0
- data/lib/ea/qea/models/ea_script.rb +62 -0
- data/lib/ea/qea/models/ea_status_type.rb +66 -0
- data/lib/ea/qea/models/ea_stereotype.rb +57 -0
- data/lib/ea/qea/models/ea_tagged_value.rb +99 -0
- data/lib/ea/qea/models/ea_xref.rb +165 -0
- data/lib/ea/qea/models.rb +35 -0
- data/lib/ea/qea/repositories/base_repository.rb +225 -0
- data/lib/ea/qea/repositories/object_repository.rb +219 -0
- data/lib/ea/qea/repositories.rb +10 -0
- data/lib/ea/qea/services/configuration.rb +211 -0
- data/lib/ea/qea/services/database_loader.rb +191 -0
- data/lib/ea/qea/services.rb +10 -0
- data/lib/ea/qea/validation/association_validator.rb +73 -0
- data/lib/ea/qea/validation/attribute_validator.rb +91 -0
- data/lib/ea/qea/validation/base_validator.rb +331 -0
- data/lib/ea/qea/validation/class_validator.rb +121 -0
- data/lib/ea/qea/validation/database/circular_reference_validator.rb +109 -0
- data/lib/ea/qea/validation/database/orphan_validator.rb +153 -0
- data/lib/ea/qea/validation/database/referential_integrity_validator.rb +128 -0
- data/lib/ea/qea/validation/database.rb +16 -0
- data/lib/ea/qea/validation/diagram_validator.rb +112 -0
- data/lib/ea/qea/validation/formatters/json_formatter.rb +137 -0
- data/lib/ea/qea/validation/formatters/text_formatter.rb +235 -0
- data/lib/ea/qea/validation/formatters.rb +12 -0
- data/lib/ea/qea/validation/operation_validator.rb +71 -0
- data/lib/ea/qea/validation/package_validator.rb +111 -0
- data/lib/ea/qea/validation/validation_engine.rb +387 -0
- data/lib/ea/qea/validation/validation_message.rb +144 -0
- data/lib/ea/qea/validation/validation_result.rb +210 -0
- data/lib/ea/qea/validation/validator_registry.rb +134 -0
- data/lib/ea/qea/validation.rb +28 -0
- data/lib/ea/qea/verification/comparison_result.rb +264 -0
- data/lib/ea/qea/verification/document_normalizer.rb +169 -0
- data/lib/ea/qea/verification/document_verifier.rb +322 -0
- data/lib/ea/qea/verification/element_comparator.rb +277 -0
- data/lib/ea/qea/verification/structure_matcher.rb +287 -0
- data/lib/ea/qea/verification.rb +14 -0
- data/lib/ea/qea.rb +185 -0
- data/lib/ea/transformations/configuration.rb +333 -0
- data/lib/ea/transformations/format_registry.rb +366 -0
- data/lib/ea/transformations/parsers/base_parser.rb +482 -0
- data/lib/ea/transformations/parsers/qea_parser.rb +401 -0
- data/lib/ea/transformations/parsers/xmi_parser.rb +243 -0
- data/lib/ea/transformations/transformation_engine.rb +390 -0
- data/lib/ea/transformations.rb +85 -0
- data/lib/ea/transformers/qea_to_xmi/association_end.rb +19 -0
- data/lib/ea/transformers/qea_to_xmi/cardinality.rb +96 -0
- data/lib/ea/transformers/qea_to_xmi/context.rb +106 -0
- data/lib/ea/transformers/qea_to_xmi/guid_format.rb +56 -0
- data/lib/ea/transformers/qea_to_xmi/id_allocator.rb +92 -0
- data/lib/ea/transformers/qea_to_xmi/run_state.rb +107 -0
- data/lib/ea/transformers/qea_to_xmi/transformer.rb +607 -0
- data/lib/ea/transformers/qea_to_xmi/visibility.rb +73 -0
- data/lib/ea/transformers/qea_to_xmi.rb +29 -0
- data/lib/ea/transformers/uml_to_xmi/id_generator.rb +54 -0
- data/lib/ea/transformers/uml_to_xmi/transformer.rb +152 -0
- data/lib/ea/transformers/uml_to_xmi/writer.rb +96 -0
- data/lib/ea/transformers/uml_to_xmi.rb +16 -0
- data/lib/ea/transformers.rb +34 -0
- data/lib/ea/version.rb +1 -1
- data/lib/ea/xmi/liquid_drops/association_drop.rb +56 -0
- data/lib/ea/xmi/liquid_drops/attribute_drop.rb +72 -0
- data/lib/ea/xmi/liquid_drops/cardinality_drop.rb +35 -0
- data/lib/ea/xmi/liquid_drops/connector_drop.rb +54 -0
- data/lib/ea/xmi/liquid_drops/constraint_drop.rb +29 -0
- data/lib/ea/xmi/liquid_drops/data_type_drop.rb +63 -0
- data/lib/ea/xmi/liquid_drops/dependency_drop.rb +36 -0
- data/lib/ea/xmi/liquid_drops/diagram_drop.rb +34 -0
- data/lib/ea/xmi/liquid_drops/enum_drop.rb +49 -0
- data/lib/ea/xmi/liquid_drops/enum_owned_literal_drop.rb +25 -0
- data/lib/ea/xmi/liquid_drops/generalization_attribute_drop.rb +87 -0
- data/lib/ea/xmi/liquid_drops/generalization_drop.rb +127 -0
- data/lib/ea/xmi/liquid_drops/klass_drop.rb +191 -0
- data/lib/ea/xmi/liquid_drops/operation_drop.rb +29 -0
- data/lib/ea/xmi/liquid_drops/package_drop.rb +108 -0
- data/lib/ea/xmi/liquid_drops/root_drop.rb +34 -0
- data/lib/ea/xmi/liquid_drops/source_target_drop.rb +43 -0
- data/lib/ea/xmi/lookup_service.rb +89 -0
- data/lib/ea/xmi/parser.rb +919 -0
- data/lib/ea/xmi.rb +35 -0
- data/lib/ea.rb +10 -1
- metadata +382 -9
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Ea
|
|
4
|
+
module Xmi
|
|
5
|
+
module LiquidDrops
|
|
6
|
+
class PackageDrop < Liquid::Drop
|
|
7
|
+
def initialize(model, guidance = nil, options = {}) # rubocop:disable Lint/MissingSuper
|
|
8
|
+
@model = model
|
|
9
|
+
@guidance = guidance
|
|
10
|
+
@options = options
|
|
11
|
+
@lookup = options[:lookup]
|
|
12
|
+
@xmi_root_model = options[:xmi_root_model]
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def xmi_id
|
|
16
|
+
@model.xmi_id
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def name
|
|
20
|
+
@model.name
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def absolute_path
|
|
24
|
+
absolute_path_arr = [@model.name]
|
|
25
|
+
e = @lookup.find_upper_level_packaged_element(@model.xmi_id)
|
|
26
|
+
absolute_path_arr << e.name if e
|
|
27
|
+
|
|
28
|
+
while e
|
|
29
|
+
e = @lookup.find_upper_level_packaged_element(e.id)
|
|
30
|
+
absolute_path_arr << e.name if e
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
absolute_path_arr << "::#{@xmi_root_model.model.name}"
|
|
34
|
+
absolute_path_arr.reverse.join("::")
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def klasses
|
|
38
|
+
Array(@model.classes).map do |klass|
|
|
39
|
+
::Ea::Xmi::LiquidDrops::KlassDrop.new(
|
|
40
|
+
klass,
|
|
41
|
+
@guidance,
|
|
42
|
+
@options.merge(
|
|
43
|
+
{
|
|
44
|
+
absolute_path: "#{@options[:absolute_path]}::#{name}",
|
|
45
|
+
},
|
|
46
|
+
),
|
|
47
|
+
)
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
alias classes klasses
|
|
51
|
+
|
|
52
|
+
def enums
|
|
53
|
+
Array(@model.enums).map do |enum|
|
|
54
|
+
::Ea::Xmi::LiquidDrops::EnumDrop.new(enum, @options)
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
def data_types
|
|
59
|
+
Array(@model.data_types).map do |data_type|
|
|
60
|
+
::Ea::Xmi::LiquidDrops::DataTypeDrop.new(data_type, @options)
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
def diagrams
|
|
65
|
+
Array(@model.diagrams).map do |diagram|
|
|
66
|
+
::Ea::Xmi::LiquidDrops::DiagramDrop.new(diagram, @options)
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
def packages
|
|
71
|
+
Array(@model.packages).map do |package|
|
|
72
|
+
::Ea::Xmi::LiquidDrops::PackageDrop.new(
|
|
73
|
+
package,
|
|
74
|
+
@guidance,
|
|
75
|
+
@options.merge(
|
|
76
|
+
{
|
|
77
|
+
absolute_path: "#{@options[:absolute_path]}::#{name}",
|
|
78
|
+
},
|
|
79
|
+
),
|
|
80
|
+
)
|
|
81
|
+
end
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
def children_packages
|
|
85
|
+
Array(@model.children_packages).map do |package|
|
|
86
|
+
::Ea::Xmi::LiquidDrops::PackageDrop.new(
|
|
87
|
+
package,
|
|
88
|
+
@guidance,
|
|
89
|
+
@options.merge(
|
|
90
|
+
{
|
|
91
|
+
absolute_path: "#{@options[:absolute_path]}::#{name}",
|
|
92
|
+
},
|
|
93
|
+
),
|
|
94
|
+
)
|
|
95
|
+
end
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
def definition
|
|
99
|
+
@model.definition
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
def stereotype
|
|
103
|
+
@model.stereotype&.first
|
|
104
|
+
end
|
|
105
|
+
end
|
|
106
|
+
end
|
|
107
|
+
end
|
|
108
|
+
end
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Ea
|
|
4
|
+
module Xmi
|
|
5
|
+
module LiquidDrops
|
|
6
|
+
class RootDrop < Liquid::Drop
|
|
7
|
+
def initialize(model, guidance = nil, options = {}) # rubocop:disable Lint/MissingSuper
|
|
8
|
+
@model = model
|
|
9
|
+
@guidance = guidance
|
|
10
|
+
@options = options
|
|
11
|
+
@xmi_root_model = options[:xmi_root_model]
|
|
12
|
+
@id_name_mapping = options[:id_name_mapping]
|
|
13
|
+
|
|
14
|
+
@options[:absolute_path] = "::#{model.name}"
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def name
|
|
18
|
+
@model.name
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def packages
|
|
22
|
+
Array(@model.packages).map do |package|
|
|
23
|
+
::Ea::Xmi::LiquidDrops::PackageDrop.new(package, @guidance,
|
|
24
|
+
@options)
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def children_packages
|
|
29
|
+
Array(@model.packages).flat_map(&:children_packages).uniq
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Ea
|
|
4
|
+
module Xmi
|
|
5
|
+
module LiquidDrops
|
|
6
|
+
class SourceTargetDrop < Liquid::Drop
|
|
7
|
+
def initialize(model, options = {}) # rubocop:disable Lint/MissingSuper
|
|
8
|
+
@model = model
|
|
9
|
+
@options = options
|
|
10
|
+
@lookup = options[:lookup]
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def idref
|
|
14
|
+
@model.idref
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def name
|
|
18
|
+
@model&.role&.name
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def type
|
|
22
|
+
@model&.model&.name
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def documentation
|
|
26
|
+
@model&.documentation&.value
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def multiplicity
|
|
30
|
+
@model&.type&.multiplicity
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def aggregation
|
|
34
|
+
@model&.type&.aggregation
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def stereotype
|
|
38
|
+
@lookup.doc_node_attribute_value(@model.idref, "stereotype")
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Ea
|
|
4
|
+
module Xmi
|
|
5
|
+
# Bridge between Liquid Drop classes and the XMI parser.
|
|
6
|
+
# Drops receive an instance of this service to look up XMI elements.
|
|
7
|
+
class LookupService
|
|
8
|
+
def initialize(parser)
|
|
9
|
+
@parser = parser
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def doc_node_attribute_value(node_id, attr_name)
|
|
13
|
+
@parser.doc_node_attribute_value(node_id, attr_name)
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def lookup_entity_name(xmi_id)
|
|
17
|
+
@parser.lookup_entity_name(xmi_id)
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def lookup_attribute_documentation(xmi_id)
|
|
21
|
+
@parser.lookup_attribute_documentation(xmi_id)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def find_upper_level_packaged_element(klass_id)
|
|
25
|
+
@parser.find_upper_level_packaged_element(klass_id)
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def find_packaged_element_by_id(id)
|
|
29
|
+
@parser.find_packaged_element_by_id(id)
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def get_ns_by_xmi_id(xmi_id)
|
|
33
|
+
@parser.get_ns_by_xmi_id(xmi_id)
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def lookup_assoc_def(association)
|
|
37
|
+
@parser.lookup_assoc_def(association)
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
def fetch_connector(link_id)
|
|
41
|
+
@parser.fetch_connector(link_id)
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
def fetch_definition_node_value(link_id, node_name)
|
|
45
|
+
@parser.fetch_definition_node_value(link_id, node_name)
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
def select_dependencies_by_supplier(supplier_id)
|
|
49
|
+
@parser.select_dependencies_by_supplier(supplier_id)
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
def select_dependencies_by_client(client_id)
|
|
53
|
+
@parser.select_dependencies_by_client(client_id)
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
def select_all_packaged_elements(all_elements, model, type)
|
|
57
|
+
@parser.select_all_packaged_elements(all_elements, model, type)
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
def find_subtype_of_from_generalization(id)
|
|
61
|
+
@parser.find_subtype_of_from_generalization(id)
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
def find_subtype_of_from_owned_attribute_type(id)
|
|
65
|
+
@parser.find_subtype_of_from_owned_attribute_type(id)
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
def get_package_name(package)
|
|
69
|
+
@parser.get_package_name(package)
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
def xmi_index
|
|
73
|
+
@parser.xmi_index
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
def find_matched_element(xmi_id)
|
|
77
|
+
xmi_index&.find_element(xmi_id)
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
def xmi_root_model
|
|
81
|
+
@parser.xmi_root_model
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
def id_name_mapping
|
|
85
|
+
@parser.id_name_mapping
|
|
86
|
+
end
|
|
87
|
+
end
|
|
88
|
+
end
|
|
89
|
+
end
|