@finos/legend-graph 29.0.4 → 30.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/graph/BasicModel.d.ts.map +1 -1
- package/lib/graph/BasicModel.js +21 -0
- package/lib/graph/BasicModel.js.map +1 -1
- package/lib/graph/Core_HashUtils.d.ts +3 -0
- package/lib/graph/Core_HashUtils.d.ts.map +1 -1
- package/lib/graph/Core_HashUtils.js +3 -0
- package/lib/graph/Core_HashUtils.js.map +1 -1
- package/lib/graph/__test-utils__/GraphTestUtils.d.ts.map +1 -1
- package/lib/graph/__test-utils__/GraphTestUtils.js +5 -0
- package/lib/graph/__test-utils__/GraphTestUtils.js.map +1 -1
- package/lib/graph/helpers/STO_Relational_Helper.d.ts +3 -1
- package/lib/graph/helpers/STO_Relational_Helper.d.ts.map +1 -1
- package/lib/graph/helpers/STO_Relational_Helper.js +3 -1
- package/lib/graph/helpers/STO_Relational_Helper.js.map +1 -1
- package/lib/graph/metamodel/pure/executionPlan/ExecutionPlan.d.ts +6 -0
- package/lib/graph/metamodel/pure/executionPlan/ExecutionPlan.d.ts.map +1 -1
- package/lib/graph/metamodel/pure/executionPlan/ExecutionPlan.js +6 -0
- package/lib/graph/metamodel/pure/executionPlan/ExecutionPlan.js.map +1 -1
- package/lib/graph/metamodel/pure/executionPlan/nodes/ExecutionNode.d.ts +6 -0
- package/lib/graph/metamodel/pure/executionPlan/nodes/ExecutionNode.d.ts.map +1 -1
- package/lib/graph/metamodel/pure/executionPlan/nodes/ExecutionNode.js +6 -0
- package/lib/graph/metamodel/pure/executionPlan/nodes/ExecutionNode.js.map +1 -1
- package/lib/graph/metamodel/pure/packageableElements/PackageableElement.d.ts +2 -0
- package/lib/graph/metamodel/pure/packageableElements/PackageableElement.d.ts.map +1 -1
- package/lib/graph/metamodel/pure/packageableElements/PackageableElement.js.map +1 -1
- package/lib/graph/metamodel/pure/packageableElements/mapping/INTERNAL__UnresolvedSetImplementation.d.ts +43 -0
- package/lib/graph/metamodel/pure/packageableElements/mapping/INTERNAL__UnresolvedSetImplementation.d.ts.map +1 -0
- package/lib/graph/metamodel/pure/packageableElements/mapping/{TEMPORARY__UnresolvedSetImplementation.js → INTERNAL__UnresolvedSetImplementation.js} +17 -7
- package/lib/graph/metamodel/pure/packageableElements/mapping/INTERNAL__UnresolvedSetImplementation.js.map +1 -0
- package/lib/graph/metamodel/pure/packageableElements/mapping/SetImplementation.d.ts +2 -2
- package/lib/graph/metamodel/pure/packageableElements/mapping/SetImplementation.d.ts.map +1 -1
- package/lib/graph/metamodel/pure/packageableElements/service/ServiceTestSuite.d.ts +1 -1
- package/lib/graph/metamodel/pure/packageableElements/service/ServiceTestSuite.d.ts.map +1 -1
- package/lib/graph/metamodel/pure/packageableElements/service/ServiceTestSuite.js +1 -1
- package/lib/graph/metamodel/pure/packageableElements/service/ServiceTestSuite.js.map +1 -1
- package/lib/graph/metamodel/pure/packageableElements/store/{INTERNAL__PseudoStore.d.ts → INTERNAL__UnknownStore.d.ts} +5 -5
- package/lib/graph/metamodel/pure/packageableElements/store/INTERNAL__UnknownStore.d.ts.map +1 -0
- package/lib/graph/metamodel/pure/packageableElements/store/{INTERNAL__PseudoStore.js → INTERNAL__UnknownStore.js} +12 -9
- package/lib/graph/metamodel/pure/packageableElements/store/INTERNAL__UnknownStore.js.map +1 -0
- package/lib/graph/metamodel/pure/valueSpecification/GraphFetchTree.d.ts +6 -0
- package/lib/graph/metamodel/pure/valueSpecification/GraphFetchTree.d.ts.map +1 -1
- package/lib/graph/metamodel/pure/valueSpecification/GraphFetchTree.js +16 -0
- package/lib/graph/metamodel/pure/valueSpecification/GraphFetchTree.js.map +1 -1
- package/lib/graph-manager/AbstractPureGraphManager.d.ts +13 -9
- package/lib/graph-manager/AbstractPureGraphManager.d.ts.map +1 -1
- package/lib/graph-manager/AbstractPureGraphManager.js.map +1 -1
- package/lib/graph-manager/__test-utils__/GraphManagerTestUtils.d.ts.map +1 -1
- package/lib/graph-manager/__test-utils__/GraphManagerTestUtils.js +10 -0
- package/lib/graph-manager/__test-utils__/GraphManagerTestUtils.js.map +1 -1
- package/lib/graph-manager/action/changeDetection/DSL_Mapping_ObserverHelper.d.ts +2 -0
- package/lib/graph-manager/action/changeDetection/DSL_Mapping_ObserverHelper.d.ts.map +1 -1
- package/lib/graph-manager/action/changeDetection/DSL_Mapping_ObserverHelper.js +9 -1
- package/lib/graph-manager/action/changeDetection/DSL_Mapping_ObserverHelper.js.map +1 -1
- package/lib/graph-manager/action/changeDetection/DSL_Service_ObserverHelper.d.ts.map +1 -1
- package/lib/graph-manager/action/changeDetection/DSL_Service_ObserverHelper.js +3 -1
- package/lib/graph-manager/action/changeDetection/DSL_Service_ObserverHelper.js.map +1 -1
- package/lib/graph-manager/action/changeDetection/PackageableElementObserver.d.ts.map +1 -1
- package/lib/graph-manager/action/changeDetection/PackageableElementObserver.js +4 -1
- package/lib/graph-manager/action/changeDetection/PackageableElementObserver.js.map +1 -1
- package/lib/graph-manager/action/generation/DatabaseBuilderInput.d.ts +1 -1
- package/lib/graph-manager/action/generation/DatabaseBuilderInput.d.ts.map +1 -1
- package/lib/graph-manager/action/generation/DatabaseBuilderInput.js +3 -2
- package/lib/graph-manager/action/generation/DatabaseBuilderInput.js.map +1 -1
- package/lib/graph-manager/action/protocol/{ClassifierPathMapping.d.ts → ProtocolInfo.d.ts} +5 -1
- package/lib/graph-manager/action/protocol/ProtocolInfo.d.ts.map +1 -0
- package/lib/graph-manager/action/protocol/{ClassifierPathMapping.js → ProtocolInfo.js} +1 -1
- package/lib/graph-manager/action/protocol/ProtocolInfo.js.map +1 -0
- package/lib/graph-manager/protocol/pure/PureProtocolProcessorPlugin.d.ts +0 -10
- package/lib/graph-manager/protocol/pure/PureProtocolProcessorPlugin.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/PureProtocolProcessorPlugin.js.map +1 -1
- package/lib/graph-manager/protocol/pure/extensions/DSL_ExternalFormat_PureProtocolProcessorPlugin.d.ts +1 -2
- package/lib/graph-manager/protocol/pure/extensions/DSL_ExternalFormat_PureProtocolProcessorPlugin.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/extensions/DSL_ExternalFormat_PureProtocolProcessorPlugin.js +0 -5
- package/lib/graph-manager/protocol/pure/extensions/DSL_ExternalFormat_PureProtocolProcessorPlugin.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_PureGraphManager.d.ts +7 -4
- package/lib/graph-manager/protocol/pure/v1/V1_PureGraphManager.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_PureGraphManager.js +76 -89
- package/lib/graph-manager/protocol/pure/v1/V1_PureGraphManager.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/engine/V1_Engine.d.ts +6 -3
- package/lib/graph-manager/protocol/pure/v1/engine/V1_Engine.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/engine/V1_Engine.js +25 -3
- package/lib/graph-manager/protocol/pure/v1/engine/V1_Engine.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/engine/V1_EngineServerClient.d.ts +6 -2
- package/lib/graph-manager/protocol/pure/v1/engine/V1_EngineServerClient.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/engine/V1_EngineServerClient.js +5 -1
- package/lib/graph-manager/protocol/pure/v1/engine/V1_EngineServerClient.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/engine/execution/V1_RawSQLExecuteInput.d.ts +24 -0
- package/lib/graph-manager/protocol/pure/v1/engine/execution/V1_RawSQLExecuteInput.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/engine/execution/V1_RawSQLExecuteInput.js +28 -0
- package/lib/graph-manager/protocol/pure/v1/engine/execution/V1_RawSQLExecuteInput.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/engine/generation/V1_DatabaseBuilderInput.d.ts +2 -2
- package/lib/graph-manager/protocol/pure/v1/engine/generation/V1_DatabaseBuilderInput.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/engine/generation/V1_DatabaseBuilderInput.js +8 -9
- package/lib/graph-manager/protocol/pure/v1/engine/generation/V1_DatabaseBuilderInput.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/model/context/V1_PureModelContextData.d.ts +2 -2
- package/lib/graph-manager/protocol/pure/v1/model/context/V1_PureModelContextData.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/model/context/V1_PureModelContextData.js +2 -2
- package/lib/graph-manager/protocol/pure/v1/model/context/V1_PureModelContextData.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/model/executionPlan/V1_SimpleExecutionPlan.d.ts +6 -0
- package/lib/graph-manager/protocol/pure/v1/model/executionPlan/V1_SimpleExecutionPlan.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/model/executionPlan/V1_SimpleExecutionPlan.js +6 -0
- package/lib/graph-manager/protocol/pure/v1/model/executionPlan/V1_SimpleExecutionPlan.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_ExecutionNode.d.ts +6 -0
- package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_ExecutionNode.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_ExecutionNode.js +6 -0
- package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_ExecutionNode.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/model/packageableElements/V1_PackageableElement.d.ts +2 -0
- package/lib/graph-manager/protocol/pure/v1/model/packageableElements/V1_PackageableElement.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/model/packageableElements/V1_PackageableElement.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/model/packageableElements/service/V1_ServiceTestSuite.d.ts +1 -1
- package/lib/graph-manager/protocol/pure/v1/model/packageableElements/service/V1_ServiceTestSuite.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/model/packageableElements/service/V1_ServiceTestSuite.js +1 -1
- package/lib/graph-manager/protocol/pure/v1/model/packageableElements/service/V1_ServiceTestSuite.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/model/packageableElements/store/V1_INTERNAL__UnknownStore.d.ts +24 -0
- package/lib/graph-manager/protocol/pure/v1/model/packageableElements/store/V1_INTERNAL__UnknownStore.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/model/packageableElements/store/V1_INTERNAL__UnknownStore.js +32 -0
- package/lib/graph-manager/protocol/pure/v1/model/packageableElements/store/V1_INTERNAL__UnknownStore.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/model/valueSpecification/raw/classInstance/graph/V1_GraphFetchTree.d.ts +3 -0
- package/lib/graph-manager/protocol/pure/v1/model/valueSpecification/raw/classInstance/graph/V1_GraphFetchTree.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/model/valueSpecification/raw/classInstance/graph/V1_GraphFetchTree.js +1 -0
- package/lib/graph-manager/protocol/pure/v1/model/valueSpecification/raw/classInstance/graph/V1_GraphFetchTree.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/model/valueSpecification/raw/classInstance/graph/V1_SubTypeGraphFetchTree.d.ts +21 -0
- package/lib/graph-manager/protocol/pure/v1/model/valueSpecification/raw/classInstance/graph/V1_SubTypeGraphFetchTree.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/model/valueSpecification/raw/classInstance/graph/V1_SubTypeGraphFetchTree.js +23 -0
- package/lib/graph-manager/protocol/pure/v1/model/valueSpecification/raw/classInstance/graph/V1_SubTypeGraphFetchTree.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_ConnectionTransformer.js +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_ConnectionTransformer.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.d.ts +2 -2
- package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.js +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_PackageableElementTransformer.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_PackageableElementTransformer.js +7 -0
- package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_PackageableElementTransformer.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_ServiceTransformer.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_ServiceTransformer.js +3 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_ServiceTransformer.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_ValueSpecificationTransformer.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_ValueSpecificationTransformer.js +9 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_ValueSpecificationTransformer.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/executionPlan/V1_ExecutionPlanTransformer.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/executionPlan/V1_ExecutionPlanTransformer.js +2 -0
- package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/executionPlan/V1_ExecutionPlanTransformer.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFifthPassBuilder.d.ts +2 -0
- package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFifthPassBuilder.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFifthPassBuilder.js +3 -0
- package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFifthPassBuilder.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFirstPassBuilder.d.ts +2 -0
- package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFirstPassBuilder.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFirstPassBuilder.js +12 -0
- package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFirstPassBuilder.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFourthPassBuilder.d.ts +2 -0
- package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFourthPassBuilder.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFourthPassBuilder.js +3 -0
- package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFourthPassBuilder.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementSecondPassBuilder.d.ts +2 -0
- package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementSecondPassBuilder.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementSecondPassBuilder.js +3 -15
- package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementSecondPassBuilder.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementThirdPassBuilder.d.ts +2 -0
- package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementThirdPassBuilder.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementThirdPassBuilder.js +3 -0
- package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementThirdPassBuilder.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ExecutionPlanBuilder.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ExecutionPlanBuilder.js +3 -0
- package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ExecutionPlanBuilder.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_PropertyMappingBuilder.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_PropertyMappingBuilder.js +46 -23
- package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_PropertyMappingBuilder.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_ConnectionBuilderHelper.d.ts +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_ConnectionBuilderHelper.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_ConnectionBuilderHelper.js +12 -3
- package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_ConnectionBuilderHelper.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_MappingBuilderHelper.d.ts +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_MappingBuilderHelper.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_MappingBuilderHelper.js +11 -10
- package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_MappingBuilderHelper.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_ServiceBuilderHelper.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_ServiceBuilderHelper.js +3 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_ServiceBuilderHelper.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.js +16 -3
- package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_PackageableElementSerialization.d.ts +2 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_PackageableElementSerialization.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_PackageableElementSerialization.js +21 -3
- package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_PackageableElementSerialization.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_PureProtocolSerialization.d.ts +3 -2
- package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_PureProtocolSerialization.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_PureProtocolSerialization.js +5 -5
- package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_PureProtocolSerialization.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ConnectionSerializationHelper.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ConnectionSerializationHelper.js +4 -2
- package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ConnectionSerializationHelper.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_MappingSerializationHelper.js +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_MappingSerializationHelper.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ServiceSerializationHelper.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ServiceSerializationHelper.js +2 -2
- package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ServiceSerializationHelper.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ValueSpecificationSerializer.d.ts +1 -0
- package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ValueSpecificationSerializer.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ValueSpecificationSerializer.js +13 -0
- package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ValueSpecificationSerializer.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/executionPlan/V1_ExecutionPlanSerializationHelper.d.ts +3 -3
- package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/executionPlan/V1_ExecutionPlanSerializationHelper.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/executionPlan/V1_ExecutionPlanSerializationHelper.js +5 -4
- package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/executionPlan/V1_ExecutionPlanSerializationHelper.js.map +1 -1
- package/lib/index.d.ts +4 -4
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +4 -4
- package/lib/index.js.map +1 -1
- package/lib/package.json +2 -2
- package/package.json +5 -5
- package/src/graph/BasicModel.ts +19 -0
- package/src/graph/Core_HashUtils.ts +3 -0
- package/src/graph/__test-utils__/GraphTestUtils.ts +5 -0
- package/src/graph/helpers/STO_Relational_Helper.ts +13 -0
- package/src/graph/metamodel/pure/executionPlan/ExecutionPlan.ts +6 -5
- package/src/graph/metamodel/pure/executionPlan/nodes/ExecutionNode.ts +6 -1
- package/src/graph/metamodel/pure/packageableElements/PackageableElement.ts +2 -0
- package/src/graph/metamodel/pure/packageableElements/mapping/{TEMPORARY__UnresolvedSetImplementation.ts → INTERNAL__UnresolvedSetImplementation.ts} +16 -6
- package/src/graph/metamodel/pure/packageableElements/mapping/SetImplementation.ts +4 -4
- package/src/graph/metamodel/pure/packageableElements/service/ServiceTestSuite.ts +2 -2
- package/src/graph/metamodel/pure/packageableElements/store/{INTERNAL__PseudoStore.ts → INTERNAL__UnknownStore.ts} +18 -7
- package/src/graph/metamodel/pure/valueSpecification/GraphFetchTree.ts +19 -1
- package/src/graph-manager/AbstractPureGraphManager.ts +24 -12
- package/src/graph-manager/__test-utils__/GraphManagerTestUtils.ts +10 -0
- package/src/graph-manager/action/changeDetection/DSL_Mapping_ObserverHelper.ts +17 -3
- package/src/graph-manager/action/changeDetection/DSL_Service_ObserverHelper.ts +3 -1
- package/src/graph-manager/action/changeDetection/PackageableElementObserver.ts +6 -0
- package/src/graph-manager/action/generation/DatabaseBuilderInput.ts +8 -3
- package/src/graph-manager/action/protocol/{ClassifierPathMapping.ts → ProtocolInfo.ts} +5 -0
- package/src/graph-manager/protocol/pure/PureProtocolProcessorPlugin.ts +0 -23
- package/src/graph-manager/protocol/pure/extensions/DSL_ExternalFormat_PureProtocolProcessorPlugin.ts +0 -15
- package/src/graph-manager/protocol/pure/v1/V1_PureGraphManager.ts +123 -124
- package/src/graph-manager/protocol/pure/v1/engine/V1_Engine.ts +41 -3
- package/src/graph-manager/protocol/pure/v1/engine/V1_EngineServerClient.ts +26 -3
- package/src/graph-manager/protocol/pure/v1/engine/execution/V1_RawSQLExecuteInput.ts +52 -0
- package/src/graph-manager/protocol/pure/v1/engine/generation/V1_DatabaseBuilderInput.ts +15 -4
- package/src/graph-manager/protocol/pure/v1/model/context/V1_PureModelContextData.ts +2 -2
- package/src/graph-manager/protocol/pure/v1/model/executionPlan/V1_SimpleExecutionPlan.ts +6 -1
- package/src/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_ExecutionNode.ts +6 -1
- package/src/graph-manager/protocol/pure/v1/model/packageableElements/V1_PackageableElement.ts +2 -0
- package/src/graph-manager/protocol/pure/v1/model/packageableElements/service/V1_ServiceTestSuite.ts +2 -2
- package/src/graph-manager/protocol/pure/v1/model/packageableElements/store/V1_INTERNAL__UnknownStore.ts +45 -0
- package/src/graph-manager/protocol/pure/v1/model/valueSpecification/raw/classInstance/graph/V1_GraphFetchTree.ts +3 -0
- package/src/graph-manager/protocol/pure/v1/model/valueSpecification/raw/classInstance/graph/V1_SubTypeGraphFetchTree.ts +28 -0
- package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_ConnectionTransformer.ts +1 -1
- package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.ts +3 -3
- package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_PackageableElementTransformer.ts +11 -0
- package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_ServiceTransformer.ts +3 -1
- package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_ValueSpecificationTransformer.ts +27 -0
- package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/from/executionPlan/V1_ExecutionPlanTransformer.ts +2 -0
- package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFifthPassBuilder.ts +5 -0
- package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFirstPassBuilder.ts +29 -0
- package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFourthPassBuilder.ts +5 -0
- package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementSecondPassBuilder.ts +5 -15
- package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementThirdPassBuilder.ts +5 -0
- package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ExecutionPlanBuilder.ts +3 -0
- package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_PropertyMappingBuilder.ts +84 -40
- package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_ConnectionBuilderHelper.ts +16 -6
- package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_MappingBuilderHelper.ts +12 -13
- package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_ServiceBuilderHelper.ts +3 -1
- package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.ts +44 -2
- package/src/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_PackageableElementSerialization.ts +29 -0
- package/src/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_PureProtocolSerialization.ts +6 -2
- package/src/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ConnectionSerializationHelper.ts +11 -2
- package/src/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_MappingSerializationHelper.ts +1 -1
- package/src/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ServiceSerializationHelper.ts +2 -1
- package/src/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ValueSpecificationSerializer.ts +28 -1
- package/src/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/executionPlan/V1_ExecutionPlanSerializationHelper.ts +10 -7
- package/src/index.ts +2 -4
- package/tsconfig.json +6 -3
- package/lib/graph/metamodel/pure/packageableElements/mapping/TEMPORARY__UnresolvedSetImplementation.d.ts +0 -33
- package/lib/graph/metamodel/pure/packageableElements/mapping/TEMPORARY__UnresolvedSetImplementation.d.ts.map +0 -1
- package/lib/graph/metamodel/pure/packageableElements/mapping/TEMPORARY__UnresolvedSetImplementation.js.map +0 -1
- package/lib/graph/metamodel/pure/packageableElements/store/INTERNAL__PseudoStore.d.ts.map +0 -1
- package/lib/graph/metamodel/pure/packageableElements/store/INTERNAL__PseudoStore.js.map +0 -1
- package/lib/graph-manager/action/protocol/ClassifierPathMapping.d.ts.map +0 -1
- package/lib/graph-manager/action/protocol/ClassifierPathMapping.js.map +0 -1
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import { GRAPH_MANAGER_EVENT } from '../../../../__lib__/GraphManagerEvent.js';
|
|
17
17
|
import { CORE_PURE_PATH, PackageableElementPointerType, } from '../../../../graph/MetaModelConst.js';
|
|
18
|
-
import { ActionState, TracerService, LogEvent, getClass, guaranteeNonNullable, UnsupportedOperationError, assertErrorThrown, promisify, StopWatch, isNonNullable, addUniqueEntry, uuid, deleteEntry,
|
|
18
|
+
import { ActionState, TracerService, LogEvent, getClass, guaranteeNonNullable, UnsupportedOperationError, assertErrorThrown, promisify, StopWatch, isNonNullable, addUniqueEntry, uuid, deleteEntry, IllegalStateError, filterByType, isString, } from '@finos/legend-shared';
|
|
19
19
|
import { AbstractPureGraphManager, } from '../../../../graph-manager/AbstractPureGraphManager.js';
|
|
20
20
|
import { PureModel, } from '../../../../graph/PureModel.js';
|
|
21
21
|
import { RawLambda } from '../../../../graph/metamodel/pure/rawValueSpecification/RawLambda.js';
|
|
@@ -63,7 +63,7 @@ import { V1_PureModelContextComposite } from './model/context/V1_PureModelContex
|
|
|
63
63
|
import { V1_LegendSDLC } from './model/context/V1_SDLC.js';
|
|
64
64
|
import { V1_Protocol } from './model/V1_Protocol.js';
|
|
65
65
|
import { V1_GraphBuilderExtensions } from './transformation/pureGraph/to/V1_GraphBuilderExtensions.js';
|
|
66
|
-
import { V1_DatabaseBuilderConfig, V1_DatabaseBuilderInput, V1_DatabasePattern,
|
|
66
|
+
import { V1_DatabaseBuilderConfig, V1_DatabaseBuilderInput, V1_DatabasePattern, V1_TargetDatabase, } from './engine/generation/V1_DatabaseBuilderInput.js';
|
|
67
67
|
import { V1_transformRelationalDatabaseConnection } from './transformation/pureGraph/from/V1_ConnectionTransformer.js';
|
|
68
68
|
import { V1_FlatData } from './model/packageableElements/store/flatData/model/V1_FlatData.js';
|
|
69
69
|
import { V1_Database } from './model/packageableElements/store/relational/model/V1_Database.js';
|
|
@@ -103,12 +103,13 @@ import { V1_EntitlementReportAnalyticsInput, V1_StoreEntitlementAnalysisInput, V
|
|
|
103
103
|
import { LegendSDLC, GraphEntities, } from '../../../../graph/GraphDataOrigin.js';
|
|
104
104
|
import { InMemoryGraphData, GraphDataWithOrigin, } from '../../../GraphData.js';
|
|
105
105
|
import { DEPRECATED__validate_MappingTest } from '../../../action/validation/DSL_Mapping_ValidationHelper.js';
|
|
106
|
-
import { V1_SERVICE_ELEMENT_PROTOCOL_TYPE } from './transformation/pureProtocol/serializationHelpers/V1_ServiceSerializationHelper.js';
|
|
107
106
|
import { V1_INTERNAL__UnknownPackageableElement } from './model/packageableElements/V1_INTERNAL__UnknownPackageableElement.js';
|
|
108
107
|
import { FunctionActivatorConfiguration } from '../../../action/functionActivator/FunctionActivatorConfiguration.js';
|
|
109
108
|
import { V1_FunctionActivatorInput } from './engine/functionActivator/V1_FunctionActivatorInput.js';
|
|
110
109
|
import { V1_FunctionActivator } from './model/packageableElements/function/V1_FunctionActivator.js';
|
|
111
110
|
import { V1_INTERNAL__UnknownFunctionActivator } from './model/packageableElements/function/V1_INTERNAL__UnknownFunctionActivator.js';
|
|
111
|
+
import { V1_RawSQLExecuteInput } from './engine/execution/V1_RawSQLExecuteInput.js';
|
|
112
|
+
import { V1_INTERNAL__UnknownStore } from './model/packageableElements/store/V1_INTERNAL__UnknownStore.js';
|
|
112
113
|
class V1_PureModelContextDataIndex {
|
|
113
114
|
elements = [];
|
|
114
115
|
nativeElements = [];
|
|
@@ -136,8 +137,10 @@ const mergePureModelContextData = (...data) => {
|
|
|
136
137
|
const mergedData = new V1_PureModelContextData();
|
|
137
138
|
for (const _data of data) {
|
|
138
139
|
mergedData.elements = mergedData.elements.concat(_data.elements);
|
|
139
|
-
mergedData.INTERNAL__rawDependencyEntities
|
|
140
|
-
|
|
140
|
+
const rawDependencyEntities = (mergedData.INTERNAL__rawDependencyEntities ?? []).concat(_data.INTERNAL__rawDependencyEntities ?? []);
|
|
141
|
+
mergedData.INTERNAL__rawDependencyEntities = rawDependencyEntities.length
|
|
142
|
+
? rawDependencyEntities
|
|
143
|
+
: undefined;
|
|
141
144
|
mergedData.serializer = _data.serializer ?? mergedData.serializer;
|
|
142
145
|
mergedData.origin = _data.origin ?? mergedData.origin;
|
|
143
146
|
}
|
|
@@ -267,6 +270,10 @@ export const V1_indexPureModelContextData = (report, data, extensions) => {
|
|
|
267
270
|
};
|
|
268
271
|
class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
269
272
|
elementClassifierPathMap = new Map();
|
|
273
|
+
subtypeInfo = {
|
|
274
|
+
storeSubtypes: [],
|
|
275
|
+
functionActivatorSubtypes: [],
|
|
276
|
+
};
|
|
270
277
|
// Pure Client Version represent the version of the pure protocol.
|
|
271
278
|
// Most Engine APIs will interrupt an undefined pure client version to mean
|
|
272
279
|
// use the latest production version of the protocol i.e V20_0_0, while version
|
|
@@ -281,12 +288,6 @@ class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
281
288
|
this.engine = new V1_Engine({}, logService);
|
|
282
289
|
// setup plugins
|
|
283
290
|
this.graphBuilderExtensions = new V1_GraphBuilderExtensions(this.pluginManager.getPureProtocolProcessorPlugins());
|
|
284
|
-
// setup serialization plugins
|
|
285
|
-
V1_setupPureModelContextDataSerialization(this.pluginManager.getPureProtocolProcessorPlugins());
|
|
286
|
-
V1_setupDatabaseSerialization(this.pluginManager.getPureProtocolProcessorPlugins());
|
|
287
|
-
V1_setupEngineRuntimeSerialization(this.pluginManager.getPureProtocolProcessorPlugins());
|
|
288
|
-
V1_setupLegacyRuntimeSerialization(this.pluginManager.getPureProtocolProcessorPlugins());
|
|
289
|
-
V1_setupDatabaseBuilderInputSerialization(this.pluginManager.getPureProtocolProcessorPlugins());
|
|
290
291
|
}
|
|
291
292
|
TEMPORARY__getEngineConfig() {
|
|
292
293
|
return this.engine.config;
|
|
@@ -296,13 +297,31 @@ class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
296
297
|
this.engine
|
|
297
298
|
.getEngineServerClient()
|
|
298
299
|
.setTracerService(options?.tracerService ?? new TracerService());
|
|
299
|
-
await
|
|
300
|
+
await Promise.all([
|
|
301
|
+
this.engine.setup(config),
|
|
302
|
+
this.configureElementClassifierPathMap(config),
|
|
303
|
+
this.configureSubtypeInfoMap(config),
|
|
304
|
+
]);
|
|
305
|
+
// setup serialization plugins
|
|
306
|
+
V1_setupPureModelContextDataSerialization(this.pluginManager.getPureProtocolProcessorPlugins(), this.subtypeInfo);
|
|
307
|
+
V1_setupDatabaseSerialization(this.pluginManager.getPureProtocolProcessorPlugins());
|
|
308
|
+
V1_setupEngineRuntimeSerialization(this.pluginManager.getPureProtocolProcessorPlugins());
|
|
309
|
+
V1_setupLegacyRuntimeSerialization(this.pluginManager.getPureProtocolProcessorPlugins());
|
|
310
|
+
}
|
|
311
|
+
async configureElementClassifierPathMap(config) {
|
|
300
312
|
const classifierPathMapEntries = config.TEMPORARY__classifierPathMapping ??
|
|
301
313
|
(await this.engine.getClassifierPathMapping());
|
|
302
314
|
classifierPathMapEntries.forEach((entry) => {
|
|
303
315
|
this.elementClassifierPathMap.set(entry.type, entry.classifierPath);
|
|
304
316
|
});
|
|
305
317
|
}
|
|
318
|
+
async configureSubtypeInfoMap(config) {
|
|
319
|
+
const subtypeInfo = config.TEMPORARY__subtypeInfo ?? (await this.engine.getSubtypeInfo());
|
|
320
|
+
this.subtypeInfo.storeSubtypes = subtypeInfo.storeSubtypes;
|
|
321
|
+
this.subtypeInfo.functionActivatorSubtypes =
|
|
322
|
+
subtypeInfo.functionActivatorSubtypes;
|
|
323
|
+
}
|
|
324
|
+
// --------------------------------------------- Generic ---------------------------------------------
|
|
306
325
|
getSupportedProtocolVersion() {
|
|
307
326
|
return PureClientVersion.V1_0_0;
|
|
308
327
|
}
|
|
@@ -366,7 +385,7 @@ class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
366
385
|
await Promise.all(Array.from(dependencyEntitiesIndex.entries()).map(([dependencyKey, entitiesWithOrigin]) => {
|
|
367
386
|
const projectModelData = new V1_PureModelContextData();
|
|
368
387
|
dependencyGraphDataIndex.set(dependencyKey, projectModelData);
|
|
369
|
-
return V1_entitiesToPureModelContextData(entitiesWithOrigin.entities, projectModelData, this.pluginManager.getPureProtocolProcessorPlugins());
|
|
388
|
+
return V1_entitiesToPureModelContextData(entitiesWithOrigin.entities, projectModelData, this.pluginManager.getPureProtocolProcessorPlugins(), this.subtypeInfo);
|
|
370
389
|
}));
|
|
371
390
|
stopWatch.record(GRAPH_MANAGER_EVENT.GRAPH_BUILDER_DESERIALIZE_ELEMENTS__SUCCESS);
|
|
372
391
|
// prepare build inputs
|
|
@@ -408,7 +427,7 @@ class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
408
427
|
// deserialize
|
|
409
428
|
buildState.setMessage(`Deserializing elements...`);
|
|
410
429
|
const data = new V1_PureModelContextData();
|
|
411
|
-
await V1_entitiesToPureModelContextData(entities, data, this.pluginManager.getPureProtocolProcessorPlugins());
|
|
430
|
+
await V1_entitiesToPureModelContextData(entities, data, this.pluginManager.getPureProtocolProcessorPlugins(), this.subtypeInfo);
|
|
412
431
|
stopWatch.record(GRAPH_MANAGER_EVENT.GRAPH_BUILDER_DESERIALIZE_ELEMENTS__SUCCESS);
|
|
413
432
|
// prepare build inputs
|
|
414
433
|
const buildInputs = [
|
|
@@ -462,7 +481,7 @@ class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
462
481
|
// deserialize
|
|
463
482
|
buildState.setMessage(`Deserializing elements...`);
|
|
464
483
|
const data = new V1_PureModelContextData();
|
|
465
|
-
await V1_entitiesToPureModelContextData(entities, data, this.pluginManager.getPureProtocolProcessorPlugins());
|
|
484
|
+
await V1_entitiesToPureModelContextData(entities, data, this.pluginManager.getPureProtocolProcessorPlugins(), this.subtypeInfo);
|
|
466
485
|
stopWatch.record(GRAPH_MANAGER_EVENT.GRAPH_BUILDER_DESERIALIZE_ELEMENTS__SUCCESS);
|
|
467
486
|
// prepare build inputs
|
|
468
487
|
const buildInputs = [
|
|
@@ -517,7 +536,7 @@ class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
517
536
|
await Promise.all(Array.from(generatedEntities.entries()).map(([generationParentPath, entities]) => {
|
|
518
537
|
const generatedData = new V1_PureModelContextData();
|
|
519
538
|
generationGraphDataIndex.set(generationParentPath, generatedData);
|
|
520
|
-
return V1_entitiesToPureModelContextData(entities, generatedData, this.pluginManager.getPureProtocolProcessorPlugins());
|
|
539
|
+
return V1_entitiesToPureModelContextData(entities, generatedData, this.pluginManager.getPureProtocolProcessorPlugins(), this.subtypeInfo);
|
|
521
540
|
}));
|
|
522
541
|
stopWatch.record(GRAPH_MANAGER_EVENT.GRAPH_BUILDER_DESERIALIZE_ELEMENTS__SUCCESS);
|
|
523
542
|
// prepare build inputs
|
|
@@ -1018,7 +1037,7 @@ class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1018
1037
|
// --------------------------------------------- Execution ---------------------------------------------
|
|
1019
1038
|
prepareExecutionContextGraphData(graphData) {
|
|
1020
1039
|
if (graphData instanceof InMemoryGraphData) {
|
|
1021
|
-
return this.
|
|
1040
|
+
return this.getFullGraphModelData(graphData.graph);
|
|
1022
1041
|
}
|
|
1023
1042
|
else if (graphData instanceof GraphDataWithOrigin) {
|
|
1024
1043
|
return this.buildPureModelSDLCPointer(graphData.origin, V1_PureGraphManager.PROD_PROTOCOL_VERSION);
|
|
@@ -1027,7 +1046,7 @@ class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1027
1046
|
}
|
|
1028
1047
|
createExecutionInput = (graph, mapping, lambda, runtime, clientVersion, parameterValues) => this.createExecutionInputWithPureModelContext(graph.origin
|
|
1029
1048
|
? this.buildPureModelSDLCPointer(graph.origin, undefined)
|
|
1030
|
-
: this.
|
|
1049
|
+
: this.getFullGraphModelData(graph), mapping, lambda, runtime, clientVersion, new V1_ExecuteInput(), parameterValues);
|
|
1031
1050
|
createExecutionInputWithPureModelContext = (data, mapping, lambda, runtime, clientVersion, executeInput, parameterValues) => {
|
|
1032
1051
|
// NOTE: for execution, we usually will just assume that we send the connections embedded in the runtime value, since we don't want the user to have to create
|
|
1033
1052
|
// packageable runtime and connection just to play with execution.
|
|
@@ -1044,42 +1063,6 @@ class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1044
1063
|
}
|
|
1045
1064
|
return executeInput;
|
|
1046
1065
|
};
|
|
1047
|
-
buildExecutionInputGraphData(graph) {
|
|
1048
|
-
/**
|
|
1049
|
-
* NOTE: to lessen network load, we might need to think of a way to only include relevant part of the pure model context data here
|
|
1050
|
-
*
|
|
1051
|
-
* Graph data models can be classified based on dependency hieararchy:
|
|
1052
|
-
* 1. Building blocks: models that all other models depend on: e.g. domain models, connections, etc.
|
|
1053
|
-
* 2. Consumers: models that depends on other models: e.g. mapping, service, etc.
|
|
1054
|
-
* 3. Unrelated: models that depends on nothing and vice versa: e.g. text
|
|
1055
|
-
*
|
|
1056
|
-
* It would be great if we can provide a way to walk the mapping to select only relevant part, but the problem is we cannot really walk the lambda
|
|
1057
|
-
* object to identify relevant classes yet. so the more economical way to to base on the classification above and the knowledge about hierarchy between
|
|
1058
|
-
* models (e.g. service can use mapping, runtime, connection, store, etc.) we can roughly prune the graph model data by group. Following is an example
|
|
1059
|
-
* for mapping used for execution, but this can generalized if we introduce hierarchy/ranking for model type
|
|
1060
|
-
*/
|
|
1061
|
-
const graphData = this.getFullGraphModelData(graph);
|
|
1062
|
-
const prunedGraphData = this.prunePureModelContextData(graphData, (element) => element instanceof V1_Class ||
|
|
1063
|
-
element instanceof V1_Enumeration ||
|
|
1064
|
-
element instanceof V1_Profile ||
|
|
1065
|
-
element instanceof V1_Association ||
|
|
1066
|
-
element instanceof V1_ConcreteFunctionDefinition ||
|
|
1067
|
-
element instanceof V1_FunctionActivator ||
|
|
1068
|
-
element instanceof V1_Measure ||
|
|
1069
|
-
element instanceof V1_Store ||
|
|
1070
|
-
element instanceof V1_PackageableConnection ||
|
|
1071
|
-
element instanceof V1_PackageableRuntime ||
|
|
1072
|
-
element instanceof V1_Mapping, undefined);
|
|
1073
|
-
const extraExecutionElements = this.pluginManager
|
|
1074
|
-
.getPureProtocolProcessorPlugins()
|
|
1075
|
-
.flatMap((element) => element.V1_getExtraExecutionInputCollectors?.() ?? [])
|
|
1076
|
-
.flatMap((getter) => getter(graph, graphData));
|
|
1077
|
-
prunedGraphData.elements = uniq([
|
|
1078
|
-
...prunedGraphData.elements,
|
|
1079
|
-
...extraExecutionElements,
|
|
1080
|
-
]);
|
|
1081
|
-
return prunedGraphData;
|
|
1082
|
-
}
|
|
1083
1066
|
async runQuery(lambda, mapping, runtime, graph, options, _report) {
|
|
1084
1067
|
const report = _report ?? createGraphManagerOperationReport();
|
|
1085
1068
|
const stopWatch = new StopWatch();
|
|
@@ -1098,7 +1081,7 @@ class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1098
1081
|
const stopWatch = new StopWatch();
|
|
1099
1082
|
const pureModelContext = graph.origin
|
|
1100
1083
|
? this.buildPureModelSDLCPointer(graph.origin, undefined)
|
|
1101
|
-
: this.
|
|
1084
|
+
: this.getFullGraphModelData(graph);
|
|
1102
1085
|
stopWatch.record(GRAPH_MANAGER_EVENT.V1_ENGINE_OPERATION_INPUT__SUCCESS);
|
|
1103
1086
|
await Promise.all(tests.map((t) => this.DEPRECATED__runLegacyMappingTest(t, mapping, pureModelContext, options, report)));
|
|
1104
1087
|
}
|
|
@@ -1157,7 +1140,7 @@ class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1157
1140
|
const testDataGenerationExecuteInput = new V1_TestDataGenerationExecutionInput();
|
|
1158
1141
|
this.createExecutionInputWithPureModelContext(graph.origin
|
|
1159
1142
|
? this.buildPureModelSDLCPointer(graph.origin, undefined)
|
|
1160
|
-
: this.
|
|
1143
|
+
: this.getFullGraphModelData(graph), mapping, lambda, runtime, V1_PureGraphManager.DEV_PROTOCOL_VERSION, testDataGenerationExecuteInput, options?.parameterValues);
|
|
1161
1144
|
testDataGenerationExecuteInput.parameters = parameters;
|
|
1162
1145
|
testDataGenerationExecuteInput.hashStrings = Boolean(options?.anonymizeGeneratedData);
|
|
1163
1146
|
stopWatch.record(GRAPH_MANAGER_EVENT.V1_ENGINE_OPERATION_INPUT__SUCCESS);
|
|
@@ -1225,7 +1208,7 @@ class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1225
1208
|
input.mapping = mapping.path;
|
|
1226
1209
|
input.model = graph.origin
|
|
1227
1210
|
? this.buildPureModelSDLCPointer(graph.origin, undefined)
|
|
1228
|
-
: this.
|
|
1211
|
+
: this.getFullGraphModelData(graph);
|
|
1229
1212
|
return V1_buildModelCoverageAnalysisResult(await this.engine.analyzeMappingModelCoverage(input), mapping);
|
|
1230
1213
|
}
|
|
1231
1214
|
buildMappingModelCoverageAnalysisResult(input, mapping) {
|
|
@@ -1273,7 +1256,13 @@ class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1273
1256
|
return pattern;
|
|
1274
1257
|
});
|
|
1275
1258
|
dbBuilderInput.config = config;
|
|
1276
|
-
return this.pureModelContextDataToEntities(await this.engine.buildDatabase(dbBuilderInput));
|
|
1259
|
+
return this.pureModelContextDataToEntities(await this.engine.buildDatabase(dbBuilderInput, this.pluginManager.getPureProtocolProcessorPlugins()));
|
|
1260
|
+
}
|
|
1261
|
+
async executeRawSQL(connection, sql) {
|
|
1262
|
+
const input = new V1_RawSQLExecuteInput();
|
|
1263
|
+
input.connection = V1_transformRelationalDatabaseConnection(connection, new V1_GraphTransformerContextBuilder(this.pluginManager.getPureProtocolProcessorPlugins()).build());
|
|
1264
|
+
input.sql = sql;
|
|
1265
|
+
return this.engine.executeRawSQL(input, this.pluginManager.getPureProtocolProcessorPlugins());
|
|
1277
1266
|
}
|
|
1278
1267
|
// --------------------------------------------- Function ---------------------------------------------
|
|
1279
1268
|
async getAvailableFunctionActivatorConfigurations(coreModel, systemModel) {
|
|
@@ -1331,8 +1320,7 @@ class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1331
1320
|
const protocol = new V1_Protocol(V1_PureGraphManager.PURE_PROTOCOL_NAME, serverServiceInfo.services.dependencies.pure);
|
|
1332
1321
|
switch (executionMode) {
|
|
1333
1322
|
case ServiceExecutionMode.FULL_INTERACTIVE: {
|
|
1334
|
-
const data = this.
|
|
1335
|
-
data.elements.push(this.elementToProtocol(service));
|
|
1323
|
+
const data = this.TEMPORARY__prepareGraphDataForServiceRegistration(this.getFullGraphModelData(graph), this.elementToProtocol(service));
|
|
1336
1324
|
data.origin = new V1_PureModelContextPointer(protocol);
|
|
1337
1325
|
input = data;
|
|
1338
1326
|
break;
|
|
@@ -1474,25 +1462,27 @@ class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1474
1462
|
const serviceStorage = await this.engine.getServiceVersionInfo(serviceUrl, serviceId);
|
|
1475
1463
|
await this.engine.activateServiceGeneration(serviceUrl, serviceStorage.getGenerationId());
|
|
1476
1464
|
}
|
|
1477
|
-
// NOTE:
|
|
1478
|
-
//
|
|
1479
|
-
// service as a parameter outside the model
|
|
1480
|
-
|
|
1481
|
-
|
|
1482
|
-
|
|
1483
|
-
|
|
1484
|
-
|
|
1485
|
-
|
|
1486
|
-
|
|
1487
|
-
|
|
1465
|
+
// NOTE: This is somewhat hacky: service registration the input expects only the first service in the graph data
|
|
1466
|
+
// to be the service used for registration.
|
|
1467
|
+
// TODO: the service registration API should be modified to accept service as a parameter outside the model
|
|
1468
|
+
TEMPORARY__prepareGraphDataForServiceRegistration = (graphData, service) => {
|
|
1469
|
+
graphData.elements = graphData.elements.filter((element) => element.path !== service.path);
|
|
1470
|
+
// insert the service as the first element so it gets indexed first
|
|
1471
|
+
graphData.elements.unshift(service);
|
|
1472
|
+
if (graphData.INTERNAL__rawDependencyEntities) {
|
|
1473
|
+
graphData.INTERNAL__rawDependencyEntities =
|
|
1474
|
+
graphData.INTERNAL__rawDependencyEntities.filter((entity) => entity.path !== service.path);
|
|
1475
|
+
}
|
|
1476
|
+
return graphData;
|
|
1488
1477
|
};
|
|
1489
1478
|
createBulkServiceRegistrationInput = (graph, services) => {
|
|
1490
1479
|
const graphData = this.getFullGraphModelData(graph);
|
|
1491
1480
|
const results = [];
|
|
1492
1481
|
services.forEach((service) => {
|
|
1493
|
-
|
|
1494
|
-
|
|
1495
|
-
|
|
1482
|
+
results.push({
|
|
1483
|
+
service: service,
|
|
1484
|
+
context: this.TEMPORARY__prepareGraphDataForServiceRegistration(graphData, this.elementToProtocol(service)),
|
|
1485
|
+
});
|
|
1496
1486
|
});
|
|
1497
1487
|
return results;
|
|
1498
1488
|
};
|
|
@@ -1519,7 +1509,7 @@ class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1519
1509
|
* reflect the renaming of function in local changes.
|
|
1520
1510
|
*/
|
|
1521
1511
|
const TEMPORARY__entityPathIndex = new Map();
|
|
1522
|
-
await V1_entitiesToPureModelContextData(entities, pureModelContextData, this.pluginManager.getPureProtocolProcessorPlugins(), TEMPORARY__entityPathIndex);
|
|
1512
|
+
await V1_entitiesToPureModelContextData(entities, pureModelContextData, this.pluginManager.getPureProtocolProcessorPlugins(), this.subtypeInfo, TEMPORARY__entityPathIndex);
|
|
1523
1513
|
await Promise.all(pureModelContextData.elements.map((element) => promisify(() => hashMap.set(TEMPORARY__entityPathIndex.get(element.path)
|
|
1524
1514
|
? guaranteeNonNullable(TEMPORARY__entityPathIndex.get(element.path))
|
|
1525
1515
|
: element.path, element.hashCode))));
|
|
@@ -1533,13 +1523,6 @@ class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1533
1523
|
}
|
|
1534
1524
|
return entity;
|
|
1535
1525
|
};
|
|
1536
|
-
prunePureModelContextData = (data, elementFilter, entityFilter) => {
|
|
1537
|
-
const prunedGraphData = new V1_PureModelContextData();
|
|
1538
|
-
prunedGraphData.elements = data.elements.filter((element) => elementFilter ? elementFilter(element) : true);
|
|
1539
|
-
prunedGraphData.INTERNAL__rawDependencyEntities =
|
|
1540
|
-
data.INTERNAL__rawDependencyEntities.filter((entity) => entityFilter ? entityFilter(entity) : true);
|
|
1541
|
-
return prunedGraphData;
|
|
1542
|
-
};
|
|
1543
1526
|
buildPureModelSDLCPointer(origin, clientVersion) {
|
|
1544
1527
|
if (origin instanceof LegendSDLC) {
|
|
1545
1528
|
return new V1_PureModelContextPointer(clientVersion
|
|
@@ -1574,7 +1557,7 @@ class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1574
1557
|
}
|
|
1575
1558
|
return true;
|
|
1576
1559
|
})
|
|
1577
|
-
.map((entity) => entityProcessorFn ? entityProcessorFn(entity) : entity), data, this.pluginManager.getPureProtocolProcessorPlugins());
|
|
1560
|
+
.map((entity) => entityProcessorFn ? entityProcessorFn(entity) : entity), data, this.pluginManager.getPureProtocolProcessorPlugins(), this.subtypeInfo);
|
|
1578
1561
|
const mainGraphBuilderInput = [
|
|
1579
1562
|
{
|
|
1580
1563
|
model: graph,
|
|
@@ -1598,7 +1581,7 @@ class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1598
1581
|
}
|
|
1599
1582
|
return true;
|
|
1600
1583
|
})
|
|
1601
|
-
.map((entity) => entityProcessorFn ? entityProcessorFn(entity) : entity), projectModelData, this.pluginManager.getPureProtocolProcessorPlugins());
|
|
1584
|
+
.map((entity) => entityProcessorFn ? entityProcessorFn(entity) : entity), projectModelData, this.pluginManager.getPureProtocolProcessorPlugins(), this.subtypeInfo);
|
|
1602
1585
|
}));
|
|
1603
1586
|
const dependencyGraphBuilderInput = Array.from(dependencyGraphDataIndex.entries()).map(([dependencyKey, dependencyData]) => ({
|
|
1604
1587
|
data: V1_indexPureModelContextData(report, dependencyData, this.graphBuilderExtensions),
|
|
@@ -1628,10 +1611,13 @@ class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1628
1611
|
...contextData1.elements,
|
|
1629
1612
|
...contextData2.elements,
|
|
1630
1613
|
];
|
|
1631
|
-
|
|
1632
|
-
...contextData1.INTERNAL__rawDependencyEntities,
|
|
1633
|
-
...contextData2.INTERNAL__rawDependencyEntities,
|
|
1614
|
+
const rawDependencyEntities = [
|
|
1615
|
+
...(contextData1.INTERNAL__rawDependencyEntities ?? []),
|
|
1616
|
+
...(contextData2.INTERNAL__rawDependencyEntities ?? []),
|
|
1634
1617
|
];
|
|
1618
|
+
contextData1.INTERNAL__rawDependencyEntities = rawDependencyEntities.length
|
|
1619
|
+
? rawDependencyEntities
|
|
1620
|
+
: undefined;
|
|
1635
1621
|
return contextData1;
|
|
1636
1622
|
}
|
|
1637
1623
|
elementProtocolToEntity = (elementProtocol) => ({
|
|
@@ -1642,7 +1628,7 @@ class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1642
1628
|
pureModelContextDataToEntities = (graphProtocol) => graphProtocol.elements.map((element) => this.elementProtocolToEntity(element));
|
|
1643
1629
|
async entitiesToPureModelContextData(entities) {
|
|
1644
1630
|
const graphData = new V1_PureModelContextData();
|
|
1645
|
-
await V1_entitiesToPureModelContextData(entities, graphData, this.pluginManager.getPureProtocolProcessorPlugins());
|
|
1631
|
+
await V1_entitiesToPureModelContextData(entities, graphData, this.pluginManager.getPureProtocolProcessorPlugins(), this.subtypeInfo);
|
|
1646
1632
|
return graphData;
|
|
1647
1633
|
}
|
|
1648
1634
|
elementToProtocol = (element, options) => V1_transformPackageableElement(element, this.pluginManager.getPureProtocolProcessorPlugins(), new V1_GraphTransformerContextBuilder(this.pluginManager.getPureProtocolProcessorPlugins())
|
|
@@ -1651,7 +1637,8 @@ class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1651
1637
|
getElementPath = (elementProtocol) => `${elementProtocol.package}${ENTITY_PATH_DELIMITER}${elementProtocol.name}`;
|
|
1652
1638
|
getElementClassiferPath = (protocol) => {
|
|
1653
1639
|
if (protocol instanceof V1_INTERNAL__UnknownPackageableElement ||
|
|
1654
|
-
protocol instanceof V1_INTERNAL__UnknownFunctionActivator
|
|
1640
|
+
protocol instanceof V1_INTERNAL__UnknownFunctionActivator ||
|
|
1641
|
+
protocol instanceof V1_INTERNAL__UnknownStore) {
|
|
1655
1642
|
const _type = protocol.content._type;
|
|
1656
1643
|
const classifierPath = isString(_type)
|
|
1657
1644
|
? this.elementClassifierPathMap.get(_type)
|