@finos/legend-graph 24.0.1 → 25.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 +6 -0
- package/lib/graph/BasicModel.d.ts.map +1 -1
- package/lib/graph/BasicModel.js +23 -0
- package/lib/graph/BasicModel.js.map +1 -1
- package/lib/graph/Core_HashUtils.d.ts +7 -1
- package/lib/graph/Core_HashUtils.d.ts.map +1 -1
- package/lib/graph/Core_HashUtils.js +8 -1
- package/lib/graph/Core_HashUtils.js.map +1 -1
- package/lib/graph/DependencyManager.d.ts +3 -0
- package/lib/graph/DependencyManager.d.ts.map +1 -1
- package/lib/graph/DependencyManager.js +4 -0
- package/lib/graph/DependencyManager.js.map +1 -1
- package/lib/graph/MetaModelConst.d.ts +1 -0
- package/lib/graph/MetaModelConst.d.ts.map +1 -1
- package/lib/graph/MetaModelConst.js +1 -0
- package/lib/graph/MetaModelConst.js.map +1 -1
- package/lib/graph/PureModel.d.ts +2 -0
- package/lib/graph/PureModel.d.ts.map +1 -1
- package/lib/graph/PureModel.js +9 -0
- package/lib/graph/PureModel.js.map +1 -1
- package/lib/graph/helpers/DomainHelper.d.ts.map +1 -1
- package/lib/graph/helpers/DomainHelper.js +6 -0
- package/lib/graph/helpers/DomainHelper.js.map +1 -1
- package/lib/graph/helpers/PureLanguageHelper.d.ts +2 -1
- package/lib/graph/helpers/PureLanguageHelper.d.ts.map +1 -1
- package/lib/graph/helpers/PureLanguageHelper.js +1 -0
- package/lib/graph/helpers/PureLanguageHelper.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/service/ExecutionEnvironmentInstance.d.ts +40 -0
- package/lib/graph/metamodel/pure/packageableElements/service/ExecutionEnvironmentInstance.d.ts.map +1 -0
- package/lib/graph/metamodel/pure/packageableElements/service/ExecutionEnvironmentInstance.js +58 -0
- package/lib/graph/metamodel/pure/packageableElements/service/ExecutionEnvironmentInstance.js.map +1 -0
- package/lib/graph/metamodel/pure/packageableElements/store/relational/connection/AuthenticationStrategy.d.ts +6 -0
- package/lib/graph/metamodel/pure/packageableElements/store/relational/connection/AuthenticationStrategy.d.ts.map +1 -1
- package/lib/graph/metamodel/pure/packageableElements/store/relational/connection/AuthenticationStrategy.js +16 -0
- package/lib/graph/metamodel/pure/packageableElements/store/relational/connection/AuthenticationStrategy.js.map +1 -1
- package/lib/graph/metamodel/pure/packageableElements/store/relational/connection/DatasourceSpecification.d.ts +17 -0
- package/lib/graph/metamodel/pure/packageableElements/store/relational/connection/DatasourceSpecification.d.ts.map +1 -1
- package/lib/graph/metamodel/pure/packageableElements/store/relational/connection/DatasourceSpecification.js +41 -0
- package/lib/graph/metamodel/pure/packageableElements/store/relational/connection/DatasourceSpecification.js.map +1 -1
- package/lib/graph/metamodel/pure/packageableElements/store/relational/connection/RelationalDatabaseConnection.d.ts +2 -1
- package/lib/graph/metamodel/pure/packageableElements/store/relational/connection/RelationalDatabaseConnection.d.ts.map +1 -1
- package/lib/graph/metamodel/pure/packageableElements/store/relational/connection/RelationalDatabaseConnection.js +1 -0
- package/lib/graph/metamodel/pure/packageableElements/store/relational/connection/RelationalDatabaseConnection.js.map +1 -1
- package/lib/graphManager/AbstractPureGraphManager.d.ts +1 -2
- package/lib/graphManager/AbstractPureGraphManager.d.ts.map +1 -1
- package/lib/graphManager/AbstractPureGraphManager.js.map +1 -1
- package/lib/graphManager/action/{service/BulkServiceRegistrationResult.d.ts → changeDetection/DSL_ExecutionEnvironment_ObseverHelper.d.ts} +3 -14
- package/lib/graphManager/action/changeDetection/DSL_ExecutionEnvironment_ObseverHelper.d.ts.map +1 -0
- package/lib/graphManager/action/changeDetection/DSL_ExecutionEnvironment_ObseverHelper.js +26 -0
- package/lib/graphManager/action/changeDetection/DSL_ExecutionEnvironment_ObseverHelper.js.map +1 -0
- package/lib/graphManager/action/changeDetection/GraphObserverHelper.d.ts.map +1 -1
- package/lib/graphManager/action/changeDetection/GraphObserverHelper.js +4 -0
- package/lib/graphManager/action/changeDetection/GraphObserverHelper.js.map +1 -1
- package/lib/graphManager/action/changeDetection/PackageableElementObserver.d.ts.map +1 -1
- package/lib/graphManager/action/changeDetection/PackageableElementObserver.js +4 -0
- package/lib/graphManager/action/changeDetection/PackageableElementObserver.js.map +1 -1
- package/lib/graphManager/action/changeDetection/STO_Relational_ObserverHelper.d.ts +5 -2
- package/lib/graphManager/action/changeDetection/STO_Relational_ObserverHelper.d.ts.map +1 -1
- package/lib/graphManager/action/changeDetection/STO_Relational_ObserverHelper.js +31 -2
- package/lib/graphManager/action/changeDetection/STO_Relational_ObserverHelper.js.map +1 -1
- package/lib/graphManager/action/execution/ExecutionResult.d.ts +8 -2
- package/lib/graphManager/action/execution/ExecutionResult.d.ts.map +1 -1
- package/lib/graphManager/action/execution/ExecutionResult.js +9 -3
- package/lib/graphManager/action/execution/ExecutionResult.js.map +1 -1
- package/lib/graphManager/action/service/ServiceRegistrationResult.d.ts +8 -0
- package/lib/graphManager/action/service/ServiceRegistrationResult.d.ts.map +1 -1
- package/lib/graphManager/action/service/ServiceRegistrationResult.js +11 -0
- package/lib/graphManager/action/service/ServiceRegistrationResult.js.map +1 -1
- package/lib/graphManager/protocol/pure/PureProtocolProcessorPlugin.d.ts +1 -1
- package/lib/graphManager/protocol/pure/PureProtocolProcessorPlugin.d.ts.map +1 -1
- package/lib/graphManager/protocol/pure/v1/V1_PureGraphManager.d.ts +4 -3
- package/lib/graphManager/protocol/pure/v1/V1_PureGraphManager.d.ts.map +1 -1
- package/lib/graphManager/protocol/pure/v1/V1_PureGraphManager.js +18 -6
- package/lib/graphManager/protocol/pure/v1/V1_PureGraphManager.js.map +1 -1
- package/lib/graphManager/protocol/pure/v1/engine/V1_EngineHelper.d.ts +1 -1
- package/lib/graphManager/protocol/pure/v1/engine/V1_EngineHelper.d.ts.map +1 -1
- package/lib/graphManager/protocol/pure/v1/engine/V1_EngineHelper.js +2 -2
- package/lib/graphManager/protocol/pure/v1/engine/V1_EngineHelper.js.map +1 -1
- package/lib/graphManager/protocol/pure/v1/engine/execution/V1_ExecutionHelper.d.ts.map +1 -1
- package/lib/graphManager/protocol/pure/v1/engine/execution/V1_ExecutionHelper.js +10 -9
- package/lib/graphManager/protocol/pure/v1/engine/execution/V1_ExecutionHelper.js.map +1 -1
- package/lib/graphManager/protocol/pure/v1/engine/execution/V1_ExecutionResult.d.ts +9 -3
- package/lib/graphManager/protocol/pure/v1/engine/execution/V1_ExecutionResult.d.ts.map +1 -1
- package/lib/graphManager/protocol/pure/v1/engine/execution/V1_ExecutionResult.js +10 -4
- package/lib/graphManager/protocol/pure/v1/engine/execution/V1_ExecutionResult.js.map +1 -1
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/V1_PackageableElement.d.ts +4 -2
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/V1_PackageableElement.d.ts.map +1 -1
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/V1_PackageableElement.js +1 -1
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/V1_PackageableElement.js.map +1 -1
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/service/V1_ExecutionEnvironmentInstance.d.ts +38 -0
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/service/V1_ExecutionEnvironmentInstance.d.ts.map +1 -0
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/service/V1_ExecutionEnvironmentInstance.js +58 -0
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/service/V1_ExecutionEnvironmentInstance.js.map +1 -0
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/store/relational/connection/V1_AuthenticationStrategy.d.ts +5 -0
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/store/relational/connection/V1_AuthenticationStrategy.d.ts.map +1 -1
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/store/relational/connection/V1_AuthenticationStrategy.js +11 -0
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/store/relational/connection/V1_AuthenticationStrategy.js.map +1 -1
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/store/relational/connection/V1_DatasourceSpecification.d.ts +15 -0
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/store/relational/connection/V1_DatasourceSpecification.d.ts.map +1 -1
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/store/relational/connection/V1_DatasourceSpecification.js +32 -0
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/store/relational/connection/V1_DatasourceSpecification.js.map +1 -1
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/store/relational/connection/V1_RelationalDatabaseConnection.d.ts +2 -1
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/store/relational/connection/V1_RelationalDatabaseConnection.d.ts.map +1 -1
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/store/relational/connection/V1_RelationalDatabaseConnection.js +1 -0
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/store/relational/connection/V1_RelationalDatabaseConnection.js.map +1 -1
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/from/V1_ConnectionTransformer.d.ts.map +1 -1
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/from/V1_ConnectionTransformer.js +29 -4
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/from/V1_ConnectionTransformer.js.map +1 -1
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/from/V1_ExecutionEnvironmentTransformer.d.ts +20 -0
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/from/V1_ExecutionEnvironmentTransformer.d.ts.map +1 -0
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/from/V1_ExecutionEnvironmentTransformer.js +46 -0
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/from/V1_ExecutionEnvironmentTransformer.js.map +1 -0
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/from/V1_PackageableElementTransformer.d.ts.map +1 -1
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/from/V1_PackageableElementTransformer.js +4 -0
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/from/V1_PackageableElementTransformer.js.map +1 -1
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFifthPassBuilder.d.ts +2 -0
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFifthPassBuilder.d.ts.map +1 -1
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFifthPassBuilder.js +3 -0
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFifthPassBuilder.js.map +1 -1
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFirstPassBuilder.d.ts +2 -0
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFirstPassBuilder.d.ts.map +1 -1
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFirstPassBuilder.js +11 -0
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFirstPassBuilder.js.map +1 -1
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFourthPassBuilder.d.ts +2 -0
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFourthPassBuilder.d.ts.map +1 -1
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFourthPassBuilder.js +3 -0
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFourthPassBuilder.js.map +1 -1
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementSecondPassBuilder.d.ts +2 -0
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementSecondPassBuilder.d.ts.map +1 -1
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementSecondPassBuilder.js +5 -0
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementSecondPassBuilder.js.map +1 -1
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementThirdPassBuilder.d.ts +2 -0
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementThirdPassBuilder.d.ts.map +1 -1
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementThirdPassBuilder.js +3 -0
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementThirdPassBuilder.js.map +1 -1
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ExecutionEnvironmentBuilderHelper.d.ts +21 -0
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ExecutionEnvironmentBuilderHelper.d.ts.map +1 -0
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ExecutionEnvironmentBuilderHelper.js +51 -0
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ExecutionEnvironmentBuilderHelper.js.map +1 -0
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_RelationalConnectionBuilderHelper.d.ts.map +1 -1
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_RelationalConnectionBuilderHelper.js +23 -4
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_RelationalConnectionBuilderHelper.js.map +1 -1
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.d.ts +2 -2
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.d.ts.map +1 -1
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.js +5 -11
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.js.map +1 -1
- package/lib/graphManager/protocol/pure/v1/transformation/pureProtocol/V1_PackageableElementSerialization.d.ts.map +1 -1
- package/lib/graphManager/protocol/pure/v1/transformation/pureProtocol/V1_PackageableElementSerialization.js +6 -0
- package/lib/graphManager/protocol/pure/v1/transformation/pureProtocol/V1_PackageableElementSerialization.js.map +1 -1
- package/lib/graphManager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ConnectionSerializationHelper.d.ts.map +1 -1
- package/lib/graphManager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ConnectionSerializationHelper.js +34 -3
- package/lib/graphManager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ConnectionSerializationHelper.js.map +1 -1
- package/lib/graphManager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_CoreSerializationHelper.js +1 -1
- package/lib/graphManager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_CoreSerializationHelper.js.map +1 -1
- package/lib/graphManager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ExecutionEnvironmentSerializationHelper.d.ts +20 -0
- package/lib/graphManager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ExecutionEnvironmentSerializationHelper.d.ts.map +1 -0
- package/lib/graphManager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ExecutionEnvironmentSerializationHelper.js +62 -0
- package/lib/graphManager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ExecutionEnvironmentSerializationHelper.js.map +1 -0
- package/lib/graphManager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_RuntimeSerializationHelper.d.ts +1 -0
- package/lib/graphManager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_RuntimeSerializationHelper.d.ts.map +1 -1
- package/lib/graphManager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_RuntimeSerializationHelper.js +14 -0
- package/lib/graphManager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_RuntimeSerializationHelper.js.map +1 -1
- package/lib/graphManager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ServiceSerializationHelper.d.ts.map +1 -1
- package/lib/graphManager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ServiceSerializationHelper.js +3 -17
- package/lib/graphManager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ServiceSerializationHelper.js.map +1 -1
- package/lib/graphManager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/executionPlan/V1_ExecutionPlanSerializationHelper.d.ts.map +1 -1
- package/lib/graphManager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/executionPlan/V1_ExecutionPlanSerializationHelper.js +7 -7
- package/lib/graphManager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/executionPlan/V1_ExecutionPlanSerializationHelper.js.map +1 -1
- package/lib/index.d.ts +2 -2
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +2 -2
- package/lib/index.js.map +1 -1
- package/lib/package.json +3 -3
- package/package.json +6 -6
- package/src/graph/BasicModel.ts +33 -0
- package/src/graph/Core_HashUtils.ts +12 -2
- package/src/graph/DependencyManager.ts +10 -0
- package/src/graph/MetaModelConst.ts +1 -0
- package/src/graph/PureModel.ts +11 -0
- package/src/graph/helpers/DomainHelper.ts +6 -0
- package/src/graph/helpers/PureLanguageHelper.ts +1 -0
- package/src/graph/metamodel/pure/packageableElements/PackageableElement.ts +2 -0
- package/src/graph/metamodel/pure/packageableElements/service/ExecutionEnvironmentInstance.ts +78 -0
- package/src/graph/metamodel/pure/packageableElements/store/relational/connection/AuthenticationStrategy.ts +25 -0
- package/src/graph/metamodel/pure/packageableElements/store/relational/connection/DatasourceSpecification.ts +53 -0
- package/src/graph/metamodel/pure/packageableElements/store/relational/connection/RelationalDatabaseConnection.ts +1 -0
- package/src/graphManager/AbstractPureGraphManager.ts +1 -2
- package/src/graphManager/action/changeDetection/DSL_ExecutionEnvironment_ObseverHelper.ts +40 -0
- package/src/graphManager/action/changeDetection/GraphObserverHelper.ts +5 -0
- package/src/graphManager/action/changeDetection/PackageableElementObserver.ts +8 -0
- package/src/graphManager/action/changeDetection/STO_Relational_ObserverHelper.ts +47 -0
- package/src/graphManager/action/execution/ExecutionResult.ts +11 -4
- package/src/graphManager/action/service/ServiceRegistrationResult.ts +15 -0
- package/src/graphManager/protocol/pure/PureProtocolProcessorPlugin.ts +1 -1
- package/src/graphManager/protocol/pure/v1/V1_PureGraphManager.ts +39 -11
- package/src/graphManager/protocol/pure/v1/engine/V1_EngineHelper.ts +5 -2
- package/src/graphManager/protocol/pure/v1/engine/execution/V1_ExecutionHelper.ts +17 -12
- package/src/graphManager/protocol/pure/v1/engine/execution/V1_ExecutionResult.ts +12 -4
- package/src/graphManager/protocol/pure/v1/model/packageableElements/V1_PackageableElement.ts +7 -3
- package/src/graphManager/protocol/pure/v1/model/packageableElements/service/V1_ExecutionEnvironmentInstance.ts +82 -0
- package/src/graphManager/protocol/pure/v1/model/packageableElements/store/relational/connection/V1_AuthenticationStrategy.ts +16 -0
- package/src/graphManager/protocol/pure/v1/model/packageableElements/store/relational/connection/V1_DatasourceSpecification.ts +39 -0
- package/src/graphManager/protocol/pure/v1/model/packageableElements/store/relational/connection/V1_RelationalDatabaseConnection.ts +1 -0
- package/src/graphManager/protocol/pure/v1/transformation/pureGraph/from/V1_ConnectionTransformer.ts +33 -0
- package/src/graphManager/protocol/pure/v1/transformation/pureGraph/from/V1_ExecutionEnvironmentTransformer.ts +72 -0
- package/src/graphManager/protocol/pure/v1/transformation/pureGraph/from/V1_PackageableElementTransformer.ts +8 -0
- package/src/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFifthPassBuilder.ts +7 -0
- package/src/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFirstPassBuilder.ts +28 -0
- package/src/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFourthPassBuilder.ts +7 -0
- package/src/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementSecondPassBuilder.ts +13 -0
- package/src/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementThirdPassBuilder.ts +7 -0
- package/src/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ExecutionEnvironmentBuilderHelper.ts +88 -0
- package/src/graphManager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_RelationalConnectionBuilderHelper.ts +46 -0
- package/src/graphManager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.ts +17 -21
- package/src/graphManager/protocol/pure/v1/transformation/pureProtocol/V1_PackageableElementSerialization.ts +13 -0
- package/src/graphManager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ConnectionSerializationHelper.ts +50 -0
- package/src/graphManager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_CoreSerializationHelper.ts +1 -1
- package/src/graphManager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ExecutionEnvironmentSerializationHelper.ts +122 -0
- package/src/graphManager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_RuntimeSerializationHelper.ts +19 -0
- package/src/graphManager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ServiceSerializationHelper.ts +3 -31
- package/src/graphManager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/executionPlan/V1_ExecutionPlanSerializationHelper.ts +9 -18
- package/src/index.ts +5 -6
- package/tsconfig.json +6 -1
- package/lib/graphManager/action/service/BulkServiceRegistrationResult.d.ts.map +0 -1
- package/lib/graphManager/action/service/BulkServiceRegistrationResult.js +0 -37
- package/lib/graphManager/action/service/BulkServiceRegistrationResult.js.map +0 -1
- package/src/graphManager/action/service/BulkServiceRegistrationResult.ts +0 -41
|
@@ -26,12 +26,13 @@ import {
|
|
|
26
26
|
JsonExecutionResult,
|
|
27
27
|
TDSExecutionResult,
|
|
28
28
|
TDSBuilder,
|
|
29
|
-
|
|
29
|
+
INTERNAL__TDSColumn,
|
|
30
30
|
RawExecutionResult,
|
|
31
31
|
} from '../../../../../../graphManager/action/execution/ExecutionResult.js';
|
|
32
32
|
import {
|
|
33
33
|
type V1_ExecutionResult,
|
|
34
34
|
type V1_TDSBuilder,
|
|
35
|
+
type V1_INTERNAL__TDSColumn,
|
|
35
36
|
V1_ClassExecutionResult,
|
|
36
37
|
V1_JsonExecutionResult,
|
|
37
38
|
V1_INTERNAL__UnknownExecutionResult,
|
|
@@ -50,19 +51,23 @@ const buildJSONExecutionResult = (
|
|
|
50
51
|
return metamodel;
|
|
51
52
|
};
|
|
52
53
|
|
|
54
|
+
const INTERNAL__buildTDSColumn = (
|
|
55
|
+
protocol: V1_INTERNAL__TDSColumn,
|
|
56
|
+
): INTERNAL__TDSColumn => {
|
|
57
|
+
const metamodel = new INTERNAL__TDSColumn();
|
|
58
|
+
metamodel.name = guaranteeNonNullable(
|
|
59
|
+
protocol.name,
|
|
60
|
+
`TDS column 'name' field is missing`,
|
|
61
|
+
);
|
|
62
|
+
metamodel.type = protocol.type;
|
|
63
|
+
metamodel.doc = protocol.doc;
|
|
64
|
+
metamodel.relationalType = protocol.relationalType;
|
|
65
|
+
return metamodel;
|
|
66
|
+
};
|
|
67
|
+
|
|
53
68
|
const buildTDSBuilder = (protocol: V1_TDSBuilder): TDSBuilder => {
|
|
54
69
|
const builder = new TDSBuilder();
|
|
55
|
-
builder.columns = protocol.columns.map(
|
|
56
|
-
const column = new TDSColumn();
|
|
57
|
-
column.name = guaranteeNonNullable(
|
|
58
|
-
_column.name,
|
|
59
|
-
`TDS column 'name' field is missing`,
|
|
60
|
-
);
|
|
61
|
-
column.type = _column.type;
|
|
62
|
-
column.doc = _column.doc;
|
|
63
|
-
column.relationalType = _column.relationalType;
|
|
64
|
-
return column;
|
|
65
|
-
});
|
|
70
|
+
builder.columns = protocol.columns.map(INTERNAL__buildTDSColumn);
|
|
66
71
|
return builder;
|
|
67
72
|
};
|
|
68
73
|
|
|
@@ -48,14 +48,20 @@ export class V1_JsonExecutionResult extends V1_ExecutionResult {
|
|
|
48
48
|
);
|
|
49
49
|
}
|
|
50
50
|
|
|
51
|
-
|
|
51
|
+
/**
|
|
52
|
+
* TODO?: maybe we converge to use V1_TDSColumn
|
|
53
|
+
*
|
|
54
|
+
* Since here, we're building out the result builder config, we don't need
|
|
55
|
+
* to fully resolve all the references, hence we have this simplified version of V1_TDSColumn
|
|
56
|
+
*/
|
|
57
|
+
export class V1_INTERNAL__TDSColumn {
|
|
52
58
|
name!: string;
|
|
53
59
|
doc?: string | undefined;
|
|
54
60
|
type?: string | undefined;
|
|
55
61
|
relationalType?: string | undefined;
|
|
56
62
|
|
|
57
63
|
static readonly serialization = new SerializationFactory(
|
|
58
|
-
createModelSchema(
|
|
64
|
+
createModelSchema(V1_INTERNAL__TDSColumn, {
|
|
59
65
|
name: primitive(),
|
|
60
66
|
doc: optional(primitive()),
|
|
61
67
|
type: optional(primitive()),
|
|
@@ -65,12 +71,14 @@ export class V1_TDSColumn {
|
|
|
65
71
|
}
|
|
66
72
|
|
|
67
73
|
export class V1_TDSBuilder extends V1_ResultBuilder {
|
|
68
|
-
columns:
|
|
74
|
+
columns: V1_INTERNAL__TDSColumn[] = [];
|
|
69
75
|
|
|
70
76
|
static readonly serialization = new SerializationFactory(
|
|
71
77
|
createModelSchema(V1_TDSBuilder, {
|
|
72
78
|
_type: primitive(),
|
|
73
|
-
columns: list(
|
|
79
|
+
columns: list(
|
|
80
|
+
usingModelSchema(V1_INTERNAL__TDSColumn.serialization.schema),
|
|
81
|
+
),
|
|
74
82
|
}),
|
|
75
83
|
);
|
|
76
84
|
}
|
package/src/graphManager/protocol/pure/v1/model/packageableElements/V1_PackageableElement.ts
CHANGED
|
@@ -33,6 +33,7 @@ import type { V1_Measure } from './domain/V1_Measure.js';
|
|
|
33
33
|
import type { V1_SectionIndex } from './section/V1_SectionIndex.js';
|
|
34
34
|
import type { V1_DataElement } from './data/V1_DataElement.js';
|
|
35
35
|
import { ELEMENT_PATH_DELIMITER } from '../../../../../../graph/MetaModelConst.js';
|
|
36
|
+
import type { V1_ExecutionEnvironmentInstance } from './service/V1_ExecutionEnvironmentInstance.js';
|
|
36
37
|
|
|
37
38
|
export interface V1_PackageableElementVisitor<T> {
|
|
38
39
|
visit_PackageableElement(element: V1_PackageableElement): T;
|
|
@@ -53,6 +54,9 @@ export interface V1_PackageableElementVisitor<T> {
|
|
|
53
54
|
visit_GenerationSpecification(element: V1_GenerationSpecification): T;
|
|
54
55
|
visit_FileGeneration(element: V1_FileGenerationSpecification): T;
|
|
55
56
|
visit_DataElement(element: V1_DataElement): T;
|
|
57
|
+
visit_ExecutionEnvironmentInstance(
|
|
58
|
+
element: V1_ExecutionEnvironmentInstance,
|
|
59
|
+
): T;
|
|
56
60
|
}
|
|
57
61
|
|
|
58
62
|
export abstract class V1_PackageableElement implements Hashable {
|
|
@@ -80,10 +84,10 @@ export abstract class V1_PackageableElement implements Hashable {
|
|
|
80
84
|
}
|
|
81
85
|
|
|
82
86
|
export class V1_PackageableElementPointer implements Hashable {
|
|
83
|
-
type
|
|
87
|
+
type?: string | undefined;
|
|
84
88
|
path!: string;
|
|
85
89
|
|
|
86
|
-
constructor(type: string, path: string) {
|
|
90
|
+
constructor(type: string | undefined, path: string) {
|
|
87
91
|
this.type = type;
|
|
88
92
|
this.path = path;
|
|
89
93
|
}
|
|
@@ -91,7 +95,7 @@ export class V1_PackageableElementPointer implements Hashable {
|
|
|
91
95
|
get hashCode(): string {
|
|
92
96
|
return hashArray([
|
|
93
97
|
CORE_HASH_STRUCTURE.PACKAGEABLE_ELEMENT_POINTER,
|
|
94
|
-
this.type,
|
|
98
|
+
this.type ?? '',
|
|
95
99
|
this.path,
|
|
96
100
|
]);
|
|
97
101
|
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2020-present, Goldman Sachs
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import { type Hashable, hashArray } from '@finos/legend-shared';
|
|
18
|
+
import { CORE_HASH_STRUCTURE } from '../../../../../../../graph/Core_HashUtils.js';
|
|
19
|
+
import type { V1_Runtime } from '../runtime/V1_Runtime.js';
|
|
20
|
+
import {
|
|
21
|
+
V1_PackageableElement,
|
|
22
|
+
type V1_PackageableElementVisitor,
|
|
23
|
+
} from '../V1_PackageableElement.js';
|
|
24
|
+
|
|
25
|
+
export class V1_ExecutionEnvironmentInstance
|
|
26
|
+
extends V1_PackageableElement
|
|
27
|
+
implements Hashable
|
|
28
|
+
{
|
|
29
|
+
executionParameters: V1_ExecutionParameters[] = [];
|
|
30
|
+
|
|
31
|
+
override get hashCode(): string {
|
|
32
|
+
return hashArray([
|
|
33
|
+
CORE_HASH_STRUCTURE.EXECUTION_ENVIRONMENT_INSTANCE,
|
|
34
|
+
this.path,
|
|
35
|
+
hashArray(this.executionParameters),
|
|
36
|
+
]);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
accept_PackageableElementVisitor<T>(
|
|
40
|
+
visitor: V1_PackageableElementVisitor<T>,
|
|
41
|
+
): T {
|
|
42
|
+
return visitor.visit_ExecutionEnvironmentInstance(this);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export abstract class V1_ExecutionParameters implements Hashable {
|
|
47
|
+
abstract get hashCode(): string;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export class V1_SingleExecutionParameters
|
|
51
|
+
extends V1_ExecutionParameters
|
|
52
|
+
implements Hashable
|
|
53
|
+
{
|
|
54
|
+
key!: string;
|
|
55
|
+
mapping!: string;
|
|
56
|
+
runtime!: V1_Runtime;
|
|
57
|
+
|
|
58
|
+
get hashCode(): string {
|
|
59
|
+
return hashArray([
|
|
60
|
+
CORE_HASH_STRUCTURE.SINGLE_EXECUTION_PARAMETER,
|
|
61
|
+
this.key,
|
|
62
|
+
this.mapping,
|
|
63
|
+
this.runtime,
|
|
64
|
+
]);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
export class V1_MultiExecutionParameters
|
|
69
|
+
extends V1_ExecutionParameters
|
|
70
|
+
implements Hashable
|
|
71
|
+
{
|
|
72
|
+
masterKey!: string;
|
|
73
|
+
singleExecutionParameters: V1_SingleExecutionParameters[] = [];
|
|
74
|
+
|
|
75
|
+
get hashCode(): string {
|
|
76
|
+
return hashArray([
|
|
77
|
+
CORE_HASH_STRUCTURE.MULTI_EXECUTION_PARAMETER,
|
|
78
|
+
this.masterKey,
|
|
79
|
+
hashArray(this.singleExecutionParameters),
|
|
80
|
+
]);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
@@ -149,3 +149,19 @@ export class V1_MiddleTierUsernamePasswordAuthenticationStrategy
|
|
|
149
149
|
]);
|
|
150
150
|
}
|
|
151
151
|
}
|
|
152
|
+
|
|
153
|
+
export class V1_TrinoDelegatedKerberosAuthenticationStrategy
|
|
154
|
+
extends V1_AuthenticationStrategy
|
|
155
|
+
implements Hashable
|
|
156
|
+
{
|
|
157
|
+
kerberosRemoteServiceName!: string;
|
|
158
|
+
kerberosUseCanonicalHostname!: boolean;
|
|
159
|
+
|
|
160
|
+
get hashCode(): string {
|
|
161
|
+
return hashArray([
|
|
162
|
+
CORE_HASH_STRUCTURE.TRINO_DELEGATED_KERBEROS_AUTHENTICATION_STRATEGY,
|
|
163
|
+
this.kerberosRemoteServiceName,
|
|
164
|
+
this.kerberosUseCanonicalHostname.toString(),
|
|
165
|
+
]);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
@@ -194,3 +194,42 @@ export class V1_LocalH2DataSourceSpecification
|
|
|
194
194
|
]);
|
|
195
195
|
}
|
|
196
196
|
}
|
|
197
|
+
|
|
198
|
+
export class V1_TrinoSslSpecification implements Hashable {
|
|
199
|
+
ssl!: boolean;
|
|
200
|
+
trustStorePathVaultReference?: string | undefined;
|
|
201
|
+
trustStorePasswordVaultReference?: string | undefined;
|
|
202
|
+
|
|
203
|
+
get hashCode(): string {
|
|
204
|
+
return hashArray([
|
|
205
|
+
CORE_HASH_STRUCTURE.TRINO_SSL_SPECIFICATION,
|
|
206
|
+
this.ssl.toString(),
|
|
207
|
+
this.trustStorePathVaultReference ?? '',
|
|
208
|
+
this.trustStorePasswordVaultReference ?? '',
|
|
209
|
+
]);
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
export class V1_TrinoDatasourceSpecification
|
|
214
|
+
extends V1_DatasourceSpecification
|
|
215
|
+
implements Hashable
|
|
216
|
+
{
|
|
217
|
+
host!: string;
|
|
218
|
+
port!: number;
|
|
219
|
+
sslSpecification!: V1_TrinoSslSpecification;
|
|
220
|
+
catalog?: string | undefined;
|
|
221
|
+
schema?: string | undefined;
|
|
222
|
+
clientTags?: string | undefined;
|
|
223
|
+
|
|
224
|
+
get hashCode(): string {
|
|
225
|
+
return hashArray([
|
|
226
|
+
CORE_HASH_STRUCTURE.TRINO_DATASOURCE_SPECIFICATION,
|
|
227
|
+
this.host,
|
|
228
|
+
this.port.toString(),
|
|
229
|
+
this.sslSpecification,
|
|
230
|
+
this.catalog ?? '',
|
|
231
|
+
this.schema ?? '',
|
|
232
|
+
this.clientTags ?? '',
|
|
233
|
+
]);
|
|
234
|
+
}
|
|
235
|
+
}
|
package/src/graphManager/protocol/pure/v1/transformation/pureGraph/from/V1_ConnectionTransformer.ts
CHANGED
|
@@ -39,6 +39,7 @@ import {
|
|
|
39
39
|
UsernamePasswordAuthenticationStrategy,
|
|
40
40
|
GCPWorkloadIdentityFederationAuthenticationStrategy,
|
|
41
41
|
MiddleTierUsernamePasswordAuthenticationStrategy,
|
|
42
|
+
TrinoDelegatedKerberosAuthenticationStrategy,
|
|
42
43
|
} from '../../../../../../../graph/metamodel/pure/packageableElements/store/relational/connection/AuthenticationStrategy.js';
|
|
43
44
|
import {
|
|
44
45
|
type DatasourceSpecification,
|
|
@@ -50,6 +51,7 @@ import {
|
|
|
50
51
|
RedshiftDatasourceSpecification,
|
|
51
52
|
BigQueryDatasourceSpecification,
|
|
52
53
|
SpannerDatasourceSpecification,
|
|
54
|
+
TrinoDatasourceSpecification,
|
|
53
55
|
} from '../../../../../../../graph/metamodel/pure/packageableElements/store/relational/connection/DatasourceSpecification.js';
|
|
54
56
|
import type { ModelChainConnection } from '../../../../../../../graph/metamodel/pure/packageableElements/store/modelToModel/connection/ModelChainConnection.js';
|
|
55
57
|
import { V1_initPackageableElement } from './V1_CoreTransformerHelper.js';
|
|
@@ -64,6 +66,8 @@ import {
|
|
|
64
66
|
V1_StaticDatasourceSpecification,
|
|
65
67
|
V1_RedshiftDatasourceSpecification,
|
|
66
68
|
V1_SpannerDatasourceSpecification,
|
|
69
|
+
V1_TrinoDatasourceSpecification,
|
|
70
|
+
V1_TrinoSslSpecification,
|
|
67
71
|
} from '../../../model/packageableElements/store/relational/connection/V1_DatasourceSpecification.js';
|
|
68
72
|
import {
|
|
69
73
|
type V1_AuthenticationStrategy,
|
|
@@ -76,6 +80,7 @@ import {
|
|
|
76
80
|
V1_OAuthAuthenticationStrategy,
|
|
77
81
|
V1_GCPWorkloadIdentityFederationAuthenticationStrategy,
|
|
78
82
|
V1_MiddleTierUsernamePasswordAuthenticationStrategy,
|
|
83
|
+
V1_TrinoDelegatedKerberosAuthenticationStrategy,
|
|
79
84
|
} from '../../../model/packageableElements/store/relational/connection/V1_AuthenticationStrategy.js';
|
|
80
85
|
import type { V1_Connection } from '../../../model/packageableElements/connection/V1_Connection.js';
|
|
81
86
|
import {
|
|
@@ -178,6 +183,25 @@ const transformSpannerDatasourceSpecification = (
|
|
|
178
183
|
return source;
|
|
179
184
|
};
|
|
180
185
|
|
|
186
|
+
const transformTrinoDatasourceSpecification = (
|
|
187
|
+
metamodel: TrinoDatasourceSpecification,
|
|
188
|
+
): V1_TrinoDatasourceSpecification => {
|
|
189
|
+
const source = new V1_TrinoDatasourceSpecification();
|
|
190
|
+
source.host = metamodel.host;
|
|
191
|
+
source.port = metamodel.port;
|
|
192
|
+
source.catalog = metamodel.catalog;
|
|
193
|
+
source.schema = metamodel.schema;
|
|
194
|
+
source.clientTags = metamodel.clientTags;
|
|
195
|
+
const sslSpecification = new V1_TrinoSslSpecification();
|
|
196
|
+
sslSpecification.ssl = metamodel.sslSpecification.ssl;
|
|
197
|
+
sslSpecification.trustStorePathVaultReference =
|
|
198
|
+
metamodel.sslSpecification.trustStorePathVaultReference;
|
|
199
|
+
sslSpecification.trustStorePasswordVaultReference =
|
|
200
|
+
metamodel.sslSpecification.trustStorePasswordVaultReference;
|
|
201
|
+
source.sslSpecification = sslSpecification;
|
|
202
|
+
return source;
|
|
203
|
+
};
|
|
204
|
+
|
|
181
205
|
const transformDatasourceSpecification = (
|
|
182
206
|
metamodel: DatasourceSpecification,
|
|
183
207
|
context: V1_GraphTransformerContext,
|
|
@@ -201,6 +225,8 @@ const transformDatasourceSpecification = (
|
|
|
201
225
|
return protocol;
|
|
202
226
|
} else if (metamodel instanceof RedshiftDatasourceSpecification) {
|
|
203
227
|
return transformRedshiftDatasourceSpecification(metamodel);
|
|
228
|
+
} else if (metamodel instanceof TrinoDatasourceSpecification) {
|
|
229
|
+
return transformTrinoDatasourceSpecification(metamodel);
|
|
204
230
|
}
|
|
205
231
|
const extraConnectionDatasourceSpecificationTransformers =
|
|
206
232
|
context.plugins.flatMap(
|
|
@@ -277,6 +303,13 @@ const transformAuthenticationStrategy = (
|
|
|
277
303
|
const auth = new V1_MiddleTierUsernamePasswordAuthenticationStrategy();
|
|
278
304
|
auth.vaultReference = metamodel.vaultReference;
|
|
279
305
|
return auth;
|
|
306
|
+
} else if (
|
|
307
|
+
metamodel instanceof TrinoDelegatedKerberosAuthenticationStrategy
|
|
308
|
+
) {
|
|
309
|
+
const auth = new V1_TrinoDelegatedKerberosAuthenticationStrategy();
|
|
310
|
+
auth.kerberosRemoteServiceName = metamodel.kerberosRemoteServiceName;
|
|
311
|
+
auth.kerberosUseCanonicalHostname = metamodel.kerberosUseCanonicalHostname;
|
|
312
|
+
return auth;
|
|
280
313
|
}
|
|
281
314
|
const extraConnectionAuthenticationStrategyTransformers =
|
|
282
315
|
context.plugins.flatMap(
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2020-present, Goldman Sachs
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import {
|
|
18
|
+
type ExecutionEnvironmentInstance,
|
|
19
|
+
type ExecutionParameters,
|
|
20
|
+
SingleExecutionParameters,
|
|
21
|
+
MultiExecutionParameters,
|
|
22
|
+
} from '../../../../../../../graph/metamodel/pure/packageableElements/service/ExecutionEnvironmentInstance.js';
|
|
23
|
+
import { V1_initPackageableElement } from './V1_CoreTransformerHelper.js';
|
|
24
|
+
import type { V1_GraphTransformerContext } from './V1_GraphTransformerContext.js';
|
|
25
|
+
import {
|
|
26
|
+
type V1_ExecutionParameters,
|
|
27
|
+
V1_ExecutionEnvironmentInstance,
|
|
28
|
+
V1_MultiExecutionParameters,
|
|
29
|
+
V1_SingleExecutionParameters,
|
|
30
|
+
} from '../../../model/packageableElements/service/V1_ExecutionEnvironmentInstance.js';
|
|
31
|
+
import { V1_transformRuntime } from './V1_RuntimeTransformer.js';
|
|
32
|
+
import { UnsupportedOperationError } from '@finos/legend-shared';
|
|
33
|
+
|
|
34
|
+
const V1_transformSingleExecutionParameters = (
|
|
35
|
+
element: SingleExecutionParameters,
|
|
36
|
+
context: V1_GraphTransformerContext,
|
|
37
|
+
): V1_SingleExecutionParameters => {
|
|
38
|
+
const _val = new V1_SingleExecutionParameters();
|
|
39
|
+
_val.key = element.key;
|
|
40
|
+
_val.mapping = element.mapping.valueForSerialization ?? '';
|
|
41
|
+
_val.runtime = V1_transformRuntime(element.runtime, context);
|
|
42
|
+
return _val;
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
const V1_transformExecutionParameters = (
|
|
46
|
+
element: ExecutionParameters,
|
|
47
|
+
context: V1_GraphTransformerContext,
|
|
48
|
+
): V1_ExecutionParameters => {
|
|
49
|
+
if (element instanceof SingleExecutionParameters) {
|
|
50
|
+
return V1_transformSingleExecutionParameters(element, context);
|
|
51
|
+
} else if (element instanceof MultiExecutionParameters) {
|
|
52
|
+
const val = new V1_MultiExecutionParameters();
|
|
53
|
+
val.masterKey = element.masterKey;
|
|
54
|
+
val.singleExecutionParameters = element.singleExecutionParameters.map((s) =>
|
|
55
|
+
V1_transformSingleExecutionParameters(s, context),
|
|
56
|
+
);
|
|
57
|
+
return val;
|
|
58
|
+
}
|
|
59
|
+
throw new UnsupportedOperationError('Unsupported execution parameter type');
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
export const V1_transformExecutionEnvirnoment = (
|
|
63
|
+
element: ExecutionEnvironmentInstance,
|
|
64
|
+
context: V1_GraphTransformerContext,
|
|
65
|
+
): V1_ExecutionEnvironmentInstance => {
|
|
66
|
+
const execEnv = new V1_ExecutionEnvironmentInstance();
|
|
67
|
+
V1_initPackageableElement(execEnv, element);
|
|
68
|
+
execEnv.executionParameters = element.executionParameters.map((e) =>
|
|
69
|
+
V1_transformExecutionParameters(e, context),
|
|
70
|
+
);
|
|
71
|
+
return execEnv;
|
|
72
|
+
};
|
|
@@ -66,6 +66,8 @@ import type {
|
|
|
66
66
|
import type { V1_GraphTransformerContext } from './V1_GraphTransformerContext.js';
|
|
67
67
|
import type { DataElement } from '../../../../../../../graph/metamodel/pure/packageableElements/data/DataElement.js';
|
|
68
68
|
import { V1_transformDataElement } from './V1_DataElementTransformer.js';
|
|
69
|
+
import type { ExecutionEnvironmentInstance } from '../../../../../../../graph/metamodel/pure/packageableElements/service/ExecutionEnvironmentInstance.js';
|
|
70
|
+
import { V1_transformExecutionEnvirnoment } from './V1_ExecutionEnvironmentTransformer.js';
|
|
69
71
|
|
|
70
72
|
class V1_PackageableElementTransformer
|
|
71
73
|
implements PackageableElementVisitor<V1_PackageableElement>
|
|
@@ -175,6 +177,12 @@ class V1_PackageableElementTransformer
|
|
|
175
177
|
visit_DataElement(element: DataElement): V1_PackageableElement {
|
|
176
178
|
return V1_transformDataElement(element, this.context);
|
|
177
179
|
}
|
|
180
|
+
|
|
181
|
+
visit_ExecutionEnvironmentInstance(
|
|
182
|
+
element: ExecutionEnvironmentInstance,
|
|
183
|
+
): V1_PackageableElement {
|
|
184
|
+
return V1_transformExecutionEnvirnoment(element, this.context);
|
|
185
|
+
}
|
|
178
186
|
}
|
|
179
187
|
|
|
180
188
|
export const V1_transformPackageableElement = (
|
package/src/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFifthPassBuilder.ts
CHANGED
|
@@ -44,6 +44,7 @@ import type { V1_Measure } from '../../../model/packageableElements/domain/V1_Me
|
|
|
44
44
|
import { V1_buildDatabaseSchemaViewsSecondPass } from './helpers/V1_DatabaseBuilderHelper.js';
|
|
45
45
|
import type { V1_SectionIndex } from '../../../model/packageableElements/section/V1_SectionIndex.js';
|
|
46
46
|
import type { V1_DataElement } from '../../../model/packageableElements/data/V1_DataElement.js';
|
|
47
|
+
import type { V1_ExecutionEnvironmentInstance } from '../../../model/packageableElements/service/V1_ExecutionEnvironmentInstance.js';
|
|
47
48
|
|
|
48
49
|
export class V1_ElementFifthPassBuilder
|
|
49
50
|
implements V1_PackageableElementVisitor<void>
|
|
@@ -139,4 +140,10 @@ export class V1_ElementFifthPassBuilder
|
|
|
139
140
|
visit_DataElement(element: V1_DataElement): void {
|
|
140
141
|
throw new UnsupportedOperationError();
|
|
141
142
|
}
|
|
143
|
+
|
|
144
|
+
visit_ExecutionEnvironmentInstance(
|
|
145
|
+
element: V1_ExecutionEnvironmentInstance,
|
|
146
|
+
): void {
|
|
147
|
+
throw new UnsupportedOperationError();
|
|
148
|
+
}
|
|
142
149
|
}
|
package/src/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFirstPassBuilder.ts
CHANGED
|
@@ -66,6 +66,8 @@ import { DataElement } from '../../../../../../../graph/metamodel/pure/packageab
|
|
|
66
66
|
import { V1_buildFunctionSignature } from '../../../helpers/V1_DomainHelper.js';
|
|
67
67
|
import { Multiplicity } from '../../../../../../../graph/metamodel/pure/packageableElements/domain/Multiplicity.js';
|
|
68
68
|
import { PrimitiveType } from '../../../../../../../graph/metamodel/pure/packageableElements/domain/PrimitiveType.js';
|
|
69
|
+
import type { V1_ExecutionEnvironmentInstance } from '../../../model/packageableElements/service/V1_ExecutionEnvironmentInstance.js';
|
|
70
|
+
import { ExecutionEnvironmentInstance } from '../../../../../../../graph/metamodel/pure/packageableElements/service/ExecutionEnvironmentInstance.js';
|
|
69
71
|
|
|
70
72
|
export class V1_ElementFirstPassBuilder
|
|
71
73
|
implements V1_PackageableElementVisitor<PackageableElement>
|
|
@@ -488,4 +490,30 @@ export class V1_ElementFirstPassBuilder
|
|
|
488
490
|
this.context.currentSubGraph.setOwnDataElement(path, dataElement);
|
|
489
491
|
return dataElement;
|
|
490
492
|
}
|
|
493
|
+
|
|
494
|
+
visit_ExecutionEnvironmentInstance(
|
|
495
|
+
element: V1_ExecutionEnvironmentInstance,
|
|
496
|
+
): PackageableElement {
|
|
497
|
+
assertNonEmptyString(
|
|
498
|
+
element.package,
|
|
499
|
+
`Execution Environment 'package' field is missing or empty`,
|
|
500
|
+
);
|
|
501
|
+
assertNonEmptyString(
|
|
502
|
+
element.name,
|
|
503
|
+
`Execution Environment 'name' field is missing or empty`,
|
|
504
|
+
);
|
|
505
|
+
const exEnvir = new ExecutionEnvironmentInstance(element.name);
|
|
506
|
+
const path = V1_buildFullPath(element.package, element.name);
|
|
507
|
+
V1_checkDuplicatedElement(path, this.context, this.elementPathCache);
|
|
508
|
+
addElementToPackage(
|
|
509
|
+
getOrCreateGraphPackage(
|
|
510
|
+
this.context.currentSubGraph,
|
|
511
|
+
element.package,
|
|
512
|
+
this.packageCache,
|
|
513
|
+
),
|
|
514
|
+
exEnvir,
|
|
515
|
+
);
|
|
516
|
+
this.context.currentSubGraph.setOwnExecutionEnvironment(path, exEnvir);
|
|
517
|
+
return exEnvir;
|
|
518
|
+
}
|
|
491
519
|
}
|
package/src/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFourthPassBuilder.ts
CHANGED
|
@@ -52,6 +52,7 @@ import { V1_buildMilestoningProperties } from './helpers/V1_MilestoneBuilderHelp
|
|
|
52
52
|
import type { V1_DataElement } from '../../../model/packageableElements/data/V1_DataElement.js';
|
|
53
53
|
import { V1_buildTestSuite } from './helpers/V1_TestBuilderHelper.js';
|
|
54
54
|
import { MappingTestSuite } from '../../../../../../../graph/metamodel/pure/packageableElements/mapping/MappingTestSuite.js';
|
|
55
|
+
import type { V1_ExecutionEnvironmentInstance } from '../../../model/packageableElements/service/V1_ExecutionEnvironmentInstance.js';
|
|
55
56
|
|
|
56
57
|
export class V1_ElementFourthPassBuilder
|
|
57
58
|
implements V1_PackageableElementVisitor<void>
|
|
@@ -124,6 +125,12 @@ export class V1_ElementFourthPassBuilder
|
|
|
124
125
|
);
|
|
125
126
|
}
|
|
126
127
|
|
|
128
|
+
visit_ExecutionEnvironmentInstance(
|
|
129
|
+
element: V1_ExecutionEnvironmentInstance,
|
|
130
|
+
): void {
|
|
131
|
+
throw new UnsupportedOperationError();
|
|
132
|
+
}
|
|
133
|
+
|
|
127
134
|
visit_Mapping(element: V1_Mapping): void {
|
|
128
135
|
const path = V1_buildFullPath(element.package, element.name);
|
|
129
136
|
const mapping = this.context.currentSubGraph.getOwnMapping(path);
|
package/src/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementSecondPassBuilder.ts
CHANGED
|
@@ -87,6 +87,8 @@ import { V1_buildFunctionSignature } from '../../../helpers/V1_DomainHelper.js';
|
|
|
87
87
|
import { getFunctionName } from '../../../../../../../graph/helpers/DomainHelper.js';
|
|
88
88
|
import { GraphBuilderError } from '../../../../../../GraphManagerUtils.js';
|
|
89
89
|
import { PostValidation } from '../../../../../../../graph/metamodel/pure/packageableElements/service/PostValidation.js';
|
|
90
|
+
import type { V1_ExecutionEnvironmentInstance } from '../../../model/packageableElements/service/V1_ExecutionEnvironmentInstance.js';
|
|
91
|
+
import { V1_buildExecutionParameters } from './V1_ExecutionEnvironmentBuilderHelper.js';
|
|
90
92
|
|
|
91
93
|
export class V1_ElementSecondPassBuilder
|
|
92
94
|
implements V1_PackageableElementVisitor<void>
|
|
@@ -423,4 +425,15 @@ export class V1_ElementSecondPassBuilder
|
|
|
423
425
|
}
|
|
424
426
|
dataElement.data = V1_buildEmbeddedData(element.data, this.context);
|
|
425
427
|
}
|
|
428
|
+
|
|
429
|
+
visit_ExecutionEnvironmentInstance(
|
|
430
|
+
element: V1_ExecutionEnvironmentInstance,
|
|
431
|
+
): void {
|
|
432
|
+
const execEnv = this.context.currentSubGraph.getOwnExecutionEnvironment(
|
|
433
|
+
V1_buildFullPath(element.package, element.name),
|
|
434
|
+
);
|
|
435
|
+
execEnv.executionParameters = element.executionParameters.map((e) =>
|
|
436
|
+
V1_buildExecutionParameters(e, this.context),
|
|
437
|
+
);
|
|
438
|
+
}
|
|
426
439
|
}
|
package/src/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementThirdPassBuilder.ts
CHANGED
|
@@ -59,6 +59,7 @@ import type { V1_SectionIndex } from '../../../model/packageableElements/section
|
|
|
59
59
|
import { GraphBuilderError } from '../../../../../../../graphManager/GraphManagerUtils.js';
|
|
60
60
|
import type { V1_DataElement } from '../../../model/packageableElements/data/V1_DataElement.js';
|
|
61
61
|
import { V1_TEMPORARY__buildMilestoningClass } from './helpers/V1_MilestoneBuilderHelper.js';
|
|
62
|
+
import type { V1_ExecutionEnvironmentInstance } from '../../../model/packageableElements/service/V1_ExecutionEnvironmentInstance.js';
|
|
62
63
|
|
|
63
64
|
export class V1_ElementThirdPassBuilder
|
|
64
65
|
implements V1_PackageableElementVisitor<void>
|
|
@@ -87,6 +88,12 @@ export class V1_ElementThirdPassBuilder
|
|
|
87
88
|
throw new UnsupportedOperationError();
|
|
88
89
|
}
|
|
89
90
|
|
|
91
|
+
visit_ExecutionEnvironmentInstance(
|
|
92
|
+
element: V1_ExecutionEnvironmentInstance,
|
|
93
|
+
): void {
|
|
94
|
+
throw new UnsupportedOperationError();
|
|
95
|
+
}
|
|
96
|
+
|
|
90
97
|
visit_Class(element: V1_Class): void {
|
|
91
98
|
const _class = this.context.currentSubGraph.getOwnClass(
|
|
92
99
|
V1_buildFullPath(element.package, element.name),
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2020-present, Goldman Sachs
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import {
|
|
18
|
+
assertNonNullable,
|
|
19
|
+
UnsupportedOperationError,
|
|
20
|
+
} from '@finos/legend-shared';
|
|
21
|
+
import {
|
|
22
|
+
type Runtime,
|
|
23
|
+
RuntimePointer,
|
|
24
|
+
} from '../../../../../../../graph/metamodel/pure/packageableElements/runtime/Runtime.js';
|
|
25
|
+
import {
|
|
26
|
+
type ExecutionParameters,
|
|
27
|
+
MultiExecutionParameters,
|
|
28
|
+
SingleExecutionParameters,
|
|
29
|
+
} from '../../../../../../../graph/metamodel/pure/packageableElements/service/ExecutionEnvironmentInstance.js';
|
|
30
|
+
import {
|
|
31
|
+
type V1_Runtime,
|
|
32
|
+
V1_EngineRuntime,
|
|
33
|
+
V1_RuntimePointer,
|
|
34
|
+
} from '../../../model/packageableElements/runtime/V1_Runtime.js';
|
|
35
|
+
import {
|
|
36
|
+
type V1_ExecutionParameters,
|
|
37
|
+
V1_MultiExecutionParameters,
|
|
38
|
+
V1_SingleExecutionParameters,
|
|
39
|
+
} from '../../../model/packageableElements/service/V1_ExecutionEnvironmentInstance.js';
|
|
40
|
+
import { V1_buildEngineRuntime } from './helpers/V1_RuntimeBuilderHelper.js';
|
|
41
|
+
import type { V1_GraphBuilderContext } from './V1_GraphBuilderContext.js';
|
|
42
|
+
|
|
43
|
+
const buildExecutionRuntime = (
|
|
44
|
+
runtime: V1_Runtime,
|
|
45
|
+
context: V1_GraphBuilderContext,
|
|
46
|
+
): Runtime => {
|
|
47
|
+
if (runtime instanceof V1_RuntimePointer) {
|
|
48
|
+
assertNonNullable(
|
|
49
|
+
runtime.runtime,
|
|
50
|
+
`Runtime pointer 'runtime' field is missing`,
|
|
51
|
+
);
|
|
52
|
+
return new RuntimePointer(context.resolveRuntime(runtime.runtime));
|
|
53
|
+
} else if (runtime instanceof V1_EngineRuntime) {
|
|
54
|
+
return V1_buildEngineRuntime(runtime, context);
|
|
55
|
+
}
|
|
56
|
+
throw new UnsupportedOperationError();
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
export const V1_buildSingleExecutionParameters = (
|
|
60
|
+
protocol: V1_SingleExecutionParameters,
|
|
61
|
+
context: V1_GraphBuilderContext,
|
|
62
|
+
): SingleExecutionParameters => {
|
|
63
|
+
const element = new SingleExecutionParameters();
|
|
64
|
+
element.key = protocol.key;
|
|
65
|
+
element.mapping = context.resolveMapping(protocol.mapping);
|
|
66
|
+
element.runtime = buildExecutionRuntime(protocol.runtime, context);
|
|
67
|
+
|
|
68
|
+
return element;
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
export const V1_buildExecutionParameters = (
|
|
72
|
+
protocol: V1_ExecutionParameters,
|
|
73
|
+
context: V1_GraphBuilderContext,
|
|
74
|
+
): ExecutionParameters => {
|
|
75
|
+
if (protocol instanceof V1_SingleExecutionParameters) {
|
|
76
|
+
return V1_buildSingleExecutionParameters(protocol, context);
|
|
77
|
+
} else if (protocol instanceof V1_MultiExecutionParameters) {
|
|
78
|
+
const element = new MultiExecutionParameters();
|
|
79
|
+
element.masterKey = protocol.masterKey;
|
|
80
|
+
element.singleExecutionParameters = protocol.singleExecutionParameters.map(
|
|
81
|
+
(e) => V1_buildSingleExecutionParameters(e, context),
|
|
82
|
+
);
|
|
83
|
+
return element;
|
|
84
|
+
}
|
|
85
|
+
throw new UnsupportedOperationError(
|
|
86
|
+
'Unsupported execution environment parameter type',
|
|
87
|
+
);
|
|
88
|
+
};
|