@finos/legend-graph 2.0.3 → 2.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/lib/graph/BasicModel.d.ts.map +1 -1
- package/lib/graph/BasicModel.js +8 -5
- package/lib/graph/BasicModel.js.map +1 -1
- package/lib/graphManager/AbstractPureGraphManager.d.ts +7 -2
- package/lib/graphManager/AbstractPureGraphManager.d.ts.map +1 -1
- package/lib/graphManager/AbstractPureGraphManager.js.map +1 -1
- package/lib/index.d.ts +5 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +5 -1
- package/lib/index.js.map +1 -1
- package/lib/models/DomainModifierHelper.d.ts +99 -0
- package/lib/models/DomainModifierHelper.d.ts.map +1 -0
- package/lib/models/DomainModifierHelper.js +210 -0
- package/lib/models/DomainModifierHelper.js.map +1 -0
- package/lib/models/ModelGenerationConfiguration.d.ts +21 -0
- package/lib/models/ModelGenerationConfiguration.d.ts.map +1 -0
- package/lib/models/ModelGenerationConfiguration.js +24 -0
- package/lib/models/ModelGenerationConfiguration.js.map +1 -0
- package/lib/models/metamodels/pure/Reference.d.ts +0 -1
- package/lib/models/metamodels/pure/Reference.d.ts.map +1 -1
- package/lib/models/metamodels/pure/Reference.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/PackageableElement.d.ts +0 -1
- package/lib/models/metamodels/pure/packageableElements/PackageableElement.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/PackageableElement.js +1 -2
- package/lib/models/metamodels/pure/packageableElements/PackageableElement.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/PackageableElementReference.d.ts +0 -1
- package/lib/models/metamodels/pure/packageableElements/PackageableElementReference.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/PackageableElementReference.js +0 -4
- package/lib/models/metamodels/pure/packageableElements/PackageableElementReference.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/connection/Connection.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/connection/Connection.js +2 -1
- package/lib/models/metamodels/pure/packageableElements/connection/Connection.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/domain/Association.d.ts +0 -6
- package/lib/models/metamodels/pure/packageableElements/domain/Association.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/domain/Association.js +4 -27
- package/lib/models/metamodels/pure/packageableElements/domain/Association.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/domain/Class.d.ts +0 -16
- package/lib/models/metamodels/pure/packageableElements/domain/Class.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/domain/Class.js +2 -66
- package/lib/models/metamodels/pure/packageableElements/domain/Class.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/domain/ConcreteFunctionDefinition.d.ts +0 -9
- package/lib/models/metamodels/pure/packageableElements/domain/ConcreteFunctionDefinition.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/domain/ConcreteFunctionDefinition.js +2 -38
- package/lib/models/metamodels/pure/packageableElements/domain/ConcreteFunctionDefinition.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/domain/Constraint.d.ts +0 -2
- package/lib/models/metamodels/pure/packageableElements/domain/Constraint.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/domain/Constraint.js +1 -9
- package/lib/models/metamodels/pure/packageableElements/domain/Constraint.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/domain/DerivedProperty.d.ts +0 -11
- package/lib/models/metamodels/pure/packageableElements/domain/DerivedProperty.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/domain/DerivedProperty.js +2 -42
- package/lib/models/metamodels/pure/packageableElements/domain/DerivedProperty.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/domain/Enum.d.ts +0 -6
- package/lib/models/metamodels/pure/packageableElements/domain/Enum.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/domain/Enum.js +2 -26
- package/lib/models/metamodels/pure/packageableElements/domain/Enum.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/domain/EnumValueReference.d.ts +0 -1
- package/lib/models/metamodels/pure/packageableElements/domain/EnumValueReference.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/domain/EnumValueReference.js +1 -6
- package/lib/models/metamodels/pure/packageableElements/domain/EnumValueReference.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/domain/Enumeration.d.ts +0 -7
- package/lib/models/metamodels/pure/packageableElements/domain/Enumeration.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/domain/Enumeration.js +2 -30
- package/lib/models/metamodels/pure/packageableElements/domain/Enumeration.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/domain/GenericType.d.ts +0 -1
- package/lib/models/metamodels/pure/packageableElements/domain/GenericType.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/domain/GenericType.js +1 -5
- package/lib/models/metamodels/pure/packageableElements/domain/GenericType.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/domain/GenericTypeReference.d.ts +0 -1
- package/lib/models/metamodels/pure/packageableElements/domain/GenericTypeReference.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/domain/GenericTypeReference.js +1 -6
- package/lib/models/metamodels/pure/packageableElements/domain/GenericTypeReference.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/domain/Measure.d.ts +0 -2
- package/lib/models/metamodels/pure/packageableElements/domain/Measure.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/domain/Measure.js +1 -9
- package/lib/models/metamodels/pure/packageableElements/domain/Measure.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/domain/Multiplicity.d.ts +0 -2
- package/lib/models/metamodels/pure/packageableElements/domain/Multiplicity.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/domain/Multiplicity.js +1 -9
- package/lib/models/metamodels/pure/packageableElements/domain/Multiplicity.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/domain/Package.d.ts +0 -3
- package/lib/models/metamodels/pure/packageableElements/domain/Package.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/domain/Package.js +3 -16
- package/lib/models/metamodels/pure/packageableElements/domain/Package.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/domain/Profile.d.ts +0 -4
- package/lib/models/metamodels/pure/packageableElements/domain/Profile.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/domain/Profile.js +2 -18
- package/lib/models/metamodels/pure/packageableElements/domain/Profile.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/domain/Property.d.ts +0 -9
- package/lib/models/metamodels/pure/packageableElements/domain/Property.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/domain/Property.js +2 -34
- package/lib/models/metamodels/pure/packageableElements/domain/Property.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/domain/PropertyReference.d.ts +0 -1
- package/lib/models/metamodels/pure/packageableElements/domain/PropertyReference.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/domain/PropertyReference.js +1 -8
- package/lib/models/metamodels/pure/packageableElements/domain/PropertyReference.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/domain/Stereotype.d.ts +0 -1
- package/lib/models/metamodels/pure/packageableElements/domain/Stereotype.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/domain/Stereotype.js +1 -5
- package/lib/models/metamodels/pure/packageableElements/domain/Stereotype.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/domain/StereotypeReference.d.ts +0 -1
- package/lib/models/metamodels/pure/packageableElements/domain/StereotypeReference.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/domain/StereotypeReference.js +1 -6
- package/lib/models/metamodels/pure/packageableElements/domain/StereotypeReference.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/domain/Tag.d.ts +0 -1
- package/lib/models/metamodels/pure/packageableElements/domain/Tag.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/domain/Tag.js +1 -5
- package/lib/models/metamodels/pure/packageableElements/domain/Tag.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/domain/TagReference.d.ts +0 -1
- package/lib/models/metamodels/pure/packageableElements/domain/TagReference.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/domain/TagReference.js +1 -6
- package/lib/models/metamodels/pure/packageableElements/domain/TagReference.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/domain/TaggedValue.d.ts +0 -2
- package/lib/models/metamodels/pure/packageableElements/domain/TaggedValue.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/domain/TaggedValue.js +1 -9
- package/lib/models/metamodels/pure/packageableElements/domain/TaggedValue.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/mapping/SetImplementationReference.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/mapping/SetImplementationReference.js +2 -1
- package/lib/models/metamodels/pure/packageableElements/mapping/SetImplementationReference.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/runtime/Runtime.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/runtime/Runtime.js +2 -1
- package/lib/models/metamodels/pure/packageableElements/runtime/Runtime.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/service/ServiceExecution.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/service/ServiceExecution.js +3 -2
- package/lib/models/metamodels/pure/packageableElements/service/ServiceExecution.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/store/flatData/model/FlatDataSectionReference.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/store/flatData/model/FlatDataSectionReference.js +2 -1
- package/lib/models/metamodels/pure/packageableElements/store/flatData/model/FlatDataSectionReference.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/store/flatData/model/RootFlatDataRecordTypeReference.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/store/flatData/model/RootFlatDataRecordTypeReference.js +2 -1
- package/lib/models/metamodels/pure/packageableElements/store/flatData/model/RootFlatDataRecordTypeReference.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/store/modelToModel/connection/JsonModelConnection.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/store/modelToModel/connection/JsonModelConnection.js +2 -1
- package/lib/models/metamodels/pure/packageableElements/store/modelToModel/connection/JsonModelConnection.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/store/modelToModel/connection/XmlModelConnection.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/store/modelToModel/connection/XmlModelConnection.js +2 -1
- package/lib/models/metamodels/pure/packageableElements/store/modelToModel/connection/XmlModelConnection.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/store/relational/model/ColumnReference.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/store/relational/model/ColumnReference.js +2 -1
- package/lib/models/metamodels/pure/packageableElements/store/relational/model/ColumnReference.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/store/relational/model/FilterReference.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/store/relational/model/FilterReference.js +2 -1
- package/lib/models/metamodels/pure/packageableElements/store/relational/model/FilterReference.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/store/relational/model/JoinReference.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/store/relational/model/JoinReference.js +2 -1
- package/lib/models/metamodels/pure/packageableElements/store/relational/model/JoinReference.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/store/relational/model/TableReference.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/store/relational/model/TableReference.js +2 -1
- package/lib/models/metamodels/pure/packageableElements/store/relational/model/TableReference.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/store/relational/model/ViewReference.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/store/relational/model/ViewReference.js +2 -1
- package/lib/models/metamodels/pure/packageableElements/store/relational/model/ViewReference.js.map +1 -1
- package/lib/models/metamodels/pure/rawValueSpecification/RawVariableExpression.d.ts.map +1 -1
- package/lib/models/metamodels/pure/rawValueSpecification/RawVariableExpression.js +2 -1
- package/lib/models/metamodels/pure/rawValueSpecification/RawVariableExpression.js.map +1 -1
- package/lib/models/protocols/pure/DSLExternalFormat_PureProtocolProcessorPlugin.d.ts.map +1 -1
- package/lib/models/protocols/pure/DSLExternalFormat_PureProtocolProcessorPlugin.js +2 -3
- package/lib/models/protocols/pure/DSLExternalFormat_PureProtocolProcessorPlugin.js.map +1 -1
- package/lib/models/protocols/pure/MappingGeneration_PureProtocolProcessorPlugin_Extension.d.ts +27 -0
- package/lib/models/protocols/pure/MappingGeneration_PureProtocolProcessorPlugin_Extension.d.ts.map +1 -0
- package/lib/models/protocols/pure/MappingGeneration_PureProtocolProcessorPlugin_Extension.js +17 -0
- package/lib/models/protocols/pure/MappingGeneration_PureProtocolProcessorPlugin_Extension.js.map +1 -0
- package/lib/models/protocols/pure/v1/V1_PureGraphManager.d.ts +6 -1
- package/lib/models/protocols/pure/v1/V1_PureGraphManager.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/V1_PureGraphManager.js +29 -12
- package/lib/models/protocols/pure/v1/V1_PureGraphManager.js.map +1 -1
- package/lib/models/protocols/pure/v1/engine/V1_Engine.d.ts +4 -0
- package/lib/models/protocols/pure/v1/engine/V1_Engine.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/engine/V1_Engine.js +3 -0
- package/lib/models/protocols/pure/v1/engine/V1_Engine.js.map +1 -1
- package/lib/models/protocols/pure/v1/engine/V1_EngineServerClient.d.ts +4 -0
- package/lib/models/protocols/pure/v1/engine/V1_EngineServerClient.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/engine/V1_EngineServerClient.js +1 -0
- package/lib/models/protocols/pure/v1/engine/V1_EngineServerClient.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementBuilder.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementBuilder.js +2 -3
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementBuilder.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphFirstPassBuilder.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphFirstPassBuilder.js +15 -42
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphFirstPassBuilder.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 +2 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphSecondPassBuilder.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphThirdPassBuilder.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphThirdPassBuilder.js +5 -4
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphThirdPassBuilder.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DomainBuilderHelper.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DomainBuilderHelper.js +2 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DomainBuilderHelper.js.map +1 -1
- package/lib/package.json +2 -2
- package/package.json +5 -5
- package/src/graph/BasicModel.ts +11 -5
- package/src/graphManager/AbstractPureGraphManager.ts +17 -6
- package/src/index.ts +8 -1
- package/src/models/DomainModifierHelper.ts +373 -0
- package/src/models/ModelGenerationConfiguration.ts +25 -0
- package/src/models/metamodels/pure/Reference.ts +0 -2
- package/src/models/metamodels/pure/packageableElements/PackageableElement.ts +3 -2
- package/src/models/metamodels/pure/packageableElements/PackageableElementReference.ts +0 -5
- package/src/models/metamodels/pure/packageableElements/connection/Connection.ts +2 -1
- package/src/models/metamodels/pure/packageableElements/domain/Association.ts +3 -31
- package/src/models/metamodels/pure/packageableElements/domain/Class.ts +1 -72
- package/src/models/metamodels/pure/packageableElements/domain/ConcreteFunctionDefinition.ts +2 -48
- package/src/models/metamodels/pure/packageableElements/domain/Constraint.ts +1 -10
- package/src/models/metamodels/pure/packageableElements/domain/DerivedProperty.ts +2 -54
- package/src/models/metamodels/pure/packageableElements/domain/Enum.ts +2 -37
- package/src/models/metamodels/pure/packageableElements/domain/EnumValueReference.ts +1 -7
- package/src/models/metamodels/pure/packageableElements/domain/Enumeration.ts +1 -37
- package/src/models/metamodels/pure/packageableElements/domain/GenericType.ts +1 -5
- package/src/models/metamodels/pure/packageableElements/domain/GenericTypeReference.ts +1 -7
- package/src/models/metamodels/pure/packageableElements/domain/Measure.ts +1 -11
- package/src/models/metamodels/pure/packageableElements/domain/Multiplicity.ts +1 -11
- package/src/models/metamodels/pure/packageableElements/domain/Package.ts +3 -21
- package/src/models/metamodels/pure/packageableElements/domain/Profile.ts +1 -23
- package/src/models/metamodels/pure/packageableElements/domain/Property.ts +2 -45
- package/src/models/metamodels/pure/packageableElements/domain/PropertyReference.ts +1 -11
- package/src/models/metamodels/pure/packageableElements/domain/Stereotype.ts +1 -6
- package/src/models/metamodels/pure/packageableElements/domain/StereotypeReference.ts +1 -7
- package/src/models/metamodels/pure/packageableElements/domain/Tag.ts +1 -6
- package/src/models/metamodels/pure/packageableElements/domain/TagReference.ts +1 -7
- package/src/models/metamodels/pure/packageableElements/domain/TaggedValue.ts +1 -10
- package/src/models/metamodels/pure/packageableElements/mapping/SetImplementationReference.ts +2 -1
- package/src/models/metamodels/pure/packageableElements/runtime/Runtime.ts +2 -1
- package/src/models/metamodels/pure/packageableElements/service/ServiceExecution.ts +3 -2
- package/src/models/metamodels/pure/packageableElements/store/flatData/model/FlatDataSectionReference.ts +2 -1
- package/src/models/metamodels/pure/packageableElements/store/flatData/model/RootFlatDataRecordTypeReference.ts +2 -1
- package/src/models/metamodels/pure/packageableElements/store/modelToModel/connection/JsonModelConnection.ts +2 -1
- package/src/models/metamodels/pure/packageableElements/store/modelToModel/connection/XmlModelConnection.ts +2 -1
- package/src/models/metamodels/pure/packageableElements/store/relational/model/ColumnReference.ts +5 -1
- package/src/models/metamodels/pure/packageableElements/store/relational/model/FilterReference.ts +2 -1
- package/src/models/metamodels/pure/packageableElements/store/relational/model/JoinReference.ts +2 -1
- package/src/models/metamodels/pure/packageableElements/store/relational/model/TableReference.ts +5 -1
- package/src/models/metamodels/pure/packageableElements/store/relational/model/ViewReference.ts +5 -1
- package/src/models/metamodels/pure/rawValueSpecification/RawVariableExpression.ts +2 -1
- package/src/models/protocols/pure/DSLExternalFormat_PureProtocolProcessorPlugin.ts +5 -3
- package/src/models/protocols/pure/MappingGeneration_PureProtocolProcessorPlugin_Extension.ts +34 -0
- package/src/models/protocols/pure/v1/V1_PureGraphManager.ts +54 -24
- package/src/models/protocols/pure/v1/engine/V1_Engine.ts +8 -0
- package/src/models/protocols/pure/v1/engine/V1_EngineServerClient.ts +15 -0
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementBuilder.ts +5 -3
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphFirstPassBuilder.ts +57 -42
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphSecondPassBuilder.ts +3 -1
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphThirdPassBuilder.ts +8 -4
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DomainBuilderHelper.ts +2 -1
- package/tsconfig.json +3 -0
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
import { observable,
|
|
17
|
+
import { observable, computed, makeObservable } from 'mobx';
|
|
18
18
|
import { uuid } from '@finos/legend-shared';
|
|
19
19
|
import type { Profile } from './Profile';
|
|
20
20
|
import type { Stubable } from '../../../../../helpers/Stubable';
|
|
@@ -27,7 +27,6 @@ export class Stereotype implements Stubable {
|
|
|
27
27
|
constructor(owner: Profile, value: string) {
|
|
28
28
|
makeObservable(this, {
|
|
29
29
|
value: observable,
|
|
30
|
-
setValue: action,
|
|
31
30
|
isStub: computed,
|
|
32
31
|
});
|
|
33
32
|
|
|
@@ -35,10 +34,6 @@ export class Stereotype implements Stubable {
|
|
|
35
34
|
this.value = value;
|
|
36
35
|
}
|
|
37
36
|
|
|
38
|
-
setValue(value: string): void {
|
|
39
|
-
this.value = value;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
37
|
static createStub = (profile: Profile): Stereotype =>
|
|
43
38
|
new Stereotype(profile, '');
|
|
44
39
|
get isStub(): boolean {
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
import { observable,
|
|
17
|
+
import { observable, computed, makeObservable } from 'mobx';
|
|
18
18
|
import { CORE_HASH_STRUCTURE } from '../../../../../MetaModelConst';
|
|
19
19
|
import { hashString } from '@finos/legend-shared';
|
|
20
20
|
import {
|
|
@@ -42,7 +42,6 @@ export abstract class StereotypeReference
|
|
|
42
42
|
|
|
43
43
|
makeObservable(this, {
|
|
44
44
|
value: observable,
|
|
45
|
-
setValue: action,
|
|
46
45
|
isStub: computed,
|
|
47
46
|
pointerHashCode: computed,
|
|
48
47
|
});
|
|
@@ -51,11 +50,6 @@ export abstract class StereotypeReference
|
|
|
51
50
|
this.value = value;
|
|
52
51
|
}
|
|
53
52
|
|
|
54
|
-
setValue(value: Stereotype): void {
|
|
55
|
-
this.value = value;
|
|
56
|
-
this.ownerReference.setValue(value.owner);
|
|
57
|
-
}
|
|
58
|
-
|
|
59
53
|
get isStub(): boolean {
|
|
60
54
|
return !this.value.isStub;
|
|
61
55
|
}
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
import { observable,
|
|
17
|
+
import { observable, computed, makeObservable } from 'mobx';
|
|
18
18
|
import { uuid } from '@finos/legend-shared';
|
|
19
19
|
import type { Profile } from './Profile';
|
|
20
20
|
import type { Stubable } from '../../../../../helpers/Stubable';
|
|
@@ -27,7 +27,6 @@ export class Tag implements Stubable {
|
|
|
27
27
|
constructor(owner: Profile, value: string) {
|
|
28
28
|
makeObservable(this, {
|
|
29
29
|
value: observable,
|
|
30
|
-
setValue: action,
|
|
31
30
|
isStub: computed,
|
|
32
31
|
});
|
|
33
32
|
|
|
@@ -35,10 +34,6 @@ export class Tag implements Stubable {
|
|
|
35
34
|
this.value = value;
|
|
36
35
|
}
|
|
37
36
|
|
|
38
|
-
setValue(value: string): void {
|
|
39
|
-
this.value = value;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
37
|
static createStub = (profile: Profile): Tag => new Tag(profile, '');
|
|
43
38
|
get isStub(): boolean {
|
|
44
39
|
return !this.value;
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
import { observable,
|
|
17
|
+
import { observable, computed, makeObservable } from 'mobx';
|
|
18
18
|
import { CORE_HASH_STRUCTURE } from '../../../../../MetaModelConst';
|
|
19
19
|
import { hashString } from '@finos/legend-shared';
|
|
20
20
|
import {
|
|
@@ -42,7 +42,6 @@ export abstract class TagReference
|
|
|
42
42
|
|
|
43
43
|
makeObservable(this, {
|
|
44
44
|
value: observable,
|
|
45
|
-
setValue: action,
|
|
46
45
|
isStub: computed,
|
|
47
46
|
pointerHashCode: computed,
|
|
48
47
|
});
|
|
@@ -51,11 +50,6 @@ export abstract class TagReference
|
|
|
51
50
|
this.value = value;
|
|
52
51
|
}
|
|
53
52
|
|
|
54
|
-
setValue(value: Tag): void {
|
|
55
|
-
this.value = value;
|
|
56
|
-
this.ownerReference.setValue(value.owner);
|
|
57
|
-
}
|
|
58
|
-
|
|
59
53
|
get isStub(): boolean {
|
|
60
54
|
return !this.value.isStub;
|
|
61
55
|
}
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
import { observable,
|
|
17
|
+
import { observable, computed, makeObservable } from 'mobx';
|
|
18
18
|
import { hashArray, uuid, type Hashable } from '@finos/legend-shared';
|
|
19
19
|
import { CORE_HASH_STRUCTURE } from '../../../../../MetaModelConst';
|
|
20
20
|
import type { Tag } from './Tag';
|
|
@@ -29,8 +29,6 @@ export class TaggedValue implements Hashable, Stubable {
|
|
|
29
29
|
constructor(tag: TagReference, value: string) {
|
|
30
30
|
makeObservable(this, {
|
|
31
31
|
value: observable,
|
|
32
|
-
setTag: action,
|
|
33
|
-
setValue: action,
|
|
34
32
|
isStub: computed,
|
|
35
33
|
hashCode: computed,
|
|
36
34
|
});
|
|
@@ -39,13 +37,6 @@ export class TaggedValue implements Hashable, Stubable {
|
|
|
39
37
|
this.value = value;
|
|
40
38
|
}
|
|
41
39
|
|
|
42
|
-
setTag(tag: Tag): void {
|
|
43
|
-
this.tag.setValue(tag);
|
|
44
|
-
}
|
|
45
|
-
setValue(value: string): void {
|
|
46
|
-
this.value = value;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
40
|
static createStub = (tag: Tag): TaggedValue =>
|
|
50
41
|
new TaggedValue(TagExplicitReference.create(tag), '');
|
|
51
42
|
get isStub(): boolean {
|
package/src/models/metamodels/pure/packageableElements/mapping/SetImplementationReference.ts
CHANGED
|
@@ -23,6 +23,7 @@ import {
|
|
|
23
23
|
import type { Mapping } from './Mapping';
|
|
24
24
|
import type { SetImplementation } from './SetImplementation';
|
|
25
25
|
import { ReferenceWithOwner } from '../../Reference';
|
|
26
|
+
import { setPackageableElementReferenceValue } from '../../../../DomainModifierHelper';
|
|
26
27
|
|
|
27
28
|
export abstract class SetImplementationReference extends ReferenceWithOwner {
|
|
28
29
|
override readonly ownerReference: PackageableElementReference<Mapping>;
|
|
@@ -45,7 +46,7 @@ export abstract class SetImplementationReference extends ReferenceWithOwner {
|
|
|
45
46
|
|
|
46
47
|
setValue(value: SetImplementation): void {
|
|
47
48
|
this.value = value;
|
|
48
|
-
this.ownerReference
|
|
49
|
+
setPackageableElementReferenceValue(this.ownerReference, value.parent);
|
|
49
50
|
}
|
|
50
51
|
}
|
|
51
52
|
|
|
@@ -37,6 +37,7 @@ import {
|
|
|
37
37
|
getElementPointerHashCode,
|
|
38
38
|
PACKAGEABLE_ELEMENT_POINTER_TYPE,
|
|
39
39
|
} from '../PackageableElement';
|
|
40
|
+
import { setPackageableElementReferenceValue } from '../../../../DomainModifierHelper';
|
|
40
41
|
|
|
41
42
|
export class IdentifiedConnection implements Hashable {
|
|
42
43
|
uuid = uuid();
|
|
@@ -213,7 +214,7 @@ export class RuntimePointer extends Runtime implements Hashable {
|
|
|
213
214
|
}
|
|
214
215
|
|
|
215
216
|
setPackageableRuntime(value: PackageableRuntime): void {
|
|
216
|
-
this.packageableRuntime
|
|
217
|
+
setPackageableElementReferenceValue(this.packageableRuntime, value);
|
|
217
218
|
}
|
|
218
219
|
|
|
219
220
|
get hashCode(): string {
|
|
@@ -31,6 +31,7 @@ import {
|
|
|
31
31
|
createValidationError,
|
|
32
32
|
} from '../../../../../helpers/ValidationHelper';
|
|
33
33
|
import type { PackageableElementReference } from '../PackageableElementReference';
|
|
34
|
+
import { setPackageableElementReferenceValue } from '../../../../DomainModifierHelper';
|
|
34
35
|
|
|
35
36
|
export abstract class ServiceExecution implements Hashable {
|
|
36
37
|
private readonly _$nominalTypeBrand!: 'ServiceExecution';
|
|
@@ -102,7 +103,7 @@ export class PureSingleExecution extends PureExecution implements Hashable {
|
|
|
102
103
|
}
|
|
103
104
|
|
|
104
105
|
setMapping(value: Mapping): void {
|
|
105
|
-
this.mapping
|
|
106
|
+
setPackageableElementReferenceValue(this.mapping, value);
|
|
106
107
|
}
|
|
107
108
|
setRuntime(value: Runtime): void {
|
|
108
109
|
this.runtime = value;
|
|
@@ -160,7 +161,7 @@ export class KeyedExecutionParameter implements Hashable {
|
|
|
160
161
|
this.key = value;
|
|
161
162
|
}
|
|
162
163
|
setMapping(value: Mapping): void {
|
|
163
|
-
this.mapping
|
|
164
|
+
setPackageableElementReferenceValue(this.mapping, value);
|
|
164
165
|
}
|
|
165
166
|
setRuntime(value: Runtime): void {
|
|
166
167
|
this.runtime = value;
|
|
@@ -25,6 +25,7 @@ import {
|
|
|
25
25
|
import { ReferenceWithOwner } from '../../../../Reference';
|
|
26
26
|
import type { FlatData } from './FlatData';
|
|
27
27
|
import type { FlatDataSection } from './FlatDataSection';
|
|
28
|
+
import { setPackageableElementReferenceValue } from '../../../../../../DomainModifierHelper';
|
|
28
29
|
|
|
29
30
|
export abstract class FlatDataSectionReference extends ReferenceWithOwner {
|
|
30
31
|
override readonly ownerReference: PackageableElementReference<FlatData>;
|
|
@@ -48,7 +49,7 @@ export abstract class FlatDataSectionReference extends ReferenceWithOwner {
|
|
|
48
49
|
|
|
49
50
|
setValue(value: FlatDataSection): void {
|
|
50
51
|
this.value = value;
|
|
51
|
-
this.ownerReference
|
|
52
|
+
setPackageableElementReferenceValue(this.ownerReference, value.owner);
|
|
52
53
|
}
|
|
53
54
|
|
|
54
55
|
get pointerHashCode(): string {
|
|
@@ -23,6 +23,7 @@ import {
|
|
|
23
23
|
import { ReferenceWithOwner } from '../../../../Reference';
|
|
24
24
|
import type { RootFlatDataRecordType } from './FlatDataDataType';
|
|
25
25
|
import type { FlatData } from './FlatData';
|
|
26
|
+
import { setPackageableElementReferenceValue } from '../../../../../../DomainModifierHelper';
|
|
26
27
|
|
|
27
28
|
export abstract class RootFlatDataRecordTypeReference extends ReferenceWithOwner {
|
|
28
29
|
override readonly ownerReference: PackageableElementReference<FlatData>;
|
|
@@ -45,7 +46,7 @@ export abstract class RootFlatDataRecordTypeReference extends ReferenceWithOwner
|
|
|
45
46
|
|
|
46
47
|
setValue(value: RootFlatDataRecordType): void {
|
|
47
48
|
this.value = value;
|
|
48
|
-
this.ownerReference
|
|
49
|
+
setPackageableElementReferenceValue(this.ownerReference, value.owner.owner);
|
|
49
50
|
}
|
|
50
51
|
}
|
|
51
52
|
|
|
@@ -27,6 +27,7 @@ import type { Class } from '../../../domain/Class';
|
|
|
27
27
|
import type { ModelStore } from '../model/ModelStore';
|
|
28
28
|
import { PureModelConnection } from './PureModelConnection';
|
|
29
29
|
import type { PackageableElementReference } from '../../../PackageableElementReference';
|
|
30
|
+
import { setPackageableElementReferenceValue } from '../../../../../../DomainModifierHelper';
|
|
30
31
|
|
|
31
32
|
export class JsonModelConnection
|
|
32
33
|
extends PureModelConnection
|
|
@@ -60,7 +61,7 @@ export class JsonModelConnection
|
|
|
60
61
|
}
|
|
61
62
|
|
|
62
63
|
setClass(value: Class): void {
|
|
63
|
-
this.class
|
|
64
|
+
setPackageableElementReferenceValue(this.class, value);
|
|
64
65
|
}
|
|
65
66
|
setUrl(value: string): void {
|
|
66
67
|
this.url = value;
|
|
@@ -22,6 +22,7 @@ import type { Class } from '../../../domain/Class';
|
|
|
22
22
|
import type { ModelStore } from '../model/ModelStore';
|
|
23
23
|
import { PureModelConnection } from './PureModelConnection';
|
|
24
24
|
import type { PackageableElementReference } from '../../../PackageableElementReference';
|
|
25
|
+
import { setPackageableElementReferenceValue } from '../../../../../../DomainModifierHelper';
|
|
25
26
|
|
|
26
27
|
export class XmlModelConnection
|
|
27
28
|
extends PureModelConnection
|
|
@@ -51,7 +52,7 @@ export class XmlModelConnection
|
|
|
51
52
|
}
|
|
52
53
|
|
|
53
54
|
setClass(value: Class): void {
|
|
54
|
-
this.class
|
|
55
|
+
setPackageableElementReferenceValue(this.class, value);
|
|
55
56
|
}
|
|
56
57
|
setUrl(value: string): void {
|
|
57
58
|
this.url = value;
|
package/src/models/metamodels/pure/packageableElements/store/relational/model/ColumnReference.ts
CHANGED
|
@@ -24,6 +24,7 @@ import { ReferenceWithOwner } from '../../../../Reference';
|
|
|
24
24
|
import type { Database } from './Database';
|
|
25
25
|
import type { Column } from './Column';
|
|
26
26
|
import { getSchemaFromRelation } from './RelationReference';
|
|
27
|
+
import { setPackageableElementReferenceValue } from '../../../../../../DomainModifierHelper';
|
|
27
28
|
|
|
28
29
|
export abstract class ColumnReference extends ReferenceWithOwner {
|
|
29
30
|
override readonly ownerReference: PackageableElementReference<Database>;
|
|
@@ -46,7 +47,10 @@ export abstract class ColumnReference extends ReferenceWithOwner {
|
|
|
46
47
|
|
|
47
48
|
setValue(value: Column): void {
|
|
48
49
|
this.value = value;
|
|
49
|
-
|
|
50
|
+
setPackageableElementReferenceValue(
|
|
51
|
+
this.ownerReference,
|
|
52
|
+
getSchemaFromRelation(value.owner).owner,
|
|
53
|
+
);
|
|
50
54
|
}
|
|
51
55
|
}
|
|
52
56
|
|
package/src/models/metamodels/pure/packageableElements/store/relational/model/FilterReference.ts
CHANGED
|
@@ -23,6 +23,7 @@ import {
|
|
|
23
23
|
import { ReferenceWithOwner } from '../../../../Reference';
|
|
24
24
|
import type { Database } from './Database';
|
|
25
25
|
import type { Filter } from './Filter';
|
|
26
|
+
import { setPackageableElementReferenceValue } from '../../../../../../DomainModifierHelper';
|
|
26
27
|
|
|
27
28
|
export abstract class FilterReference extends ReferenceWithOwner {
|
|
28
29
|
override readonly ownerReference: PackageableElementReference<Database>;
|
|
@@ -45,7 +46,7 @@ export abstract class FilterReference extends ReferenceWithOwner {
|
|
|
45
46
|
|
|
46
47
|
setValue(value: Filter): void {
|
|
47
48
|
this.value = value;
|
|
48
|
-
this.ownerReference
|
|
49
|
+
setPackageableElementReferenceValue(this.ownerReference, value.owner);
|
|
49
50
|
}
|
|
50
51
|
}
|
|
51
52
|
|
package/src/models/metamodels/pure/packageableElements/store/relational/model/JoinReference.ts
CHANGED
|
@@ -23,6 +23,7 @@ import {
|
|
|
23
23
|
import { ReferenceWithOwner } from '../../../../Reference';
|
|
24
24
|
import type { Database } from './Database';
|
|
25
25
|
import type { Join } from './Join';
|
|
26
|
+
import { setPackageableElementReferenceValue } from '../../../../../../DomainModifierHelper';
|
|
26
27
|
|
|
27
28
|
export abstract class JoinReference extends ReferenceWithOwner {
|
|
28
29
|
override readonly ownerReference: PackageableElementReference<Database>;
|
|
@@ -45,7 +46,7 @@ export abstract class JoinReference extends ReferenceWithOwner {
|
|
|
45
46
|
|
|
46
47
|
setValue(value: Join): void {
|
|
47
48
|
this.value = value;
|
|
48
|
-
this.ownerReference
|
|
49
|
+
setPackageableElementReferenceValue(this.ownerReference, value.owner);
|
|
49
50
|
}
|
|
50
51
|
}
|
|
51
52
|
|
package/src/models/metamodels/pure/packageableElements/store/relational/model/TableReference.ts
CHANGED
|
@@ -26,6 +26,7 @@ import { ReferenceWithOwner } from '../../../../Reference';
|
|
|
26
26
|
import type { Database } from './Database';
|
|
27
27
|
import type { Table } from './Table';
|
|
28
28
|
import { SELF_JOIN_SCHEMA_NAME, SELF_JOIN_TABLE_NAME } from './Join';
|
|
29
|
+
import { setPackageableElementReferenceValue } from '../../../../../../DomainModifierHelper';
|
|
29
30
|
|
|
30
31
|
export abstract class NamedRelationalReference extends ReferenceWithOwner {
|
|
31
32
|
override readonly ownerReference: PackageableElementReference<Database>;
|
|
@@ -57,7 +58,10 @@ export abstract class TableReference extends NamedRelationalReference {
|
|
|
57
58
|
|
|
58
59
|
setValue(value: Table): void {
|
|
59
60
|
this.value = value;
|
|
60
|
-
|
|
61
|
+
setPackageableElementReferenceValue(
|
|
62
|
+
this.ownerReference,
|
|
63
|
+
value.schema.owner,
|
|
64
|
+
);
|
|
61
65
|
}
|
|
62
66
|
|
|
63
67
|
get pointerHashCode(): string {
|
package/src/models/metamodels/pure/packageableElements/store/relational/model/ViewReference.ts
CHANGED
|
@@ -26,6 +26,7 @@ import type { Database } from './Database';
|
|
|
26
26
|
import type { View } from './View';
|
|
27
27
|
import { NamedRelationalReference } from './TableReference';
|
|
28
28
|
import { SELF_JOIN_SCHEMA_NAME, SELF_JOIN_TABLE_NAME } from './Join';
|
|
29
|
+
import { setPackageableElementReferenceValue } from '../../../../../../DomainModifierHelper';
|
|
29
30
|
|
|
30
31
|
export abstract class ViewReference extends NamedRelationalReference {
|
|
31
32
|
value: View;
|
|
@@ -48,7 +49,10 @@ export abstract class ViewReference extends NamedRelationalReference {
|
|
|
48
49
|
|
|
49
50
|
setValue(value: View): void {
|
|
50
51
|
this.value = value;
|
|
51
|
-
|
|
52
|
+
setPackageableElementReferenceValue(
|
|
53
|
+
this.ownerReference,
|
|
54
|
+
value.schema.owner,
|
|
55
|
+
);
|
|
52
56
|
}
|
|
53
57
|
|
|
54
58
|
get pointerHashCode(): string {
|
|
@@ -28,6 +28,7 @@ import {
|
|
|
28
28
|
type RawValueSpecificationVisitor,
|
|
29
29
|
RawValueSpecification,
|
|
30
30
|
} from './RawValueSpecification';
|
|
31
|
+
import { setPackageableElementReferenceValue } from '../../../DomainModifierHelper';
|
|
31
32
|
|
|
32
33
|
export class RawVariableExpression
|
|
33
34
|
extends RawValueSpecification
|
|
@@ -64,7 +65,7 @@ export class RawVariableExpression
|
|
|
64
65
|
this.name = value;
|
|
65
66
|
}
|
|
66
67
|
setType(value: Type): void {
|
|
67
|
-
this.type
|
|
68
|
+
setPackageableElementReferenceValue(this.type, value);
|
|
68
69
|
}
|
|
69
70
|
setMultiplicity(value: Multiplicity): void {
|
|
70
71
|
this.multiplicity = value;
|
|
@@ -86,6 +86,7 @@ import {
|
|
|
86
86
|
V1_schemaSetModelSchema,
|
|
87
87
|
V1_SCHEMA_SET_ELEMENT_PROTOCOL_TYPE,
|
|
88
88
|
} from './v1/transformation/pureProtocol/serializationHelpers/V1_DSLExternalFormat_ProtocolHelper';
|
|
89
|
+
import { addPackageElement } from '../../DomainModifierHelper';
|
|
89
90
|
|
|
90
91
|
const BINDING_ELEMENT_CLASSIFIER_PATH =
|
|
91
92
|
'meta::external::shared::format::binding::Binding';
|
|
@@ -118,9 +119,10 @@ export class DSLExternalFormat_PureProtocolProcessorPlugin
|
|
|
118
119
|
elementProtocol.package,
|
|
119
120
|
elementProtocol.name,
|
|
120
121
|
);
|
|
121
|
-
|
|
122
|
-
.getOrCreatePackage(elementProtocol.package)
|
|
123
|
-
|
|
122
|
+
addPackageElement(
|
|
123
|
+
context.currentSubGraph.getOrCreatePackage(elementProtocol.package),
|
|
124
|
+
element,
|
|
125
|
+
);
|
|
124
126
|
context.currentSubGraph.setOwnStore(path, element);
|
|
125
127
|
return element;
|
|
126
128
|
},
|
|
@@ -0,0 +1,34 @@
|
|
|
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 { ModelGenerationConfiguration } from '../../ModelGenerationConfiguration';
|
|
18
|
+
import type { V1_PureModelContextData } from './v1/model/context/V1_PureModelContextData';
|
|
19
|
+
import type { V1_Engine } from './v1/engine/V1_Engine';
|
|
20
|
+
import type { PureProtocolProcessorPlugin } from './PureProtocolProcessorPlugin';
|
|
21
|
+
|
|
22
|
+
export type V1_ModelGeneratorFromConfiguration = (
|
|
23
|
+
config: ModelGenerationConfiguration,
|
|
24
|
+
model: V1_PureModelContextData,
|
|
25
|
+
engine: V1_Engine,
|
|
26
|
+
) => Promise<V1_PureModelContextData | undefined>;
|
|
27
|
+
|
|
28
|
+
export interface MappingGeneration_PureProtocolProcessorPlugin_Extension
|
|
29
|
+
extends PureProtocolProcessorPlugin {
|
|
30
|
+
/**
|
|
31
|
+
* Get generators for model generation from configuration.
|
|
32
|
+
*/
|
|
33
|
+
V1_getExtraModelGeneratorsFromConfiguration?(): V1_ModelGeneratorFromConfiguration[];
|
|
34
|
+
}
|
|
@@ -234,6 +234,8 @@ import {
|
|
|
234
234
|
import { V1_MAPPING_ELEMENT_PROTOCOL_TYPE } from './transformation/pureProtocol/serializationHelpers/V1_MappingSerializationHelper';
|
|
235
235
|
import { V1_SERVICE_ELEMENT_PROTOCOL_TYPE } from './transformation/pureProtocol/serializationHelpers/V1_ServiceSerializationHelper';
|
|
236
236
|
import { MappingInclude } from '../../../metamodels/pure/packageableElements/mapping/MappingInclude';
|
|
237
|
+
import type { ModelGenerationConfiguration } from '../../../ModelGenerationConfiguration';
|
|
238
|
+
import type { MappingGeneration_PureProtocolProcessorPlugin_Extension } from '../MappingGeneration_PureProtocolProcessorPlugin_Extension';
|
|
237
239
|
|
|
238
240
|
const V1_FUNCTION_SUFFIX_MULTIPLICITY_INFINITE = 'MANY';
|
|
239
241
|
|
|
@@ -411,7 +413,6 @@ const indexPureModelContextData = (
|
|
|
411
413
|
interface V1_GraphBuilderInput {
|
|
412
414
|
model: BasicModel;
|
|
413
415
|
data: V1_PureModelContextDataIndex;
|
|
414
|
-
parentElementPath?: string | undefined;
|
|
415
416
|
}
|
|
416
417
|
|
|
417
418
|
export interface V1_EngineSetupConfig {
|
|
@@ -421,7 +422,7 @@ export interface V1_EngineSetupConfig {
|
|
|
421
422
|
}
|
|
422
423
|
|
|
423
424
|
export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
424
|
-
engine
|
|
425
|
+
engine: V1_Engine;
|
|
425
426
|
extensions: V1_GraphBuilderExtensions;
|
|
426
427
|
|
|
427
428
|
constructor(pluginManager: GraphPluginManager, log: Log) {
|
|
@@ -461,6 +462,8 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
461
462
|
buildGenerationSpecifications: flow,
|
|
462
463
|
});
|
|
463
464
|
|
|
465
|
+
this.engine = new V1_Engine({}, log);
|
|
466
|
+
|
|
464
467
|
// setup plugins
|
|
465
468
|
this.extensions = new V1_GraphBuilderExtensions(
|
|
466
469
|
this.pluginManager.getPureProtocolProcessorPlugins(),
|
|
@@ -958,28 +961,6 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
958
961
|
),
|
|
959
962
|
);
|
|
960
963
|
}
|
|
961
|
-
if (!options?.TEMPORARY_skipGeneratedElementsPostProcessing) {
|
|
962
|
-
// Assign generated elements to their parent generation element (config that drives generation)
|
|
963
|
-
yield Promise.all(
|
|
964
|
-
inputs
|
|
965
|
-
.filter((input) => Boolean(input.parentElementPath))
|
|
966
|
-
.flatMap((input) =>
|
|
967
|
-
input.data.elements.map((el) =>
|
|
968
|
-
promisify(() =>
|
|
969
|
-
runInAction(() => {
|
|
970
|
-
// TODO: check performance once `getNullableElement` is optimized
|
|
971
|
-
const element = graph.getElement(el.path);
|
|
972
|
-
if (input.parentElementPath) {
|
|
973
|
-
element.generationParentElement = graph.getElement(
|
|
974
|
-
input.parentElementPath,
|
|
975
|
-
);
|
|
976
|
-
}
|
|
977
|
-
}),
|
|
978
|
-
),
|
|
979
|
-
),
|
|
980
|
-
),
|
|
981
|
-
);
|
|
982
|
-
}
|
|
983
964
|
/**
|
|
984
965
|
* For now, we delete the section index. We are able to read both resolved and unresolved element paths
|
|
985
966
|
* but when we write (serialize) we write only resolved paths. In the future once the issue with dependency is solved we will
|
|
@@ -1613,6 +1594,36 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1613
1594
|
return this.pureModelContextDataToEntities(generatedModel);
|
|
1614
1595
|
}
|
|
1615
1596
|
|
|
1597
|
+
async generateModelFromConfiguration(
|
|
1598
|
+
config: ModelGenerationConfiguration,
|
|
1599
|
+
graph: PureModel,
|
|
1600
|
+
): Promise<Entity[]> {
|
|
1601
|
+
const model = this.getFullGraphModelData(graph);
|
|
1602
|
+
let generatedModel: V1_PureModelContextData | undefined = undefined;
|
|
1603
|
+
const extraModelGenerators = this.pluginManager
|
|
1604
|
+
.getPureProtocolProcessorPlugins()
|
|
1605
|
+
.flatMap(
|
|
1606
|
+
(plugin) =>
|
|
1607
|
+
(
|
|
1608
|
+
plugin as MappingGeneration_PureProtocolProcessorPlugin_Extension
|
|
1609
|
+
).V1_getExtraModelGeneratorsFromConfiguration?.() ?? [],
|
|
1610
|
+
);
|
|
1611
|
+
for (const generator of extraModelGenerators) {
|
|
1612
|
+
const _model = await generator(config, model, this.engine);
|
|
1613
|
+
if (_model) {
|
|
1614
|
+
generatedModel = _model;
|
|
1615
|
+
break;
|
|
1616
|
+
}
|
|
1617
|
+
}
|
|
1618
|
+
if (!generatedModel) {
|
|
1619
|
+
throw new UnsupportedOperationError(
|
|
1620
|
+
`Can't generate model using the specified configuration: no compatible generator available from plugins`,
|
|
1621
|
+
config,
|
|
1622
|
+
);
|
|
1623
|
+
}
|
|
1624
|
+
return this.pureModelContextDataToEntities(generatedModel);
|
|
1625
|
+
}
|
|
1626
|
+
|
|
1616
1627
|
// ------------------------------------------- ValueSpecification -------------------------------------------
|
|
1617
1628
|
|
|
1618
1629
|
buildValueSpecification(
|
|
@@ -1861,6 +1872,22 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1861
1872
|
);
|
|
1862
1873
|
}
|
|
1863
1874
|
|
|
1875
|
+
async debugExecutionPlanGeneration(
|
|
1876
|
+
graph: PureModel,
|
|
1877
|
+
mapping: Mapping,
|
|
1878
|
+
lambda: RawLambda,
|
|
1879
|
+
runtime: Runtime,
|
|
1880
|
+
clientVersion: string,
|
|
1881
|
+
): Promise<{ plan: RawExecutionPlan; debug: string }> {
|
|
1882
|
+
const result = await this.engine.debugExecutionPlanGeneration(
|
|
1883
|
+
this.createExecutionInput(graph, mapping, lambda, runtime, clientVersion),
|
|
1884
|
+
);
|
|
1885
|
+
return {
|
|
1886
|
+
plan: result.plan,
|
|
1887
|
+
debug: result.debug.join('\n'),
|
|
1888
|
+
};
|
|
1889
|
+
}
|
|
1890
|
+
|
|
1864
1891
|
buildExecutionPlan(
|
|
1865
1892
|
executionPlanJson: PlainObject<V1_ExecutionPlan>,
|
|
1866
1893
|
graph: PureModel,
|
|
@@ -2047,6 +2074,9 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
2047
2074
|
);
|
|
2048
2075
|
}
|
|
2049
2076
|
|
|
2077
|
+
// TODO: we could potentially reshape this method to build light graph with just indexing
|
|
2078
|
+
// and return a slightly more complicated object instead: separating the graph and the dependencies part instead of
|
|
2079
|
+
// return a list of `V1_GraphBuilderInput`. This method would be useful for any other light graph builder algo.
|
|
2050
2080
|
async indexEntitiesWithDependencyIntoGraph(
|
|
2051
2081
|
graph: PureModel,
|
|
2052
2082
|
_entities: Entity[],
|
|
@@ -448,6 +448,14 @@ export class V1_Engine {
|
|
|
448
448
|
);
|
|
449
449
|
}
|
|
450
450
|
|
|
451
|
+
debugExecutionPlanGeneration(
|
|
452
|
+
input: V1_ExecuteInput,
|
|
453
|
+
): Promise<{ plan: PlainObject<V1_ExecutionPlan>; debug: string[] }> {
|
|
454
|
+
return this.engineServerClient.debugPlanGeneration(
|
|
455
|
+
V1_ExecuteInput.serialization.toJson(input),
|
|
456
|
+
);
|
|
457
|
+
}
|
|
458
|
+
|
|
451
459
|
generateMappingTestData(input: V1_ExecuteInput): Promise<string> {
|
|
452
460
|
return this.engineServerClient.generateTestDataWithDefaultSeed(
|
|
453
461
|
V1_ExecuteInput.serialization.toJson(input),
|
|
@@ -290,6 +290,7 @@ export class V1_EngineServerClient extends AbstractServerClient {
|
|
|
290
290
|
// ------------------------------------------- Execute -------------------------------------------
|
|
291
291
|
|
|
292
292
|
_execution = (): string => `${this._pure()}/execution`;
|
|
293
|
+
|
|
293
294
|
execute = (
|
|
294
295
|
input: PlainObject<V1_ExecuteInput>,
|
|
295
296
|
options?: {
|
|
@@ -322,6 +323,20 @@ export class V1_EngineServerClient extends AbstractServerClient {
|
|
|
322
323
|
undefined,
|
|
323
324
|
{ enableCompression: true },
|
|
324
325
|
);
|
|
326
|
+
|
|
327
|
+
debugPlanGeneration = (
|
|
328
|
+
input: PlainObject<V1_ExecuteInput>,
|
|
329
|
+
): Promise<{ plan: PlainObject<V1_ExecutionPlan>; debug: string[] }> =>
|
|
330
|
+
this.postWithTracing(
|
|
331
|
+
this.getTraceData(CORE_ENGINE_TRACER_SPAN.GENERATE_EXECUTION_PLAN),
|
|
332
|
+
`${this._execution()}/generatePlan/debug`,
|
|
333
|
+
input,
|
|
334
|
+
{},
|
|
335
|
+
undefined,
|
|
336
|
+
undefined,
|
|
337
|
+
{ enableCompression: true },
|
|
338
|
+
);
|
|
339
|
+
|
|
325
340
|
generateTestDataWithDefaultSeed = (
|
|
326
341
|
input: PlainObject<V1_ExecuteInput>,
|
|
327
342
|
): Promise<string> =>
|
|
@@ -19,6 +19,7 @@ import {
|
|
|
19
19
|
assertNonEmptyString,
|
|
20
20
|
assertTrue,
|
|
21
21
|
} from '@finos/legend-shared';
|
|
22
|
+
import { addPackageElement } from '../../../../../../DomainModifierHelper';
|
|
22
23
|
import type { PackageableElement } from '../../../../../../metamodels/pure/packageableElements/PackageableElement';
|
|
23
24
|
import type { V1_PackageableElement } from '../../../model/packageableElements/V1_PackageableElement';
|
|
24
25
|
import type { V1_GraphBuilderContext } from './V1_GraphBuilderContext';
|
|
@@ -121,9 +122,10 @@ export class V1_ElementBuilder<T extends V1_PackageableElement> {
|
|
|
121
122
|
`Element '${path}' already exists`,
|
|
122
123
|
);
|
|
123
124
|
const element = this.firstPass(elementProtocol, context);
|
|
124
|
-
|
|
125
|
-
.getOrCreatePackage(elementProtocol.package)
|
|
126
|
-
|
|
125
|
+
addPackageElement(
|
|
126
|
+
context.currentSubGraph.getOrCreatePackage(elementProtocol.package),
|
|
127
|
+
element,
|
|
128
|
+
);
|
|
127
129
|
return element;
|
|
128
130
|
}
|
|
129
131
|
|