@finos/legend-graph 0.0.4 → 0.1.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/CHANGELOG.md +19 -1
- package/lib/DSLMapping_Exports.d.ts +4 -1
- package/lib/DSLMapping_Exports.d.ts.map +1 -1
- package/lib/DSLMapping_Exports.js +2 -1
- package/lib/DSLMapping_Exports.js.map +1 -1
- package/lib/MetaModelUtils.js +1 -1
- package/lib/MetaModelUtils.js.map +1 -1
- package/lib/graphManager/AbstractPureGraphManager.d.ts +8 -2
- package/lib/graphManager/AbstractPureGraphManager.d.ts.map +1 -1
- package/lib/graphManager/AbstractPureGraphManager.js.map +1 -1
- package/lib/graphManager/action/execution/ExecutionResult.d.ts +2 -2
- package/lib/graphManager/action/execution/ExecutionResult.d.ts.map +1 -1
- package/lib/graphManager/action/execution/ExecutionResult.js +2 -4
- package/lib/graphManager/action/execution/ExecutionResult.js.map +1 -1
- package/lib/graphManager/action/execution/ExecutionResultHelper.d.ts +18 -0
- package/lib/graphManager/action/execution/ExecutionResultHelper.d.ts.map +1 -0
- package/lib/graphManager/action/execution/ExecutionResultHelper.js +36 -0
- package/lib/graphManager/action/execution/ExecutionResultHelper.js.map +1 -0
- package/lib/helpers/MappingHelper.d.ts +4 -0
- package/lib/helpers/MappingHelper.d.ts.map +1 -1
- package/lib/helpers/MappingHelper.js +15 -3
- package/lib/helpers/MappingHelper.js.map +1 -1
- package/lib/helpers/MappingResolutionHelper.d.ts +7 -1
- package/lib/helpers/MappingResolutionHelper.d.ts.map +1 -1
- package/lib/helpers/MappingResolutionHelper.js +11 -5
- package/lib/helpers/MappingResolutionHelper.js.map +1 -1
- package/lib/index.d.ts +6 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +6 -0
- package/lib/index.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/connection/Connection.d.ts +1 -0
- package/lib/models/metamodels/pure/packageableElements/connection/Connection.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/connection/Connection.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/domain/Multiplicity.d.ts +2 -0
- package/lib/models/metamodels/pure/packageableElements/domain/Multiplicity.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/domain/Multiplicity.js +9 -1
- package/lib/models/metamodels/pure/packageableElements/domain/Multiplicity.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/mapping/Mapping.d.ts +2 -2
- package/lib/models/metamodels/pure/packageableElements/mapping/Mapping.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/mapping/Mapping.js +4 -6
- package/lib/models/metamodels/pure/packageableElements/mapping/Mapping.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/mapping/PropertyMappingsImplementation.d.ts +1 -0
- package/lib/models/metamodels/pure/packageableElements/mapping/PropertyMappingsImplementation.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/service/Service.d.ts +4 -0
- package/lib/models/metamodels/pure/packageableElements/service/Service.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/service/Service.js +4 -0
- package/lib/models/metamodels/pure/packageableElements/service/Service.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PureInstanceSetImplementation.d.ts +1 -0
- package/lib/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PureInstanceSetImplementation.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PureInstanceSetImplementation.js +4 -0
- package/lib/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PureInstanceSetImplementation.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/RootRelationalInstanceSetImplementation.d.ts +2 -1
- package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/RootRelationalInstanceSetImplementation.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/RootRelationalInstanceSetImplementation.js +4 -1
- package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/RootRelationalInstanceSetImplementation.js.map +1 -1
- package/lib/models/metamodels/pure/valueSpecification/ValueSpecification.d.ts +1 -0
- package/lib/models/metamodels/pure/valueSpecification/ValueSpecification.d.ts.map +1 -1
- package/lib/models/metamodels/pure/valueSpecification/ValueSpecification.js +8 -0
- package/lib/models/metamodels/pure/valueSpecification/ValueSpecification.js.map +1 -1
- package/lib/models/metamodels/pure/valueSpecification/VariableExpression.d.ts +3 -1
- package/lib/models/metamodels/pure/valueSpecification/VariableExpression.d.ts.map +1 -1
- package/lib/models/metamodels/pure/valueSpecification/VariableExpression.js +11 -1
- package/lib/models/metamodels/pure/valueSpecification/VariableExpression.js.map +1 -1
- package/lib/models/protocols/pure/DSLMapping_PureProtocolProcessorPlugin_Extension.d.ts +34 -0
- package/lib/models/protocols/pure/DSLMapping_PureProtocolProcessorPlugin_Extension.d.ts.map +1 -0
- package/lib/models/protocols/pure/DSLMapping_PureProtocolProcessorPlugin_Extension.js +19 -0
- package/lib/models/protocols/pure/DSLMapping_PureProtocolProcessorPlugin_Extension.js.map +1 -0
- package/lib/models/protocols/pure/v1/V1_PureGraphManager.d.ts +8 -2
- package/lib/models/protocols/pure/v1/V1_PureGraphManager.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/V1_PureGraphManager.js +16 -9
- package/lib/models/protocols/pure/v1/V1_PureGraphManager.js.map +1 -1
- package/lib/models/protocols/pure/v1/engine/V1_Engine.d.ts +6 -1
- package/lib/models/protocols/pure/v1/engine/V1_Engine.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/engine/V1_Engine.js +4 -3
- package/lib/models/protocols/pure/v1/engine/V1_Engine.js.map +1 -1
- package/lib/models/protocols/pure/v1/engine/V1_EngineServerClient.d.ts +6 -1
- package/lib/models/protocols/pure/v1/engine/V1_EngineServerClient.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/engine/V1_EngineServerClient.js +5 -4
- package/lib/models/protocols/pure/v1/engine/V1_EngineServerClient.js.map +1 -1
- package/lib/models/protocols/pure/v1/engine/V1_ExecutionHelper.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/engine/V1_ExecutionHelper.js +1 -2
- package/lib/models/protocols/pure/v1/engine/V1_ExecutionHelper.js.map +1 -1
- package/lib/models/protocols/pure/v1/engine/generation/V1_DatabaseBuilderInput.d.ts +2 -1
- package/lib/models/protocols/pure/v1/engine/generation/V1_DatabaseBuilderInput.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/engine/generation/V1_DatabaseBuilderInput.js +6 -4
- package/lib/models/protocols/pure/v1/engine/generation/V1_DatabaseBuilderInput.js.map +1 -1
- package/lib/models/protocols/pure/v1/model/context/V1_AlloySdlc.d.ts +3 -2
- package/lib/models/protocols/pure/v1/model/context/V1_AlloySdlc.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/model/context/V1_AlloySdlc.js +5 -3
- package/lib/models/protocols/pure/v1/model/context/V1_AlloySdlc.js.map +1 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/connection/V1_Connection.d.ts +1 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/connection/V1_Connection.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/connection/V1_Connection.js.map +1 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_ClassMapping.d.ts +1 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_ClassMapping.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_ClassMapping.js +1 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_ClassMapping.js.map +1 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/service/V1_Service.d.ts +4 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/service/V1_Service.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/service/V1_Service.js +4 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/service/V1_Service.js.map +1 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/mapping/V1_RootRelationalClassMapping.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/mapping/V1_RootRelationalClassMapping.js +1 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/mapping/V1_RootRelationalClassMapping.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_ConnectionTransformer.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_ConnectionTransformer.js +10 -0
- package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_ConnectionTransformer.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_DomainTransformer.d.ts +6 -0
- package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_DomainTransformer.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_DomainTransformer.js +16 -16
- package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_DomainTransformer.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.js +4 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_ServiceTransformer.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_ServiceTransformer.js +3 -0
- package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_ServiceTransformer.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_ValueSpecificationTransformer.d.ts +6 -33
- package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_ValueSpecificationTransformer.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_ValueSpecificationTransformer.js +22 -5
- package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_ValueSpecificationTransformer.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingSecondPassBuilder.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingSecondPassBuilder.js +17 -12
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingSecondPassBuilder.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelConnectionBuilder.d.ts +2 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelConnectionBuilder.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelConnectionBuilder.js +12 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelConnectionBuilder.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphSecondPassBuilder.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphSecondPassBuilder.js +6 -0
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphSecondPassBuilder.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_MappingBuilderHelper.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_MappingBuilderHelper.js +5 -2
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_MappingBuilderHelper.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RelationalClassMappingBuilderHelper.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RelationalClassMappingBuilderHelper.js +4 -2
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RelationalClassMappingBuilderHelper.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/V1_PackageableElementSerialization.d.ts +1 -0
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/V1_PackageableElementSerialization.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/V1_PackageableElementSerialization.js +4 -2
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/V1_PackageableElementSerialization.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/V1_PureProtocolSerialization.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/V1_PureProtocolSerialization.js +4 -3
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/V1_PureProtocolSerialization.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ConnectionSerializationHelper.d.ts +9 -8
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ConnectionSerializationHelper.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ConnectionSerializationHelper.js +20 -5
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ConnectionSerializationHelper.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_CoreSerializationHelper.d.ts +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_CoreSerializationHelper.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_CoreSerializationHelper.js +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_CoreSerializationHelper.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_GenerationSpecificationSerializationHelper.js +2 -2
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_GenerationSpecificationSerializationHelper.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_MappingSerializationHelper.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_MappingSerializationHelper.js +4 -2
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_MappingSerializationHelper.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_RuntimeSerializationHelper.d.ts +4 -5
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_RuntimeSerializationHelper.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_RuntimeSerializationHelper.js +26 -22
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_RuntimeSerializationHelper.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ServiceSerializationHelper.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ServiceSerializationHelper.js +8 -5
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ServiceSerializationHelper.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ValueSpecificationSerializer.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ValueSpecificationSerializer.js +3 -2
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ValueSpecificationSerializer.js.map +1 -1
- package/package.json +6 -6
- package/src/DSLMapping_Exports.ts +4 -1
- package/src/MetaModelUtils.ts +1 -1
- package/src/graphManager/AbstractPureGraphManager.ts +9 -6
- package/src/graphManager/action/execution/ExecutionResult.ts +2 -4
- package/src/graphManager/action/execution/ExecutionResultHelper.ts +45 -0
- package/src/helpers/MappingHelper.ts +43 -3
- package/src/helpers/MappingResolutionHelper.ts +14 -5
- package/src/index.ts +12 -0
- package/src/models/metamodels/pure/packageableElements/connection/Connection.ts +1 -0
- package/src/models/metamodels/pure/packageableElements/domain/Multiplicity.ts +11 -1
- package/src/models/metamodels/pure/packageableElements/mapping/Mapping.ts +4 -6
- package/src/models/metamodels/pure/packageableElements/mapping/PropertyMappingsImplementation.ts +1 -0
- package/src/models/metamodels/pure/packageableElements/service/Service.ts +8 -0
- package/src/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PureInstanceSetImplementation.ts +4 -0
- package/src/models/metamodels/pure/packageableElements/store/relational/mapping/RootRelationalInstanceSetImplementation.ts +5 -2
- package/src/models/metamodels/pure/valueSpecification/ValueSpecification.ts +9 -0
- package/src/models/metamodels/pure/valueSpecification/VariableExpression.ts +17 -1
- package/src/models/protocols/pure/DSLMapping_PureProtocolProcessorPlugin_Extension.ts +53 -0
- package/src/models/protocols/pure/v1/V1_PureGraphManager.ts +32 -21
- package/src/models/protocols/pure/v1/engine/V1_Engine.ts +11 -13
- package/src/models/protocols/pure/v1/engine/V1_EngineServerClient.ts +10 -8
- package/src/models/protocols/pure/v1/engine/V1_ExecutionHelper.ts +1 -5
- package/src/models/protocols/pure/v1/engine/generation/V1_DatabaseBuilderInput.ts +14 -11
- package/src/models/protocols/pure/v1/model/context/V1_AlloySdlc.ts +9 -3
- package/src/models/protocols/pure/v1/model/packageableElements/connection/V1_Connection.ts +1 -0
- package/src/models/protocols/pure/v1/model/packageableElements/mapping/V1_ClassMapping.ts +1 -0
- package/src/models/protocols/pure/v1/model/packageableElements/service/V1_Service.ts +6 -0
- package/src/models/protocols/pure/v1/model/packageableElements/store/relational/mapping/V1_RootRelationalClassMapping.ts +1 -0
- package/src/models/protocols/pure/v1/transformation/pureGraph/from/V1_ConnectionTransformer.ts +20 -0
- package/src/models/protocols/pure/v1/transformation/pureGraph/from/V1_DomainTransformer.ts +20 -16
- package/src/models/protocols/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.ts +6 -3
- package/src/models/protocols/pure/v1/transformation/pureGraph/from/V1_ServiceTransformer.ts +6 -0
- package/src/models/protocols/pure/v1/transformation/pureGraph/from/V1_ValueSpecificationTransformer.ts +34 -10
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingSecondPassBuilder.ts +21 -12
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelConnectionBuilder.ts +26 -1
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphSecondPassBuilder.ts +6 -0
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_MappingBuilderHelper.ts +7 -2
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RelationalClassMappingBuilderHelper.ts +4 -2
- package/src/models/protocols/pure/v1/transformation/pureProtocol/V1_PackageableElementSerialization.ts +7 -2
- package/src/models/protocols/pure/v1/transformation/pureProtocol/V1_PureProtocolSerialization.ts +4 -3
- package/src/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ConnectionSerializationHelper.ts +37 -8
- package/src/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_CoreSerializationHelper.ts +5 -3
- package/src/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_GenerationSpecificationSerializationHelper.ts +2 -2
- package/src/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_MappingSerializationHelper.ts +4 -2
- package/src/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_RuntimeSerializationHelper.ts +42 -38
- package/src/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ServiceSerializationHelper.ts +37 -6
- package/src/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ValueSpecificationSerializer.ts +3 -5
- package/tsconfig.json +2 -0
- package/tsconfig.package.json +40 -0
|
@@ -0,0 +1,45 @@
|
|
|
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 { UnsupportedOperationError } from '@finos/legend-shared';
|
|
18
|
+
import type { ExecutionResult } from './ExecutionResult';
|
|
19
|
+
import {
|
|
20
|
+
JsonExecutionResult,
|
|
21
|
+
TdsExecutionResult,
|
|
22
|
+
ClassExecutionResult,
|
|
23
|
+
INTERNAL__UnknownExecutionResult,
|
|
24
|
+
} from './ExecutionResult';
|
|
25
|
+
|
|
26
|
+
// Execution Results often wrap the result values with additional metadata.
|
|
27
|
+
// This method extracts the actual values from the execution result
|
|
28
|
+
export const extractExecutionResultValues = (
|
|
29
|
+
executionResult: ExecutionResult,
|
|
30
|
+
): object => {
|
|
31
|
+
if (executionResult instanceof JsonExecutionResult) {
|
|
32
|
+
return executionResult.values;
|
|
33
|
+
} else if (executionResult instanceof TdsExecutionResult) {
|
|
34
|
+
// Note we need the result values in object format to run test results
|
|
35
|
+
return executionResult.result.rows.map((v) => ({ values: v.values }));
|
|
36
|
+
} else if (executionResult instanceof ClassExecutionResult) {
|
|
37
|
+
return executionResult.objects;
|
|
38
|
+
} else if (executionResult instanceof INTERNAL__UnknownExecutionResult) {
|
|
39
|
+
return executionResult.content;
|
|
40
|
+
}
|
|
41
|
+
throw new UnsupportedOperationError(
|
|
42
|
+
`Can't extract values from execution result`,
|
|
43
|
+
executionResult,
|
|
44
|
+
);
|
|
45
|
+
};
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
import { guaranteeNonNullable } from '@finos/legend-shared';
|
|
17
|
+
import { guaranteeNonNullable, uniq } from '@finos/legend-shared';
|
|
18
18
|
import type { EnumerationMapping } from '../models/metamodels/pure/packageableElements/mapping/EnumerationMapping';
|
|
19
19
|
import type { SetImplementation } from '../models/metamodels/pure/packageableElements/mapping/SetImplementation';
|
|
20
20
|
import type { Class } from '../models/metamodels/pure/packageableElements/domain/Class';
|
|
@@ -22,6 +22,24 @@ import type { Enumeration } from '../models/metamodels/pure/packageableElements/
|
|
|
22
22
|
import type { Mapping } from '../models/metamodels/pure/packageableElements/mapping/Mapping';
|
|
23
23
|
import { AggregationAwareSetImplementation } from '../models/metamodels/pure/packageableElements/mapping/aggregationAware/AggregationAwareSetImplementation';
|
|
24
24
|
|
|
25
|
+
export const getAllClassMappings = (mapping: Mapping): SetImplementation[] =>
|
|
26
|
+
uniq(
|
|
27
|
+
mapping.allOwnClassMappings.concat(
|
|
28
|
+
mapping.allIncludedMappings.map((e) => e.allOwnClassMappings).flat(),
|
|
29
|
+
),
|
|
30
|
+
);
|
|
31
|
+
|
|
32
|
+
export const getAllEnumerationMappings = (
|
|
33
|
+
mapping: Mapping,
|
|
34
|
+
): EnumerationMapping[] =>
|
|
35
|
+
uniq(
|
|
36
|
+
mapping.allOwnEnumerationMappings.concat(
|
|
37
|
+
mapping.allIncludedMappings
|
|
38
|
+
.map((e) => e.allOwnEnumerationMappings)
|
|
39
|
+
.flat(),
|
|
40
|
+
),
|
|
41
|
+
);
|
|
42
|
+
|
|
25
43
|
export const extractClassMappingsFromAggregationAwareClassMappings = (
|
|
26
44
|
mapping: Mapping,
|
|
27
45
|
): SetImplementation[] => {
|
|
@@ -45,25 +63,47 @@ export const extractClassMappingsFromAggregationAwareClassMappings = (
|
|
|
45
63
|
];
|
|
46
64
|
};
|
|
47
65
|
|
|
66
|
+
export const getOwnClassMappingById = (
|
|
67
|
+
mapping: Mapping,
|
|
68
|
+
id: string,
|
|
69
|
+
): SetImplementation =>
|
|
70
|
+
guaranteeNonNullable(
|
|
71
|
+
[
|
|
72
|
+
...mapping.allOwnClassMappings,
|
|
73
|
+
...extractClassMappingsFromAggregationAwareClassMappings(mapping),
|
|
74
|
+
].find((classMapping) => classMapping.id.value === id),
|
|
75
|
+
`Can't find class mapping with ID '${id}' in mapping '${mapping.path}'`,
|
|
76
|
+
);
|
|
77
|
+
|
|
48
78
|
export const getClassMappingById = (
|
|
49
79
|
mapping: Mapping,
|
|
50
80
|
id: string,
|
|
51
81
|
): SetImplementation =>
|
|
52
82
|
guaranteeNonNullable(
|
|
53
83
|
[
|
|
54
|
-
...mapping
|
|
84
|
+
...getAllClassMappings(mapping),
|
|
55
85
|
...extractClassMappingsFromAggregationAwareClassMappings(mapping),
|
|
56
86
|
].find((classMapping) => classMapping.id.value === id),
|
|
57
87
|
`Can't find class mapping with ID '${id}' in mapping '${mapping.path}'`,
|
|
58
88
|
);
|
|
59
89
|
|
|
90
|
+
export const getOwnClassMappingsByClass = (
|
|
91
|
+
mapping: Mapping,
|
|
92
|
+
_class: Class,
|
|
93
|
+
): SetImplementation[] =>
|
|
94
|
+
// TODO: Add association property Mapping to class mappings, AggregationAwareSetImplementation, mappingClass
|
|
95
|
+
// NOTE: Add in the proper order so find root can resolve properly down the line
|
|
96
|
+
mapping.allOwnClassMappings.filter(
|
|
97
|
+
(classMapping) => classMapping.class.value === _class,
|
|
98
|
+
);
|
|
99
|
+
|
|
60
100
|
export const getClassMappingsByClass = (
|
|
61
101
|
mapping: Mapping,
|
|
62
102
|
_class: Class,
|
|
63
103
|
): SetImplementation[] =>
|
|
64
104
|
// TODO: Add association property Mapping to class mappings, AggregationAwareSetImplementation, mappingClass
|
|
65
105
|
// NOTE: Add in the proper order so find root can resolve properly down the line
|
|
66
|
-
mapping.
|
|
106
|
+
getAllClassMappings(mapping).filter(
|
|
67
107
|
(classMapping) => classMapping.class.value === _class,
|
|
68
108
|
);
|
|
69
109
|
|
|
@@ -22,17 +22,22 @@ import type { PropertyMapping } from '../models/metamodels/pure/packageableEleme
|
|
|
22
22
|
import type { Property } from '../models/metamodels/pure/packageableElements/domain/Property';
|
|
23
23
|
import type { Mapping } from '../models/metamodels/pure/packageableElements/mapping/Mapping';
|
|
24
24
|
import type { Class } from '../models/metamodels/pure/packageableElements/domain/Class';
|
|
25
|
-
import {
|
|
25
|
+
import {
|
|
26
|
+
getClassMappingsByClass,
|
|
27
|
+
getOwnClassMappingsByClass,
|
|
28
|
+
} from './MappingHelper';
|
|
26
29
|
|
|
27
30
|
/**
|
|
28
31
|
* If this is the only mapping element for the target class, automatically mark it as root,
|
|
29
32
|
* otherwise, if there is another set implementation make it non-root,
|
|
30
|
-
* otherwise, leave other set implementation root status as-is
|
|
33
|
+
* otherwise, leave other set implementation root status as-is.
|
|
34
|
+
* NOTE: use get `OWN` class mappings as we are smartly updating the current mapping in the form editor,
|
|
35
|
+
* which does not support `include` mappings as of now.
|
|
31
36
|
*/
|
|
32
37
|
export const updateRootSetImplementationOnCreate = (
|
|
33
38
|
setImp: SetImplementation,
|
|
34
39
|
): void => {
|
|
35
|
-
const classMappingsWithSimilarTarget =
|
|
40
|
+
const classMappingsWithSimilarTarget = getOwnClassMappingsByClass(
|
|
36
41
|
setImp.parent,
|
|
37
42
|
setImp.class.value,
|
|
38
43
|
).filter((si) => si !== setImp);
|
|
@@ -48,11 +53,13 @@ export const updateRootSetImplementationOnCreate = (
|
|
|
48
53
|
|
|
49
54
|
/**
|
|
50
55
|
* If only one set implementation remained, it will be nominated as the new root
|
|
56
|
+
* NOTE: use get `OWN` class mappings as we are smartly updating the current mapping in the form editor,
|
|
57
|
+
* which does not support `include` mappings as of now.
|
|
51
58
|
*/
|
|
52
59
|
export const updateRootSetImplementationOnDelete = (
|
|
53
60
|
setImp: SetImplementation,
|
|
54
61
|
): void => {
|
|
55
|
-
const classMappingsWithSimilarTarget =
|
|
62
|
+
const classMappingsWithSimilarTarget = getOwnClassMappingsByClass(
|
|
56
63
|
setImp.parent,
|
|
57
64
|
setImp.class.value,
|
|
58
65
|
).filter((si) => si !== setImp);
|
|
@@ -64,11 +71,13 @@ export const updateRootSetImplementationOnDelete = (
|
|
|
64
71
|
/**
|
|
65
72
|
* Make the nominated set implementation root and flip the root flag of all other
|
|
66
73
|
* set implementations with the same target
|
|
74
|
+
* NOTE: use get `OWN` class mappings as we are smartly updating the current mapping in the form editor,
|
|
75
|
+
* which does not support `include` mappings as of now.
|
|
67
76
|
*/
|
|
68
77
|
export const nominateRootSetImplementation = (
|
|
69
78
|
setImp: SetImplementation,
|
|
70
79
|
): void => {
|
|
71
|
-
const classMappingsWithSimilarTarget =
|
|
80
|
+
const classMappingsWithSimilarTarget = getOwnClassMappingsByClass(
|
|
72
81
|
setImp.parent,
|
|
73
82
|
setImp.class.value,
|
|
74
83
|
);
|
package/src/index.ts
CHANGED
|
@@ -65,10 +65,15 @@ export {
|
|
|
65
65
|
StereotypeReference,
|
|
66
66
|
StereotypeExplicitReference,
|
|
67
67
|
} from './models/metamodels/pure/packageableElements/domain/StereotypeReference';
|
|
68
|
+
export {
|
|
69
|
+
TagReference,
|
|
70
|
+
TagExplicitReference,
|
|
71
|
+
} from './models/metamodels/pure/packageableElements/domain/TagReference';
|
|
68
72
|
|
|
69
73
|
// V1 protocols
|
|
70
74
|
export * from './models/protocols/pure/v1/model/packageableElements/V1_PackageableElement';
|
|
71
75
|
export { V1_StereotypePtr } from './models/protocols/pure/v1/model/packageableElements/domain/V1_StereotypePtr';
|
|
76
|
+
export { V1_TaggedValue } from './models/protocols/pure/v1/model/packageableElements/domain/V1_TaggedValue';
|
|
72
77
|
export { V1_PropertyPointer } from './models/protocols/pure/v1/model/packageableElements/domain/V1_PropertyPointer';
|
|
73
78
|
|
|
74
79
|
// --------------------------------------------- VALUE SPECIFICATION --------------------------------------------------
|
|
@@ -169,6 +174,7 @@ export {
|
|
|
169
174
|
ExecutionResult,
|
|
170
175
|
TdsExecutionResult,
|
|
171
176
|
} from './graphManager/action/execution/ExecutionResult';
|
|
177
|
+
export * from './graphManager/action/execution/ExecutionResultHelper';
|
|
172
178
|
export * from './graphManager/PureGraphManagerPlugin';
|
|
173
179
|
export * from './graphManager/action/query/Query';
|
|
174
180
|
export * from './graphManager/action/EngineError';
|
|
@@ -186,6 +192,11 @@ export { getGraphManager } from './models/protocols/pure/Pure';
|
|
|
186
192
|
export * from './models/protocols/pure/PureProtocolProcessorPlugin';
|
|
187
193
|
|
|
188
194
|
// V1 transformation
|
|
195
|
+
export {
|
|
196
|
+
V1_transformStereotype,
|
|
197
|
+
V1_transformTaggedValue,
|
|
198
|
+
} from './models/protocols/pure/v1/transformation/pureGraph/from/V1_DomainTransformer';
|
|
199
|
+
export { V1_buildTaggedValue } from './models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DomainBuilderHelper';
|
|
189
200
|
export { V1_PureModelContextData } from './models/protocols/pure/v1/model/context/V1_PureModelContextData';
|
|
190
201
|
export * from './models/protocols/pure/v1/transformation/pureGraph/to/V1_GraphBuilderContext';
|
|
191
202
|
export * from './models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementBuilder';
|
|
@@ -212,6 +223,7 @@ export {
|
|
|
212
223
|
V1_propertyPointerModelSchema,
|
|
213
224
|
V1_stereotypePtrSchema,
|
|
214
225
|
} from './models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DomainSerializationHelper';
|
|
226
|
+
export { V1_taggedValueSchema } from './models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DomainSerializationHelper';
|
|
215
227
|
export { V1_serializeValueSpecification } from './models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ValueSpecificationSerializer';
|
|
216
228
|
export { V1_deserializeRawValueSpecification } from './models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_RawValueSpecificationSerializationHelper';
|
|
217
229
|
export { V1_serializeRawValueSpecification } from './models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_RawValueSpecificationSerializationHelper';
|
|
@@ -28,6 +28,7 @@ import type { PackageableElementReference } from '../PackageableElementReference
|
|
|
28
28
|
import type { ModelChainConnection } from '../store/modelToModel/connection/ModelChainConnection';
|
|
29
29
|
|
|
30
30
|
export interface ConnectionVisitor<T> {
|
|
31
|
+
visit_Connection(connection: Connection): T;
|
|
31
32
|
visit_ConnectionPointer(connection: ConnectionPointer): T;
|
|
32
33
|
visit_ModelChainConnection(connection: ModelChainConnection): T;
|
|
33
34
|
visit_JsonModelConnection(connection: JsonModelConnection): T;
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
import { observable, computed, makeObservable } from 'mobx';
|
|
17
|
+
import { observable, computed, makeObservable, action } from 'mobx';
|
|
18
18
|
import { hashArray } from '@finos/legend-shared';
|
|
19
19
|
import {
|
|
20
20
|
CORE_HASH_STRUCTURE,
|
|
@@ -32,12 +32,22 @@ export class Multiplicity implements Hashable {
|
|
|
32
32
|
upperBound: observable,
|
|
33
33
|
str: computed,
|
|
34
34
|
hashCode: computed,
|
|
35
|
+
setLowerBound: action,
|
|
36
|
+
setUpperBound: action,
|
|
35
37
|
});
|
|
36
38
|
|
|
37
39
|
this.lowerBound = lowerBound;
|
|
38
40
|
this.upperBound = upperBound;
|
|
39
41
|
}
|
|
40
42
|
|
|
43
|
+
setLowerBound(val: number): void {
|
|
44
|
+
this.lowerBound = val;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
setUpperBound(val: number | undefined): void {
|
|
48
|
+
this.upperBound = val;
|
|
49
|
+
}
|
|
50
|
+
|
|
41
51
|
get str(): string {
|
|
42
52
|
if (this.lowerBound === this.upperBound) {
|
|
43
53
|
return this.lowerBound.toString();
|
|
@@ -52,8 +52,8 @@ export class Mapping extends PackageableElement implements Hashable, Stubable {
|
|
|
52
52
|
deleteAssociationMapping: action,
|
|
53
53
|
deleteTest: action,
|
|
54
54
|
addTest: action,
|
|
55
|
-
|
|
56
|
-
|
|
55
|
+
allOwnClassMappings: computed,
|
|
56
|
+
allOwnEnumerationMappings: computed,
|
|
57
57
|
allIncludedMappings: computed,
|
|
58
58
|
isStub: computed,
|
|
59
59
|
_elementHashCode: override,
|
|
@@ -92,13 +92,11 @@ export class Mapping extends PackageableElement implements Hashable, Stubable {
|
|
|
92
92
|
addUniqueEntry(this.tests, val);
|
|
93
93
|
}
|
|
94
94
|
|
|
95
|
-
|
|
96
|
-
get allClassMappings(): SetImplementation[] {
|
|
95
|
+
get allOwnClassMappings(): SetImplementation[] {
|
|
97
96
|
return this.classMappings;
|
|
98
97
|
}
|
|
99
98
|
|
|
100
|
-
|
|
101
|
-
get allEnumerationMappings(): EnumerationMapping[] {
|
|
99
|
+
get allOwnEnumerationMappings(): EnumerationMapping[] {
|
|
102
100
|
return this.enumerationMappings;
|
|
103
101
|
}
|
|
104
102
|
|
|
@@ -23,10 +23,14 @@ import type { ServiceTest } from './ServiceTest';
|
|
|
23
23
|
import { SingleExecutionTest } from './ServiceTest';
|
|
24
24
|
import type { PackageableElementVisitor } from '../PackageableElement';
|
|
25
25
|
import { PackageableElement } from '../PackageableElement';
|
|
26
|
+
import type { StereotypeReference } from '../domain/StereotypeReference';
|
|
27
|
+
import type { TaggedValue } from '../domain/TaggedValue';
|
|
26
28
|
|
|
27
29
|
export const DEFAULT_SERVICE_PATTERN = '/';
|
|
28
30
|
|
|
29
31
|
export class Service extends PackageableElement implements Hashable {
|
|
32
|
+
stereotypes: StereotypeReference[] = [];
|
|
33
|
+
taggedValues: TaggedValue[] = [];
|
|
30
34
|
pattern = '/';
|
|
31
35
|
owners: string[] = [];
|
|
32
36
|
documentation = '';
|
|
@@ -118,6 +122,10 @@ export class Service extends PackageableElement implements Hashable {
|
|
|
118
122
|
protected override get _elementHashCode(): string {
|
|
119
123
|
return hashArray([
|
|
120
124
|
CORE_HASH_STRUCTURE.SERVICE,
|
|
125
|
+
hashArray(
|
|
126
|
+
this.stereotypes.map((stereotype) => stereotype.pointerHashCode),
|
|
127
|
+
),
|
|
128
|
+
hashArray(this.taggedValues),
|
|
121
129
|
this.path,
|
|
122
130
|
this.pattern,
|
|
123
131
|
hashArray(this.owners),
|
|
@@ -54,6 +54,7 @@ export class PureInstanceSetImplementation
|
|
|
54
54
|
filter: observable,
|
|
55
55
|
setPropertyMappings: action,
|
|
56
56
|
setSrcClass: action,
|
|
57
|
+
setMappingFilter: action,
|
|
57
58
|
isStub: computed,
|
|
58
59
|
hashCode: computed,
|
|
59
60
|
});
|
|
@@ -67,6 +68,9 @@ export class PureInstanceSetImplementation
|
|
|
67
68
|
setSrcClass(value: Class | undefined): void {
|
|
68
69
|
this.srcClass.setValue(value);
|
|
69
70
|
}
|
|
71
|
+
setMappingFilter(value: RawLambda | undefined): void {
|
|
72
|
+
this.filter = value;
|
|
73
|
+
}
|
|
70
74
|
|
|
71
75
|
findPropertyMapping(
|
|
72
76
|
propertyName: string,
|
|
@@ -42,7 +42,8 @@ export class RootRelationalInstanceSetImplementation
|
|
|
42
42
|
filter?: FilterMapping | undefined;
|
|
43
43
|
distinct?: boolean | undefined;
|
|
44
44
|
groupBy?: GroupByMapping | undefined;
|
|
45
|
-
mainTableAlias
|
|
45
|
+
mainTableAlias?: TableAlias;
|
|
46
|
+
superSetImplementationId?: string | undefined;
|
|
46
47
|
|
|
47
48
|
constructor(
|
|
48
49
|
id: InferableMappingElementIdValue,
|
|
@@ -58,6 +59,7 @@ export class RootRelationalInstanceSetImplementation
|
|
|
58
59
|
distinct: observable,
|
|
59
60
|
groupBy: observable,
|
|
60
61
|
mainTableAlias: observable,
|
|
62
|
+
superSetImplementationId: observable,
|
|
61
63
|
setPropertyMappings: action,
|
|
62
64
|
hashCode: computed,
|
|
63
65
|
});
|
|
@@ -77,10 +79,11 @@ export class RootRelationalInstanceSetImplementation
|
|
|
77
79
|
return hashArray([
|
|
78
80
|
CORE_HASH_STRUCTURE.ROOT_RELATIONAL_INSTANCE_SET_IMPLEMENTATION,
|
|
79
81
|
super.hashCode,
|
|
80
|
-
this.mainTableAlias
|
|
82
|
+
this.mainTableAlias?.relation.pointerHashCode ?? '',
|
|
81
83
|
this.distinct?.toString() ?? '',
|
|
82
84
|
hashArray(this.groupBy?.columns ?? []),
|
|
83
85
|
this.filter ?? '',
|
|
86
|
+
this.superSetImplementationId ?? '',
|
|
84
87
|
]);
|
|
85
88
|
}
|
|
86
89
|
}
|
|
@@ -39,6 +39,7 @@ import type {
|
|
|
39
39
|
} from './SimpleFunctionExpression';
|
|
40
40
|
import type { INTERNAL__UnknownValueSpecification } from './INTERNAL__UnknownValueSpecification';
|
|
41
41
|
import type { VariableExpression } from './VariableExpression';
|
|
42
|
+
import { makeObservable, observable, action } from 'mobx';
|
|
42
43
|
|
|
43
44
|
export interface ValueSpecificationVisitor<T> {
|
|
44
45
|
visit_RootGraphFetchTreeInstanceValue(
|
|
@@ -83,10 +84,18 @@ export abstract class ValueSpecification {
|
|
|
83
84
|
multiplicity: Multiplicity,
|
|
84
85
|
genericTypeReference?: GenericTypeReference,
|
|
85
86
|
) {
|
|
87
|
+
makeObservable<ValueSpecification>(this, {
|
|
88
|
+
multiplicity: observable,
|
|
89
|
+
setMultiplicity: action,
|
|
90
|
+
});
|
|
86
91
|
this.multiplicity = multiplicity;
|
|
87
92
|
this.genericType = genericTypeReference;
|
|
88
93
|
}
|
|
89
94
|
|
|
95
|
+
setMultiplicity(val: Multiplicity): void {
|
|
96
|
+
this.multiplicity = val;
|
|
97
|
+
}
|
|
98
|
+
|
|
90
99
|
abstract accept_ValueSpecificationVisitor<T>(
|
|
91
100
|
visitor: ValueSpecificationVisitor<T>,
|
|
92
101
|
): T;
|
|
@@ -14,6 +14,8 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
+
import { makeObservable, observable, action } from 'mobx';
|
|
18
|
+
import type { GenericTypeReference } from '../packageableElements/domain/GenericTypeReference';
|
|
17
19
|
import type { Multiplicity } from '../packageableElements/domain/Multiplicity';
|
|
18
20
|
import type { ValueSpecificationVisitor } from './ValueSpecification';
|
|
19
21
|
import { ValueSpecification } from './ValueSpecification';
|
|
@@ -21,9 +23,23 @@ import { ValueSpecification } from './ValueSpecification';
|
|
|
21
23
|
export class VariableExpression extends ValueSpecification {
|
|
22
24
|
name: string;
|
|
23
25
|
|
|
24
|
-
constructor(
|
|
26
|
+
constructor(
|
|
27
|
+
name: string,
|
|
28
|
+
multiplicity: Multiplicity,
|
|
29
|
+
genericType?: GenericTypeReference | undefined,
|
|
30
|
+
) {
|
|
25
31
|
super(multiplicity);
|
|
32
|
+
makeObservable<VariableExpression>(this, {
|
|
33
|
+
name: observable,
|
|
34
|
+
genericType: observable,
|
|
35
|
+
setName: action,
|
|
36
|
+
});
|
|
26
37
|
this.name = name;
|
|
38
|
+
this.genericType = genericType;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
setName(val: string): void {
|
|
42
|
+
this.name = val;
|
|
27
43
|
}
|
|
28
44
|
|
|
29
45
|
accept_ValueSpecificationVisitor<T>(
|
|
@@ -0,0 +1,53 @@
|
|
|
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 { PlainObject } from '@finos/legend-shared';
|
|
18
|
+
import type { Connection } from '../../metamodels/pure/packageableElements/connection/Connection';
|
|
19
|
+
import { PureProtocolProcessorPlugin } from './PureProtocolProcessorPlugin';
|
|
20
|
+
import type { V1_Connection } from '../pure/v1/model/packageableElements/connection/V1_Connection';
|
|
21
|
+
import type { V1_GraphTransformerContext } from './v1/transformation/pureGraph/from/V1_GraphTransformerContext';
|
|
22
|
+
import type { V1_GraphBuilderContext } from './v1/transformation/pureGraph/to/V1_GraphBuilderContext';
|
|
23
|
+
import type { Store } from '../../metamodels/pure/packageableElements/store/Store';
|
|
24
|
+
import type { PackageableElementReference } from '../../metamodels/pure/packageableElements/PackageableElementReference';
|
|
25
|
+
|
|
26
|
+
export type V1_ConnectionBuilder = (
|
|
27
|
+
connection: V1_Connection,
|
|
28
|
+
context: V1_GraphBuilderContext,
|
|
29
|
+
store?: PackageableElementReference<Store> | undefined,
|
|
30
|
+
) => Connection | undefined;
|
|
31
|
+
|
|
32
|
+
export type V1_ConnectionTransformer = (
|
|
33
|
+
metamodel: Connection,
|
|
34
|
+
context: V1_GraphTransformerContext,
|
|
35
|
+
) => V1_Connection | undefined;
|
|
36
|
+
|
|
37
|
+
export type V1_ConnectionProtocolSerializer = (
|
|
38
|
+
connection: V1_Connection,
|
|
39
|
+
) => PlainObject<V1_Connection> | undefined;
|
|
40
|
+
|
|
41
|
+
export type V1_ConnectionProtocolDeserializer = (
|
|
42
|
+
json: PlainObject<V1_Connection>,
|
|
43
|
+
) => V1_Connection | undefined;
|
|
44
|
+
|
|
45
|
+
export abstract class DSLMapping_PureProtocolProcessorPlugin_Extension extends PureProtocolProcessorPlugin {
|
|
46
|
+
V1_getExtraConnectionBuilders?(): V1_ConnectionBuilder[];
|
|
47
|
+
|
|
48
|
+
V1_getExtraConnectionTransformers?(): V1_ConnectionTransformer[];
|
|
49
|
+
|
|
50
|
+
V1_getExtraConnectionProtocolSerializers?(): V1_ConnectionProtocolSerializer[];
|
|
51
|
+
|
|
52
|
+
V1_getExtraConnectionProtocolDeserializers?(): V1_ConnectionProtocolDeserializer[];
|
|
53
|
+
}
|
|
@@ -119,7 +119,7 @@ import type { V1_RawLambda } from './model/rawValueSpecification/V1_RawLambda';
|
|
|
119
119
|
import { V1_ExecuteInput } from './engine/execution/V1_ExecuteInput';
|
|
120
120
|
import type { V1_PureModelContextGenerationInput } from './engine/import/V1_PureModelContextGenerationInput';
|
|
121
121
|
import { V1_buildValueSpecification } from './transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper';
|
|
122
|
-
import {
|
|
122
|
+
import { V1_transformRootValueSpecification } from './transformation/pureGraph/from/V1_ValueSpecificationTransformer';
|
|
123
123
|
import { V1_Profile } from './model/packageableElements/domain/V1_Profile';
|
|
124
124
|
import { V1_Class } from './model/packageableElements/domain/V1_Class';
|
|
125
125
|
import { V1_Enumeration } from './model/packageableElements/domain/V1_Enumeration';
|
|
@@ -148,6 +148,7 @@ import {
|
|
|
148
148
|
V1_DatabaseBuilderConfig,
|
|
149
149
|
V1_DatabaseBuilderInput,
|
|
150
150
|
V1_DatabasePattern,
|
|
151
|
+
V1_setupDatabaseBuilderInputSerialization,
|
|
151
152
|
V1_TargetDatabase,
|
|
152
153
|
} from './engine/generation/V1_DatabaseBuilderInput';
|
|
153
154
|
import { V1_transformRelationalDatabaseConnection } from './transformation/pureGraph/from/V1_ConnectionTransformer';
|
|
@@ -157,6 +158,10 @@ import { V1_ServiceStore } from './model/packageableElements/store/relational/V1
|
|
|
157
158
|
import type { V1_Multiplicity } from './model/packageableElements/domain/V1_Multiplicity';
|
|
158
159
|
import type { V1_RawVariable } from './model/rawValueSpecification/V1_RawVariable';
|
|
159
160
|
import { V1_setupDatabaseSerialization } from './transformation/pureProtocol/serializationHelpers/V1_DatabaseSerializationHelper';
|
|
161
|
+
import {
|
|
162
|
+
V1_setupEngineRuntimeSerialization,
|
|
163
|
+
V1_setupLegacyRuntimeSerialization,
|
|
164
|
+
} from './transformation/pureProtocol/serializationHelpers/V1_RuntimeSerializationHelper';
|
|
160
165
|
import type { DSLGenerationSpecification_PureProtocolProcessorPlugin_Extension } from '../DSLGenerationSpecification_PureProtocolProcessorPlugin_Extension';
|
|
161
166
|
import type { RawRelationalOperationElement } from '../../../metamodels/pure/packageableElements/store/relational/model/RawRelationalOperationElement';
|
|
162
167
|
import { V1_GraphTransformerContextBuilder } from './transformation/pureGraph/from/V1_GraphTransformerContext';
|
|
@@ -379,13 +384,22 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
379
384
|
this.extensions = new V1_GraphBuilderExtensions(
|
|
380
385
|
this.pluginManager.getPureProtocolProcessorPlugins(),
|
|
381
386
|
);
|
|
382
|
-
// setup
|
|
387
|
+
// setup serialization plugins
|
|
383
388
|
V1_setupPureModelContextDataSerialization(
|
|
384
389
|
this.pluginManager.getPureProtocolProcessorPlugins(),
|
|
385
390
|
);
|
|
386
391
|
V1_setupDatabaseSerialization(
|
|
387
392
|
this.pluginManager.getPureProtocolProcessorPlugins(),
|
|
388
393
|
);
|
|
394
|
+
V1_setupEngineRuntimeSerialization(
|
|
395
|
+
this.pluginManager.getPureProtocolProcessorPlugins(),
|
|
396
|
+
);
|
|
397
|
+
V1_setupLegacyRuntimeSerialization(
|
|
398
|
+
this.pluginManager.getPureProtocolProcessorPlugins(),
|
|
399
|
+
);
|
|
400
|
+
V1_setupDatabaseBuilderInputSerialization(
|
|
401
|
+
this.pluginManager.getPureProtocolProcessorPlugins(),
|
|
402
|
+
);
|
|
389
403
|
}
|
|
390
404
|
|
|
391
405
|
TEMP__getEngineConfig(): TEMP__AbstractEngineConfig {
|
|
@@ -1661,14 +1675,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1661
1675
|
valueSpecification: ValueSpecification,
|
|
1662
1676
|
): Record<PropertyKey, unknown> {
|
|
1663
1677
|
return V1_serializeValueSpecification(
|
|
1664
|
-
valueSpecification
|
|
1665
|
-
new V1_ValueSpecificationTransformer(
|
|
1666
|
-
[],
|
|
1667
|
-
new Map<string, unknown[]>(),
|
|
1668
|
-
true,
|
|
1669
|
-
false,
|
|
1670
|
-
),
|
|
1671
|
-
),
|
|
1678
|
+
V1_transformRootValueSpecification(valueSpecification),
|
|
1672
1679
|
) as Record<PropertyKey, unknown>;
|
|
1673
1680
|
}
|
|
1674
1681
|
|
|
@@ -1942,7 +1949,8 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1942
1949
|
async registerService(
|
|
1943
1950
|
graph: PureModel,
|
|
1944
1951
|
service: Service,
|
|
1945
|
-
|
|
1952
|
+
groupdId: string,
|
|
1953
|
+
artifactId: string,
|
|
1946
1954
|
server: string,
|
|
1947
1955
|
executionMode: ServiceExecutionMode,
|
|
1948
1956
|
version: string | undefined,
|
|
@@ -1962,7 +1970,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1962
1970
|
break;
|
|
1963
1971
|
}
|
|
1964
1972
|
case ServiceExecutionMode.SEMI_INTERACTIVE: {
|
|
1965
|
-
const sdlcInfo = new V1_AlloySdlc(
|
|
1973
|
+
const sdlcInfo = new V1_AlloySdlc(groupdId, artifactId, version);
|
|
1966
1974
|
const pointer = new V1_PureModelContextPointer(protocol, sdlcInfo);
|
|
1967
1975
|
// data
|
|
1968
1976
|
const data = new V1_PureModelContextData();
|
|
@@ -1988,7 +1996,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1988
1996
|
break;
|
|
1989
1997
|
}
|
|
1990
1998
|
case ServiceExecutionMode.PROD: {
|
|
1991
|
-
const sdlcInfo = new V1_AlloySdlc(
|
|
1999
|
+
const sdlcInfo = new V1_AlloySdlc(groupdId, artifactId, version);
|
|
1992
2000
|
const pointer = new V1_PureModelContextPointer(protocol, sdlcInfo);
|
|
1993
2001
|
sdlcInfo.packageableElementPointers = [
|
|
1994
2002
|
new V1_PackageableElementPointer(
|
|
@@ -2047,14 +2055,13 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
2047
2055
|
|
|
2048
2056
|
// --------------------------------------------- Query ---------------------------------------------
|
|
2049
2057
|
|
|
2050
|
-
async getQueries(
|
|
2051
|
-
search
|
|
2052
|
-
|
|
2053
|
-
|
|
2054
|
-
|
|
2055
|
-
|
|
2056
|
-
|
|
2057
|
-
).map((protocol) =>
|
|
2058
|
+
async getQueries(options?: {
|
|
2059
|
+
search?: string | undefined;
|
|
2060
|
+
projectCoordinates?: string[] | undefined;
|
|
2061
|
+
showCurrentUserQueriesOnly?: boolean | undefined;
|
|
2062
|
+
limit?: number | undefined;
|
|
2063
|
+
}): Promise<LightQuery[]> {
|
|
2064
|
+
return (await this.engine.getQueries(options)).map((protocol) =>
|
|
2058
2065
|
V1_buildLightQuery(
|
|
2059
2066
|
protocol,
|
|
2060
2067
|
this.engine.getEngineServerClient().currentUserId,
|
|
@@ -2077,6 +2084,10 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
2077
2084
|
);
|
|
2078
2085
|
}
|
|
2079
2086
|
|
|
2087
|
+
async getQueryContent(queryId: string): Promise<string> {
|
|
2088
|
+
return (await this.engine.getQuery(queryId)).content;
|
|
2089
|
+
}
|
|
2090
|
+
|
|
2080
2091
|
async createQuery(query: Query, graph: PureModel): Promise<Query> {
|
|
2081
2092
|
return V1_buildQuery(
|
|
2082
2093
|
await this.engine.createQuery(V1_transformQuery(query)),
|