@finos/legend-graph 10.1.0 → 11.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/DSLData_Exports.d.ts +1 -1
- package/lib/DSLData_Exports.d.ts.map +1 -1
- package/lib/DSLData_Exports.js +1 -1
- package/lib/DSLData_Exports.js.map +1 -1
- package/lib/DSLMapping_Exports.d.ts +6 -2
- package/lib/DSLMapping_Exports.d.ts.map +1 -1
- package/lib/DSLMapping_Exports.js +6 -2
- package/lib/DSLMapping_Exports.js.map +1 -1
- package/lib/DSLService_Exports.d.ts +1 -0
- package/lib/DSLService_Exports.d.ts.map +1 -1
- package/lib/DSLService_Exports.js +1 -0
- package/lib/DSLService_Exports.js.map +1 -1
- package/lib/GraphManagerState.d.ts +21 -18
- package/lib/GraphManagerState.d.ts.map +1 -1
- package/lib/GraphManagerState.js +68 -59
- package/lib/GraphManagerState.js.map +1 -1
- package/lib/GraphManagerTestUtils.js.map +1 -1
- package/lib/MetaModelConst.d.ts +44 -42
- package/lib/MetaModelConst.d.ts.map +1 -1
- package/lib/MetaModelConst.js +52 -50
- package/lib/MetaModelConst.js.map +1 -1
- package/lib/graph/BasicModel.d.ts +1 -1
- package/lib/graph/BasicModel.d.ts.map +1 -1
- package/lib/graph/BasicModel.js +4 -4
- package/lib/graph/BasicModel.js.map +1 -1
- package/lib/graph/DependencyManager.d.ts +1 -1
- package/lib/graph/DependencyManager.d.ts.map +1 -1
- package/lib/graph/DependencyManager.js +2 -2
- package/lib/graph/DependencyManager.js.map +1 -1
- package/lib/graph/PureModel.d.ts +8 -2
- package/lib/graph/PureModel.d.ts.map +1 -1
- package/lib/graph/PureModel.js +8 -2
- package/lib/graph/PureModel.js.map +1 -1
- package/lib/graphManager/AbstractPureGraphManager.d.ts +21 -21
- package/lib/graphManager/AbstractPureGraphManager.d.ts.map +1 -1
- package/lib/graphManager/AbstractPureGraphManager.js +15 -0
- package/lib/graphManager/AbstractPureGraphManager.js.map +1 -1
- package/lib/graphManager/GraphManagerEvent.d.ts +1 -0
- package/lib/graphManager/GraphManagerEvent.d.ts.map +1 -1
- package/lib/graphManager/GraphManagerEvent.js +1 -0
- package/lib/graphManager/GraphManagerEvent.js.map +1 -1
- package/lib/graphManager/action/analytics/{MappingAnalytics.d.ts → MappingModelCoverageAnalysis.d.ts} +3 -3
- package/lib/graphManager/action/analytics/MappingModelCoverageAnalysis.d.ts.map +1 -0
- package/lib/graphManager/action/analytics/{MappingAnalytics.js → MappingModelCoverageAnalysis.js} +5 -7
- package/lib/graphManager/action/analytics/MappingModelCoverageAnalysis.js.map +1 -0
- package/lib/graphManager/action/changeDetection/CoreObserverHelper.d.ts +1 -2
- package/lib/graphManager/action/changeDetection/CoreObserverHelper.d.ts.map +1 -1
- package/lib/graphManager/action/changeDetection/CoreObserverHelper.js +0 -4
- package/lib/graphManager/action/changeDetection/CoreObserverHelper.js.map +1 -1
- package/lib/graphManager/action/changeDetection/DSLExternalFormat_ObserverHelper.d.ts.map +1 -1
- package/lib/graphManager/action/changeDetection/DSLExternalFormat_ObserverHelper.js +4 -2
- package/lib/graphManager/action/changeDetection/DSLExternalFormat_ObserverHelper.js.map +1 -1
- package/lib/graphManager/action/changeDetection/DSLMapping_ObserverHelper.d.ts +2 -2
- package/lib/graphManager/action/changeDetection/DSLMapping_ObserverHelper.d.ts.map +1 -1
- package/lib/graphManager/action/changeDetection/DSLMapping_ObserverHelper.js +16 -8
- package/lib/graphManager/action/changeDetection/DSLMapping_ObserverHelper.js.map +1 -1
- package/lib/graphManager/action/changeDetection/GraphObserverHelper.js +1 -1
- package/lib/graphManager/action/changeDetection/GraphObserverHelper.js.map +1 -1
- package/lib/graphManager/action/changeDetection/ValueSpecificationObserver.d.ts.map +1 -1
- package/lib/graphManager/action/changeDetection/ValueSpecificationObserver.js +4 -2
- package/lib/graphManager/action/changeDetection/ValueSpecificationObserver.js.map +1 -1
- package/lib/graphManager/action/validation/DSLService_ValidationHelper.d.ts +3 -2
- package/lib/graphManager/action/validation/DSLService_ValidationHelper.d.ts.map +1 -1
- package/lib/graphManager/action/validation/DSLService_ValidationHelper.js +1 -1
- package/lib/graphManager/action/validation/DSLService_ValidationHelper.js.map +1 -1
- package/lib/helpers/DSLMapping_Helper.js +1 -1
- package/lib/helpers/DSLMapping_Helper.js.map +1 -1
- package/lib/helpers/DomainHelper.d.ts +2 -0
- package/lib/helpers/DomainHelper.d.ts.map +1 -1
- package/lib/helpers/DomainHelper.js +5 -1
- package/lib/helpers/DomainHelper.js.map +1 -1
- package/lib/index.d.ts +7 -11
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +8 -11
- package/lib/index.js.map +1 -1
- package/lib/models/metamodels/pure/Reference.d.ts +16 -19
- package/lib/models/metamodels/pure/Reference.d.ts.map +1 -1
- package/lib/models/metamodels/pure/Reference.js +14 -19
- package/lib/models/metamodels/pure/Reference.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/PackageableElementReference.d.ts +2 -27
- package/lib/models/metamodels/pure/packageableElements/PackageableElementReference.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/PackageableElementReference.js +2 -73
- package/lib/models/metamodels/pure/packageableElements/PackageableElementReference.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_Binding.d.ts +2 -2
- package/lib/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_Binding.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_Binding.js +4 -1
- package/lib/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_Binding.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/mapping/EnumerationMapping.d.ts +3 -3
- package/lib/models/metamodels/pure/packageableElements/mapping/EnumerationMapping.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/mapping/EnumerationMapping.js +3 -3
- package/lib/models/metamodels/pure/packageableElements/mapping/EnumerationMapping.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/mapping/EnumerationMappingReference.d.ts +10 -10
- package/lib/models/metamodels/pure/packageableElements/mapping/EnumerationMappingReference.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/mapping/EnumerationMappingReference.js +7 -7
- package/lib/models/metamodels/pure/packageableElements/mapping/EnumerationMappingReference.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/mapping/PropertyMapping.d.ts +18 -14
- package/lib/models/metamodels/pure/packageableElements/mapping/PropertyMapping.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/mapping/PropertyMapping.js +17 -13
- package/lib/models/metamodels/pure/packageableElements/mapping/PropertyMapping.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/mapping/SetImplementationReference.d.ts +8 -19
- package/lib/models/metamodels/pure/packageableElements/mapping/SetImplementationReference.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/mapping/SetImplementationReference.js +13 -34
- package/lib/models/metamodels/pure/packageableElements/mapping/SetImplementationReference.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/service/MultiExecutionServiceTestResult.d.ts +20 -0
- package/lib/models/metamodels/pure/packageableElements/service/MultiExecutionServiceTestResult.d.ts.map +1 -0
- package/lib/models/metamodels/pure/packageableElements/service/MultiExecutionServiceTestResult.js +20 -0
- package/lib/models/metamodels/pure/packageableElements/service/MultiExecutionServiceTestResult.js.map +1 -0
- package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/EmbeddedFlatDataPropertyMapping.d.ts +4 -3
- package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/EmbeddedFlatDataPropertyMapping.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/EmbeddedFlatDataPropertyMapping.js +1 -1
- package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/EmbeddedFlatDataPropertyMapping.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/FlatDataPropertyMapping.d.ts +4 -4
- package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/FlatDataPropertyMapping.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/FlatDataPropertyMapping.js +2 -3
- package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/FlatDataPropertyMapping.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PureInstanceSetImplementation.d.ts +3 -3
- package/lib/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PureInstanceSetImplementation.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PureInstanceSetImplementation.js +1 -1
- package/lib/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PureInstanceSetImplementation.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PurePropertyMapping.d.ts +4 -4
- package/lib/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PurePropertyMapping.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PurePropertyMapping.js +2 -3
- package/lib/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PurePropertyMapping.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/EmbeddedRelationalInstanceSetImplementation.d.ts +3 -2
- package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/EmbeddedRelationalInstanceSetImplementation.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/EmbeddedRelationalInstanceSetImplementation.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/RelationalPropertyMapping.d.ts +2 -2
- package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/RelationalPropertyMapping.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/RelationalPropertyMapping.js +2 -3
- package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/RelationalPropertyMapping.js.map +1 -1
- package/lib/models/metamodels/pure/valueSpecification/GraphFetchTree.d.ts +3 -3
- package/lib/models/metamodels/pure/valueSpecification/GraphFetchTree.d.ts.map +1 -1
- package/lib/models/metamodels/pure/valueSpecification/GraphFetchTree.js +2 -5
- package/lib/models/metamodels/pure/valueSpecification/GraphFetchTree.js.map +1 -1
- package/lib/models/protocols/pure/DSLExternalFormat_PureProtocolProcessorPlugin.d.ts.map +1 -1
- package/lib/models/protocols/pure/DSLExternalFormat_PureProtocolProcessorPlugin.js +4 -4
- package/lib/models/protocols/pure/DSLExternalFormat_PureProtocolProcessorPlugin.js.map +1 -1
- package/lib/models/protocols/pure/PureProtocolProcessorPlugin.d.ts +4 -8
- package/lib/models/protocols/pure/PureProtocolProcessorPlugin.d.ts.map +1 -1
- package/lib/models/protocols/pure/PureProtocolProcessorPlugin.js.map +1 -1
- package/lib/models/protocols/pure/v1/V1_PureGraphManager.d.ts +35 -19
- package/lib/models/protocols/pure/v1/V1_PureGraphManager.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/V1_PureGraphManager.js +159 -158
- package/lib/models/protocols/pure/v1/V1_PureGraphManager.js.map +1 -1
- package/lib/models/protocols/pure/v1/engine/V1_Engine.d.ts +4 -4
- package/lib/models/protocols/pure/v1/engine/V1_Engine.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/engine/V1_Engine.js +5 -7
- package/lib/models/protocols/pure/v1/engine/V1_Engine.js.map +1 -1
- package/lib/models/protocols/pure/v1/engine/V1_EngineServerClient.d.ts +2 -4
- package/lib/models/protocols/pure/v1/engine/V1_EngineServerClient.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/engine/V1_EngineServerClient.js +52 -53
- package/lib/models/protocols/pure/v1/engine/V1_EngineServerClient.js.map +1 -1
- package/lib/models/protocols/pure/v1/engine/analytics/{V1_MappingAnalytics.d.ts → V1_MappingModelCoverageAnalysis.d.ts} +2 -2
- package/lib/models/protocols/pure/v1/engine/analytics/V1_MappingModelCoverageAnalysis.d.ts.map +1 -0
- package/lib/models/protocols/pure/v1/engine/analytics/{V1_MappingAnalytics.js → V1_MappingModelCoverageAnalysis.js} +2 -2
- package/lib/models/protocols/pure/v1/engine/analytics/V1_MappingModelCoverageAnalysis.js.map +1 -0
- package/lib/models/protocols/pure/v1/helper/V1_DomainHelper.d.ts +18 -0
- package/lib/models/protocols/pure/v1/helper/V1_DomainHelper.d.ts.map +1 -0
- package/lib/models/protocols/pure/v1/helper/V1_DomainHelper.js +35 -0
- package/lib/models/protocols/pure/v1/helper/V1_DomainHelper.js.map +1 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_PropertyMapping.d.ts +17 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_PropertyMapping.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_PropertyMapping.js +18 -5
- package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_PropertyMapping.js.map +1 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/runtime/V1_Runtime.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/runtime/V1_Runtime.js +1 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/runtime/V1_Runtime.js.map +1 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/service/V1_MultiExecutionServiceTestResult.d.ts +20 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/service/V1_MultiExecutionServiceTestResult.d.ts.map +1 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/service/V1_MultiExecutionServiceTestResult.js +20 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/service/V1_MultiExecutionServiceTestResult.js.map +1 -0
- package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.js +50 -86
- package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_ValueSpecificationTransformer.js +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_ValueSpecificationTransformer.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelClassMappingFirstPassBuilder.d.ts → V1_ClassMappingFirstPassBuilder.d.ts} +3 -3
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ClassMappingFirstPassBuilder.d.ts.map +1 -0
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelClassMappingFirstPassBuilder.js → V1_ClassMappingFirstPassBuilder.js} +6 -7
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ClassMappingFirstPassBuilder.js.map +1 -0
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelClassMappingSecondPassBuilder.d.ts → V1_ClassMappingSecondPassBuilder.d.ts} +2 -2
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ClassMappingSecondPassBuilder.d.ts.map +1 -0
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelClassMappingSecondPassBuilder.js → V1_ClassMappingSecondPassBuilder.js} +13 -14
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ClassMappingSecondPassBuilder.js.map +1 -0
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphFifthPassBuilder.d.ts → V1_ElementFifthPassBuilder.d.ts} +2 -2
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementFifthPassBuilder.d.ts.map +1 -0
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphFifthPassBuilder.js → V1_ElementFifthPassBuilder.js} +2 -2
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementFifthPassBuilder.js.map +1 -0
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphFirstPassBuilder.d.ts → V1_ElementFirstPassBuilder.d.ts} +2 -2
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementFirstPassBuilder.d.ts.map +1 -0
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphFirstPassBuilder.js → V1_ElementFirstPassBuilder.js} +2 -2
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementFirstPassBuilder.js.map +1 -0
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphFourthPassBuilder.d.ts → V1_ElementFourthPassBuilder.d.ts} +2 -2
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementFourthPassBuilder.d.ts.map +1 -0
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphFourthPassBuilder.js → V1_ElementFourthPassBuilder.js} +4 -4
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementFourthPassBuilder.js.map +1 -0
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphSecondPassBuilder.d.ts → V1_ElementSecondPassBuilder.d.ts} +3 -3
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementSecondPassBuilder.d.ts.map +1 -0
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphSecondPassBuilder.js → V1_ElementSecondPassBuilder.js} +16 -17
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementSecondPassBuilder.js.map +1 -0
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphThirdPassBuilder.d.ts → V1_ElementThirdPassBuilder.d.ts} +3 -3
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementThirdPassBuilder.d.ts.map +1 -0
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphThirdPassBuilder.js → V1_ElementThirdPassBuilder.js} +7 -7
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementThirdPassBuilder.js.map +1 -0
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ExecutionPlanBuilder.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ExecutionPlanBuilder.js +2 -2
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ExecutionPlanBuilder.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelPropertyMappingBuilder.d.ts → V1_PropertyMappingBuilder.d.ts} +4 -4
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_PropertyMappingBuilder.d.ts.map +1 -0
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelPropertyMappingBuilder.js → V1_PropertyMappingBuilder.js} +50 -34
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_PropertyMappingBuilder.js.map +1 -0
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelRawValueSpecificationBuilder.d.ts → V1_RawValueSpecificationBuilder.d.ts} +3 -3
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_RawValueSpecificationBuilder.d.ts.map +1 -0
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelRawValueSpecificationBuilder.js → V1_RawValueSpecificationBuilder.js} +2 -2
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_RawValueSpecificationBuilder.js.map +1 -0
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_AggregationAwareClassMappingBuilderHelper.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_AggregationAwareClassMappingBuilderHelper.js +2 -2
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_AggregationAwareClassMappingBuilderHelper.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_AssociationMappingHelper.js +3 -3
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_AssociationMappingHelper.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ConnectionBuilderHelper.d.ts +22 -0
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ConnectionBuilderHelper.d.ts.map +1 -0
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelConnectionBuilder.js → helpers/V1_ConnectionBuilderHelper.js} +16 -15
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ConnectionBuilderHelper.js.map +1 -0
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DataElementBuilderHelper.d.ts +2 -11
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DataElementBuilderHelper.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DataElementBuilderHelper.js +2 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DataElementBuilderHelper.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DatabaseBuilderHelper.d.ts +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DatabaseBuilderHelper.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DatabaseBuilderHelper.js +12 -12
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DatabaseBuilderHelper.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DomainBuilderHelper.js +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DomainBuilderHelper.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_MappingBuilderHelper.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_MappingBuilderHelper.js +5 -6
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_MappingBuilderHelper.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_MilestoningBuilderHelper.js +4 -4
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_MilestoningBuilderHelper.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ProcessingContext.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ProcessingContext.js +7 -8
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ProcessingContext.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RelationalClassMappingBuilderHelper.d.ts +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RelationalClassMappingBuilderHelper.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RelationalClassMappingBuilderHelper.js +4 -4
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RelationalClassMappingBuilderHelper.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RuntimeBuilderHelper.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RuntimeBuilderHelper.js +2 -2
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RuntimeBuilderHelper.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ServiceBuilderHelper.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ServiceBuilderHelper.js +2 -2
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ServiceBuilderHelper.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_TestBuilderHelper.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_TestBuilderHelper.js +3 -3
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_TestBuilderHelper.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_TestResultBuilderHelper.d.ts +5 -2
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_TestResultBuilderHelper.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_TestResultBuilderHelper.js +17 -2
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_TestResultBuilderHelper.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.js +3 -4
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_TestSerializationHelper.d.ts +3 -1
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_TestSerializationHelper.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_TestSerializationHelper.js +16 -4
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_TestSerializationHelper.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ValueSpecificationSerializer.js +9 -9
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ValueSpecificationSerializer.js.map +1 -1
- package/lib/package.json +5 -5
- package/package.json +8 -8
- package/src/DSLData_Exports.ts +1 -1
- package/src/DSLMapping_Exports.ts +20 -6
- package/src/DSLService_Exports.ts +1 -0
- package/src/GraphManagerState.ts +104 -91
- package/src/GraphManagerTestUtils.tsx +4 -4
- package/src/MetaModelConst.ts +59 -56
- package/src/graph/BasicModel.ts +4 -4
- package/src/graph/DependencyManager.ts +2 -2
- package/src/graph/PureModel.ts +10 -2
- package/src/graphManager/AbstractPureGraphManager.ts +54 -40
- package/src/graphManager/GraphManagerEvent.ts +1 -0
- package/src/graphManager/action/analytics/{MappingAnalytics.ts → MappingModelCoverageAnalysis.ts} +8 -6
- package/src/graphManager/action/changeDetection/CoreObserverHelper.ts +1 -14
- package/src/graphManager/action/changeDetection/DSLExternalFormat_ObserverHelper.ts +3 -2
- package/src/graphManager/action/changeDetection/DSLMapping_ObserverHelper.ts +17 -12
- package/src/graphManager/action/changeDetection/GraphObserverHelper.ts +2 -2
- package/src/graphManager/action/changeDetection/ValueSpecificationObserver.ts +3 -2
- package/src/graphManager/action/validation/DSLService_ValidationHelper.ts +4 -7
- package/src/helpers/DSLMapping_Helper.ts +1 -1
- package/src/helpers/DomainHelper.ts +14 -0
- package/src/index.ts +14 -18
- package/src/models/metamodels/pure/Reference.ts +17 -26
- package/src/models/metamodels/pure/packageableElements/PackageableElementReference.ts +2 -131
- package/src/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_Binding.ts +6 -3
- package/src/models/metamodels/pure/packageableElements/mapping/EnumerationMapping.ts +10 -9
- package/src/models/metamodels/pure/packageableElements/mapping/EnumerationMappingReference.ts +18 -18
- package/src/models/metamodels/pure/packageableElements/mapping/PropertyMapping.ts +21 -17
- package/src/models/metamodels/pure/packageableElements/mapping/SetImplementationReference.ts +17 -66
- package/src/models/metamodels/pure/packageableElements/service/MultiExecutionServiceTestResult.ts +21 -0
- package/src/models/metamodels/pure/packageableElements/store/flatData/mapping/EmbeddedFlatDataPropertyMapping.ts +5 -7
- package/src/models/metamodels/pure/packageableElements/store/flatData/mapping/FlatDataPropertyMapping.ts +6 -6
- package/src/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PureInstanceSetImplementation.ts +4 -7
- package/src/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PurePropertyMapping.ts +6 -6
- package/src/models/metamodels/pure/packageableElements/store/relational/mapping/EmbeddedRelationalInstanceSetImplementation.ts +4 -6
- package/src/models/metamodels/pure/packageableElements/store/relational/mapping/RelationalPropertyMapping.ts +3 -3
- package/src/models/metamodels/pure/valueSpecification/GraphFetchTree.ts +4 -10
- package/src/models/protocols/pure/DSLExternalFormat_PureProtocolProcessorPlugin.ts +5 -10
- package/src/models/protocols/pure/PureProtocolProcessorPlugin.ts +8 -8
- package/src/models/protocols/pure/v1/V1_PureGraphManager.ts +248 -255
- package/src/models/protocols/pure/v1/engine/V1_Engine.ts +7 -13
- package/src/models/protocols/pure/v1/engine/V1_EngineServerClient.ts +34 -45
- package/src/models/protocols/pure/v1/engine/analytics/{V1_MappingAnalytics.ts → V1_MappingModelCoverageAnalysis.ts} +1 -1
- package/src/models/protocols/pure/v1/helper/V1_DomainHelper.ts +51 -0
- package/src/models/protocols/pure/v1/model/packageableElements/mapping/V1_PropertyMapping.ts +18 -5
- package/src/models/protocols/pure/v1/model/packageableElements/runtime/V1_Runtime.ts +1 -1
- package/src/models/protocols/pure/v1/model/packageableElements/service/V1_MultiExecutionServiceTestResult.ts +21 -0
- package/src/models/protocols/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.ts +32 -86
- package/src/models/protocols/pure/v1/transformation/pureGraph/from/V1_ValueSpecificationTransformer.ts +1 -1
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelClassMappingFirstPassBuilder.ts → V1_ClassMappingFirstPassBuilder.ts} +6 -10
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelClassMappingSecondPassBuilder.ts → V1_ClassMappingSecondPassBuilder.ts} +12 -19
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphFifthPassBuilder.ts → V1_ElementFifthPassBuilder.ts} +1 -1
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphFirstPassBuilder.ts → V1_ElementFirstPassBuilder.ts} +1 -1
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphFourthPassBuilder.ts → V1_ElementFourthPassBuilder.ts} +3 -6
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphSecondPassBuilder.ts → V1_ElementSecondPassBuilder.ts} +18 -20
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphThirdPassBuilder.ts → V1_ElementThirdPassBuilder.ts} +6 -9
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/V1_ExecutionPlanBuilder.ts +2 -4
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelPropertyMappingBuilder.ts → V1_PropertyMappingBuilder.ts} +105 -40
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelRawValueSpecificationBuilder.ts → V1_RawValueSpecificationBuilder.ts} +2 -2
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_AggregationAwareClassMappingBuilderHelper.ts +2 -5
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_AssociationMappingHelper.ts +3 -3
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelConnectionBuilder.ts → helpers/V1_ConnectionBuilderHelper.ts} +33 -26
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DataElementBuilderHelper.ts +7 -3
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DatabaseBuilderHelper.ts +14 -12
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DomainBuilderHelper.ts +1 -1
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_MappingBuilderHelper.ts +6 -9
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_MilestoningBuilderHelper.ts +4 -4
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ProcessingContext.ts +7 -8
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RelationalClassMappingBuilderHelper.ts +5 -5
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RuntimeBuilderHelper.ts +6 -5
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ServiceBuilderHelper.ts +2 -4
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_TestBuilderHelper.ts +3 -7
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_TestResultBuilderHelper.ts +25 -4
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.ts +3 -6
- package/src/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_TestSerializationHelper.ts +29 -3
- package/src/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ValueSpecificationSerializer.ts +9 -9
- package/tsconfig.json +15 -12
- package/lib/graphManager/action/analytics/MappingAnalytics.d.ts.map +0 -1
- package/lib/graphManager/action/analytics/MappingAnalytics.js.map +0 -1
- package/lib/models/protocols/pure/v1/engine/analytics/V1_MappingAnalytics.d.ts.map +0 -1
- package/lib/models/protocols/pure/v1/engine/analytics/V1_MappingAnalytics.js.map +0 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingFirstPassBuilder.d.ts.map +0 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingFirstPassBuilder.js.map +0 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingSecondPassBuilder.d.ts.map +0 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingSecondPassBuilder.js.map +0 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelConnectionBuilder.d.ts +0 -40
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelConnectionBuilder.d.ts.map +0 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelConnectionBuilder.js.map +0 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphFifthPassBuilder.d.ts.map +0 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphFifthPassBuilder.js.map +0 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphFirstPassBuilder.d.ts.map +0 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphFirstPassBuilder.js.map +0 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphFourthPassBuilder.d.ts.map +0 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphFourthPassBuilder.js.map +0 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphSecondPassBuilder.d.ts.map +0 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphSecondPassBuilder.js.map +0 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphThirdPassBuilder.d.ts.map +0 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphThirdPassBuilder.js.map +0 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelPropertyMappingBuilder.d.ts.map +0 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelPropertyMappingBuilder.js.map +0 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelRawValueSpecificationBuilder.d.ts.map +0 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelRawValueSpecificationBuilder.js.map +0 -1
|
@@ -17,7 +17,6 @@
|
|
|
17
17
|
import { GRAPH_MANAGER_EVENT } from '../../../../graphManager/GraphManagerEvent.js';
|
|
18
18
|
import {
|
|
19
19
|
CORE_PURE_PATH,
|
|
20
|
-
ELEMENT_PATH_DELIMITER,
|
|
21
20
|
PackageableElementPointerType,
|
|
22
21
|
} from '../../../../MetaModelConst.js';
|
|
23
22
|
import {
|
|
@@ -35,13 +34,13 @@ import {
|
|
|
35
34
|
assertErrorThrown,
|
|
36
35
|
promisify,
|
|
37
36
|
StopWatch,
|
|
38
|
-
filterByType,
|
|
39
37
|
isNonNullable,
|
|
40
38
|
addUniqueEntry,
|
|
41
39
|
uuid,
|
|
42
40
|
deleteEntry,
|
|
43
41
|
assertType,
|
|
44
42
|
uniq,
|
|
43
|
+
IllegalStateError,
|
|
45
44
|
} from '@finos/legend-shared';
|
|
46
45
|
import type { TEMPORARY__AbstractEngineConfig } from '../../../../graphManager/action/TEMPORARY__AbstractEngineConfig.js';
|
|
47
46
|
import {
|
|
@@ -72,7 +71,6 @@ import type {
|
|
|
72
71
|
GenerationConfigurationDescription,
|
|
73
72
|
GenerationMode,
|
|
74
73
|
} from '../../../../graphManager/action/generation/GenerationConfigurationDescription.js';
|
|
75
|
-
import type { DEPRECATED__ServiceTestResult } from '../../../../graphManager/action/service/DEPRECATED__ServiceTestResult.js';
|
|
76
74
|
import type { ServiceRegistrationResult } from '../../../../graphManager/action/service/ServiceRegistrationResult.js';
|
|
77
75
|
import type { ExecutionResult } from '../../../../graphManager/action/execution/ExecutionResult.js';
|
|
78
76
|
import type { GenerationOutput } from '../../../../graphManager/action/generation/GenerationOutput.js';
|
|
@@ -104,12 +102,12 @@ import {
|
|
|
104
102
|
type V1_PackageableElementVisitor,
|
|
105
103
|
V1_PackageableElementPointer,
|
|
106
104
|
} from './model/packageableElements/V1_PackageableElement.js';
|
|
107
|
-
import {
|
|
108
|
-
import {
|
|
109
|
-
import {
|
|
110
|
-
import {
|
|
111
|
-
import {
|
|
112
|
-
import {
|
|
105
|
+
import { V1_ElementFirstPassBuilder } from './transformation/pureGraph/to/V1_ElementFirstPassBuilder.js';
|
|
106
|
+
import { V1_ElementSecondPassBuilder } from './transformation/pureGraph/to/V1_ElementSecondPassBuilder.js';
|
|
107
|
+
import { V1_ElementThirdPassBuilder } from './transformation/pureGraph/to/V1_ElementThirdPassBuilder.js';
|
|
108
|
+
import { V1_ElementFourthPassBuilder } from './transformation/pureGraph/to/V1_ElementFourthPassBuilder.js';
|
|
109
|
+
import { V1_ElementFifthPassBuilder } from './transformation/pureGraph/to/V1_ElementFifthPassBuilder.js';
|
|
110
|
+
import { V1_RawValueSpecificationBuilder } from './transformation/pureGraph/to/V1_RawValueSpecificationBuilder.js';
|
|
113
111
|
import { V1_RawBaseExecutionContext } from './model/rawValueSpecification/V1_RawExecutionContext.js';
|
|
114
112
|
import {
|
|
115
113
|
type V1_GraphBuilderContext,
|
|
@@ -165,8 +163,6 @@ import {
|
|
|
165
163
|
import { V1_transformRelationalDatabaseConnection } from './transformation/pureGraph/from/V1_ConnectionTransformer.js';
|
|
166
164
|
import { V1_FlatData } from './model/packageableElements/store/flatData/model/V1_FlatData.js';
|
|
167
165
|
import { V1_Database } from './model/packageableElements/store/relational/model/V1_Database.js';
|
|
168
|
-
import type { V1_Multiplicity } from './model/packageableElements/domain/V1_Multiplicity.js';
|
|
169
|
-
import type { V1_RawVariable } from './model/rawValueSpecification/V1_RawVariable.js';
|
|
170
166
|
import { V1_setupDatabaseSerialization } from './transformation/pureProtocol/serializationHelpers/V1_DatabaseSerializationHelper.js';
|
|
171
167
|
import {
|
|
172
168
|
V1_setupEngineRuntimeSerialization,
|
|
@@ -198,7 +194,6 @@ import type {
|
|
|
198
194
|
} from '../../../../graphManager/action/query/Query.js';
|
|
199
195
|
import {
|
|
200
196
|
V1_buildQuery,
|
|
201
|
-
V1_buildLegacyServiceTestResult,
|
|
202
197
|
V1_buildServiceRegistrationResult,
|
|
203
198
|
V1_transformQuery,
|
|
204
199
|
V1_buildGenerationOutput,
|
|
@@ -237,6 +232,7 @@ import { V1_buildTestsResult } from './engine/test/V1_RunTestsResult.js';
|
|
|
237
232
|
import {
|
|
238
233
|
type TestResult,
|
|
239
234
|
TestFailed,
|
|
235
|
+
TestError,
|
|
240
236
|
} from '../../../metamodels/pure/test/result/TestResult.js';
|
|
241
237
|
import type { Service } from '../../../../DSLService_Exports.js';
|
|
242
238
|
import type { Testable } from '../../../metamodels/pure/test/Testable.js';
|
|
@@ -255,38 +251,13 @@ import {
|
|
|
255
251
|
V1_buildModelCoverageAnalysisResult,
|
|
256
252
|
V1_MappingModelCoverageAnalysisInput,
|
|
257
253
|
V1_MappingModelCoverageAnalysisResult,
|
|
258
|
-
} from './engine/analytics/
|
|
254
|
+
} from './engine/analytics/V1_MappingModelCoverageAnalysis.js';
|
|
259
255
|
import type {
|
|
260
256
|
MappingModelCoverageAnalysisResult,
|
|
261
257
|
RawMappingModelCoverageAnalysisResult,
|
|
262
|
-
} from '../../../../graphManager/action/analytics/
|
|
258
|
+
} from '../../../../graphManager/action/analytics/MappingModelCoverageAnalysis.js';
|
|
263
259
|
import { deserialize } from 'serializr';
|
|
264
|
-
|
|
265
|
-
const V1_FUNCTION_SUFFIX_MULTIPLICITY_INFINITE = 'MANY';
|
|
266
|
-
|
|
267
|
-
const getMultiplicitySuffix = (multiplicity: V1_Multiplicity): string => {
|
|
268
|
-
if (multiplicity.lowerBound === multiplicity.upperBound) {
|
|
269
|
-
return multiplicity.lowerBound.toString();
|
|
270
|
-
} else if (
|
|
271
|
-
multiplicity.lowerBound === 0 &&
|
|
272
|
-
multiplicity.upperBound === undefined
|
|
273
|
-
) {
|
|
274
|
-
return V1_FUNCTION_SUFFIX_MULTIPLICITY_INFINITE;
|
|
275
|
-
}
|
|
276
|
-
return `$${multiplicity.lowerBound}_${
|
|
277
|
-
multiplicity.upperBound ?? V1_FUNCTION_SUFFIX_MULTIPLICITY_INFINITE
|
|
278
|
-
}$`;
|
|
279
|
-
};
|
|
280
|
-
|
|
281
|
-
const getVariableSuffix = (variable: V1_RawVariable): string =>
|
|
282
|
-
`${variable.class
|
|
283
|
-
.split(ELEMENT_PATH_DELIMITER)
|
|
284
|
-
.pop()}_${getMultiplicitySuffix(variable.multiplicity)}_`;
|
|
285
|
-
|
|
286
|
-
const getFunctionSuffix = (fn: V1_ConcreteFunctionDefinition): string =>
|
|
287
|
-
`${fn.parameters.map((p) => getVariableSuffix(p)).join('_')}_${fn.returnType
|
|
288
|
-
.split(ELEMENT_PATH_DELIMITER)
|
|
289
|
-
.pop()}_${getMultiplicitySuffix(fn.returnMultiplicity)}_`;
|
|
260
|
+
import { V1_getFunctionSuffix } from './helper/V1_DomainHelper.js';
|
|
290
261
|
|
|
291
262
|
class V1_PureModelContextDataIndex {
|
|
292
263
|
elements: V1_PackageableElement[] = [];
|
|
@@ -334,7 +305,7 @@ const mergePureModelContextData = (
|
|
|
334
305
|
return mergedData;
|
|
335
306
|
};
|
|
336
307
|
|
|
337
|
-
const
|
|
308
|
+
export const V1_indexPureModelContextData = (
|
|
338
309
|
report: GraphBuilderReport,
|
|
339
310
|
data: V1_PureModelContextData,
|
|
340
311
|
extensions: V1_GraphBuilderExtensions,
|
|
@@ -439,7 +410,7 @@ const indexPureModelContextData = (
|
|
|
439
410
|
// NOTE: this interface is somewhat naive since `model` is of type `BasicModel`,
|
|
440
411
|
// so this can only be used for pre-processing/indexing
|
|
441
412
|
// we might need to change model to PureModel in the future when we support other use case
|
|
442
|
-
interface
|
|
413
|
+
interface V1_PureGraphBuilderInput {
|
|
443
414
|
model: BasicModel;
|
|
444
415
|
data: V1_PureModelContextDataIndex;
|
|
445
416
|
}
|
|
@@ -454,7 +425,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
454
425
|
// Organizing these constants will help with configuring
|
|
455
426
|
// target protocol version in the future
|
|
456
427
|
// See https://github.com/finos/legend-studio/issues/475
|
|
457
|
-
|
|
428
|
+
static readonly TARGET_PROTOCOL_VERSION = PureClientVersion.VX_X_X;
|
|
458
429
|
|
|
459
430
|
engine: V1_Engine;
|
|
460
431
|
graphBuilderExtensions: V1_GraphBuilderExtensions;
|
|
@@ -544,7 +515,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
544
515
|
const buildInputs = [
|
|
545
516
|
{
|
|
546
517
|
model: systemModel,
|
|
547
|
-
data:
|
|
518
|
+
data: V1_indexPureModelContextData(
|
|
548
519
|
report,
|
|
549
520
|
systemData,
|
|
550
521
|
this.graphBuilderExtensions,
|
|
@@ -585,7 +556,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
585
556
|
coreModel: CoreModel,
|
|
586
557
|
systemModel: SystemModel,
|
|
587
558
|
dependencyManager: DependencyManager,
|
|
588
|
-
|
|
559
|
+
dependencyEntitiesIndex: Map<string, Entity[]>,
|
|
589
560
|
buildState: ActionState,
|
|
590
561
|
options?: GraphBuilderOptions,
|
|
591
562
|
): Promise<GraphBuilderReport> {
|
|
@@ -602,16 +573,19 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
602
573
|
graph.dependencyManager = dependencyManager;
|
|
603
574
|
|
|
604
575
|
try {
|
|
605
|
-
dependencyManager.initialize(
|
|
576
|
+
dependencyManager.initialize(dependencyEntitiesIndex);
|
|
606
577
|
|
|
607
578
|
// deserialize
|
|
608
579
|
buildState.setMessage(`Partitioning and deserializing elements...`);
|
|
609
|
-
const
|
|
580
|
+
const dependencyGraphDataIndex = new Map<
|
|
581
|
+
string,
|
|
582
|
+
V1_PureModelContextData
|
|
583
|
+
>();
|
|
610
584
|
await Promise.all(
|
|
611
|
-
Array.from(
|
|
585
|
+
Array.from(dependencyEntitiesIndex.entries()).map(
|
|
612
586
|
([dependencyKey, entities]) => {
|
|
613
587
|
const projectModelData = new V1_PureModelContextData();
|
|
614
|
-
|
|
588
|
+
dependencyGraphDataIndex.set(dependencyKey, projectModelData);
|
|
615
589
|
return V1_entitiesToPureModelContextData(
|
|
616
590
|
entities,
|
|
617
591
|
projectModelData,
|
|
@@ -623,11 +597,11 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
623
597
|
stopWatch.record(GRAPH_MANAGER_EVENT.GRAPH_BUILDER_ELEMENTS_DESERIALIZED);
|
|
624
598
|
|
|
625
599
|
// prepare build inputs
|
|
626
|
-
const buildInputs:
|
|
627
|
-
|
|
600
|
+
const buildInputs: V1_PureGraphBuilderInput[] = Array.from(
|
|
601
|
+
dependencyGraphDataIndex.entries(),
|
|
628
602
|
).map(([dependencyKey, dependencyData]) => ({
|
|
629
603
|
model: graph.dependencyManager.getModel(dependencyKey),
|
|
630
|
-
data:
|
|
604
|
+
data: V1_indexPureModelContextData(
|
|
631
605
|
report,
|
|
632
606
|
dependencyData,
|
|
633
607
|
this.graphBuilderExtensions,
|
|
@@ -645,7 +619,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
645
619
|
);
|
|
646
620
|
|
|
647
621
|
buildState.pass();
|
|
648
|
-
report.otherStats.projectCount =
|
|
622
|
+
report.otherStats.projectCount = dependencyEntitiesIndex.size;
|
|
649
623
|
report.timings = {
|
|
650
624
|
...Object.fromEntries(stopWatch.records),
|
|
651
625
|
[GRAPH_MANAGER_EVENT.GRAPH_BUILDER_COMPLETED]: stopWatch.elapsed,
|
|
@@ -686,10 +660,10 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
686
660
|
stopWatch.record(GRAPH_MANAGER_EVENT.GRAPH_BUILDER_ELEMENTS_DESERIALIZED);
|
|
687
661
|
|
|
688
662
|
// prepare build inputs
|
|
689
|
-
const buildInputs:
|
|
663
|
+
const buildInputs: V1_PureGraphBuilderInput[] = [
|
|
690
664
|
{
|
|
691
665
|
model: graph,
|
|
692
|
-
data:
|
|
666
|
+
data: V1_indexPureModelContextData(
|
|
693
667
|
report,
|
|
694
668
|
data,
|
|
695
669
|
this.graphBuilderExtensions,
|
|
@@ -755,12 +729,15 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
755
729
|
try {
|
|
756
730
|
// deserialize
|
|
757
731
|
buildState.setMessage(`Deserializing elements...`);
|
|
758
|
-
const
|
|
732
|
+
const generationGraphDataIndex = new Map<
|
|
733
|
+
string,
|
|
734
|
+
V1_PureModelContextData
|
|
735
|
+
>();
|
|
759
736
|
await Promise.all(
|
|
760
737
|
Array.from(generatedEntities.entries()).map(
|
|
761
738
|
([generationParentPath, entities]) => {
|
|
762
739
|
const generatedData = new V1_PureModelContextData();
|
|
763
|
-
|
|
740
|
+
generationGraphDataIndex.set(generationParentPath, generatedData);
|
|
764
741
|
return V1_entitiesToPureModelContextData(
|
|
765
742
|
entities,
|
|
766
743
|
generatedData,
|
|
@@ -772,11 +749,11 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
772
749
|
stopWatch.record(GRAPH_MANAGER_EVENT.GRAPH_BUILDER_ELEMENTS_DESERIALIZED);
|
|
773
750
|
|
|
774
751
|
// prepare build inputs
|
|
775
|
-
const buildInputs:
|
|
776
|
-
|
|
752
|
+
const buildInputs: V1_PureGraphBuilderInput[] = Array.from(
|
|
753
|
+
generationGraphDataIndex.entries(),
|
|
777
754
|
).map(([generationParentPath, generatedData]) => ({
|
|
778
755
|
model: generatedModel,
|
|
779
|
-
data:
|
|
756
|
+
data: V1_indexPureModelContextData(
|
|
780
757
|
report,
|
|
781
758
|
generatedData,
|
|
782
759
|
this.graphBuilderExtensions,
|
|
@@ -794,7 +771,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
794
771
|
);
|
|
795
772
|
|
|
796
773
|
buildState.pass();
|
|
797
|
-
report.otherStats.generationCount =
|
|
774
|
+
report.otherStats.generationCount = generationGraphDataIndex.size;
|
|
798
775
|
report.timings = {
|
|
799
776
|
...Object.fromEntries(stopWatch.records),
|
|
800
777
|
[GRAPH_MANAGER_EVENT.GRAPH_BUILDER_COMPLETED]: stopWatch.elapsed,
|
|
@@ -821,7 +798,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
821
798
|
|
|
822
799
|
private async buildGraphFromInputs(
|
|
823
800
|
graph: PureModel,
|
|
824
|
-
inputs:
|
|
801
|
+
inputs: V1_PureGraphBuilderInput[],
|
|
825
802
|
report: GraphBuilderReport,
|
|
826
803
|
stopWatch: StopWatch,
|
|
827
804
|
graphBuilderState: ActionState,
|
|
@@ -906,7 +883,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
906
883
|
*/
|
|
907
884
|
private async initializeAndIndexElements(
|
|
908
885
|
graph: PureModel,
|
|
909
|
-
inputs:
|
|
886
|
+
inputs: V1_PureGraphBuilderInput[],
|
|
910
887
|
options?: GraphBuilderOptions,
|
|
911
888
|
): Promise<void> {
|
|
912
889
|
// create the element path cache for faster duplication check
|
|
@@ -927,7 +904,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
927
904
|
input.data.nativeElements.map((element) =>
|
|
928
905
|
this.visitWithGraphBuilderErrorHandling(
|
|
929
906
|
element,
|
|
930
|
-
new
|
|
907
|
+
new V1_ElementFirstPassBuilder(
|
|
931
908
|
this.getBuilderContext(graph, input.model, element, options),
|
|
932
909
|
packageCache,
|
|
933
910
|
elementPathCache,
|
|
@@ -942,7 +919,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
942
919
|
(element) =>
|
|
943
920
|
this.visitWithGraphBuilderErrorHandling(
|
|
944
921
|
element,
|
|
945
|
-
new
|
|
922
|
+
new V1_ElementFirstPassBuilder(
|
|
946
923
|
this.getBuilderContext(
|
|
947
924
|
graph,
|
|
948
925
|
input.model,
|
|
@@ -962,7 +939,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
962
939
|
|
|
963
940
|
private async buildTypes(
|
|
964
941
|
graph: PureModel,
|
|
965
|
-
inputs:
|
|
942
|
+
inputs: V1_PureGraphBuilderInput[],
|
|
966
943
|
options?: GraphBuilderOptions,
|
|
967
944
|
): Promise<void> {
|
|
968
945
|
// Second pass
|
|
@@ -971,7 +948,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
971
948
|
input.data.profiles.map((element) =>
|
|
972
949
|
this.visitWithGraphBuilderErrorHandling(
|
|
973
950
|
element,
|
|
974
|
-
new
|
|
951
|
+
new V1_ElementSecondPassBuilder(
|
|
975
952
|
this.getBuilderContext(graph, input.model, element, options),
|
|
976
953
|
),
|
|
977
954
|
),
|
|
@@ -983,7 +960,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
983
960
|
input.data.classes.map((element) =>
|
|
984
961
|
this.visitWithGraphBuilderErrorHandling(
|
|
985
962
|
element,
|
|
986
|
-
new
|
|
963
|
+
new V1_ElementSecondPassBuilder(
|
|
987
964
|
this.getBuilderContext(graph, input.model, element, options),
|
|
988
965
|
),
|
|
989
966
|
),
|
|
@@ -995,7 +972,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
995
972
|
input.data.enumerations.map((element) =>
|
|
996
973
|
this.visitWithGraphBuilderErrorHandling(
|
|
997
974
|
element,
|
|
998
|
-
new
|
|
975
|
+
new V1_ElementSecondPassBuilder(
|
|
999
976
|
this.getBuilderContext(graph, input.model, element, options),
|
|
1000
977
|
),
|
|
1001
978
|
),
|
|
@@ -1007,7 +984,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1007
984
|
input.data.measures.map((element) =>
|
|
1008
985
|
this.visitWithGraphBuilderErrorHandling(
|
|
1009
986
|
element,
|
|
1010
|
-
new
|
|
987
|
+
new V1_ElementSecondPassBuilder(
|
|
1011
988
|
this.getBuilderContext(graph, input.model, element, options),
|
|
1012
989
|
),
|
|
1013
990
|
),
|
|
@@ -1019,7 +996,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1019
996
|
input.data.functions.map((element) =>
|
|
1020
997
|
this.visitWithGraphBuilderErrorHandling(
|
|
1021
998
|
element,
|
|
1022
|
-
new
|
|
999
|
+
new V1_ElementSecondPassBuilder(
|
|
1023
1000
|
this.getBuilderContext(graph, input.model, element, options),
|
|
1024
1001
|
),
|
|
1025
1002
|
),
|
|
@@ -1032,7 +1009,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1032
1009
|
input.data.classes.map((element) =>
|
|
1033
1010
|
this.visitWithGraphBuilderErrorHandling(
|
|
1034
1011
|
element,
|
|
1035
|
-
new
|
|
1012
|
+
new V1_ElementThirdPassBuilder(
|
|
1036
1013
|
this.getBuilderContext(graph, input.model, element, options),
|
|
1037
1014
|
),
|
|
1038
1015
|
),
|
|
@@ -1044,7 +1021,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1044
1021
|
input.data.associations.map((element) =>
|
|
1045
1022
|
this.visitWithGraphBuilderErrorHandling(
|
|
1046
1023
|
element,
|
|
1047
|
-
new
|
|
1024
|
+
new V1_ElementThirdPassBuilder(
|
|
1048
1025
|
this.getBuilderContext(graph, input.model, element, options),
|
|
1049
1026
|
),
|
|
1050
1027
|
),
|
|
@@ -1057,7 +1034,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1057
1034
|
input.data.classes.map((element) =>
|
|
1058
1035
|
this.visitWithGraphBuilderErrorHandling(
|
|
1059
1036
|
element,
|
|
1060
|
-
new
|
|
1037
|
+
new V1_ElementFourthPassBuilder(
|
|
1061
1038
|
this.getBuilderContext(graph, input.model, element, options),
|
|
1062
1039
|
),
|
|
1063
1040
|
),
|
|
@@ -1069,7 +1046,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1069
1046
|
input.data.associations.map((element) =>
|
|
1070
1047
|
this.visitWithGraphBuilderErrorHandling(
|
|
1071
1048
|
element,
|
|
1072
|
-
new
|
|
1049
|
+
new V1_ElementFourthPassBuilder(
|
|
1073
1050
|
this.getBuilderContext(graph, input.model, element, options),
|
|
1074
1051
|
),
|
|
1075
1052
|
),
|
|
@@ -1082,7 +1059,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1082
1059
|
input.data.classes.map((element) =>
|
|
1083
1060
|
this.visitWithGraphBuilderErrorHandling(
|
|
1084
1061
|
element,
|
|
1085
|
-
new
|
|
1062
|
+
new V1_ElementFifthPassBuilder(
|
|
1086
1063
|
this.getBuilderContext(graph, input.model, element, options),
|
|
1087
1064
|
),
|
|
1088
1065
|
),
|
|
@@ -1093,7 +1070,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1093
1070
|
|
|
1094
1071
|
private async buildStores(
|
|
1095
1072
|
graph: PureModel,
|
|
1096
|
-
inputs:
|
|
1073
|
+
inputs: V1_PureGraphBuilderInput[],
|
|
1097
1074
|
options?: GraphBuilderOptions,
|
|
1098
1075
|
): Promise<void> {
|
|
1099
1076
|
await Promise.all(
|
|
@@ -1101,7 +1078,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1101
1078
|
input.data.stores.map((element) =>
|
|
1102
1079
|
this.visitWithGraphBuilderErrorHandling(
|
|
1103
1080
|
element,
|
|
1104
|
-
new
|
|
1081
|
+
new V1_ElementSecondPassBuilder(
|
|
1105
1082
|
this.getBuilderContext(graph, input.model, element, options),
|
|
1106
1083
|
),
|
|
1107
1084
|
),
|
|
@@ -1113,7 +1090,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1113
1090
|
input.data.stores.map((element) =>
|
|
1114
1091
|
this.visitWithGraphBuilderErrorHandling(
|
|
1115
1092
|
element,
|
|
1116
|
-
new
|
|
1093
|
+
new V1_ElementThirdPassBuilder(
|
|
1117
1094
|
this.getBuilderContext(graph, input.model, element, options),
|
|
1118
1095
|
),
|
|
1119
1096
|
),
|
|
@@ -1125,7 +1102,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1125
1102
|
input.data.stores.map((element) =>
|
|
1126
1103
|
this.visitWithGraphBuilderErrorHandling(
|
|
1127
1104
|
element,
|
|
1128
|
-
new
|
|
1105
|
+
new V1_ElementFourthPassBuilder(
|
|
1129
1106
|
this.getBuilderContext(graph, input.model, element, options),
|
|
1130
1107
|
),
|
|
1131
1108
|
),
|
|
@@ -1137,7 +1114,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1137
1114
|
input.data.stores.map((element) =>
|
|
1138
1115
|
this.visitWithGraphBuilderErrorHandling(
|
|
1139
1116
|
element,
|
|
1140
|
-
new
|
|
1117
|
+
new V1_ElementFifthPassBuilder(
|
|
1141
1118
|
this.getBuilderContext(graph, input.model, element, options),
|
|
1142
1119
|
),
|
|
1143
1120
|
),
|
|
@@ -1148,7 +1125,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1148
1125
|
|
|
1149
1126
|
private async buildMappings(
|
|
1150
1127
|
graph: PureModel,
|
|
1151
|
-
inputs:
|
|
1128
|
+
inputs: V1_PureGraphBuilderInput[],
|
|
1152
1129
|
options?: GraphBuilderOptions,
|
|
1153
1130
|
): Promise<void> {
|
|
1154
1131
|
await Promise.all(
|
|
@@ -1156,7 +1133,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1156
1133
|
input.data.mappings.map((element) =>
|
|
1157
1134
|
this.visitWithGraphBuilderErrorHandling(
|
|
1158
1135
|
element,
|
|
1159
|
-
new
|
|
1136
|
+
new V1_ElementSecondPassBuilder(
|
|
1160
1137
|
this.getBuilderContext(graph, input.model, element, options),
|
|
1161
1138
|
),
|
|
1162
1139
|
),
|
|
@@ -1168,7 +1145,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1168
1145
|
input.data.mappings.map((element) =>
|
|
1169
1146
|
this.visitWithGraphBuilderErrorHandling(
|
|
1170
1147
|
element,
|
|
1171
|
-
new
|
|
1148
|
+
new V1_ElementThirdPassBuilder(
|
|
1172
1149
|
this.getBuilderContext(graph, input.model, element, options),
|
|
1173
1150
|
),
|
|
1174
1151
|
),
|
|
@@ -1180,7 +1157,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1180
1157
|
input.data.mappings.map((element) =>
|
|
1181
1158
|
this.visitWithGraphBuilderErrorHandling(
|
|
1182
1159
|
element,
|
|
1183
|
-
new
|
|
1160
|
+
new V1_ElementFourthPassBuilder(
|
|
1184
1161
|
this.getBuilderContext(graph, input.model, element, options),
|
|
1185
1162
|
),
|
|
1186
1163
|
),
|
|
@@ -1191,7 +1168,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1191
1168
|
|
|
1192
1169
|
private async buildConnectionsAndRuntimes(
|
|
1193
1170
|
graph: PureModel,
|
|
1194
|
-
inputs:
|
|
1171
|
+
inputs: V1_PureGraphBuilderInput[],
|
|
1195
1172
|
options?: GraphBuilderOptions,
|
|
1196
1173
|
): Promise<void> {
|
|
1197
1174
|
// NOTE: connections must be built before runtimes
|
|
@@ -1200,7 +1177,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1200
1177
|
input.data.connections.map((element) =>
|
|
1201
1178
|
this.visitWithGraphBuilderErrorHandling(
|
|
1202
1179
|
element,
|
|
1203
|
-
new
|
|
1180
|
+
new V1_ElementSecondPassBuilder(
|
|
1204
1181
|
this.getBuilderContext(graph, input.model, element, options),
|
|
1205
1182
|
),
|
|
1206
1183
|
),
|
|
@@ -1212,7 +1189,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1212
1189
|
input.data.runtimes.map((element) =>
|
|
1213
1190
|
this.visitWithGraphBuilderErrorHandling(
|
|
1214
1191
|
element,
|
|
1215
|
-
new
|
|
1192
|
+
new V1_ElementSecondPassBuilder(
|
|
1216
1193
|
this.getBuilderContext(graph, input.model, element, options),
|
|
1217
1194
|
),
|
|
1218
1195
|
),
|
|
@@ -1223,7 +1200,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1223
1200
|
|
|
1224
1201
|
private async buildServices(
|
|
1225
1202
|
graph: PureModel,
|
|
1226
|
-
inputs:
|
|
1203
|
+
inputs: V1_PureGraphBuilderInput[],
|
|
1227
1204
|
options?: GraphBuilderOptions,
|
|
1228
1205
|
): Promise<void> {
|
|
1229
1206
|
await Promise.all(
|
|
@@ -1231,7 +1208,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1231
1208
|
input.data.services.map((element) =>
|
|
1232
1209
|
this.visitWithGraphBuilderErrorHandling(
|
|
1233
1210
|
element,
|
|
1234
|
-
new
|
|
1211
|
+
new V1_ElementSecondPassBuilder(
|
|
1235
1212
|
this.getBuilderContext(graph, input.model, element, options),
|
|
1236
1213
|
),
|
|
1237
1214
|
),
|
|
@@ -1242,7 +1219,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1242
1219
|
|
|
1243
1220
|
private async buildDataElements(
|
|
1244
1221
|
graph: PureModel,
|
|
1245
|
-
inputs:
|
|
1222
|
+
inputs: V1_PureGraphBuilderInput[],
|
|
1246
1223
|
options?: GraphBuilderOptions,
|
|
1247
1224
|
): Promise<void> {
|
|
1248
1225
|
await Promise.all(
|
|
@@ -1250,7 +1227,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1250
1227
|
input.data.dataElements.map((element) =>
|
|
1251
1228
|
this.visitWithGraphBuilderErrorHandling(
|
|
1252
1229
|
element,
|
|
1253
|
-
new
|
|
1230
|
+
new V1_ElementSecondPassBuilder(
|
|
1254
1231
|
this.getBuilderContext(graph, input.model, element, options),
|
|
1255
1232
|
),
|
|
1256
1233
|
),
|
|
@@ -1261,7 +1238,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1261
1238
|
|
|
1262
1239
|
private async buildFileGenerations(
|
|
1263
1240
|
graph: PureModel,
|
|
1264
|
-
inputs:
|
|
1241
|
+
inputs: V1_PureGraphBuilderInput[],
|
|
1265
1242
|
options?: GraphBuilderOptions,
|
|
1266
1243
|
): Promise<void> {
|
|
1267
1244
|
await Promise.all(
|
|
@@ -1269,7 +1246,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1269
1246
|
input.data.fileGenerations.map((element) =>
|
|
1270
1247
|
this.visitWithGraphBuilderErrorHandling(
|
|
1271
1248
|
element,
|
|
1272
|
-
new
|
|
1249
|
+
new V1_ElementSecondPassBuilder(
|
|
1273
1250
|
this.getBuilderContext(graph, input.model, element, options),
|
|
1274
1251
|
),
|
|
1275
1252
|
),
|
|
@@ -1280,7 +1257,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1280
1257
|
|
|
1281
1258
|
private async buildGenerationSpecifications(
|
|
1282
1259
|
graph: PureModel,
|
|
1283
|
-
inputs:
|
|
1260
|
+
inputs: V1_PureGraphBuilderInput[],
|
|
1284
1261
|
options?: GraphBuilderOptions,
|
|
1285
1262
|
): Promise<void> {
|
|
1286
1263
|
await Promise.all(
|
|
@@ -1288,7 +1265,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1288
1265
|
input.data.generationSpecifications.map((element) =>
|
|
1289
1266
|
this.visitWithGraphBuilderErrorHandling(
|
|
1290
1267
|
element,
|
|
1291
|
-
new
|
|
1268
|
+
new V1_ElementSecondPassBuilder(
|
|
1292
1269
|
this.getBuilderContext(graph, input.model, element, options),
|
|
1293
1270
|
),
|
|
1294
1271
|
),
|
|
@@ -1299,7 +1276,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1299
1276
|
|
|
1300
1277
|
private async buildSectionIndices(
|
|
1301
1278
|
graph: PureModel,
|
|
1302
|
-
inputs:
|
|
1279
|
+
inputs: V1_PureGraphBuilderInput[],
|
|
1303
1280
|
options?: GraphBuilderOptions,
|
|
1304
1281
|
): Promise<void> {
|
|
1305
1282
|
await Promise.all(
|
|
@@ -1307,7 +1284,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1307
1284
|
input.data.sectionIndices.map((element) =>
|
|
1308
1285
|
this.visitWithGraphBuilderErrorHandling(
|
|
1309
1286
|
element,
|
|
1310
|
-
new
|
|
1287
|
+
new V1_ElementSecondPassBuilder(
|
|
1311
1288
|
this.getBuilderContext(graph, input.model, element, options),
|
|
1312
1289
|
),
|
|
1313
1290
|
),
|
|
@@ -1318,7 +1295,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1318
1295
|
|
|
1319
1296
|
private async buildOtherElements(
|
|
1320
1297
|
graph: PureModel,
|
|
1321
|
-
inputs:
|
|
1298
|
+
inputs: V1_PureGraphBuilderInput[],
|
|
1322
1299
|
options?: GraphBuilderOptions,
|
|
1323
1300
|
): Promise<void> {
|
|
1324
1301
|
await Promise.all(
|
|
@@ -1330,7 +1307,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1330
1307
|
(element) =>
|
|
1331
1308
|
this.visitWithGraphBuilderErrorHandling(
|
|
1332
1309
|
element,
|
|
1333
|
-
new
|
|
1310
|
+
new V1_ElementSecondPassBuilder(
|
|
1334
1311
|
this.getBuilderContext(
|
|
1335
1312
|
graph,
|
|
1336
1313
|
input.model,
|
|
@@ -1348,7 +1325,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1348
1325
|
(element) =>
|
|
1349
1326
|
this.visitWithGraphBuilderErrorHandling(
|
|
1350
1327
|
element,
|
|
1351
|
-
new
|
|
1328
|
+
new V1_ElementThirdPassBuilder(
|
|
1352
1329
|
this.getBuilderContext(
|
|
1353
1330
|
graph,
|
|
1354
1331
|
input.model,
|
|
@@ -1366,7 +1343,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1366
1343
|
(element) =>
|
|
1367
1344
|
this.visitWithGraphBuilderErrorHandling(
|
|
1368
1345
|
element,
|
|
1369
|
-
new
|
|
1346
|
+
new V1_ElementFourthPassBuilder(
|
|
1370
1347
|
this.getBuilderContext(
|
|
1371
1348
|
graph,
|
|
1372
1349
|
input.model,
|
|
@@ -1384,7 +1361,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1384
1361
|
(element) =>
|
|
1385
1362
|
this.visitWithGraphBuilderErrorHandling(
|
|
1386
1363
|
element,
|
|
1387
|
-
new
|
|
1364
|
+
new V1_ElementFifthPassBuilder(
|
|
1388
1365
|
this.getBuilderContext(
|
|
1389
1366
|
graph,
|
|
1390
1367
|
input.model,
|
|
@@ -1463,8 +1440,15 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1463
1440
|
async pureCodeToLambda(
|
|
1464
1441
|
lambda: string,
|
|
1465
1442
|
lambdaId?: string,
|
|
1443
|
+
options?: {
|
|
1444
|
+
pruneSourceInformation?: boolean;
|
|
1445
|
+
},
|
|
1466
1446
|
): Promise<RawLambda> {
|
|
1467
|
-
const result = await this.engine.transformCodeToLambda(
|
|
1447
|
+
const result = await this.engine.transformCodeToLambda(
|
|
1448
|
+
lambda,
|
|
1449
|
+
lambdaId,
|
|
1450
|
+
options,
|
|
1451
|
+
);
|
|
1468
1452
|
return new RawLambda(result.parameters, result.body);
|
|
1469
1453
|
}
|
|
1470
1454
|
|
|
@@ -1734,6 +1718,9 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1734
1718
|
),
|
|
1735
1719
|
);
|
|
1736
1720
|
const result = results[0];
|
|
1721
|
+
if (result instanceof TestError) {
|
|
1722
|
+
throw new IllegalStateError(result.error);
|
|
1723
|
+
}
|
|
1737
1724
|
assertType(result, TestFailed);
|
|
1738
1725
|
const status = result.assertStatuses.find(
|
|
1739
1726
|
(e) => e.assertion === baseAssertion,
|
|
@@ -1781,7 +1768,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1781
1768
|
// deserialize json and builds metamodal raw value spec
|
|
1782
1769
|
const rawValueSpecification = V1_deserializeRawValueSpecification(json);
|
|
1783
1770
|
return rawValueSpecification.accept_RawValueSpecificationVisitor(
|
|
1784
|
-
new
|
|
1771
|
+
new V1_RawValueSpecificationBuilder(
|
|
1785
1772
|
new V1_GraphBuilderContextBuilder(
|
|
1786
1773
|
graph,
|
|
1787
1774
|
graph,
|
|
@@ -1969,10 +1956,10 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1969
1956
|
};
|
|
1970
1957
|
|
|
1971
1958
|
async executeMapping(
|
|
1972
|
-
graph: PureModel,
|
|
1973
|
-
mapping: Mapping,
|
|
1974
1959
|
lambda: RawLambda,
|
|
1960
|
+
mapping: Mapping,
|
|
1975
1961
|
runtime: Runtime,
|
|
1962
|
+
graph: PureModel,
|
|
1976
1963
|
options?: ExecutionOptions,
|
|
1977
1964
|
): Promise<ExecutionResult> {
|
|
1978
1965
|
return V1_buildExecutionResult(
|
|
@@ -1990,11 +1977,11 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1990
1977
|
}
|
|
1991
1978
|
|
|
1992
1979
|
generateExecuteTestData(
|
|
1993
|
-
graph: PureModel,
|
|
1994
|
-
mapping: Mapping,
|
|
1995
1980
|
lambda: RawLambda,
|
|
1996
|
-
runtime: Runtime,
|
|
1997
1981
|
parameters: (string | number | boolean)[],
|
|
1982
|
+
mapping: Mapping,
|
|
1983
|
+
runtime: Runtime,
|
|
1984
|
+
graph: PureModel,
|
|
1998
1985
|
options?: {
|
|
1999
1986
|
anonymizeGeneratedData?: boolean;
|
|
2000
1987
|
},
|
|
@@ -2017,10 +2004,10 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
2017
2004
|
}
|
|
2018
2005
|
|
|
2019
2006
|
generateExecutionPlan(
|
|
2020
|
-
graph: PureModel,
|
|
2021
|
-
mapping: Mapping,
|
|
2022
2007
|
lambda: RawLambda,
|
|
2008
|
+
mapping: Mapping,
|
|
2023
2009
|
runtime: Runtime,
|
|
2010
|
+
graph: PureModel,
|
|
2024
2011
|
): Promise<RawExecutionPlan> {
|
|
2025
2012
|
return this.engine.generateExecutionPlan(
|
|
2026
2013
|
this.createExecutionInput(
|
|
@@ -2034,10 +2021,10 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
2034
2021
|
}
|
|
2035
2022
|
|
|
2036
2023
|
async debugExecutionPlanGeneration(
|
|
2037
|
-
graph: PureModel,
|
|
2038
|
-
mapping: Mapping,
|
|
2039
2024
|
lambda: RawLambda,
|
|
2025
|
+
mapping: Mapping,
|
|
2040
2026
|
runtime: Runtime,
|
|
2027
|
+
graph: PureModel,
|
|
2041
2028
|
): Promise<{ plan: RawExecutionPlan; debug: string }> {
|
|
2042
2029
|
const result = await this.engine.debugExecutionPlanGeneration(
|
|
2043
2030
|
this.createExecutionInput(
|
|
@@ -2097,34 +2084,14 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
2097
2084
|
|
|
2098
2085
|
// --------------------------------------------- Service ---------------------------------------------
|
|
2099
2086
|
|
|
2100
|
-
async runLegacyServiceTests(
|
|
2101
|
-
service: Service,
|
|
2102
|
-
graph: PureModel,
|
|
2103
|
-
): Promise<DEPRECATED__ServiceTestResult[]> {
|
|
2104
|
-
const protocolGraph = this.getFullGraphModelData(graph);
|
|
2105
|
-
const targetService = guaranteeNonNullable(
|
|
2106
|
-
protocolGraph.elements
|
|
2107
|
-
.filter(filterByType(V1_Service))
|
|
2108
|
-
.find((element) => element.path === service.path),
|
|
2109
|
-
`Can't run service test: service '${service.path}' not found`,
|
|
2110
|
-
);
|
|
2111
|
-
protocolGraph.elements = protocolGraph.elements.filter(
|
|
2112
|
-
(element) => !(element instanceof V1_Service),
|
|
2113
|
-
);
|
|
2114
|
-
protocolGraph.elements.push(targetService);
|
|
2115
|
-
return (await this.engine.runLegacyServiceTests(protocolGraph)).map(
|
|
2116
|
-
V1_buildLegacyServiceTestResult,
|
|
2117
|
-
);
|
|
2118
|
-
}
|
|
2119
|
-
|
|
2120
2087
|
async registerService(
|
|
2121
|
-
graph: PureModel,
|
|
2122
2088
|
service: Service,
|
|
2123
|
-
|
|
2089
|
+
graph: PureModel,
|
|
2090
|
+
groupId: string,
|
|
2124
2091
|
artifactId: string,
|
|
2092
|
+
version: string | undefined,
|
|
2125
2093
|
server: string,
|
|
2126
2094
|
executionMode: ServiceExecutionMode,
|
|
2127
|
-
version: string | undefined,
|
|
2128
2095
|
): Promise<ServiceRegistrationResult> {
|
|
2129
2096
|
const serverServiceInfo = await this.engine.getServerServiceInfo();
|
|
2130
2097
|
// input
|
|
@@ -2141,7 +2108,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
2141
2108
|
break;
|
|
2142
2109
|
}
|
|
2143
2110
|
case ServiceExecutionMode.SEMI_INTERACTIVE: {
|
|
2144
|
-
const sdlcInfo = new V1_AlloySDLC(
|
|
2111
|
+
const sdlcInfo = new V1_AlloySDLC(groupId, artifactId, version);
|
|
2145
2112
|
const pointer = new V1_PureModelContextPointer(protocol, sdlcInfo);
|
|
2146
2113
|
// data
|
|
2147
2114
|
const data = new V1_PureModelContextData();
|
|
@@ -2178,7 +2145,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
2178
2145
|
break;
|
|
2179
2146
|
}
|
|
2180
2147
|
case ServiceExecutionMode.PROD: {
|
|
2181
|
-
const sdlcInfo = new V1_AlloySDLC(
|
|
2148
|
+
const sdlcInfo = new V1_AlloySDLC(groupId, artifactId, version);
|
|
2182
2149
|
const pointer = new V1_PureModelContextPointer(protocol, sdlcInfo);
|
|
2183
2150
|
sdlcInfo.packageableElementPointers = [
|
|
2184
2151
|
new V1_PackageableElementPointer(
|
|
@@ -2245,78 +2212,6 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
2245
2212
|
);
|
|
2246
2213
|
}
|
|
2247
2214
|
|
|
2248
|
-
// TODO: we could potentially reshape this method to build light graph with just indexing
|
|
2249
|
-
// and return a slightly more complicated object instead: separating the graph and the dependencies part instead of
|
|
2250
|
-
// return a list of `V1_GraphBuilderInput`. This method would be useful for any other light graph builder algo.
|
|
2251
|
-
async indexEntitiesWithDependencyIntoGraph(
|
|
2252
|
-
graph: PureModel,
|
|
2253
|
-
_entities: Entity[],
|
|
2254
|
-
dependencyEntities: Map<string, Entity[]>,
|
|
2255
|
-
entityFilterFunc?: (entity: Entity) => boolean,
|
|
2256
|
-
): Promise<V1_GraphBuilderInput[]> {
|
|
2257
|
-
let entities = _entities;
|
|
2258
|
-
graph.dependencyManager.initialize(dependencyEntities);
|
|
2259
|
-
if (entityFilterFunc) {
|
|
2260
|
-
Array.from(dependencyEntities.entries()).forEach(
|
|
2261
|
-
([dependencyKey, dEntities]) => {
|
|
2262
|
-
dependencyEntities.set(
|
|
2263
|
-
dependencyKey,
|
|
2264
|
-
dEntities.filter(entityFilterFunc),
|
|
2265
|
-
);
|
|
2266
|
-
},
|
|
2267
|
-
);
|
|
2268
|
-
entities = _entities.filter(entityFilterFunc);
|
|
2269
|
-
}
|
|
2270
|
-
const report = new GraphBuilderReport();
|
|
2271
|
-
// build dependency pmcd models
|
|
2272
|
-
const dependencyDataMap = new Map<string, V1_PureModelContextData>();
|
|
2273
|
-
await Promise.all(
|
|
2274
|
-
Array.from(dependencyEntities.entries()).map(([dependencyKey, value]) => {
|
|
2275
|
-
const projectModelData = new V1_PureModelContextData();
|
|
2276
|
-
dependencyDataMap.set(dependencyKey, projectModelData);
|
|
2277
|
-
return V1_entitiesToPureModelContextData(
|
|
2278
|
-
value,
|
|
2279
|
-
projectModelData,
|
|
2280
|
-
|
|
2281
|
-
this.pluginManager.getPureProtocolProcessorPlugins(),
|
|
2282
|
-
);
|
|
2283
|
-
}),
|
|
2284
|
-
);
|
|
2285
|
-
const dependencyGraphBuilderInput: V1_GraphBuilderInput[] = Array.from(
|
|
2286
|
-
dependencyDataMap.entries(),
|
|
2287
|
-
).map(([dependencyKey, dependencyData]) => ({
|
|
2288
|
-
data: indexPureModelContextData(
|
|
2289
|
-
report,
|
|
2290
|
-
dependencyData,
|
|
2291
|
-
this.graphBuilderExtensions,
|
|
2292
|
-
),
|
|
2293
|
-
model: graph.dependencyManager.getModel(dependencyKey),
|
|
2294
|
-
}));
|
|
2295
|
-
// build main pmcd
|
|
2296
|
-
const data = new V1_PureModelContextData();
|
|
2297
|
-
await V1_entitiesToPureModelContextData(
|
|
2298
|
-
entities,
|
|
2299
|
-
data,
|
|
2300
|
-
this.pluginManager.getPureProtocolProcessorPlugins(),
|
|
2301
|
-
);
|
|
2302
|
-
const mainGraphBuilderInput: V1_GraphBuilderInput[] = [
|
|
2303
|
-
{
|
|
2304
|
-
model: graph,
|
|
2305
|
-
data: indexPureModelContextData(
|
|
2306
|
-
report,
|
|
2307
|
-
data,
|
|
2308
|
-
this.graphBuilderExtensions,
|
|
2309
|
-
),
|
|
2310
|
-
},
|
|
2311
|
-
];
|
|
2312
|
-
const graphBuilderInput = [
|
|
2313
|
-
...dependencyGraphBuilderInput,
|
|
2314
|
-
...mainGraphBuilderInput,
|
|
2315
|
-
];
|
|
2316
|
-
await this.initializeAndIndexElements(graph, graphBuilderInput);
|
|
2317
|
-
return graphBuilderInput;
|
|
2318
|
-
}
|
|
2319
|
-
|
|
2320
2215
|
// --------------------------------------------- Query ------------------------------------------------------
|
|
2321
2216
|
|
|
2322
2217
|
async getQuery(queryId: string, graph: PureModel): Promise<Query> {
|
|
@@ -2403,18 +2298,15 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
2403
2298
|
};
|
|
2404
2299
|
|
|
2405
2300
|
async analyzeMappingModelCoverage(
|
|
2406
|
-
graph: PureModel,
|
|
2407
2301
|
mapping: Mapping,
|
|
2302
|
+
graph: PureModel,
|
|
2408
2303
|
): Promise<MappingModelCoverageAnalysisResult> {
|
|
2409
|
-
const
|
|
2410
|
-
|
|
2411
|
-
|
|
2412
|
-
|
|
2413
|
-
modelCoverageAnalysisInput.mapping = mapping.path;
|
|
2414
|
-
modelCoverageAnalysisInput.model =
|
|
2415
|
-
this.buildMappingModelCoverageAnalysisInputContextData(graph);
|
|
2304
|
+
const input = new V1_MappingModelCoverageAnalysisInput();
|
|
2305
|
+
input.clientVersion = V1_PureGraphManager.TARGET_PROTOCOL_VERSION;
|
|
2306
|
+
input.mapping = mapping.path;
|
|
2307
|
+
input.model = this.buildMappingModelCoverageAnalysisInputContextData(graph);
|
|
2416
2308
|
return V1_buildModelCoverageAnalysisResult(
|
|
2417
|
-
await this.engine.analyzeMappingModelCoverage(
|
|
2309
|
+
await this.engine.analyzeMappingModelCoverage(input),
|
|
2418
2310
|
);
|
|
2419
2311
|
}
|
|
2420
2312
|
|
|
@@ -2429,22 +2321,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
2429
2321
|
);
|
|
2430
2322
|
}
|
|
2431
2323
|
|
|
2432
|
-
// ---------------------------------------------
|
|
2433
|
-
|
|
2434
|
-
elementToEntity = (
|
|
2435
|
-
element: PackageableElement,
|
|
2436
|
-
options?: {
|
|
2437
|
-
pruneSourceInformation?: boolean;
|
|
2438
|
-
},
|
|
2439
|
-
): Entity => {
|
|
2440
|
-
const entity = this.elementProtocolToEntity(
|
|
2441
|
-
this.elementToProtocol<V1_PackageableElement>(element),
|
|
2442
|
-
);
|
|
2443
|
-
if (options?.pruneSourceInformation) {
|
|
2444
|
-
entity.content = pruneSourceInformation(entity.content);
|
|
2445
|
-
}
|
|
2446
|
-
return entity;
|
|
2447
|
-
};
|
|
2324
|
+
// --------------------------------------------- Database ---------------------------------------------
|
|
2448
2325
|
|
|
2449
2326
|
async buildDatabase(input: DatabaseBuilderInput): Promise<Entity[]> {
|
|
2450
2327
|
const dbBuilderInput = new V1_DatabaseBuilderInput();
|
|
@@ -2589,21 +2466,125 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
2589
2466
|
);
|
|
2590
2467
|
}
|
|
2591
2468
|
|
|
2469
|
+
// --------------------------------------------- Utilities ---------------------------------------------
|
|
2470
|
+
|
|
2471
|
+
elementToEntity = (
|
|
2472
|
+
element: PackageableElement,
|
|
2473
|
+
options?: {
|
|
2474
|
+
pruneSourceInformation?: boolean;
|
|
2475
|
+
},
|
|
2476
|
+
): Entity => {
|
|
2477
|
+
const entity = this.elementProtocolToEntity(
|
|
2478
|
+
this.elementToProtocol<V1_PackageableElement>(element),
|
|
2479
|
+
);
|
|
2480
|
+
if (options?.pruneSourceInformation) {
|
|
2481
|
+
entity.content = pruneSourceInformation(entity.content);
|
|
2482
|
+
}
|
|
2483
|
+
return entity;
|
|
2484
|
+
};
|
|
2485
|
+
|
|
2592
2486
|
// --------------------------------------------- Shared ---------------------------------------------
|
|
2593
2487
|
|
|
2594
|
-
|
|
2488
|
+
/**
|
|
2489
|
+
* This method helps indexing the graph from graph and dependencies' entities
|
|
2490
|
+
* This will produce a _light_ graph with empty unprocesed elements, they are just indexed in the graph
|
|
2491
|
+
* and the Pure model context data which can be used to further build the graph
|
|
2492
|
+
*
|
|
2493
|
+
* There are a few simple analytics we want to do on the graph which does not necessarily
|
|
2494
|
+
* require us to build the full-graph, in fact, doing so would be too costly. In those scenarios,
|
|
2495
|
+
* we need to build the _light_ graph, hence the existence of this utility method
|
|
2496
|
+
*
|
|
2497
|
+
* TODO?: do we need to account for system elements?
|
|
2498
|
+
*/
|
|
2499
|
+
async indexLightGraph(
|
|
2500
|
+
graph: PureModel,
|
|
2595
2501
|
entities: Entity[],
|
|
2596
|
-
|
|
2597
|
-
|
|
2502
|
+
dependencyEntities: Map<string, Entity[]>,
|
|
2503
|
+
entityFilterFn?: ((entity: Entity) => boolean) | undefined,
|
|
2504
|
+
entityProcessorFn?: ((entity: Entity) => Entity) | undefined,
|
|
2505
|
+
): Promise<V1_PureGraphBuilderInput[]> {
|
|
2506
|
+
const report = new GraphBuilderReport();
|
|
2507
|
+
|
|
2508
|
+
// build main graph builder input
|
|
2509
|
+
const data = new V1_PureModelContextData();
|
|
2598
2510
|
await V1_entitiesToPureModelContextData(
|
|
2599
|
-
entities
|
|
2600
|
-
|
|
2511
|
+
entities
|
|
2512
|
+
.filter((entity) => {
|
|
2513
|
+
// never exclude section index as it could be used for path resolution when building the graph later
|
|
2514
|
+
if (entity.classifierPath === CORE_PURE_PATH.SECTION_INDEX) {
|
|
2515
|
+
return true;
|
|
2516
|
+
}
|
|
2517
|
+
if (entityFilterFn) {
|
|
2518
|
+
return entityFilterFn(entity);
|
|
2519
|
+
}
|
|
2520
|
+
return true;
|
|
2521
|
+
})
|
|
2522
|
+
.map((entity) =>
|
|
2523
|
+
entityProcessorFn ? entityProcessorFn(entity) : entity,
|
|
2524
|
+
),
|
|
2525
|
+
data,
|
|
2601
2526
|
this.pluginManager.getPureProtocolProcessorPlugins(),
|
|
2602
2527
|
);
|
|
2603
|
-
|
|
2528
|
+
const mainGraphBuilderInput: V1_PureGraphBuilderInput[] = [
|
|
2529
|
+
{
|
|
2530
|
+
model: graph,
|
|
2531
|
+
data: V1_indexPureModelContextData(
|
|
2532
|
+
report,
|
|
2533
|
+
data,
|
|
2534
|
+
this.graphBuilderExtensions,
|
|
2535
|
+
),
|
|
2536
|
+
},
|
|
2537
|
+
];
|
|
2538
|
+
|
|
2539
|
+
// build dependencies graph builder input
|
|
2540
|
+
graph.dependencyManager.initialize(dependencyEntities);
|
|
2541
|
+
const dependencyGraphDataIndex = new Map<string, V1_PureModelContextData>();
|
|
2542
|
+
await Promise.all(
|
|
2543
|
+
Array.from(dependencyEntities.entries()).map(([dependencyKey, value]) => {
|
|
2544
|
+
const projectModelData = new V1_PureModelContextData();
|
|
2545
|
+
dependencyGraphDataIndex.set(dependencyKey, projectModelData);
|
|
2546
|
+
return V1_entitiesToPureModelContextData(
|
|
2547
|
+
value
|
|
2548
|
+
.filter((entity) => {
|
|
2549
|
+
// never exclude section index as it could be used for path resolution when building the graph later
|
|
2550
|
+
if (entity.classifierPath === CORE_PURE_PATH.SECTION_INDEX) {
|
|
2551
|
+
return true;
|
|
2552
|
+
}
|
|
2553
|
+
if (entityFilterFn) {
|
|
2554
|
+
return entityFilterFn(entity);
|
|
2555
|
+
}
|
|
2556
|
+
return true;
|
|
2557
|
+
})
|
|
2558
|
+
.map((entity) =>
|
|
2559
|
+
entityProcessorFn ? entityProcessorFn(entity) : entity,
|
|
2560
|
+
),
|
|
2561
|
+
projectModelData,
|
|
2562
|
+
this.pluginManager.getPureProtocolProcessorPlugins(),
|
|
2563
|
+
);
|
|
2564
|
+
}),
|
|
2565
|
+
);
|
|
2566
|
+
const dependencyGraphBuilderInput: V1_PureGraphBuilderInput[] = Array.from(
|
|
2567
|
+
dependencyGraphDataIndex.entries(),
|
|
2568
|
+
).map(([dependencyKey, dependencyData]) => ({
|
|
2569
|
+
data: V1_indexPureModelContextData(
|
|
2570
|
+
report,
|
|
2571
|
+
dependencyData,
|
|
2572
|
+
this.graphBuilderExtensions,
|
|
2573
|
+
),
|
|
2574
|
+
model: graph.dependencyManager.getModel(dependencyKey),
|
|
2575
|
+
}));
|
|
2576
|
+
|
|
2577
|
+
// index simplified graph
|
|
2578
|
+
const graphBuilderInput = [
|
|
2579
|
+
...dependencyGraphBuilderInput,
|
|
2580
|
+
...mainGraphBuilderInput,
|
|
2581
|
+
];
|
|
2582
|
+
await this.initializeAndIndexElements(graph, graphBuilderInput);
|
|
2583
|
+
|
|
2584
|
+
return graphBuilderInput;
|
|
2604
2585
|
}
|
|
2605
2586
|
|
|
2606
|
-
|
|
2587
|
+
getFullGraphModelData(
|
|
2607
2588
|
graph: PureModel,
|
|
2608
2589
|
options?: { keepSourceInformation?: boolean | undefined } | undefined,
|
|
2609
2590
|
): V1_PureModelContextData {
|
|
@@ -2618,6 +2599,29 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
2618
2599
|
return contextData1;
|
|
2619
2600
|
}
|
|
2620
2601
|
|
|
2602
|
+
elementProtocolToEntity = (
|
|
2603
|
+
elementProtocol: V1_PackageableElement,
|
|
2604
|
+
): Entity => ({
|
|
2605
|
+
path: this.getElementPath(elementProtocol),
|
|
2606
|
+
content: V1_serializePackageableElement(
|
|
2607
|
+
elementProtocol,
|
|
2608
|
+
this.pluginManager.getPureProtocolProcessorPlugins(),
|
|
2609
|
+
),
|
|
2610
|
+
classifierPath: this.getElementClassiferPath(elementProtocol),
|
|
2611
|
+
});
|
|
2612
|
+
|
|
2613
|
+
private async entitiesToPureModelContextData(
|
|
2614
|
+
entities: Entity[],
|
|
2615
|
+
): Promise<V1_PureModelContextData> {
|
|
2616
|
+
const graphData = new V1_PureModelContextData();
|
|
2617
|
+
await V1_entitiesToPureModelContextData(
|
|
2618
|
+
entities,
|
|
2619
|
+
graphData,
|
|
2620
|
+
this.pluginManager.getPureProtocolProcessorPlugins(),
|
|
2621
|
+
);
|
|
2622
|
+
return graphData;
|
|
2623
|
+
}
|
|
2624
|
+
|
|
2621
2625
|
private elementToProtocol = <T extends V1_PackageableElement>(
|
|
2622
2626
|
element: PackageableElement,
|
|
2623
2627
|
options?: { keepSourceInformation?: boolean | undefined } | undefined,
|
|
@@ -2639,17 +2643,6 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
2639
2643
|
this.elementProtocolToEntity(element),
|
|
2640
2644
|
);
|
|
2641
2645
|
|
|
2642
|
-
private elementProtocolToEntity = (
|
|
2643
|
-
elementProtocol: V1_PackageableElement,
|
|
2644
|
-
): Entity => ({
|
|
2645
|
-
path: this.getElementPath(elementProtocol),
|
|
2646
|
-
content: V1_serializePackageableElement(
|
|
2647
|
-
elementProtocol,
|
|
2648
|
-
this.pluginManager.getPureProtocolProcessorPlugins(),
|
|
2649
|
-
),
|
|
2650
|
-
classifierPath: this.getElementClassiferPath(elementProtocol),
|
|
2651
|
-
});
|
|
2652
|
-
|
|
2653
2646
|
private getElementPath = (elementProtocol: V1_PackageableElement): string => {
|
|
2654
2647
|
let name = elementProtocol.name;
|
|
2655
2648
|
// These functions calculation the function suffix and are used to identify if an
|
|
@@ -2658,7 +2651,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
2658
2651
|
// TODO: to be revised when we support function overloading
|
|
2659
2652
|
if (elementProtocol instanceof V1_ConcreteFunctionDefinition) {
|
|
2660
2653
|
const suffixIndex = elementProtocol.name.indexOf(
|
|
2661
|
-
|
|
2654
|
+
V1_getFunctionSuffix(elementProtocol),
|
|
2662
2655
|
);
|
|
2663
2656
|
if (suffixIndex > 0) {
|
|
2664
2657
|
name = elementProtocol.name.substring(0, suffixIndex - 1);
|