@finos/legend-graph 29.0.5 → 30.0.1
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 +11 -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 +12 -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/v1/V1_Core_SystemModels.json +62 -0
- package/lib/graph-manager/protocol/pure/v1/V1_PureGraphManager.d.ts +5 -0
- package/lib/graph-manager/protocol/pure/v1/V1_PureGraphManager.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_PureGraphManager.js +54 -24
- 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 +1 -1
- package/package.json +4 -4
- package/src/graph/BasicModel.ts +10 -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 +23 -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/v1/V1_Core_SystemModels.json +62 -0
- package/src/graph-manager/protocol/pure/v1/V1_PureGraphManager.ts +89 -28
- 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
package/src/graph/BasicModel.ts
CHANGED
|
@@ -70,6 +70,7 @@ import type { GraphDataOrigin } from './GraphDataOrigin.js';
|
|
|
70
70
|
import { INTERNAL__UnknownPackageableElement } from './metamodel/pure/packageableElements/INTERNAL__UnknownPackageableElement.js';
|
|
71
71
|
import { FunctionActivator } from './metamodel/pure/packageableElements/function/FunctionActivator.js';
|
|
72
72
|
import { INTERNAL__UnknownFunctionActivator } from './metamodel/pure/packageableElements/function/INTERNAL__UnknownFunctionActivator.js';
|
|
73
|
+
import { INTERNAL__UnknownStore } from './metamodel/pure/packageableElements/store/INTERNAL__UnknownStore.js';
|
|
73
74
|
|
|
74
75
|
const FORBIDDEN_EXTENSION_ELEMENT_CLASS = new Set([
|
|
75
76
|
PackageableElement,
|
|
@@ -99,6 +100,7 @@ const FORBIDDEN_EXTENSION_ELEMENT_CLASS = new Set([
|
|
|
99
100
|
|
|
100
101
|
SectionIndex,
|
|
101
102
|
INTERNAL__UnknownPackageableElement,
|
|
103
|
+
INTERNAL__UnknownStore,
|
|
102
104
|
]);
|
|
103
105
|
|
|
104
106
|
/**
|
|
@@ -776,6 +778,14 @@ export abstract class BasicModel {
|
|
|
776
778
|
name: element.name,
|
|
777
779
|
package: element.package?.path,
|
|
778
780
|
};
|
|
781
|
+
} else if (element instanceof INTERNAL__UnknownStore) {
|
|
782
|
+
this.storesIndex.delete(oldPath);
|
|
783
|
+
this.storesIndex.set(newPath, element);
|
|
784
|
+
element.content = {
|
|
785
|
+
...element.content,
|
|
786
|
+
name: element.name,
|
|
787
|
+
package: element.package?.path,
|
|
788
|
+
};
|
|
779
789
|
} else if (element instanceof Mapping) {
|
|
780
790
|
this.mappingsIndex.delete(oldPath);
|
|
781
791
|
this.mappingsIndex.set(newPath, element);
|
|
@@ -100,11 +100,14 @@ export enum CORE_HASH_STRUCTURE {
|
|
|
100
100
|
ALLOY_SERIALIZATION_CONFIG = 'ALLOY_SERIALIZATION_CONFIG',
|
|
101
101
|
ROOT_GRAPH_FETCH_TREE = 'ROOT_GRAPH_FETCH_TREE',
|
|
102
102
|
PROPERTY_GRAPH_FETCH_TREE = 'PROPERTY_GRAPH_FETCH_TREE',
|
|
103
|
+
SUBTYPE_GRAPH_FETCH_TREE = 'SUBTYPE_GRAPH_FETCH_TREE',
|
|
104
|
+
SUBTYPE_GRAPH_FETCH_TREE_INSTANCE_VALUE = 'SUBTYPE_GRAPH_FETCH_TREE_INSTANCE_VALUE',
|
|
103
105
|
PROPERTY_GRAPH_FETCH_TREE_INSTANCE_VALUE = 'PROEPRTY_GRAPH_FETCH_TREE_INSTANCE_VALUE',
|
|
104
106
|
ROOT_GRAPH_FETCH_TREE_INSTANCE_VALUE = 'ROOT_GRAPH_FETCH_TREE_INSTANCE_VALUE',
|
|
105
107
|
|
|
106
108
|
// ---------------------------------- DSL Mapping --------------------------------------
|
|
107
109
|
|
|
110
|
+
INTERNAL__UNKNOWN_STORE = 'INTERNAL__UNKNOWN_CONNECTION',
|
|
108
111
|
INTERNAL__UNKNOWN_CONNECTION = 'INTERNAL__UNKNOWN_CONNECTION',
|
|
109
112
|
INTERNAL__UNKNOWN_PROPERTY_MAPPING = 'INTERNAL__UNKNOWN_PROPERTY_MAPPING',
|
|
110
113
|
INTERNAL__UNKNOWN_CLASS_MAPPING = 'INTERNAL__UNKNOWN_CLASS_MAPPING',
|
|
@@ -26,6 +26,11 @@ export const TEST__getTestGraph = async (
|
|
|
26
26
|
entities: Entity[],
|
|
27
27
|
): Promise<PureModel> => {
|
|
28
28
|
const graphManagerState = TEST__getTestGraphManagerState();
|
|
29
|
+
await graphManagerState.graphManager.initialize({
|
|
30
|
+
env: 'test',
|
|
31
|
+
tabSize: 2,
|
|
32
|
+
clientConfig: {},
|
|
33
|
+
});
|
|
29
34
|
await graphManagerState.initializeSystem({});
|
|
30
35
|
await graphManagerState.graphManager.buildGraph(
|
|
31
36
|
graphManagerState.graph,
|
|
@@ -39,6 +39,8 @@ import {
|
|
|
39
39
|
VarBinary,
|
|
40
40
|
Binary,
|
|
41
41
|
Bit,
|
|
42
|
+
BigInt,
|
|
43
|
+
Date,
|
|
42
44
|
Numeric,
|
|
43
45
|
Decimal,
|
|
44
46
|
Double,
|
|
@@ -51,7 +53,10 @@ import {
|
|
|
51
53
|
Other,
|
|
52
54
|
SemiStructured,
|
|
53
55
|
Json,
|
|
56
|
+
RelationalDatabaseConnection,
|
|
54
57
|
} from '../../STO_Relational_Exports.js';
|
|
58
|
+
import type { PackageableElement } from '../metamodel/pure/packageableElements/PackageableElement.js';
|
|
59
|
+
import { PackageableConnection } from '../metamodel/pure/packageableElements/connection/PackageableConnection.js';
|
|
55
60
|
|
|
56
61
|
const collectIncludedDatabases = (
|
|
57
62
|
results: Set<Database>,
|
|
@@ -224,3 +229,11 @@ export const stringifyDataType = (type: RelationalDataType): string => {
|
|
|
224
229
|
}
|
|
225
230
|
return '(UNKNOWN)';
|
|
226
231
|
};
|
|
232
|
+
|
|
233
|
+
export const guaranteeRelationalDatabaseConnection = (
|
|
234
|
+
val: PackageableElement | undefined,
|
|
235
|
+
): RelationalDatabaseConnection =>
|
|
236
|
+
guaranteeType(
|
|
237
|
+
guaranteeType(val, PackageableConnection).connectionValue,
|
|
238
|
+
RelationalDatabaseConnection,
|
|
239
|
+
);
|
|
@@ -23,9 +23,10 @@ export class ExecutionPlan {
|
|
|
23
23
|
processingTemplateFunctions: string[] = [];
|
|
24
24
|
authDependent!: boolean;
|
|
25
25
|
kerberos?: string | undefined;
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
26
|
+
/**
|
|
27
|
+
* Studio does not process the platform implementation info
|
|
28
|
+
*
|
|
29
|
+
* @discrepancy model
|
|
30
|
+
*/
|
|
31
|
+
globalImplementationSupport!: object;
|
|
31
32
|
}
|
|
@@ -27,5 +27,10 @@ export class ExecutionNode {
|
|
|
27
27
|
executionNodes: ExecutionNode[] = [];
|
|
28
28
|
authDependent?: boolean | undefined;
|
|
29
29
|
supportFunctions: string[] = [];
|
|
30
|
-
|
|
30
|
+
/**
|
|
31
|
+
* Studio does not process the platform implementation info
|
|
32
|
+
*
|
|
33
|
+
* @discrepancy model
|
|
34
|
+
*/
|
|
35
|
+
implementation!: object;
|
|
31
36
|
}
|
|
@@ -44,6 +44,7 @@ import { AnnotatedElement } from './domain/AnnotatedElement.js';
|
|
|
44
44
|
import type { ExecutionEnvironmentInstance } from './service/ExecutionEnvironmentInstance.js';
|
|
45
45
|
import type { INTERNAL__UnknownPackageableElement } from './INTERNAL__UnknownPackageableElement.js';
|
|
46
46
|
import type { INTERNAL__UnknownFunctionActivator } from './function/INTERNAL__UnknownFunctionActivator.js';
|
|
47
|
+
import type { INTERNAL__UnknownStore } from './store/INTERNAL__UnknownStore.js';
|
|
47
48
|
|
|
48
49
|
export interface PackageableElementVisitor<T> {
|
|
49
50
|
visit_PackageableElement(element: PackageableElement): T;
|
|
@@ -53,6 +54,7 @@ export interface PackageableElementVisitor<T> {
|
|
|
53
54
|
visit_INTERNAL__UnknownFunctionActivator(
|
|
54
55
|
element: INTERNAL__UnknownFunctionActivator,
|
|
55
56
|
): T;
|
|
57
|
+
visit_INTERNAL__UnknownStore(element: INTERNAL__UnknownStore): T;
|
|
56
58
|
|
|
57
59
|
visit_SectionIndex(element: SectionIndex): T;
|
|
58
60
|
visit_Package(element: Package): T;
|
|
@@ -26,16 +26,26 @@ import {
|
|
|
26
26
|
|
|
27
27
|
/**
|
|
28
28
|
* When set implementation cannot be resolved by ID, we try to avoid failing graph building
|
|
29
|
-
* for now instead, we will leave this loose end unresolved.
|
|
29
|
+
* for now instead, we will leave this loose end unresolved. There are a few different cases
|
|
30
|
+
* where this could happen:
|
|
30
31
|
*
|
|
31
|
-
*
|
|
32
|
+
* 1. In Pure, we used to let users define property mappings with source/target set implementation
|
|
33
|
+
* pointing at another class mapping from a different mapping, which might not be available in
|
|
34
|
+
* the included mapping hierarchy and it would still work, see the following issues for more details:
|
|
35
|
+
* See https://github.com/finos/legend-studio/issues/880
|
|
36
|
+
* See https://github.com/finos/legend-studio/issues/941
|
|
37
|
+
* 2. When we handle unknown mapping include, since the mapping include is unknown, we might not be
|
|
38
|
+
* able to resolve the underlying mapping and its children class mappings, so like case (1), some
|
|
39
|
+
* source/target set implementation might not be resolvable.
|
|
40
|
+
* See https://github.com/finos/legend-studio/pull/2242
|
|
32
41
|
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
42
|
+
* While (1) is definitely an anti-pattern, (2) is a fairly valid use case in order for us to properly
|
|
43
|
+
* support unsupported
|
|
44
|
+
* See https://github.com/finos/legend-studio/issues/315
|
|
35
45
|
*
|
|
36
46
|
* @discrepancy graph-building
|
|
37
47
|
*/
|
|
38
|
-
export class
|
|
48
|
+
export class INTERNAL__UnresolvedSetImplementation extends SetImplementation {
|
|
39
49
|
constructor(id: string, parent: Mapping) {
|
|
40
50
|
super(
|
|
41
51
|
InferableMappingElementIdExplicitValue.create(id, ''),
|
|
@@ -48,6 +58,6 @@ export class TEMPORARY__UnresolvedSetImplementation extends SetImplementation {
|
|
|
48
58
|
}
|
|
49
59
|
|
|
50
60
|
accept_SetImplementationVisitor<T>(visitor: SetImplementationVisitor<T>): T {
|
|
51
|
-
return visitor.
|
|
61
|
+
return visitor.visit_INTERNAL__UnresolvedSetImplementation(this);
|
|
52
62
|
}
|
|
53
63
|
}
|
|
@@ -30,7 +30,7 @@ import type { InferableMappingElementRoot } from './InferableMappingElementRoot.
|
|
|
30
30
|
import type { AggregationAwareSetImplementation } from './aggregationAware/AggregationAwareSetImplementation.js';
|
|
31
31
|
import type { InstanceSetImplementation } from './InstanceSetImplementation.js';
|
|
32
32
|
import type { MergeOperationSetImplementation } from './MergeOperationSetImplementation.js';
|
|
33
|
-
import type {
|
|
33
|
+
import type { INTERNAL__UnresolvedSetImplementation } from './INTERNAL__UnresolvedSetImplementation.js';
|
|
34
34
|
import type { Class } from '../domain/Class.js';
|
|
35
35
|
import type { INTERNAL__UnknownSetImplementation } from './INTERNAL__UnknownSetImplementation.js';
|
|
36
36
|
|
|
@@ -39,6 +39,9 @@ export interface SetImplementationVisitor<T> {
|
|
|
39
39
|
visit_INTERNAL__UnknownSetImplementation(
|
|
40
40
|
setImplementation: INTERNAL__UnknownSetImplementation,
|
|
41
41
|
): T;
|
|
42
|
+
visit_INTERNAL__UnresolvedSetImplementation(
|
|
43
|
+
setImplementation: INTERNAL__UnresolvedSetImplementation,
|
|
44
|
+
): T;
|
|
42
45
|
|
|
43
46
|
visit_MergeOperationSetImplementation(
|
|
44
47
|
setImplementation: MergeOperationSetImplementation,
|
|
@@ -65,9 +68,6 @@ export interface SetImplementationVisitor<T> {
|
|
|
65
68
|
visit_AggregationAwareSetImplementation(
|
|
66
69
|
setImplementation: AggregationAwareSetImplementation,
|
|
67
70
|
): T;
|
|
68
|
-
visit_TEMPORARY__UnresolvedSetImplementation(
|
|
69
|
-
setImplementation: TEMPORARY__UnresolvedSetImplementation,
|
|
70
|
-
): T;
|
|
71
71
|
}
|
|
72
72
|
|
|
73
73
|
export abstract class SetImplementation
|
|
@@ -20,14 +20,14 @@ import { TestSuite } from '../../test/Test.js';
|
|
|
20
20
|
import type { TestData } from './ServiceTestData.js';
|
|
21
21
|
|
|
22
22
|
export class ServiceTestSuite extends TestSuite implements Hashable {
|
|
23
|
-
testData
|
|
23
|
+
testData?: TestData | undefined;
|
|
24
24
|
|
|
25
25
|
get hashCode(): string {
|
|
26
26
|
return hashArray([
|
|
27
27
|
CORE_HASH_STRUCTURE.SERVICE_TEST_SUITE,
|
|
28
28
|
this.id,
|
|
29
29
|
hashArray(this.tests),
|
|
30
|
-
this.testData,
|
|
30
|
+
this.testData ?? '',
|
|
31
31
|
]);
|
|
32
32
|
}
|
|
33
33
|
}
|
|
@@ -14,21 +14,32 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
import {
|
|
17
|
+
import {
|
|
18
|
+
type Hashable,
|
|
19
|
+
hashArray,
|
|
20
|
+
type PlainObject,
|
|
21
|
+
} from '@finos/legend-shared';
|
|
18
22
|
import { Store } from './Store.js';
|
|
23
|
+
import {
|
|
24
|
+
CORE_HASH_STRUCTURE,
|
|
25
|
+
hashObjectWithoutSourceInformation,
|
|
26
|
+
} from '../../../../Core_HashUtils.js';
|
|
19
27
|
import type { PackageableElementVisitor } from '../PackageableElement.js';
|
|
20
28
|
|
|
21
|
-
export class
|
|
22
|
-
|
|
23
|
-
static readonly INSTANCE = new INTERNAL__PseudoStore();
|
|
29
|
+
export class INTERNAL__UnknownStore extends Store implements Hashable {
|
|
30
|
+
content!: PlainObject;
|
|
24
31
|
|
|
25
|
-
|
|
26
|
-
|
|
32
|
+
protected override get _elementHashCode(): string {
|
|
33
|
+
return hashArray([
|
|
34
|
+
CORE_HASH_STRUCTURE.INTERNAL__UNKNOWN_STORE,
|
|
35
|
+
this.path,
|
|
36
|
+
hashObjectWithoutSourceInformation(this.content),
|
|
37
|
+
]);
|
|
27
38
|
}
|
|
28
39
|
|
|
29
40
|
accept_PackageableElementVisitor<T>(
|
|
30
41
|
visitor: PackageableElementVisitor<T>,
|
|
31
42
|
): T {
|
|
32
|
-
|
|
43
|
+
return visitor.visit_INTERNAL__UnknownStore(this);
|
|
33
44
|
}
|
|
34
45
|
}
|
|
@@ -28,7 +28,7 @@ import { Multiplicity } from '../packageableElements/domain/Multiplicity.js';
|
|
|
28
28
|
|
|
29
29
|
export abstract class GraphFetchTree implements Hashable {
|
|
30
30
|
subTrees: GraphFetchTree[] = [];
|
|
31
|
-
|
|
31
|
+
subTypeTrees: SubTypeGraphFetchTree[] = [];
|
|
32
32
|
abstract get hashCode(): string;
|
|
33
33
|
|
|
34
34
|
get isEmpty(): boolean {
|
|
@@ -43,6 +43,7 @@ export class RootGraphFetchTree extends GraphFetchTree implements Hashable {
|
|
|
43
43
|
return hashArray([
|
|
44
44
|
CORE_HASH_STRUCTURE.ROOT_GRAPH_FETCH_TREE,
|
|
45
45
|
hashArray(this.subTrees),
|
|
46
|
+
hashArray(this.subTypeTrees),
|
|
46
47
|
this.class.valueForSerialization ?? '',
|
|
47
48
|
]);
|
|
48
49
|
}
|
|
@@ -80,6 +81,23 @@ export class PropertyGraphFetchTree extends GraphFetchTree implements Hashable {
|
|
|
80
81
|
}
|
|
81
82
|
}
|
|
82
83
|
|
|
84
|
+
export class SubTypeGraphFetchTree extends GraphFetchTree implements Hashable {
|
|
85
|
+
subTypeClass: PackageableElementReference<Class>;
|
|
86
|
+
|
|
87
|
+
constructor(subTypeClass: PackageableElementReference<Class>) {
|
|
88
|
+
super();
|
|
89
|
+
this.subTypeClass = subTypeClass;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
get hashCode(): string {
|
|
93
|
+
return hashArray([
|
|
94
|
+
CORE_HASH_STRUCTURE.SUBTYPE_GRAPH_FETCH_TREE,
|
|
95
|
+
hashArray(this.subTrees),
|
|
96
|
+
this.subTypeClass.valueForSerialization ?? '',
|
|
97
|
+
]);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
|
|
83
101
|
export class GraphFetchTreeInstanceValue
|
|
84
102
|
extends InstanceValue
|
|
85
103
|
implements Hashable
|
|
@@ -97,9 +97,13 @@ import { InstanceSetImplementation } from '../graph/metamodel/pure/packageableEl
|
|
|
97
97
|
import { EmbeddedFlatDataPropertyMapping } from '../graph/metamodel/pure/packageableElements/store/flatData/mapping/EmbeddedFlatDataPropertyMapping.js';
|
|
98
98
|
import { EmbeddedRelationalInstanceSetImplementation } from '../graph/metamodel/pure/packageableElements/store/relational/mapping/EmbeddedRelationalInstanceSetImplementation.js';
|
|
99
99
|
import type { SourceInformation } from './action/SourceInformation.js';
|
|
100
|
-
import type {
|
|
100
|
+
import type {
|
|
101
|
+
ClassifierPathMapping,
|
|
102
|
+
SubtypeInfo,
|
|
103
|
+
} from './action/protocol/ProtocolInfo.js';
|
|
101
104
|
import type { FunctionActivatorConfiguration } from './action/functionActivator/FunctionActivatorConfiguration.js';
|
|
102
105
|
import type { FunctionActivator } from '../graph/metamodel/pure/packageableElements/function/FunctionActivator.js';
|
|
106
|
+
import type { RelationalDatabaseConnection } from '../STO_Relational_Exports.js';
|
|
103
107
|
|
|
104
108
|
export interface TEMPORARY__EngineSetupConfig {
|
|
105
109
|
env: string;
|
|
@@ -108,12 +112,13 @@ export interface TEMPORARY__EngineSetupConfig {
|
|
|
108
112
|
queryBaseUrl?: string | undefined;
|
|
109
113
|
};
|
|
110
114
|
/**
|
|
111
|
-
*
|
|
115
|
+
* Theses are workarounds we need to manually supply the configuration data
|
|
112
116
|
* for roundtrip grammar test, as the network call to engine is blocked in test
|
|
113
117
|
* environment, till we figure out the best way to do this, we can remove this
|
|
114
118
|
* config
|
|
115
119
|
*/
|
|
116
120
|
TEMPORARY__classifierPathMapping?: ClassifierPathMapping[] | undefined;
|
|
121
|
+
TEMPORARY__subtypeInfo?: SubtypeInfo | undefined;
|
|
117
122
|
}
|
|
118
123
|
|
|
119
124
|
export interface GraphBuilderOptions {
|
|
@@ -186,12 +191,7 @@ export abstract class AbstractPureGraphManager {
|
|
|
186
191
|
);
|
|
187
192
|
}
|
|
188
193
|
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
/**
|
|
192
|
-
* Removes the SectionIndex from the list of enitites
|
|
193
|
-
*/
|
|
194
|
-
abstract getElementEntities(entities: Entity[]): Entity[];
|
|
194
|
+
// --------------------------------------------- Setup ---------------------------------------------
|
|
195
195
|
|
|
196
196
|
/**
|
|
197
197
|
* TODO: we should not expose a fixed config like this, we probably
|
|
@@ -210,6 +210,15 @@ export abstract class AbstractPureGraphManager {
|
|
|
210
210
|
},
|
|
211
211
|
): Promise<void>;
|
|
212
212
|
|
|
213
|
+
// --------------------------------------------- Generic ---------------------------------------------
|
|
214
|
+
|
|
215
|
+
abstract getSupportedProtocolVersion(): string;
|
|
216
|
+
|
|
217
|
+
/**
|
|
218
|
+
* Removes the SectionIndex from the list of enitites
|
|
219
|
+
*/
|
|
220
|
+
abstract getElementEntities(entities: Entity[]): Entity[];
|
|
221
|
+
|
|
213
222
|
// --------------------------------------------- Graph Builder ---------------------------------------------
|
|
214
223
|
|
|
215
224
|
/**
|
|
@@ -530,14 +539,16 @@ export abstract class AbstractPureGraphManager {
|
|
|
530
539
|
): Promise<DatasetEntitlementReport[]>;
|
|
531
540
|
|
|
532
541
|
/**
|
|
533
|
-
* TODO: Move
|
|
542
|
+
* TODO: Move these to store relational extension
|
|
534
543
|
*
|
|
535
544
|
* @modularize
|
|
536
545
|
* See https://github.com/finos/legend-studio/issues/65
|
|
537
546
|
*/
|
|
538
|
-
abstract buildDatabase(
|
|
539
|
-
|
|
540
|
-
|
|
547
|
+
abstract buildDatabase(input: DatabaseBuilderInput): Promise<Entity[]>;
|
|
548
|
+
abstract executeRawSQL(
|
|
549
|
+
connection: RelationalDatabaseConnection,
|
|
550
|
+
sql: string,
|
|
551
|
+
): Promise<string>;
|
|
541
552
|
|
|
542
553
|
// ------------------------------------------- Function -------------------------------------------
|
|
543
554
|
|
|
@@ -148,6 +148,11 @@ export const TEST__buildGraphWithEntities = async (
|
|
|
148
148
|
entities: Entity[],
|
|
149
149
|
options?: GraphBuilderOptions,
|
|
150
150
|
): Promise<void> => {
|
|
151
|
+
await graphManagerState.graphManager.initialize({
|
|
152
|
+
env: 'test',
|
|
153
|
+
tabSize: 2,
|
|
154
|
+
clientConfig: {},
|
|
155
|
+
});
|
|
151
156
|
await graphManagerState.initializeSystem(options);
|
|
152
157
|
await graphManagerState.graphManager.buildGraph(
|
|
153
158
|
graphManagerState.graph,
|
|
@@ -212,6 +217,11 @@ export const TEST__checkBuildingResolvedElements = async (
|
|
|
212
217
|
resolvedEntities: Entity[],
|
|
213
218
|
): Promise<void> => {
|
|
214
219
|
const graphManagerState = TEST__getTestGraphManagerState();
|
|
220
|
+
await graphManagerState.graphManager.initialize({
|
|
221
|
+
env: 'test',
|
|
222
|
+
tabSize: 2,
|
|
223
|
+
clientConfig: {},
|
|
224
|
+
});
|
|
215
225
|
await graphManagerState.initializeSystem();
|
|
216
226
|
await graphManagerState.graphManager.buildGraph(
|
|
217
227
|
graphManagerState.graph,
|
|
@@ -60,7 +60,7 @@ import type {
|
|
|
60
60
|
import type { SetImplementationContainer } from '../../../graph/metamodel/pure/packageableElements/mapping/SetImplementationContainer.js';
|
|
61
61
|
import type { SetImplementationReference } from '../../../graph/metamodel/pure/packageableElements/mapping/SetImplementationReference.js';
|
|
62
62
|
import type { SubstituteStore } from '../../../graph/metamodel/pure/packageableElements/mapping/SubstituteStore.js';
|
|
63
|
-
import type {
|
|
63
|
+
import type { INTERNAL__UnresolvedSetImplementation } from '../../../graph/metamodel/pure/packageableElements/mapping/INTERNAL__UnresolvedSetImplementation.js';
|
|
64
64
|
import type { XStorePropertyMapping } from '../../../graph/metamodel/pure/packageableElements/mapping/xStore/XStorePropertyMapping.js';
|
|
65
65
|
import type { PackageableRuntime } from '../../../graph/metamodel/pure/packageableElements/runtime/PackageableRuntime.js';
|
|
66
66
|
import {
|
|
@@ -140,6 +140,7 @@ import { UnsupportedOperationError } from '@finos/legend-shared';
|
|
|
140
140
|
import type { INTERNAL__UnknownConnection } from '../../../graph/metamodel/pure/packageableElements/connection/INTERNAL__UnknownConnection.js';
|
|
141
141
|
import type { INTERNAL__UnknownPropertyMapping } from '../../../graph/metamodel/pure/packageableElements/mapping/INTERNAL__UnknownPropertyMapping.js';
|
|
142
142
|
import type { INTERNAL__UnknownSetImplementation } from '../../../graph/metamodel/pure/packageableElements/mapping/INTERNAL__UnknownSetImplementation.js';
|
|
143
|
+
import type { INTERNAL__UnknownStore } from '../../../graph/metamodel/pure/packageableElements/store/INTERNAL__UnknownStore.js';
|
|
143
144
|
|
|
144
145
|
// ------------------------------------- Store -------------------------------------
|
|
145
146
|
|
|
@@ -153,6 +154,18 @@ export const observe_Abstract_Store = (metamodel: Store): void => {
|
|
|
153
154
|
metamodel.includes.forEach(observe_PackageableElementReference);
|
|
154
155
|
};
|
|
155
156
|
|
|
157
|
+
export const observe_INTERNAL__UnknownStore = skipObserved(
|
|
158
|
+
(metamodel: INTERNAL__UnknownStore): INTERNAL__UnknownStore => {
|
|
159
|
+
observe_Abstract_PackageableElement(metamodel);
|
|
160
|
+
|
|
161
|
+
makeObservable(metamodel, {
|
|
162
|
+
content: observable.ref,
|
|
163
|
+
});
|
|
164
|
+
|
|
165
|
+
return metamodel;
|
|
166
|
+
},
|
|
167
|
+
);
|
|
168
|
+
|
|
156
169
|
// ------------------------------------- TestSuite -----------------------------------
|
|
157
170
|
|
|
158
171
|
export const observe_MappingStoreTestData = skipObservedWithContext(
|
|
@@ -701,8 +714,8 @@ class SetImplementationObserver implements SetImplementationVisitor<void> {
|
|
|
701
714
|
// TODO
|
|
702
715
|
}
|
|
703
716
|
|
|
704
|
-
|
|
705
|
-
setImplementation:
|
|
717
|
+
visit_INTERNAL__UnresolvedSetImplementation(
|
|
718
|
+
setImplementation: INTERNAL__UnresolvedSetImplementation,
|
|
706
719
|
): void {
|
|
707
720
|
return;
|
|
708
721
|
}
|
|
@@ -907,6 +920,7 @@ export const observe_Mapping = skipObservedWithContext(
|
|
|
907
920
|
_elementHashCode: override,
|
|
908
921
|
});
|
|
909
922
|
|
|
923
|
+
// TODO: create extension mechanism to observe mapping includes when we build editor for this
|
|
910
924
|
metamodel.includes.forEach(observe_MappingInclude);
|
|
911
925
|
metamodel.classMappings.forEach((classMapping) =>
|
|
912
926
|
observe_SetImplementation(classMapping, context),
|
|
@@ -156,7 +156,9 @@ export const observe_ServiceTestSuite = skipObservedWithContext(
|
|
|
156
156
|
});
|
|
157
157
|
|
|
158
158
|
metamodel.tests.forEach((test) => observe_AtomicTest(test, context));
|
|
159
|
-
|
|
159
|
+
if (metamodel.testData) {
|
|
160
|
+
observe_TestData(metamodel.testData, context);
|
|
161
|
+
}
|
|
160
162
|
|
|
161
163
|
return metamodel;
|
|
162
164
|
},
|
|
@@ -56,6 +56,7 @@ import {
|
|
|
56
56
|
observe_GenerationSpecification,
|
|
57
57
|
} from './DSL_Generation_ObserverHelper.js';
|
|
58
58
|
import {
|
|
59
|
+
observe_INTERNAL__UnknownStore,
|
|
59
60
|
observe_Mapping,
|
|
60
61
|
observe_PackageableConnection,
|
|
61
62
|
observe_PackageableRuntime,
|
|
@@ -69,6 +70,7 @@ import type { ExecutionEnvironmentInstance } from '../../../graph/metamodel/pure
|
|
|
69
70
|
import { observe_ExecutionEnvironmentInstance } from './DSL_ExecutionEnvironment_ObseverHelper.js';
|
|
70
71
|
import type { INTERNAL__UnknownPackageableElement } from '../../../graph/metamodel/pure/packageableElements/INTERNAL__UnknownPackageableElement.js';
|
|
71
72
|
import type { INTERNAL__UnknownFunctionActivator } from '../../../graph/metamodel/pure/packageableElements/function/INTERNAL__UnknownFunctionActivator.js';
|
|
73
|
+
import type { INTERNAL__UnknownStore } from '../../../graph/metamodel/pure/packageableElements/store/INTERNAL__UnknownStore.js';
|
|
72
74
|
|
|
73
75
|
class PackageableElementObserver implements PackageableElementVisitor<void> {
|
|
74
76
|
observerContext: ObserverContext;
|
|
@@ -101,6 +103,10 @@ class PackageableElementObserver implements PackageableElementVisitor<void> {
|
|
|
101
103
|
observe_INTERNAL__UnknownFunctionActivator(element);
|
|
102
104
|
}
|
|
103
105
|
|
|
106
|
+
visit_INTERNAL__UnknownStore(element: INTERNAL__UnknownStore): void {
|
|
107
|
+
observe_INTERNAL__UnknownStore(element);
|
|
108
|
+
}
|
|
109
|
+
|
|
104
110
|
visit_Package(element: Package): void {
|
|
105
111
|
observe_Package(element, this.observerContext);
|
|
106
112
|
}
|
|
@@ -16,15 +16,20 @@
|
|
|
16
16
|
|
|
17
17
|
import type { RelationalDatabaseConnection } from '../../../graph/metamodel/pure/packageableElements/store/relational/connection/RelationalDatabaseConnection.js';
|
|
18
18
|
|
|
19
|
+
const DATABASE_BUILDER_WILDCARD_PATTERN = '%';
|
|
20
|
+
|
|
19
21
|
export class DatabasePattern {
|
|
20
22
|
schemaPattern = '';
|
|
21
23
|
tablePattern = '';
|
|
22
24
|
escapeSchemaPattern?: boolean | undefined;
|
|
23
25
|
escapeTablePattern?: boolean | undefined;
|
|
24
26
|
|
|
25
|
-
constructor(
|
|
26
|
-
|
|
27
|
-
|
|
27
|
+
constructor(
|
|
28
|
+
schemaPattern: string | undefined,
|
|
29
|
+
tablePattern: string | undefined,
|
|
30
|
+
) {
|
|
31
|
+
this.schemaPattern = schemaPattern ?? DATABASE_BUILDER_WILDCARD_PATTERN;
|
|
32
|
+
this.tablePattern = tablePattern ?? DATABASE_BUILDER_WILDCARD_PATTERN;
|
|
28
33
|
}
|
|
29
34
|
}
|
|
30
35
|
|
|
@@ -2454,6 +2454,15 @@
|
|
|
2454
2454
|
"upperBound": 1
|
|
2455
2455
|
},
|
|
2456
2456
|
"name": "typeKeyName",
|
|
2457
|
+
"taggedValues": [
|
|
2458
|
+
{
|
|
2459
|
+
"tag": {
|
|
2460
|
+
"profile": "meta::pure::profiles::doc",
|
|
2461
|
+
"value": "doc"
|
|
2462
|
+
},
|
|
2463
|
+
"value": "Give a custom typeKey name. Defaults to @Type"
|
|
2464
|
+
}
|
|
2465
|
+
],
|
|
2457
2466
|
"type": "String"
|
|
2458
2467
|
},
|
|
2459
2468
|
{
|
|
@@ -2462,6 +2471,15 @@
|
|
|
2462
2471
|
"upperBound": 1
|
|
2463
2472
|
},
|
|
2464
2473
|
"name": "includeType",
|
|
2474
|
+
"taggedValues": [
|
|
2475
|
+
{
|
|
2476
|
+
"tag": {
|
|
2477
|
+
"profile": "meta::pure::profiles::doc",
|
|
2478
|
+
"value": "doc"
|
|
2479
|
+
},
|
|
2480
|
+
"value": "Set to true to include type info of the serialized class"
|
|
2481
|
+
}
|
|
2482
|
+
],
|
|
2465
2483
|
"type": "Boolean"
|
|
2466
2484
|
},
|
|
2467
2485
|
{
|
|
@@ -2470,8 +2488,34 @@
|
|
|
2470
2488
|
"upperBound": 1
|
|
2471
2489
|
},
|
|
2472
2490
|
"name": "includeEnumType",
|
|
2491
|
+
"taggedValues": [
|
|
2492
|
+
{
|
|
2493
|
+
"tag": {
|
|
2494
|
+
"profile": "meta::pure::profiles::doc",
|
|
2495
|
+
"value": "doc"
|
|
2496
|
+
},
|
|
2497
|
+
"value": "Set to True to include path to element for Enums"
|
|
2498
|
+
}
|
|
2499
|
+
],
|
|
2473
2500
|
"type": "Boolean"
|
|
2474
2501
|
},
|
|
2502
|
+
{
|
|
2503
|
+
"multiplicity": {
|
|
2504
|
+
"lowerBound": 0,
|
|
2505
|
+
"upperBound": 1
|
|
2506
|
+
},
|
|
2507
|
+
"name": "dateTimeFormat",
|
|
2508
|
+
"taggedValues": [
|
|
2509
|
+
{
|
|
2510
|
+
"tag": {
|
|
2511
|
+
"profile": "meta::pure::profiles::doc",
|
|
2512
|
+
"value": "doc"
|
|
2513
|
+
},
|
|
2514
|
+
"value": "Give a valid string of dateTime format to serialize the dateTime properties respectively"
|
|
2515
|
+
}
|
|
2516
|
+
],
|
|
2517
|
+
"type": "String"
|
|
2518
|
+
},
|
|
2475
2519
|
{
|
|
2476
2520
|
"multiplicity": {
|
|
2477
2521
|
"lowerBound": 0,
|
|
@@ -2494,6 +2538,15 @@
|
|
|
2494
2538
|
"upperBound": 1
|
|
2495
2539
|
},
|
|
2496
2540
|
"name": "fullyQualifiedTypePath",
|
|
2541
|
+
"taggedValues": [
|
|
2542
|
+
{
|
|
2543
|
+
"tag": {
|
|
2544
|
+
"profile": "meta::pure::profiles::doc",
|
|
2545
|
+
"value": "doc"
|
|
2546
|
+
},
|
|
2547
|
+
"value": "Set to true to include fully qualified type info of the serialized class"
|
|
2548
|
+
}
|
|
2549
|
+
],
|
|
2497
2550
|
"type": "Boolean"
|
|
2498
2551
|
},
|
|
2499
2552
|
{
|
|
@@ -2502,6 +2555,15 @@
|
|
|
2502
2555
|
"upperBound": 1
|
|
2503
2556
|
},
|
|
2504
2557
|
"name": "includeObjectReference",
|
|
2558
|
+
"taggedValues": [
|
|
2559
|
+
{
|
|
2560
|
+
"tag": {
|
|
2561
|
+
"profile": "meta::pure::profiles::doc",
|
|
2562
|
+
"value": "doc"
|
|
2563
|
+
},
|
|
2564
|
+
"value": "Set to True to include Alloy Store Object Reference"
|
|
2565
|
+
}
|
|
2566
|
+
],
|
|
2505
2567
|
"type": "Boolean"
|
|
2506
2568
|
}
|
|
2507
2569
|
]
|