esmf-aspect-model-loader 2.3.0__tar.gz → 2.3.2__tar.gz
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.
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/PKG-INFO +13 -7
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/README.md +6 -3
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/adaptive_graph.py +13 -2
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/resolver/local_file.py +2 -2
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_cli/base.py +10 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_cli/constants.py +1 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/pyproject.toml +7 -3
- esmf_aspect_model_loader-2.3.2/tests/integration/aspect_model_loader/test_dependency_resolution.py +112 -0
- {esmf_aspect_model_loader-2.3.0/tests_invalid/resources → esmf_aspect_model_loader-2.3.2/tests/integration/resources/org.eclipse.esmf.samm.test/1.0.0}/trait_missing_base_characteristic.ttl +1 -1
- {esmf_aspect_model_loader-2.3.0/tests_invalid/resources → esmf_aspect_model_loader-2.3.2/tests/integration/resources/org.eclipse.esmf.samm.test/1.0.0}/trait_missing_constraint.ttl +1 -1
- esmf_aspect_model_loader-2.3.2/tests/integration/test_adaptive_graph.py +78 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/test_cli_functions.py +63 -23
- {esmf_aspect_model_loader-2.3.0/tests_invalid → esmf_aspect_model_loader-2.3.2/tests/integration}/test_constraints.py +5 -5
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/samm_cli/test_base.py +8 -0
- esmf_aspect_model_loader-2.3.2/tests/unit/test_adaptive_graph.py +300 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tox.ini +7 -4
- esmf_aspect_model_loader-2.3.2/uv.lock +981 -0
- esmf_aspect_model_loader-2.3.0/tests/integration/test_adaptive_graph.py +0 -71
- esmf_aspect_model_loader-2.3.0/tests/unit/test_adaptive_graph.py +0 -205
- esmf_aspect_model_loader-2.3.0/tests_invalid/__init__.py +0 -10
- esmf_aspect_model_loader-2.3.0/uv.lock +0 -939
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/.gitignore +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/__init__.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/README.md +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/__init__.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/aspect.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/base.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/bound_definition.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/cache_strategy.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/characteristics/__init__.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/characteristics/characteristic.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/characteristics/code.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/characteristics/collection/__init__.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/characteristics/collection/collection.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/characteristics/collection/list.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/characteristics/collection/set.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/characteristics/collection/sorted_set.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/characteristics/collection/time_series.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/characteristics/enumeration.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/characteristics/quantifiable/__init__.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/characteristics/quantifiable/duration.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/characteristics/quantifiable/measurement.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/characteristics/quantifiable/quantifiable.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/characteristics/single_entity.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/characteristics/state.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/characteristics/structured_value.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/characteristics/trait.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/constraints/__init__.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/constraints/constraint.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/constraints/encoding_constraint.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/constraints/fixed_point_constraint.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/constraints/language_constraint.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/constraints/length_constraint.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/constraints/locale_constraint.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/constraints/range_constraint.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/constraints/regular_expression_constraint.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/data_types/__init__.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/data_types/abstract_entity.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/data_types/complex_type.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/data_types/data_type.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/data_types/entity.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/data_types/scalar.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/either.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/event.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/has_properties.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/has_urn.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/is_described.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/namespace.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/operation.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/property.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/property_func.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/quantity_kind.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/structure_element.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/unit.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/base/value.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/constants.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/README.md +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/__init__.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/base_impl.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/characteristics/__init__.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/characteristics/collection/__init__.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/characteristics/collection/default_collection.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/characteristics/collection/default_list.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/characteristics/collection/default_set.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/characteristics/collection/default_sorted_set.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/characteristics/collection/default_time_series.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/characteristics/default_characteristic.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/characteristics/default_code.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/characteristics/default_enumeration.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/characteristics/default_single_entity.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/characteristics/default_state.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/characteristics/default_structured_value.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/characteristics/default_trait.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/characteristics/quantifiable/__init__.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/characteristics/quantifiable/default_duration.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/characteristics/quantifiable/default_measurement.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/characteristics/quantifiable/default_quantifiable.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/constraints/__init__.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/constraints/default_constraint.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/constraints/default_encoding_constraint.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/constraints/default_fixed_point_constraint.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/constraints/default_language_constraint.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/constraints/default_length_constraint.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/constraints/default_locale_constraint.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/constraints/default_range_constraint.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/constraints/default_regular_expression_constraint.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/data_types/__init__.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/data_types/default_abstract_entity.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/data_types/default_complex_type.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/data_types/default_data_type.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/data_types/default_entity.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/data_types/default_scalar.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/default_aspect.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/default_either.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/default_event.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/default_namespace.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/default_operation.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/default_property.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/default_quantity_kind.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/default_unit.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/impl/default_value.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/README.md +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/__init__.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/default_element_cache.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/__init__.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/abstract_entity_instantiator.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/abstract_property_instantiator.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/aspect_instantiator.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/characteristic_instantiator.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/code_instantiator.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/collection_instantiator.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/complex_type_instantiator.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/datatype_instantiator.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/duration_instantiator.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/either_instantiator.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/encoding_constraint_instantiator.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/entity_instantiator.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/enumeration_instantiator.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/event_instantiator.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/fixed_point_constraint_instantiator.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/language_constraint_instantiator.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/length_constraint_instantiator.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/list_instantiator.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/locale_constraint_instantiator.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/measurement_instantiator.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/namespace_instantiator.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/operation_instantiator.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/property_instantiator.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/quantifiable_instantiator.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/quantity_kind_instantiator.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/range_constraint_instantiator.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/regular_expression_constraint_instantiator.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/scalar_instantiator.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/set_instantiator.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/single_entity_instantiator.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/sorted_set_instantiator.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/state_instantiator.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/structured_value_instantiator.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/time_series_instantiator.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/trait_instantiator.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/unit_instantiator.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator/value_instantiator.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/instantiator_base.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/meta_model_base_attributes.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/model_element_factory.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/rdf_helper.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/loader/samm_graph.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/resolver/README.md +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/resolver/__init__.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/resolver/base.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/resolver/data_string.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/resolver/handler.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/resolver/meta_model.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/characteristic/1.0.0/characteristic-definitions.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/characteristic/1.0.0/characteristic-instances.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/characteristic/1.0.0/characteristic-shapes.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/characteristic/1.0.0/characteristic-validations.js +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/characteristic/2.0.0/characteristic-definitions.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/characteristic/2.0.0/characteristic-instances.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/characteristic/2.0.0/characteristic-shapes.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/characteristic/2.0.0/characteristic-validations.js +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/characteristic/2.1.0/characteristic-definitions.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/characteristic/2.1.0/characteristic-instances.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/characteristic/2.1.0/characteristic-shapes.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/characteristic/2.1.0/characteristic-validations.js +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/characteristic/2.2.0/characteristic-definitions.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/characteristic/2.2.0/characteristic-instances.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/characteristic/2.2.0/characteristic-shapes.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/characteristic/2.2.0/characteristic-validations.js +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/entity/1.0.0/FileResource.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/entity/1.0.0/Point3d.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/entity/1.0.0/TimeSeriesEntity.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/entity/2.0.0/FileResource.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/entity/2.0.0/Point3d.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/entity/2.0.0/TimeSeriesEntity.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/entity/2.1.0/FileResource.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/entity/2.1.0/Point3d.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/entity/2.1.0/TimeSeriesEntity.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/entity/2.2.0/FileResource.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/entity/2.2.0/Point3d.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/entity/2.2.0/Quantity.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/entity/2.2.0/TimeSeriesEntity.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/meta-model/1.0.0/aspect-meta-model-definitions.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/meta-model/1.0.0/aspect-meta-model-shapes.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/meta-model/1.0.0/prefix-declarations.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/meta-model/1.0.0/type-conversions.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/meta-model/2.0.0/aspect-meta-model-definitions.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/meta-model/2.0.0/aspect-meta-model-shapes.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/meta-model/2.0.0/prefix-declarations.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/meta-model/2.0.0/type-conversions.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/meta-model/2.1.0/aspect-meta-model-definitions.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/meta-model/2.1.0/aspect-meta-model-shapes.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/meta-model/2.1.0/prefix-declarations.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/meta-model/2.1.0/type-conversions.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/meta-model/2.2.0/aspect-meta-model-definitions.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/meta-model/2.2.0/aspect-meta-model-shapes.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/meta-model/2.2.0/prefix-declarations.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/meta-model/2.2.0/type-conversions.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/scripts/language-registry.js +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/unit/1.0.0/units.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/unit/2.0.0/units.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/unit/2.1.0/units.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_aspect_meta_model/samm/unit/2.2.0/units.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_cli/__init__.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_cli/download.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/samm_meta_model.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/utils.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/vocabulary/__init__.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/vocabulary/constants.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/vocabulary/namespace.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/vocabulary/samm.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/vocabulary/sammc.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/vocabulary/samme.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/esmf_aspect_meta_model_python/vocabulary/unit.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/scripts/__init__.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/scripts/constants.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/scripts/download_samm_cli.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/scripts/download_test_models.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/scripts/samm/__init__.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/scripts/samm/download_samm_branch.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/scripts/samm/download_samm_release.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/scripts/samm/github_file.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/scripts/samm/github_folder.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/__init__.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/__init__.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/__init__.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/java_models/__init__.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/java_models/test_loading_aspects.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.characteristics/2.2.0/AspectWithBlankNode.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.characteristics/2.2.0/AspectWithCode.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.characteristics/2.2.0/AspectWithCollection.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.characteristics/2.2.0/AspectWithCollectionWithElementCharacteristic.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.characteristics/2.2.0/AspectWithDuration.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.characteristics/2.2.0/AspectWithList.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.characteristics/2.2.0/AspectWithMeasurement.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.characteristics/2.2.0/AspectWithQuantifiableAndUnit.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.characteristics/2.2.0/AspectWithSet.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.characteristics/2.2.0/AspectWithSimpleEnum.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.characteristics/2.2.0/AspectWithSortedSet.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.characteristics/2.2.0/AspectWithState.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.characteristics/2.2.0/AspectWithStructuredValue.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.constraints/2.2.0/AspectWithConstrainedCollection.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.constraints/2.2.0/AspectWithEncodingConstraint.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.constraints/2.2.0/AspectWithFixedPoint.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.constraints/2.2.0/AspectWithLanguageConstraint.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.constraints/2.2.0/AspectWithLengthConstraint.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.constraints/2.2.0/AspectWithLocaleConstraint.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.constraints/2.2.0/AspectWithMultipleConstraints.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.constraints/2.2.0/AspectWithMultipleOneValueConstraints.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.constraints/2.2.0/AspectWithRangeConstraint.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.constraints/2.2.0/AspectWithRangeConstraintInclBoundDefinitionProperties.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.constraints/2.2.0/AspectWithRegularExpressionConstraint.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.entity/2.2.0/AspectWithAbstractEntity.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.entity/2.2.0/AspectWithAbstractEntityMultipleAttributes.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.entity/2.2.0/AspectWithAbstractPropertyBlankNode.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.entity/2.2.0/AspectWithAbstractPropertyMultipleAbstractEntities.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.entity/2.2.0/AspectWithAbstractPropertyMultipleAttributes.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.entity/2.2.0/AspectWithEntity.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.entity/2.2.0/AspectWithEntityEnum.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.entity/2.2.0/AspectWithEntityExtendingFileResource.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.entity/2.2.0/AspectWithFileResourceEntity.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.entity/2.2.0/AspectWithMultipleAbstractEntitiesMultipleAttributes.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.entity/2.2.0/AspectWithMultipleEntitiesSameExtend.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.entity/2.2.0/AspectWithMultiplePropertiesSameExtend.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.entity/2.2.0/AspectWithPoint3d.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.entity/2.2.0/AspectWithTimeSeries.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.entity/2.2.0/AspectWithTimeSeriesWithComplexType.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.entity/2.2.0/AspectWithUnusedExtendingEntity.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.event/2.2.0/aspect_with_event.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.event/2.2.0/aspect_with_event_with_parameters.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.event/2.2.0/aspect_with_multiple_event.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.general/2.2.0/Aspect.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.general/2.2.0/AspectWithDuplicatePropertyWithDifferentPayloadNames.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.general/2.2.0/AspectWithDuplicatePropertyWithPayloadName.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.general/2.2.0/AspectWithEither.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.general/2.2.0/AspectWithExtendingPropertyWithPayloadName.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.general/2.2.0/AspectWithMultipleAttributes.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.general/2.2.0/AspectWithOperation.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.general/2.2.0/AspectWithOperationNoOutput.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.general/2.2.0/AspectWithOptionalPropertyWithPayloadName.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.general/2.2.0/AspectWithProperties.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.general/2.2.0/AspectWithProperty.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.general/2.2.0/AspectWithPropertyMultipleReferences.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.general/2.2.0/AspectWithPropertyWithAllBaseAttributes.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.general/2.2.0/AspectWithPropertyWithPayloadName.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.general/2.2.0/Movement.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.general/2.2.0/ProductType_shared.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.general/2.2.0/ProductTypes.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.general_with_invalid_versions/2.2.0/AspectWithReferences.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.general_with_invalid_versions/2.2.0/Part_shared.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.general_with_references/2.2.0/AspectWithReferences.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.general_with_references/2.2.0/Part_shared.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.types/2.1.0/type_shared.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/resources/org.eclipse.esmf.test.types/2.2.0/type_shared.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/test_aspect_functionality.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/test_characteristics.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/test_constraints.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/test_entities.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/test_event.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/test_general.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/test_resolve_elements_referencies.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/test_subclasses.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/test_upgrade_aspects.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/aspect_model_loader/test_vocabulary.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/integration/resources/org.eclipse.esmf.test.general/2.2.0/SampleAspect.ttl +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/__init__.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/base/__init__.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/base/data_types/__init__.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/base/data_types/test_abstract_entity.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/base/data_types/test_complex_type.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/base/data_types/test_data_type.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/base/data_types/test_scalar.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/base/test_aspect.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/base/test_base.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/base/test_property.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/base/test_property_func.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/impl/__init__.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/impl/characteristics/__init__.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/impl/characteristics/collection/__init__.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/impl/characteristics/collection/test_collection.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/impl/characteristics/quantifiable/__init__.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/impl/characteristics/quantifiable/test_quantifiable.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/impl/characteristics/test_characteristic.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/impl/characteristics/test_enumeration.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/impl/characteristics/test_state.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/impl/characteristics/test_structured_value.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/impl/characteristics/test_trait.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/impl/constraints/__init__.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/impl/constraints/test_encoding_constraint.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/impl/constraints/test_fixed_point_constraint.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/impl/constraints/test_language_constraint.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/impl/constraints/test_length_constraint.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/impl/constraints/test_locale_constraint.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/impl/constraints/test_range_constraint.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/impl/constraints/test_regular_expression_constraint.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/impl/data_types/__init__.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/impl/data_types/test_abstract_entity.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/impl/data_types/test_complex_type.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/impl/data_types/test_datatype.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/impl/data_types/test_scalar.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/impl/test_aspect.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/impl/test_base_impl.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/impl/test_either.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/impl/test_event.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/impl/test_operation.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/impl/test_property.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/impl/test_unit.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/impl/test_value.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/__init__.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/instantiators/__init__.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/instantiators/test_abstract_entity_instantiator.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/instantiators/test_abstract_property_instantiator.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/instantiators/test_aspect_instantiator.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/instantiators/test_characteristic_instantiator.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/instantiators/test_code_instantiator.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/instantiators/test_complex_type_instantiator.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/instantiators/test_datatype_instantiator.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/instantiators/test_duration_instantiator.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/instantiators/test_either_instantiator.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/instantiators/test_encoding_constraint_instantiator.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/instantiators/test_entity_instantiator.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/instantiators/test_enumeration_instantiator.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/instantiators/test_event_instantiator.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/instantiators/test_fixed_point_constraint_instantiator.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/instantiators/test_language_constraint_instantiator.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/instantiators/test_length_constraint_instantiator.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/instantiators/test_list_instantiator.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/instantiators/test_locale_constraint_instantiator.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/instantiators/test_measurement_instantiator.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/instantiators/test_operation_instantiator.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/instantiators/test_property_instantiator.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/instantiators/test_quantifiable_instantiator.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/instantiators/test_range_constraint_instantiator.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/instantiators/test_regular_expression_constraint_instantiator.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/instantiators/test_scalar_instantiator.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/instantiators/test_set_instantiator.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/instantiators/test_single_entity_instantiator.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/instantiators/test_sorted_set_instantiator.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/instantiators/test_state_instantiator.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/instantiators/test_structured_value_instantiator.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/instantiators/test_time_series_instantiator.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/instantiators/test_trait_instantiator.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/instantiators/test_unit_instantiator.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/test_default_element_cache.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/test_instantiator_base.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/test_meta_model_base_attributes.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/test_model_element_factory.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/loader/test_samm_graph.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/resolver/__init__.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/resolver/test_base.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/resolver/test_data_string.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/resolver/test_handler.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/resolver/test_local_file.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/resolver/test_meta_model.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/samm_cli/__init__.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/samm_cli/test_download.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/test_samm_meta_model.py +0 -0
- {esmf_aspect_model_loader-2.3.0 → esmf_aspect_model_loader-2.3.2}/tests/unit/test_utils.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.5
|
|
2
2
|
Name: esmf-aspect-model-loader
|
|
3
|
-
Version: 2.3.
|
|
3
|
+
Version: 2.3.2
|
|
4
4
|
Summary: Load Aspect Models based on the Semantic Aspect Meta Model
|
|
5
5
|
Project-URL: Homepage, https://projects.eclipse.org/projects/dt.esmf
|
|
6
6
|
Project-URL: Repository, https://github.com/eclipse-esmf/esmf-sdk-py-aspect-model-loader
|
|
@@ -11,8 +11,11 @@ License-Expression: MPL-2.0
|
|
|
11
11
|
Keywords: aspect,digital twin,esmf,idta,model loader,samm,semantic api,semantics
|
|
12
12
|
Classifier: License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)
|
|
13
13
|
Classifier: Programming Language :: Python :: 3
|
|
14
|
-
Classifier: Programming Language :: Python :: 3.
|
|
15
|
-
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
18
|
+
Requires-Python: <4.0,>=3.11
|
|
16
19
|
Requires-Dist: rdflib==7.6.0
|
|
17
20
|
Requires-Dist: requests==2.34.2
|
|
18
21
|
Description-Content-Type: text/markdown
|
|
@@ -213,7 +216,7 @@ is located.
|
|
|
213
216
|
`tox` is used for the tests automation purpose. There are two environments with different purposes and tests can
|
|
214
217
|
be running with the tox:
|
|
215
218
|
- pep8: static code checks (PEP8 style) with MyPy and Black
|
|
216
|
-
-
|
|
219
|
+
- py311, py312, py313 and py314: unit and integration tests
|
|
217
220
|
|
|
218
221
|
### tox-uv plugin
|
|
219
222
|
|
|
@@ -225,16 +228,19 @@ The two environments use the plugin differently (see [tox.ini](tox.ini)):
|
|
|
225
228
|
- `pep8` uses the `uv-venv-lock-runner` provided by `tox-uv`, which provisions the environment directly from the
|
|
226
229
|
pinned `uv.lock` and installs the `dev` dependency group. This guarantees the linters run with the exact, locked
|
|
227
230
|
versions.
|
|
228
|
-
- `
|
|
231
|
+
- `py311` uses the default runner and explicitly runs `uv sync` and `uv run download-samm-release` in its
|
|
229
232
|
`commands_pre` to prepare dependencies and the SAMM meta model files before executing the test suite.
|
|
230
233
|
|
|
231
234
|
```console
|
|
232
235
|
# run all checks use the next command
|
|
233
236
|
uv run tox
|
|
234
237
|
|
|
238
|
+
# run all checks in parallel use the next command
|
|
239
|
+
uv run tox run-parallel
|
|
240
|
+
|
|
235
241
|
# run only pep8 checks
|
|
236
242
|
uv run tox -e pep8
|
|
237
243
|
|
|
238
244
|
# run tests
|
|
239
|
-
uv run tox -e
|
|
245
|
+
uv run tox -e py311
|
|
240
246
|
```
|
|
@@ -194,7 +194,7 @@ is located.
|
|
|
194
194
|
`tox` is used for the tests automation purpose. There are two environments with different purposes and tests can
|
|
195
195
|
be running with the tox:
|
|
196
196
|
- pep8: static code checks (PEP8 style) with MyPy and Black
|
|
197
|
-
-
|
|
197
|
+
- py311, py312, py313 and py314: unit and integration tests
|
|
198
198
|
|
|
199
199
|
### tox-uv plugin
|
|
200
200
|
|
|
@@ -206,16 +206,19 @@ The two environments use the plugin differently (see [tox.ini](tox.ini)):
|
|
|
206
206
|
- `pep8` uses the `uv-venv-lock-runner` provided by `tox-uv`, which provisions the environment directly from the
|
|
207
207
|
pinned `uv.lock` and installs the `dev` dependency group. This guarantees the linters run with the exact, locked
|
|
208
208
|
versions.
|
|
209
|
-
- `
|
|
209
|
+
- `py311` uses the default runner and explicitly runs `uv sync` and `uv run download-samm-release` in its
|
|
210
210
|
`commands_pre` to prepare dependencies and the SAMM meta model files before executing the test suite.
|
|
211
211
|
|
|
212
212
|
```console
|
|
213
213
|
# run all checks use the next command
|
|
214
214
|
uv run tox
|
|
215
215
|
|
|
216
|
+
# run all checks in parallel use the next command
|
|
217
|
+
uv run tox run-parallel
|
|
218
|
+
|
|
216
219
|
# run only pep8 checks
|
|
217
220
|
uv run tox -e pep8
|
|
218
221
|
|
|
219
222
|
# run tests
|
|
220
|
-
uv run tox -e
|
|
223
|
+
uv run tox -e py311
|
|
221
224
|
```
|
|
@@ -14,26 +14,37 @@ from esmf_aspect_meta_model_python.samm_cli import SammCli
|
|
|
14
14
|
class AdaptiveGraph(Graph): # TODO: avoid double parsing when an upgrade is not performed
|
|
15
15
|
"""An RDF graph that can adaptively upgrade SAMM files using the SAMM CLI."""
|
|
16
16
|
|
|
17
|
-
_samm_cli =
|
|
17
|
+
_samm_cli = None # Initialize as None
|
|
18
18
|
|
|
19
19
|
def __init__(self, samm_version: str = SAMM_VERSION, *args, **kwargs) -> None:
|
|
20
|
+
"""Initialize the graph with a target SAMM version used to detect and trigger upgrades."""
|
|
20
21
|
super().__init__(*args, **kwargs)
|
|
21
22
|
|
|
22
23
|
self._samm_version = samm_version
|
|
23
24
|
|
|
25
|
+
@classmethod
|
|
26
|
+
def _get_samm_cli(cls) -> SammCli:
|
|
27
|
+
"""Get or create the SammCli instance (lazy initialization)."""
|
|
28
|
+
if cls._samm_cli is None:
|
|
29
|
+
cls._samm_cli = SammCli()
|
|
30
|
+
|
|
31
|
+
return cls._samm_cli
|
|
32
|
+
|
|
24
33
|
def _upgrade_ttl_file(self, file_path: pathlib.Path) -> str:
|
|
25
34
|
"""Run SAMM CLI prettyprint to upgrade a TTL file to the latest version."""
|
|
26
35
|
try:
|
|
27
|
-
return self.
|
|
36
|
+
return self._get_samm_cli().prettyprint(str(file_path), capture=True)
|
|
28
37
|
except subprocess.CalledProcessError as e:
|
|
29
38
|
raise RuntimeError(f"SAMM CLI failed for {file_path}:\n{e.stdout}\n{e.stderr}") from e
|
|
30
39
|
|
|
31
40
|
def _upgrade_source(self, source_path: pathlib.Path) -> str:
|
|
41
|
+
"""Log a mismatch warning for a file source and delegate to _upgrade_ttl_file."""
|
|
32
42
|
print(f"[INFO] SAMM version mismatch detected in {source_path}. Upgrading...")
|
|
33
43
|
|
|
34
44
|
return self._upgrade_ttl_file(source_path)
|
|
35
45
|
|
|
36
46
|
def _upgrade_data(self, data: str | bytes) -> str:
|
|
47
|
+
"""Write inline data to a temp TTL file, upgrade it via SAMM CLI, then delete the temp file."""
|
|
37
48
|
print( # TODO: improve logging
|
|
38
49
|
f"[INFO] SAMM version mismatch detected in provided data (target v{self._samm_version}) Upgrading..."
|
|
39
50
|
)
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
#
|
|
10
10
|
# SPDX-License-Identifier: MPL-2.0
|
|
11
11
|
|
|
12
|
-
from os.path import exists, join
|
|
12
|
+
from os.path import exists, isabs, join
|
|
13
13
|
from pathlib import Path
|
|
14
14
|
from typing import Dict, List, Optional, Tuple, Union
|
|
15
15
|
|
|
@@ -72,7 +72,7 @@ class LocalFileResolver(ResolverInterface):
|
|
|
72
72
|
urn, namespace_id, namespace_specific_str, version = namespace_info
|
|
73
73
|
|
|
74
74
|
if urn == "urn" and namespace_id == SAMM_NAMESPACE_PREFIX:
|
|
75
|
-
if namespace_specific_str == SAMM_ORG_IDENTIFIER:
|
|
75
|
+
if namespace_specific_str == SAMM_ORG_IDENTIFIER or isabs(namespace_specific_str):
|
|
76
76
|
namespace_specific_str = None
|
|
77
77
|
version = None
|
|
78
78
|
else:
|
|
@@ -204,6 +204,16 @@ class SammCli:
|
|
|
204
204
|
"""
|
|
205
205
|
return self._call_function(SAMMCLICommands.TO_JSON, path_to_model, *args, capture=capture, **kwargs)
|
|
206
206
|
|
|
207
|
+
def to_parquet(self, path_to_model, *args, capture=False, **kwargs):
|
|
208
|
+
"""Generate example Parquet payload data for an Aspect Model.
|
|
209
|
+
|
|
210
|
+
param path_to_model: local path to the aspect model file (*.ttl)
|
|
211
|
+
possible arguments:
|
|
212
|
+
- output, -o: output file path (default: stdout)
|
|
213
|
+
- custom-resolver: use an external resolver for the resolution of the model elements
|
|
214
|
+
"""
|
|
215
|
+
return self._call_function(SAMMCLICommands.TO_PARQUET, path_to_model, *args, capture=capture, **kwargs)
|
|
216
|
+
|
|
207
217
|
def to_html(self, path_to_model, *args, capture=False, **kwargs):
|
|
208
218
|
"""Generate HTML documentation for an Aspect Model.
|
|
209
219
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "esmf-aspect-model-loader"
|
|
3
|
-
version = "2.3.
|
|
3
|
+
version = "2.3.2"
|
|
4
4
|
description = "Load Aspect Models based on the Semantic Aspect Meta Model"
|
|
5
5
|
authors = [
|
|
6
6
|
{ name = "Eclipse Semantic Modeling Framework" },
|
|
@@ -15,12 +15,15 @@ authors = [
|
|
|
15
15
|
]
|
|
16
16
|
license = "MPL-2.0"
|
|
17
17
|
readme = "README.md"
|
|
18
|
-
requires-python = ">=3.
|
|
18
|
+
requires-python = ">=3.11,<4.0"
|
|
19
19
|
keywords = ["samm", "esmf", "digital twin", "idta", "model loader", "semantic api", "semantics", "aspect"]
|
|
20
20
|
classifiers = [
|
|
21
21
|
"License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)",
|
|
22
22
|
"Programming Language :: Python :: 3",
|
|
23
|
-
"Programming Language :: Python :: 3.
|
|
23
|
+
"Programming Language :: Python :: 3.11",
|
|
24
|
+
"Programming Language :: Python :: 3.12",
|
|
25
|
+
"Programming Language :: Python :: 3.13",
|
|
26
|
+
"Programming Language :: Python :: 3.14",
|
|
24
27
|
]
|
|
25
28
|
# Pinned to exact versions (no ranges) to harden against supply-chain attacks.
|
|
26
29
|
dependencies = [
|
|
@@ -48,6 +51,7 @@ dev = [
|
|
|
48
51
|
"flake8==6.1.0",
|
|
49
52
|
"isort==5.13.2",
|
|
50
53
|
"mypy==1.20.2",
|
|
54
|
+
"polars==1.42.1",
|
|
51
55
|
"pytest==7.4.4",
|
|
52
56
|
"pytest-cov==4.1.0",
|
|
53
57
|
"pytest-sugar==0.9.7",
|
esmf_aspect_model_loader-2.3.2/tests/integration/aspect_model_loader/test_dependency_resolution.py
ADDED
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
# Copyright (c) 2023 Robert Bosch Manufacturing Solutions GmbH
|
|
2
|
+
#
|
|
3
|
+
# See the AUTHORS file(s) distributed with this work for additional
|
|
4
|
+
# information regarding authorship.
|
|
5
|
+
#
|
|
6
|
+
# This Source Code Form is subject to the terms of the Mozilla Public
|
|
7
|
+
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
8
|
+
# file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
|
9
|
+
#
|
|
10
|
+
# SPDX-License-Identifier: MPL-2.0
|
|
11
|
+
|
|
12
|
+
import platform
|
|
13
|
+
|
|
14
|
+
from os import makedirs, remove
|
|
15
|
+
from os.path import abspath, dirname, isfile, join
|
|
16
|
+
from shutil import rmtree
|
|
17
|
+
|
|
18
|
+
from rdflib.term import URIRef
|
|
19
|
+
|
|
20
|
+
from esmf_aspect_meta_model_python.resolver.local_file import LocalFileResolver
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class TestDependencyResolution:
|
|
24
|
+
"""Test dependency resolution for local aspect model files."""
|
|
25
|
+
|
|
26
|
+
ROOT_PATH: str = dirname(dirname(abspath(__file__)))
|
|
27
|
+
SOURCE_PATH = join(ROOT_PATH, "resources", "traversal_dependency")
|
|
28
|
+
SECRET_PATH = join(ROOT_PATH, "secrets")
|
|
29
|
+
|
|
30
|
+
model_path = ["models", "org.example.test", "1.0.0"]
|
|
31
|
+
secret_path = ["secrets", "1.0.0"]
|
|
32
|
+
|
|
33
|
+
@classmethod
|
|
34
|
+
def setup_class(cls):
|
|
35
|
+
"""Create the model and dependency files used by the tests."""
|
|
36
|
+
cls.evil_model_dir = join(cls.ROOT_PATH, cls.SOURCE_PATH, *cls.model_path)
|
|
37
|
+
cls.evil_model_name = "Evil.ttl"
|
|
38
|
+
cls._create_file(cls.evil_model_dir, cls.evil_model_name)
|
|
39
|
+
|
|
40
|
+
cls.secret_dir = join(cls.ROOT_PATH, cls.SOURCE_PATH, *cls.secret_path)
|
|
41
|
+
cls.secret_model_name = "confidential.ttl"
|
|
42
|
+
cls._create_file(cls.secret_dir, cls.secret_model_name)
|
|
43
|
+
|
|
44
|
+
@classmethod
|
|
45
|
+
def _create_file(cls, file_path, file_name):
|
|
46
|
+
"""Create a test Turtle file at the specified path."""
|
|
47
|
+
file_full_path = join(file_path, file_name)
|
|
48
|
+
|
|
49
|
+
if isfile(file_full_path):
|
|
50
|
+
remove(file_full_path)
|
|
51
|
+
|
|
52
|
+
makedirs(file_path, exist_ok=True)
|
|
53
|
+
|
|
54
|
+
if file_name == cls.evil_model_name:
|
|
55
|
+
cls._create_evil_model_file(file_full_path)
|
|
56
|
+
elif file_name == cls.secret_model_name:
|
|
57
|
+
cls._create_secret_model_file(file_full_path)
|
|
58
|
+
else:
|
|
59
|
+
raise NotImplementedError(f"Unknown file name: {file_name}")
|
|
60
|
+
|
|
61
|
+
@classmethod
|
|
62
|
+
def _create_evil_model_file(cls, file_full_path):
|
|
63
|
+
"""Create a model containing an absolute dependency namespace path."""
|
|
64
|
+
with open(file_full_path, "w") as f:
|
|
65
|
+
# absolute path component → os.path.join discards base_path entirely
|
|
66
|
+
f.write(
|
|
67
|
+
"@prefix samm: <urn:samm:org.eclipse.esmf.samm:meta-model:2.2.0#> .\n"
|
|
68
|
+
f'@prefix evil: <urn:samm:{join(cls.ROOT_PATH, cls.SOURCE_PATH, "secrets")}:1.0.0#> .\n'
|
|
69
|
+
"<urn:samm:org.example.test:1.0.0#Evil> a samm:Aspect ;\n"
|
|
70
|
+
" samm:properties () ; samm:operations () .\n"
|
|
71
|
+
)
|
|
72
|
+
|
|
73
|
+
@classmethod
|
|
74
|
+
def _create_secret_model_file(cls, file_full_path):
|
|
75
|
+
"""Create a dependency file containing a value that must not be loaded."""
|
|
76
|
+
with open(join(file_full_path), "w") as f:
|
|
77
|
+
f.write(
|
|
78
|
+
"@prefix samm: <urn:samm:org.eclipse.esmf.samm:meta-model:2.2.0#> .\n"
|
|
79
|
+
"@prefix ex: <http://example.com/secret#> .\n"
|
|
80
|
+
'ex:LeakedSecret ex:value "TOP-SECRET-CREDENTIAL-12345" .\n'
|
|
81
|
+
)
|
|
82
|
+
|
|
83
|
+
@classmethod
|
|
84
|
+
def teardown_class(cls):
|
|
85
|
+
"""Remove the model file created for the tests."""
|
|
86
|
+
remove(join(cls.evil_model_dir, cls.evil_model_name))
|
|
87
|
+
rmtree(cls.secret_dir)
|
|
88
|
+
|
|
89
|
+
def test_parse_namespace_relative_path_return_path(self):
|
|
90
|
+
"""Verify that relative namespace paths are parsed normally."""
|
|
91
|
+
result = LocalFileResolver._parse_namespace("urn:samm:../secrets:1.0.0#")
|
|
92
|
+
|
|
93
|
+
assert result == ("../secrets", "1.0.0")
|
|
94
|
+
|
|
95
|
+
def test_parse_namespace_absolute_path_return_none(self):
|
|
96
|
+
"""Verify that absolute namespace paths are ignored."""
|
|
97
|
+
if platform.system() == "Windows":
|
|
98
|
+
param = "urn:samm:C:\\etc:1.0.0#"
|
|
99
|
+
else:
|
|
100
|
+
param = "urn:samm:/etc:1.0.0#"
|
|
101
|
+
result = LocalFileResolver._parse_namespace(param)
|
|
102
|
+
|
|
103
|
+
assert result == (None, None)
|
|
104
|
+
|
|
105
|
+
def test_read_secrets(self):
|
|
106
|
+
"""Verify that an absolute dependency path cannot load the secret file."""
|
|
107
|
+
local_file_resolver = LocalFileResolver()
|
|
108
|
+
graph = local_file_resolver.read(join(self.evil_model_dir, self.evil_model_name))
|
|
109
|
+
local_file_resolver.prepare_aspect_model(graph)
|
|
110
|
+
result = list(local_file_resolver.graph.triples((URIRef("http://example.com/secret#LeakedSecret"), None, None)))
|
|
111
|
+
|
|
112
|
+
assert len(result) == 0
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
#
|
|
10
10
|
# SPDX-License-Identifier: MPL-2.0
|
|
11
11
|
|
|
12
|
-
@prefix : <urn:samm:org.eclipse.esmf.samm
|
|
12
|
+
@prefix : <urn:samm:org.eclipse.esmf.samm.test:1.0.0#> .
|
|
13
13
|
@prefix samm: <urn:samm:org.eclipse.esmf.samm:meta-model:2.0.0#> .
|
|
14
14
|
@prefix samm-c: <urn:samm:org.eclipse.esmf.samm:characteristic:2.0.0#> .
|
|
15
15
|
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
#
|
|
10
10
|
# SPDX-License-Identifier: MPL-2.0
|
|
11
11
|
|
|
12
|
-
@prefix : <urn:samm:org.eclipse.esmf.samm
|
|
12
|
+
@prefix : <urn:samm:org.eclipse.esmf.samm.test:1.0.0#> .
|
|
13
13
|
@prefix samm: <urn:samm:org.eclipse.esmf.samm:meta-model:2.0.0#> .
|
|
14
14
|
@prefix samm-c: <urn:samm:org.eclipse.esmf.samm:characteristic:2.0.0#> .
|
|
15
15
|
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
from unittest import mock
|
|
2
|
+
|
|
3
|
+
from esmf_aspect_meta_model_python.adaptive_graph import AdaptiveGraph
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class TestAdaptiveGraphIntegration:
|
|
7
|
+
"""Integration tests for AdaptiveGraph end-to-end parse with SAMM CLI mocking."""
|
|
8
|
+
|
|
9
|
+
@mock.patch("esmf_aspect_meta_model_python.adaptive_graph.AdaptiveGraph._get_samm_cli")
|
|
10
|
+
def test_mismatch_from_file(self, get_samm_cli_mock, tmp_path, capsys):
|
|
11
|
+
"""Verifies the graph is upgraded and logged when the file SAMM version mismatches."""
|
|
12
|
+
file_path = tmp_path / "bad_version.ttl"
|
|
13
|
+
file_path.write_text(
|
|
14
|
+
"""
|
|
15
|
+
@prefix samm: <urn:samm:org.eclipse.esmf.samm:aspect:9.9.9#> .
|
|
16
|
+
samm:Aspect a samm:Aspect .
|
|
17
|
+
"""
|
|
18
|
+
)
|
|
19
|
+
samm_cli_mock = mock.MagicMock(name="samm_cli")
|
|
20
|
+
samm_cli_mock.prettyprint.return_value = """
|
|
21
|
+
@prefix samm: <urn:samm:org.eclipse.esmf.samm:aspect:1.0.0#> .
|
|
22
|
+
samm:Aspect a samm:Aspect .
|
|
23
|
+
"""
|
|
24
|
+
get_samm_cli_mock.return_value = samm_cli_mock
|
|
25
|
+
graph = AdaptiveGraph(samm_version="1.0.0")
|
|
26
|
+
graph.parse(source=file_path, format="ttl")
|
|
27
|
+
|
|
28
|
+
assert len(graph) == 1
|
|
29
|
+
ns_list = list(dict(graph.namespace_manager.namespaces()).values())
|
|
30
|
+
assert any("1.0.0" in str(ns) for ns in ns_list)
|
|
31
|
+
assert f"[INFO] SAMM version mismatch detected in {file_path}. Upgrading..." in capsys.readouterr().out
|
|
32
|
+
get_samm_cli_mock.assert_called_once()
|
|
33
|
+
samm_cli_mock.prettyprint.assert_called_once_with(str(file_path), capture=True)
|
|
34
|
+
|
|
35
|
+
@mock.patch("esmf_aspect_meta_model_python.adaptive_graph.AdaptiveGraph._get_samm_cli")
|
|
36
|
+
def test_mismatch_from_data(self, get_samm_cli_mock, tmp_path, capsys):
|
|
37
|
+
"""Verifies the graph is upgraded and logged when inline TTL data SAMM version mismatches."""
|
|
38
|
+
bad_ttl_data = """
|
|
39
|
+
@prefix samm: <urn:samm:org.eclipse.esmf.samm:aspect:2.0.0#> .
|
|
40
|
+
samm:Aspect a samm:Aspect .
|
|
41
|
+
"""
|
|
42
|
+
samm_cli_mock = mock.MagicMock(name="samm_cli")
|
|
43
|
+
samm_cli_mock.prettyprint.return_value = """
|
|
44
|
+
@prefix samm: <urn:samm:org.eclipse.esmf.samm:aspect:1.0.0#> .
|
|
45
|
+
samm:Aspect a samm:Aspect .
|
|
46
|
+
"""
|
|
47
|
+
get_samm_cli_mock.return_value = samm_cli_mock
|
|
48
|
+
graph = AdaptiveGraph(samm_version="1.0.0")
|
|
49
|
+
graph.parse(data=bad_ttl_data, format="ttl")
|
|
50
|
+
|
|
51
|
+
assert len(graph) == 1
|
|
52
|
+
ns_list = list(dict(graph.namespace_manager.namespaces()).values())
|
|
53
|
+
assert any("1.0.0" in str(ns) for ns in ns_list)
|
|
54
|
+
assert (
|
|
55
|
+
"[INFO] SAMM version mismatch detected in provided data (target v1.0.0) Upgrading..."
|
|
56
|
+
in capsys.readouterr().out
|
|
57
|
+
)
|
|
58
|
+
get_samm_cli_mock.assert_called_once()
|
|
59
|
+
samm_cli_mock.prettyprint.assert_called_once_with(mock.ANY, capture=True)
|
|
60
|
+
|
|
61
|
+
@mock.patch("esmf_aspect_meta_model_python.adaptive_graph.AdaptiveGraph._get_samm_cli")
|
|
62
|
+
def test_integration_version_match_no_upgrade(self, get_samm_cli_mock, tmp_path, capsys):
|
|
63
|
+
"""Verifies no upgrade is performed and no warning is logged when the file SAMM version matches."""
|
|
64
|
+
file_path = tmp_path / "good_version.ttl"
|
|
65
|
+
file_path.write_text(
|
|
66
|
+
"""
|
|
67
|
+
@prefix samm: <urn:samm:org.eclipse.esmf.samm:aspect:1.0.0#> .
|
|
68
|
+
samm:Aspect a samm:Aspect .
|
|
69
|
+
"""
|
|
70
|
+
)
|
|
71
|
+
samm_cli_mock = mock.MagicMock(name="samm_cli")
|
|
72
|
+
get_samm_cli_mock.return_value = samm_cli_mock
|
|
73
|
+
graph = AdaptiveGraph(samm_version="1.0.0")
|
|
74
|
+
graph.parse(source=file_path, format="ttl")
|
|
75
|
+
|
|
76
|
+
assert len(graph) == 1
|
|
77
|
+
samm_cli_mock.prettyprint.assert_not_called()
|
|
78
|
+
assert capsys.readouterr().out == ""
|
|
@@ -14,9 +14,11 @@ import json
|
|
|
14
14
|
import os
|
|
15
15
|
import shutil
|
|
16
16
|
import tempfile
|
|
17
|
+
import uuid
|
|
17
18
|
|
|
18
19
|
from pathlib import Path
|
|
19
20
|
|
|
21
|
+
import polars as pl
|
|
20
22
|
import pytest
|
|
21
23
|
|
|
22
24
|
from esmf_aspect_meta_model_python.samm_cli.base import SammCli
|
|
@@ -26,7 +28,7 @@ RESOURCE_PATH = Path(__file__).parent / "resources" / "org.eclipse.esmf.test.gen
|
|
|
26
28
|
|
|
27
29
|
@pytest.fixture(scope="module")
|
|
28
30
|
def file_path():
|
|
29
|
-
|
|
31
|
+
return RESOURCE_PATH / "SampleAspect.ttl"
|
|
30
32
|
|
|
31
33
|
|
|
32
34
|
@pytest.fixture(scope="module")
|
|
@@ -44,19 +46,29 @@ def temp_output_dir():
|
|
|
44
46
|
@pytest.fixture(scope="module")
|
|
45
47
|
def samm_cli():
|
|
46
48
|
"""Create a SammCli instance for integration testing."""
|
|
47
|
-
|
|
48
|
-
|
|
49
|
+
return SammCli()
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
def _get_temp_file_name(temp_output_dir: str, name: str, suffix: str):
|
|
53
|
+
"""Generate a temporary file name in the output directory."""
|
|
54
|
+
return os.path.join(temp_output_dir, f"{name}_{uuid.uuid4}{suffix}")
|
|
49
55
|
|
|
50
56
|
|
|
51
57
|
class TestSammCliIntegration:
|
|
52
58
|
"""Integration tests for SAMM CLI transformations."""
|
|
53
59
|
|
|
60
|
+
def __init__(self):
|
|
61
|
+
pass
|
|
62
|
+
|
|
54
63
|
class TestPrettyPrint:
|
|
55
64
|
"""Test pretty-printing functionality."""
|
|
56
65
|
|
|
66
|
+
def __init__(self):
|
|
67
|
+
pass
|
|
68
|
+
|
|
57
69
|
def test_file_output(self, samm_cli, file_path, temp_output_dir):
|
|
58
70
|
"""Test pretty-printing to a file."""
|
|
59
|
-
output_file =
|
|
71
|
+
output_file = _get_temp_file_name(temp_output_dir, "prettyprinted", ".ttl")
|
|
60
72
|
|
|
61
73
|
samm_cli.prettyprint(file_path, output=output_file)
|
|
62
74
|
|
|
@@ -77,7 +89,7 @@ class TestSammCliIntegration:
|
|
|
77
89
|
|
|
78
90
|
def test_to_json(self, samm_cli, file_path, temp_output_dir):
|
|
79
91
|
"""Test generating example JSON payload."""
|
|
80
|
-
output_file =
|
|
92
|
+
output_file = _get_temp_file_name(temp_output_dir, "example", ".json")
|
|
81
93
|
|
|
82
94
|
samm_cli.to_json(file_path, output=output_file)
|
|
83
95
|
|
|
@@ -88,9 +100,21 @@ class TestSammCliIntegration:
|
|
|
88
100
|
assert "testProperty" in data
|
|
89
101
|
assert "testComplexProperty" in data
|
|
90
102
|
|
|
103
|
+
def test_to_parquet(self, samm_cli, file_path, temp_output_dir):
|
|
104
|
+
"""Test generating example Parquet payload."""
|
|
105
|
+
output_file = _get_temp_file_name(temp_output_dir, "example", ".parquet")
|
|
106
|
+
|
|
107
|
+
samm_cli.to_parquet(file_path, output=output_file)
|
|
108
|
+
|
|
109
|
+
assert os.path.exists(output_file)
|
|
110
|
+
df = pl.read_parquet(output_file)
|
|
111
|
+
assert "testProperty" in df.columns
|
|
112
|
+
assert "testComplexProperty__entityProperty1" in df.columns
|
|
113
|
+
assert "testComplexProperty__entityProperty2" in df.columns
|
|
114
|
+
|
|
91
115
|
def test_to_schema(self, samm_cli, file_path, temp_output_dir):
|
|
92
116
|
"""Test generating JSON schema."""
|
|
93
|
-
output_file =
|
|
117
|
+
output_file = _get_temp_file_name(temp_output_dir, "schema", ".json")
|
|
94
118
|
|
|
95
119
|
samm_cli.to_schema(file_path, output=output_file)
|
|
96
120
|
|
|
@@ -103,7 +127,7 @@ class TestSammCliIntegration:
|
|
|
103
127
|
|
|
104
128
|
def test_to_openapi(self, samm_cli, file_path, temp_output_dir):
|
|
105
129
|
"""Test generating OpenAPI specification."""
|
|
106
|
-
output_file =
|
|
130
|
+
output_file = _get_temp_file_name(temp_output_dir, "openapi", ".yaml")
|
|
107
131
|
|
|
108
132
|
samm_cli.to_openapi(file_path, output=output_file, api_base_url="http://localhost:8080")
|
|
109
133
|
|
|
@@ -117,7 +141,7 @@ class TestSammCliIntegration:
|
|
|
117
141
|
|
|
118
142
|
def test_to_openapi_json(self, samm_cli, file_path, temp_output_dir):
|
|
119
143
|
"""Test generating OpenAPI specification in JSON format."""
|
|
120
|
-
output_file =
|
|
144
|
+
output_file = _get_temp_file_name(temp_output_dir, "openapi", ".json")
|
|
121
145
|
|
|
122
146
|
samm_cli.to_openapi(file_path, "j", output=output_file, api_base_url="http://localhost:8080") # JSON flag
|
|
123
147
|
|
|
@@ -130,7 +154,7 @@ class TestSammCliIntegration:
|
|
|
130
154
|
|
|
131
155
|
def test_to_asyncapi(self, samm_cli, file_path, temp_output_dir):
|
|
132
156
|
"""Test generating AsyncAPI specification."""
|
|
133
|
-
output_file =
|
|
157
|
+
output_file = _get_temp_file_name(temp_output_dir, "asyncapi", ".yaml")
|
|
134
158
|
|
|
135
159
|
samm_cli.to_asyncapi(file_path, output=output_file, channel_address="test/topic")
|
|
136
160
|
|
|
@@ -142,7 +166,7 @@ class TestSammCliIntegration:
|
|
|
142
166
|
|
|
143
167
|
def test_to_html(self, samm_cli, file_path, temp_output_dir):
|
|
144
168
|
"""Test generating HTML documentation."""
|
|
145
|
-
output_file =
|
|
169
|
+
output_file = _get_temp_file_name(temp_output_dir, "documentation", ".html")
|
|
146
170
|
|
|
147
171
|
samm_cli.to_html(file_path, output=output_file)
|
|
148
172
|
|
|
@@ -154,7 +178,7 @@ class TestSammCliIntegration:
|
|
|
154
178
|
|
|
155
179
|
def test_to_png(self, samm_cli, file_path, temp_output_dir):
|
|
156
180
|
"""Test generating PNG diagram."""
|
|
157
|
-
output_file =
|
|
181
|
+
output_file = _get_temp_file_name(temp_output_dir, "diagram", ".png")
|
|
158
182
|
|
|
159
183
|
samm_cli.to_png(file_path, output=output_file)
|
|
160
184
|
|
|
@@ -166,7 +190,7 @@ class TestSammCliIntegration:
|
|
|
166
190
|
|
|
167
191
|
def test_to_svg(self, samm_cli, file_path, temp_output_dir):
|
|
168
192
|
"""Test generating SVG diagram."""
|
|
169
|
-
output_file =
|
|
193
|
+
output_file = _get_temp_file_name(temp_output_dir, "diagram", ".svg")
|
|
170
194
|
|
|
171
195
|
samm_cli.to_svg(file_path, output=output_file)
|
|
172
196
|
|
|
@@ -178,7 +202,7 @@ class TestSammCliIntegration:
|
|
|
178
202
|
|
|
179
203
|
def test_to_java(self, samm_cli, file_path, temp_output_dir):
|
|
180
204
|
"""Test generating Java classes."""
|
|
181
|
-
output_dir =
|
|
205
|
+
output_dir = _get_temp_file_name(temp_output_dir, "java", "")
|
|
182
206
|
os.makedirs(output_dir, exist_ok=True)
|
|
183
207
|
|
|
184
208
|
samm_cli.to_java(file_path, output_directory=output_dir, package_name="com.example.test")
|
|
@@ -194,7 +218,7 @@ class TestSammCliIntegration:
|
|
|
194
218
|
|
|
195
219
|
def test_to_sql(self, samm_cli, file_path, temp_output_dir):
|
|
196
220
|
"""Test generating SQL script."""
|
|
197
|
-
output_file =
|
|
221
|
+
output_file = _get_temp_file_name(temp_output_dir, "schema", ".sql")
|
|
198
222
|
|
|
199
223
|
samm_cli.to_sql(file_path, output=output_file, dialect="databricks")
|
|
200
224
|
|
|
@@ -205,7 +229,7 @@ class TestSammCliIntegration:
|
|
|
205
229
|
|
|
206
230
|
def test_to_jsonld(self, samm_cli, file_path, temp_output_dir):
|
|
207
231
|
"""Test generating JSON-LD representation."""
|
|
208
|
-
output_file =
|
|
232
|
+
output_file = _get_temp_file_name(temp_output_dir, "model", ".jsonld")
|
|
209
233
|
|
|
210
234
|
samm_cli.to_jsonld(file_path, output=output_file)
|
|
211
235
|
|
|
@@ -218,7 +242,7 @@ class TestSammCliIntegration:
|
|
|
218
242
|
|
|
219
243
|
def test_to_aas(self, samm_cli, file_path, temp_output_dir):
|
|
220
244
|
"""Test generating AAS submodel template."""
|
|
221
|
-
output_file_json =
|
|
245
|
+
output_file_json = _get_temp_file_name(temp_output_dir, "aas", ".json")
|
|
222
246
|
|
|
223
247
|
samm_cli.to_aas(file_path, output=output_file_json, format="JSON")
|
|
224
248
|
|
|
@@ -229,7 +253,7 @@ class TestSammCliIntegration:
|
|
|
229
253
|
|
|
230
254
|
def test_package_export_import(self, samm_cli, file_path, temp_output_dir):
|
|
231
255
|
"""Test exporting and importing a package."""
|
|
232
|
-
package_file =
|
|
256
|
+
package_file = _get_temp_file_name(temp_output_dir, "package", ".zip")
|
|
233
257
|
|
|
234
258
|
# Export the model as a package
|
|
235
259
|
samm_cli.package_export(file_path, output=package_file)
|
|
@@ -243,26 +267,39 @@ class TestSammCliIntegration:
|
|
|
243
267
|
assert zipfile.is_zipfile(package_file)
|
|
244
268
|
|
|
245
269
|
# Import the package (would need models-root directory)
|
|
246
|
-
import_dir =
|
|
270
|
+
import_dir = _get_temp_file_name(temp_output_dir, "imported_models", "")
|
|
247
271
|
os.makedirs(import_dir, exist_ok=True)
|
|
248
272
|
|
|
273
|
+
imported_files = []
|
|
274
|
+
import_failed = False
|
|
275
|
+
import_error = None
|
|
276
|
+
|
|
249
277
|
# Note: This might fail if the package structure doesn't match expectations
|
|
250
278
|
try:
|
|
251
279
|
samm_cli.package_import(package_file, models_root=import_dir)
|
|
252
280
|
# Check if files were imported
|
|
253
281
|
imported_files = list(Path(import_dir).rglob("*.ttl"))
|
|
254
|
-
assert len(imported_files) > 0
|
|
255
282
|
except Exception as e:
|
|
256
|
-
|
|
283
|
+
import_failed = True
|
|
284
|
+
import_error = e
|
|
285
|
+
|
|
286
|
+
if import_failed:
|
|
287
|
+
pytest.skip(f"Package import failed: {import_error}")
|
|
288
|
+
|
|
289
|
+
# assertions are outside the try/except -> no S5779
|
|
290
|
+
assert len(imported_files) > 0
|
|
257
291
|
|
|
258
292
|
|
|
259
293
|
class TestSammCliLanguageSupport:
|
|
260
294
|
"""Test language-specific outputs."""
|
|
261
295
|
|
|
296
|
+
def __init__(self):
|
|
297
|
+
pass
|
|
298
|
+
|
|
262
299
|
@pytest.mark.parametrize("language", ("en", "de"))
|
|
263
300
|
def test_to_html_languages(self, samm_cli, file_path, temp_output_dir, language):
|
|
264
301
|
"""Test generating HTML in different languages."""
|
|
265
|
-
output_file =
|
|
302
|
+
output_file = _get_temp_file_name(temp_output_dir, f"doc_{language}", ".html")
|
|
266
303
|
|
|
267
304
|
samm_cli.to_html(file_path, output=output_file, language=language)
|
|
268
305
|
|
|
@@ -271,7 +308,7 @@ class TestSammCliLanguageSupport:
|
|
|
271
308
|
@pytest.mark.parametrize("language", ("en", "de"))
|
|
272
309
|
def test_to_schema_languages(self, samm_cli, file_path, temp_output_dir, language):
|
|
273
310
|
"""Test generating JSON schema in different languages."""
|
|
274
|
-
output_file =
|
|
311
|
+
output_file = _get_temp_file_name(temp_output_dir, f"schema_{language}", ".json")
|
|
275
312
|
|
|
276
313
|
samm_cli.to_schema(file_path, output=output_file, language=language)
|
|
277
314
|
|
|
@@ -281,9 +318,12 @@ class TestSammCliLanguageSupport:
|
|
|
281
318
|
class TestSammCliErrorHandling:
|
|
282
319
|
"""Test error handling in SAMM CLI."""
|
|
283
320
|
|
|
321
|
+
def __init__(self):
|
|
322
|
+
pass
|
|
323
|
+
|
|
284
324
|
def test_invalid_model_validation(self, capfd, samm_cli, temp_output_dir):
|
|
285
325
|
"""Test validation of an invalid model."""
|
|
286
|
-
invalid_model =
|
|
326
|
+
invalid_model = _get_temp_file_name(temp_output_dir, "invalid", ".ttl")
|
|
287
327
|
with open(invalid_model, "w") as f:
|
|
288
328
|
f.write("This is not valid Turtle syntax!!!")
|
|
289
329
|
|