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,266 @@
|
|
|
1
|
+
# Model Transformations Configuration
|
|
2
|
+
# This file configures the unified model transformation system for LutaML
|
|
3
|
+
#
|
|
4
|
+
# Version: 1.0
|
|
5
|
+
# Description: External configuration for model format parsers and transformation options
|
|
6
|
+
|
|
7
|
+
version: "1.0"
|
|
8
|
+
description: "LutaML Model Transformations Configuration"
|
|
9
|
+
|
|
10
|
+
# Parser configurations define how different model formats are handled
|
|
11
|
+
parsers:
|
|
12
|
+
# XML Metadata Interchange (XMI) Parser
|
|
13
|
+
- format: "xmi"
|
|
14
|
+
extension: ".xmi"
|
|
15
|
+
parser_class: "Lutaml::ModelTransformations::Parsers::XmiParser"
|
|
16
|
+
enabled: true
|
|
17
|
+
priority: 100
|
|
18
|
+
description: "XML Metadata Interchange parser for UML models"
|
|
19
|
+
options:
|
|
20
|
+
- "validate_xml"
|
|
21
|
+
- "resolve_references"
|
|
22
|
+
- "preserve_namespaces"
|
|
23
|
+
- "include_documentation"
|
|
24
|
+
|
|
25
|
+
# Enterprise Architect Database (QEA) Parser
|
|
26
|
+
- format: "qea"
|
|
27
|
+
extension: ".qea"
|
|
28
|
+
parser_class: "Lutaml::ModelTransformations::Parsers::QeaParser"
|
|
29
|
+
enabled: true
|
|
30
|
+
priority: 90
|
|
31
|
+
description: "Enterprise Architect database parser"
|
|
32
|
+
options:
|
|
33
|
+
- "include_diagrams"
|
|
34
|
+
- "validate_transformation"
|
|
35
|
+
- "load_progress_callback"
|
|
36
|
+
- "cache_database"
|
|
37
|
+
|
|
38
|
+
# Legacy XML support (lower priority than XMI)
|
|
39
|
+
- format: "xml"
|
|
40
|
+
extension: ".xml"
|
|
41
|
+
parser_class: "Lutaml::ModelTransformations::Parsers::XmiParser"
|
|
42
|
+
enabled: true
|
|
43
|
+
priority: 80
|
|
44
|
+
description: "Generic XML parser (delegates to XMI parser)"
|
|
45
|
+
options:
|
|
46
|
+
- "validate_xml"
|
|
47
|
+
- "resolve_references"
|
|
48
|
+
|
|
49
|
+
# Enterprise Architect Project files (legacy format)
|
|
50
|
+
- format: "eap"
|
|
51
|
+
extension: ".eap"
|
|
52
|
+
parser_class: "Lutaml::ModelTransformations::Parsers::QeaParser"
|
|
53
|
+
enabled: true
|
|
54
|
+
priority: 70
|
|
55
|
+
description: "Enterprise Architect project file parser"
|
|
56
|
+
options:
|
|
57
|
+
- "include_diagrams"
|
|
58
|
+
- "legacy_format_support"
|
|
59
|
+
|
|
60
|
+
# Enterprise Architect Exchange files
|
|
61
|
+
- format: "eapx"
|
|
62
|
+
extension: ".eapx"
|
|
63
|
+
parser_class: "Lutaml::ModelTransformations::Parsers::QeaParser"
|
|
64
|
+
enabled: true
|
|
65
|
+
priority: 75
|
|
66
|
+
description: "Enterprise Architect exchange file parser"
|
|
67
|
+
options:
|
|
68
|
+
- "include_diagrams"
|
|
69
|
+
- "compressed_format"
|
|
70
|
+
|
|
71
|
+
# Global transformation options
|
|
72
|
+
transformation_options:
|
|
73
|
+
# Validate output document structure after parsing
|
|
74
|
+
validate_output: false
|
|
75
|
+
|
|
76
|
+
# Include diagram information in transformed documents
|
|
77
|
+
include_diagrams: true
|
|
78
|
+
|
|
79
|
+
# Preserve original XMI/QEA IDs in transformed elements
|
|
80
|
+
preserve_ids: true
|
|
81
|
+
|
|
82
|
+
# Resolve cross-references between model elements
|
|
83
|
+
resolve_references: true
|
|
84
|
+
|
|
85
|
+
# Enable strict validation mode (fail on warnings)
|
|
86
|
+
strict_mode: false
|
|
87
|
+
|
|
88
|
+
# Format detection configuration
|
|
89
|
+
format_detection:
|
|
90
|
+
# Use file extensions for format detection
|
|
91
|
+
use_file_extension: true
|
|
92
|
+
|
|
93
|
+
# Use content analysis (magic bytes) for format detection
|
|
94
|
+
use_content_sniffing: true
|
|
95
|
+
|
|
96
|
+
# Fallback parser when format cannot be detected
|
|
97
|
+
fallback_parser: "Lutaml::ModelTransformations::Parsers::XmiParser"
|
|
98
|
+
|
|
99
|
+
# Magic byte signatures for content detection
|
|
100
|
+
magic_bytes:
|
|
101
|
+
- "SQLite format 3" # QEA/SQLite files
|
|
102
|
+
- "<?xml" # XML/XMI files
|
|
103
|
+
|
|
104
|
+
# Error handling configuration
|
|
105
|
+
error_handling:
|
|
106
|
+
# Error handling strategy: "continue", "fail_fast", "collect"
|
|
107
|
+
strategy: "continue"
|
|
108
|
+
|
|
109
|
+
# Log errors and warnings to console
|
|
110
|
+
log_errors: true
|
|
111
|
+
|
|
112
|
+
# Maximum number of errors before aborting (0 = unlimited)
|
|
113
|
+
max_errors: 10
|
|
114
|
+
|
|
115
|
+
# Fail immediately on first error
|
|
116
|
+
fail_fast: false
|
|
117
|
+
|
|
118
|
+
# Format-specific configurations
|
|
119
|
+
format_specific:
|
|
120
|
+
xmi:
|
|
121
|
+
# XMI-specific options
|
|
122
|
+
namespace_handling: "preserve"
|
|
123
|
+
reference_resolution: "eager"
|
|
124
|
+
xml_validation: "lenient"
|
|
125
|
+
encoding_detection: "auto"
|
|
126
|
+
|
|
127
|
+
qea:
|
|
128
|
+
# QEA-specific options
|
|
129
|
+
database_timeout: 30
|
|
130
|
+
load_strategy: "progressive"
|
|
131
|
+
diagram_processing: "full"
|
|
132
|
+
schema_validation: "basic"
|
|
133
|
+
|
|
134
|
+
# Performance tuning
|
|
135
|
+
performance:
|
|
136
|
+
# Enable parser instance caching
|
|
137
|
+
cache_parsers: true
|
|
138
|
+
|
|
139
|
+
# Maximum size for parser cache (number of instances)
|
|
140
|
+
max_parser_cache_size: 10
|
|
141
|
+
|
|
142
|
+
# Enable transformation history tracking
|
|
143
|
+
track_history: true
|
|
144
|
+
|
|
145
|
+
# Maximum number of history entries to keep
|
|
146
|
+
max_history_size: 1000
|
|
147
|
+
|
|
148
|
+
# Logging configuration
|
|
149
|
+
logging:
|
|
150
|
+
# Log level: "debug", "info", "warn", "error"
|
|
151
|
+
level: "info"
|
|
152
|
+
|
|
153
|
+
# Include timestamps in log messages
|
|
154
|
+
include_timestamps: true
|
|
155
|
+
|
|
156
|
+
# Include parser class names in log messages
|
|
157
|
+
include_parser_names: true
|
|
158
|
+
|
|
159
|
+
# Log transformation statistics
|
|
160
|
+
log_statistics: true
|
|
161
|
+
|
|
162
|
+
# Plugin/extension support
|
|
163
|
+
plugins:
|
|
164
|
+
# Enable plugin system
|
|
165
|
+
enabled: false
|
|
166
|
+
|
|
167
|
+
# Plugin discovery paths
|
|
168
|
+
discovery_paths:
|
|
169
|
+
- "lib/lutaml/model_transformations/plugins"
|
|
170
|
+
- "~/.lutaml/plugins"
|
|
171
|
+
|
|
172
|
+
# Auto-load plugins on startup
|
|
173
|
+
auto_load: false
|
|
174
|
+
|
|
175
|
+
# Validation rules
|
|
176
|
+
validation:
|
|
177
|
+
# Required elements validation
|
|
178
|
+
require_packages: false
|
|
179
|
+
require_classes: false
|
|
180
|
+
|
|
181
|
+
# Reference validation
|
|
182
|
+
check_broken_references: true
|
|
183
|
+
allow_external_references: true
|
|
184
|
+
|
|
185
|
+
# Naming validation
|
|
186
|
+
validate_naming_conventions: false
|
|
187
|
+
naming_patterns:
|
|
188
|
+
package: "^[A-Z][a-zA-Z0-9]*$"
|
|
189
|
+
class: "^[A-Z][a-zA-Z0-9]*$"
|
|
190
|
+
attribute: "^[a-z][a-zA-Z0-9]*$"
|
|
191
|
+
|
|
192
|
+
# Transformation presets for common scenarios
|
|
193
|
+
presets:
|
|
194
|
+
# Fast parsing preset (minimal validation, no diagrams)
|
|
195
|
+
fast:
|
|
196
|
+
transformation_options:
|
|
197
|
+
validate_output: false
|
|
198
|
+
include_diagrams: false
|
|
199
|
+
resolve_references: false
|
|
200
|
+
error_handling:
|
|
201
|
+
strategy: "fail_fast"
|
|
202
|
+
log_errors: false
|
|
203
|
+
|
|
204
|
+
# Comprehensive parsing preset (full validation and processing)
|
|
205
|
+
comprehensive:
|
|
206
|
+
transformation_options:
|
|
207
|
+
validate_output: true
|
|
208
|
+
include_diagrams: true
|
|
209
|
+
resolve_references: true
|
|
210
|
+
strict_mode: true
|
|
211
|
+
error_handling:
|
|
212
|
+
strategy: "collect"
|
|
213
|
+
log_errors: true
|
|
214
|
+
max_errors: 0
|
|
215
|
+
|
|
216
|
+
# Production preset (balanced performance and reliability)
|
|
217
|
+
production:
|
|
218
|
+
transformation_options:
|
|
219
|
+
validate_output: true
|
|
220
|
+
include_diagrams: true
|
|
221
|
+
resolve_references: true
|
|
222
|
+
strict_mode: false
|
|
223
|
+
error_handling:
|
|
224
|
+
strategy: "continue"
|
|
225
|
+
log_errors: true
|
|
226
|
+
max_errors: 5
|
|
227
|
+
performance:
|
|
228
|
+
cache_parsers: true
|
|
229
|
+
track_history: false
|
|
230
|
+
|
|
231
|
+
# Compatibility settings
|
|
232
|
+
compatibility:
|
|
233
|
+
# Support legacy LutaML API
|
|
234
|
+
legacy_api_support: true
|
|
235
|
+
|
|
236
|
+
# Automatic migration of old configuration formats
|
|
237
|
+
auto_migrate_config: true
|
|
238
|
+
|
|
239
|
+
# Deprecated feature warnings
|
|
240
|
+
warn_deprecated: true
|
|
241
|
+
|
|
242
|
+
# Development/debugging options
|
|
243
|
+
development:
|
|
244
|
+
# Enable debug mode
|
|
245
|
+
debug_mode: false
|
|
246
|
+
|
|
247
|
+
# Dump intermediate transformation results
|
|
248
|
+
dump_intermediate: false
|
|
249
|
+
|
|
250
|
+
# Benchmark transformation performance
|
|
251
|
+
benchmark_mode: false
|
|
252
|
+
|
|
253
|
+
# Verbose parser output
|
|
254
|
+
verbose_parsing: false
|
|
255
|
+
|
|
256
|
+
# Integration settings
|
|
257
|
+
integration:
|
|
258
|
+
# UML Repository integration
|
|
259
|
+
auto_build_repository: true
|
|
260
|
+
repository_lazy_loading: false
|
|
261
|
+
|
|
262
|
+
# CLI integration
|
|
263
|
+
register_cli_commands: true
|
|
264
|
+
|
|
265
|
+
# Web UI integration
|
|
266
|
+
enable_web_ui: false
|