@finos/legend-graph 1.2.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/GraphManagerState.d.ts +4 -4
- package/lib/GraphManagerState.d.ts.map +1 -1
- package/lib/GraphManagerState.js +6 -6
- package/lib/GraphManagerState.js.map +1 -1
- package/lib/GraphManagerTestUtils.d.ts +5 -2
- package/lib/GraphManagerTestUtils.d.ts.map +1 -1
- package/lib/GraphManagerTestUtils.js +10 -3
- package/lib/GraphManagerTestUtils.js.map +1 -1
- package/lib/MetaModelConst.d.ts +3 -1
- package/lib/MetaModelConst.d.ts.map +1 -1
- package/lib/MetaModelConst.js +2 -0
- package/lib/MetaModelConst.js.map +1 -1
- package/lib/graph/BasicModel.d.ts.map +1 -1
- package/lib/graph/BasicModel.js +1 -0
- package/lib/graph/BasicModel.js.map +1 -1
- package/lib/graph/DSLExternalFormat_Extension.d.ts +22 -0
- package/lib/graph/DSLExternalFormat_Extension.d.ts.map +1 -0
- package/lib/graph/DSLExternalFormat_Extension.js +31 -0
- package/lib/graph/DSLExternalFormat_Extension.js.map +1 -0
- package/lib/graph/DSLExternalFormat_PureGraphPlugin.d.ts +23 -0
- package/lib/graph/DSLExternalFormat_PureGraphPlugin.d.ts.map +1 -0
- package/lib/graph/DSLExternalFormat_PureGraphPlugin.js +28 -0
- package/lib/graph/DSLExternalFormat_PureGraphPlugin.js.map +1 -0
- package/lib/graph/DependencyManager.d.ts.map +1 -1
- package/lib/graph/DependencyManager.js +2 -0
- package/lib/graph/DependencyManager.js.map +1 -1
- package/lib/graph/PureModel.d.ts.map +1 -1
- package/lib/graph/PureModel.js +8 -3
- package/lib/graph/PureModel.js.map +1 -1
- package/lib/graphManager/AbstractPureGraphManager.d.ts +10 -6
- package/lib/graphManager/AbstractPureGraphManager.d.ts.map +1 -1
- package/lib/graphManager/AbstractPureGraphManager.js.map +1 -1
- package/lib/graphManager/DSLExternalFormat_GraphManagerHelper.d.ts +21 -0
- package/lib/graphManager/DSLExternalFormat_GraphManagerHelper.d.ts.map +1 -0
- package/lib/graphManager/DSLExternalFormat_GraphManagerHelper.js +21 -0
- package/lib/graphManager/DSLExternalFormat_GraphManagerHelper.js.map +1 -0
- package/lib/graphManager/DSLExternalFormat_PureGraphManagerPlugin.d.ts +25 -0
- package/lib/graphManager/DSLExternalFormat_PureGraphManagerPlugin.d.ts.map +1 -0
- package/lib/graphManager/DSLExternalFormat_PureGraphManagerPlugin.js +67 -0
- package/lib/graphManager/DSLExternalFormat_PureGraphManagerPlugin.js.map +1 -0
- package/lib/graphManager/GraphBuilderReport.d.ts +28 -0
- package/lib/graphManager/GraphBuilderReport.d.ts.map +1 -0
- package/lib/graphManager/GraphBuilderReport.js +24 -0
- package/lib/graphManager/GraphBuilderReport.js.map +1 -0
- package/lib/graphManager/{GraphManagerLogEvent.d.ts → GraphManagerEvent.d.ts} +12 -18
- package/lib/graphManager/GraphManagerEvent.d.ts.map +1 -0
- package/lib/graphManager/GraphManagerEvent.js +45 -0
- package/lib/graphManager/GraphManagerEvent.js.map +1 -0
- package/lib/graphManager/GraphManagerTelemetry.d.ts +28 -0
- package/lib/graphManager/GraphManagerTelemetry.d.ts.map +1 -0
- package/lib/graphManager/GraphManagerTelemetry.js +22 -0
- package/lib/graphManager/GraphManagerTelemetry.js.map +1 -0
- package/lib/graphManager/action/EngineError.d.ts +3 -0
- package/lib/graphManager/action/EngineError.d.ts.map +1 -1
- package/lib/graphManager/action/EngineError.js +3 -0
- package/lib/graphManager/action/EngineError.js.map +1 -1
- package/lib/graphManager/action/externalFormat/ExternalFormatDescription.d.ts +26 -0
- package/lib/graphManager/action/externalFormat/ExternalFormatDescription.d.ts.map +1 -0
- package/lib/graphManager/action/externalFormat/ExternalFormatDescription.js +27 -0
- package/lib/graphManager/action/externalFormat/ExternalFormatDescription.js.map +1 -0
- package/lib/index.d.ts +15 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +16 -1
- package/lib/index.js.map +1 -1
- package/lib/models/DSLExternalFormat_ModelUtils.d.ts +24 -0
- package/lib/models/DSLExternalFormat_ModelUtils.d.ts.map +1 -0
- package/lib/models/DSLExternalFormat_ModelUtils.js +25 -0
- package/lib/models/DSLExternalFormat_ModelUtils.js.map +1 -0
- package/lib/models/metamodels/pure/packageableElements/PackageableElement.js +1 -1
- package/lib/models/metamodels/pure/packageableElements/PackageableElement.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/domain/Package.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/domain/Package.js +4 -2
- package/lib/models/metamodels/pure/packageableElements/domain/Package.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/externalFormat/connection/DSLExternalFormat_ExternalFormatConnection.d.ts +29 -0
- package/lib/models/metamodels/pure/packageableElements/externalFormat/connection/DSLExternalFormat_ExternalFormatConnection.d.ts.map +1 -0
- package/lib/models/metamodels/pure/packageableElements/externalFormat/connection/DSLExternalFormat_ExternalFormatConnection.js +45 -0
- package/lib/models/metamodels/pure/packageableElements/externalFormat/connection/DSLExternalFormat_ExternalFormatConnection.js.map +1 -0
- package/lib/models/metamodels/pure/packageableElements/externalFormat/connection/DSLExternalFormat_UrlStream.d.ts +23 -0
- package/lib/models/metamodels/pure/packageableElements/externalFormat/connection/DSLExternalFormat_UrlStream.d.ts.map +1 -0
- package/lib/models/metamodels/pure/packageableElements/externalFormat/connection/DSLExternalFormat_UrlStream.js +35 -0
- package/lib/models/metamodels/pure/packageableElements/externalFormat/connection/DSLExternalFormat_UrlStream.js.map +1 -0
- package/lib/models/metamodels/pure/packageableElements/externalFormat/schemaSet/DSLExternalFormat_Schema.d.ts +28 -0
- package/lib/models/metamodels/pure/packageableElements/externalFormat/schemaSet/DSLExternalFormat_Schema.d.ts.map +1 -0
- package/lib/models/metamodels/pure/packageableElements/externalFormat/schemaSet/DSLExternalFormat_Schema.js +53 -0
- package/lib/models/metamodels/pure/packageableElements/externalFormat/schemaSet/DSLExternalFormat_Schema.js.map +1 -0
- package/lib/models/metamodels/pure/packageableElements/externalFormat/schemaSet/DSLExternalFormat_SchemaSet.d.ts +29 -0
- package/lib/models/metamodels/pure/packageableElements/externalFormat/schemaSet/DSLExternalFormat_SchemaSet.d.ts.map +1 -0
- package/lib/models/metamodels/pure/packageableElements/externalFormat/schemaSet/DSLExternalFormat_SchemaSet.js +55 -0
- package/lib/models/metamodels/pure/packageableElements/externalFormat/schemaSet/DSLExternalFormat_SchemaSet.js.map +1 -0
- package/lib/models/metamodels/pure/packageableElements/externalFormat/store/BindingTransformer.d.ts +25 -0
- package/lib/models/metamodels/pure/packageableElements/externalFormat/store/BindingTransformer.d.ts.map +1 -0
- package/lib/models/metamodels/pure/packageableElements/externalFormat/store/BindingTransformer.js +38 -0
- package/lib/models/metamodels/pure/packageableElements/externalFormat/store/BindingTransformer.js.map +1 -0
- package/lib/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_Binding.d.ts +35 -0
- package/lib/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_Binding.d.ts.map +1 -0
- package/lib/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_Binding.js +65 -0
- package/lib/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_Binding.js.map +1 -0
- package/lib/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_ModelUnit.d.ts +31 -0
- package/lib/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_ModelUnit.d.ts.map +1 -0
- package/lib/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_ModelUnit.js +61 -0
- package/lib/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_ModelUnit.js.map +1 -0
- package/lib/models/metamodels/pure/packageableElements/mapping/MergeOperationSetImplementation.d.ts +33 -0
- package/lib/models/metamodels/pure/packageableElements/mapping/MergeOperationSetImplementation.d.ts.map +1 -0
- package/lib/models/metamodels/pure/packageableElements/mapping/MergeOperationSetImplementation.js +46 -0
- package/lib/models/metamodels/pure/packageableElements/mapping/MergeOperationSetImplementation.js.map +1 -0
- package/lib/models/metamodels/pure/packageableElements/mapping/OperationSetImplementation.d.ts +2 -1
- package/lib/models/metamodels/pure/packageableElements/mapping/OperationSetImplementation.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/mapping/OperationSetImplementation.js +1 -1
- package/lib/models/metamodels/pure/packageableElements/mapping/OperationSetImplementation.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/mapping/SetImplementation.d.ts +3 -0
- package/lib/models/metamodels/pure/packageableElements/mapping/SetImplementation.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/mapping/SetImplementation.js +1 -0
- package/lib/models/metamodels/pure/packageableElements/mapping/SetImplementation.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/store/relational/connection/DatasourceSpecification.d.ts +9 -3
- package/lib/models/metamodels/pure/packageableElements/store/relational/connection/DatasourceSpecification.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/store/relational/connection/DatasourceSpecification.js +32 -8
- package/lib/models/metamodels/pure/packageableElements/store/relational/connection/DatasourceSpecification.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/RelationalPropertyMapping.d.ts +3 -0
- package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/RelationalPropertyMapping.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/RelationalPropertyMapping.js +7 -0
- package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/RelationalPropertyMapping.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/store/relational/model/RelationalDataType.d.ts +4 -0
- package/lib/models/metamodels/pure/packageableElements/store/relational/model/RelationalDataType.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/store/relational/model/RelationalDataType.js +11 -0
- package/lib/models/metamodels/pure/packageableElements/store/relational/model/RelationalDataType.js.map +1 -1
- package/lib/models/protocols/pure/DSLExternalFormat_PureProtocolProcessorPlugin.d.ts +34 -0
- package/lib/models/protocols/pure/DSLExternalFormat_PureProtocolProcessorPlugin.d.ts.map +1 -0
- package/lib/models/protocols/pure/DSLExternalFormat_PureProtocolProcessorPlugin.js +253 -0
- package/lib/models/protocols/pure/DSLExternalFormat_PureProtocolProcessorPlugin.js.map +1 -0
- package/lib/models/protocols/pure/v1/V1_Core_SystemModels.json +2248 -0
- package/lib/models/protocols/pure/v1/V1_PureGraphManager.d.ts +13 -7
- package/lib/models/protocols/pure/v1/V1_PureGraphManager.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/V1_PureGraphManager.js +209 -192
- 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 +17 -3
- package/lib/models/protocols/pure/v1/engine/V1_Engine.js.map +1 -1
- package/lib/models/protocols/pure/v1/engine/V1_EngineEvent.d.ts +21 -0
- package/lib/models/protocols/pure/v1/engine/V1_EngineEvent.d.ts.map +1 -0
- package/lib/models/protocols/pure/v1/engine/V1_EngineEvent.js +22 -0
- package/lib/models/protocols/pure/v1/engine/V1_EngineEvent.js.map +1 -0
- package/lib/models/protocols/pure/v1/engine/V1_EngineHelper.d.ts +6 -2
- package/lib/models/protocols/pure/v1/engine/V1_EngineHelper.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/engine/V1_EngineHelper.js +31 -16
- package/lib/models/protocols/pure/v1/engine/V1_EngineHelper.js.map +1 -1
- package/lib/models/protocols/pure/v1/engine/V1_EngineServerClient.d.ts +5 -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 +4 -0
- package/lib/models/protocols/pure/v1/engine/V1_EngineServerClient.js.map +1 -1
- package/lib/models/protocols/pure/v1/engine/externalFormat/V1_ExternalFormatDescription.d.ts +28 -0
- package/lib/models/protocols/pure/v1/engine/externalFormat/V1_ExternalFormatDescription.d.ts.map +1 -0
- package/lib/models/protocols/pure/v1/engine/externalFormat/V1_ExternalFormatDescription.js +38 -0
- package/lib/models/protocols/pure/v1/engine/externalFormat/V1_ExternalFormatDescription.js.map +1 -0
- package/lib/models/protocols/pure/v1/engine/externalFormat/V1_ExternalFormatModelGeneration.d.ts +25 -0
- package/lib/models/protocols/pure/v1/engine/externalFormat/V1_ExternalFormatModelGeneration.d.ts.map +1 -0
- package/lib/models/protocols/pure/v1/engine/externalFormat/V1_ExternalFormatModelGeneration.js +35 -0
- package/lib/models/protocols/pure/v1/engine/externalFormat/V1_ExternalFormatModelGeneration.js.map +1 -0
- package/lib/models/protocols/pure/v1/model/context/V1_PureModelContext.d.ts +0 -2
- package/lib/models/protocols/pure/v1/model/context/V1_PureModelContext.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/model/context/V1_PureModelContext.js +0 -2
- package/lib/models/protocols/pure/v1/model/context/V1_PureModelContext.js.map +1 -1
- package/lib/models/protocols/pure/v1/model/context/V1_PureModelContextData.d.ts +0 -2
- package/lib/models/protocols/pure/v1/model/context/V1_PureModelContextData.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/model/context/V1_PureModelContextData.js +0 -3
- package/lib/models/protocols/pure/v1/model/context/V1_PureModelContextData.js.map +1 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/connection/V1_DSLExternalFormat_ExternalFormatConnection.d.ts +24 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/connection/V1_DSLExternalFormat_ExternalFormatConnection.d.ts.map +1 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/connection/V1_DSLExternalFormat_ExternalFormatConnection.js +32 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/connection/V1_DSLExternalFormat_ExternalFormatConnection.js.map +1 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/connection/V1_DSLExternalFormat_UrlStream.d.ts +21 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/connection/V1_DSLExternalFormat_UrlStream.d.ts.map +1 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/connection/V1_DSLExternalFormat_UrlStream.js +24 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/connection/V1_DSLExternalFormat_UrlStream.js.map +1 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/schemaSet/V1_DSLExternalFormat_Schema.d.ts +23 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/schemaSet/V1_DSLExternalFormat_Schema.d.ts.map +1 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/schemaSet/V1_DSLExternalFormat_Schema.js +31 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/schemaSet/V1_DSLExternalFormat_Schema.js.map +1 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/schemaSet/V1_DSLExternalFormat_SchemaSet.d.ts +25 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/schemaSet/V1_DSLExternalFormat_SchemaSet.d.ts.map +1 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/schemaSet/V1_DSLExternalFormat_SchemaSet.js +34 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/schemaSet/V1_DSLExternalFormat_SchemaSet.js.map +1 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/store/V1_BindingTransformer.d.ts +21 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/store/V1_BindingTransformer.d.ts.map +1 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/store/V1_BindingTransformer.js +24 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/store/V1_BindingTransformer.js.map +1 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/store/V1_DSLExternalFormat_Binding.d.ts +28 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/store/V1_DSLExternalFormat_Binding.d.ts.map +1 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/store/V1_DSLExternalFormat_Binding.js +38 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/store/V1_DSLExternalFormat_Binding.js.map +1 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/store/V1_DSLExternalFormat_ModelUnit.d.ts +22 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/store/V1_DSLExternalFormat_ModelUnit.d.ts.map +1 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/store/V1_DSLExternalFormat_ModelUnit.js +29 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/store/V1_DSLExternalFormat_ModelUnit.js.map +1 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_ClassMapping.d.ts +2 -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.map +1 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_MergeOperationClassMapping.d.ts +25 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_MergeOperationClassMapping.d.ts.map +1 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_MergeOperationClassMapping.js +34 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_MergeOperationClassMapping.js.map +1 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_OperationClassMapping.d.ts +2 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_OperationClassMapping.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_OperationClassMapping.js +1 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_OperationClassMapping.js.map +1 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/connection/V1_DatasourceSpecification.d.ts +4 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/connection/V1_DatasourceSpecification.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/connection/V1_DatasourceSpecification.js +8 -2
- package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/connection/V1_DatasourceSpecification.js.map +1 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/mapping/V1_RelationalPropertyMapping.d.ts +2 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/mapping/V1_RelationalPropertyMapping.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/mapping/V1_RelationalPropertyMapping.js +2 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/mapping/V1_RelationalPropertyMapping.js.map +1 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/model/V1_RelationalDataType.d.ts +3 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/model/V1_RelationalDataType.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/model/V1_RelationalDataType.js +5 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/model/V1_RelationalDataType.js.map +1 -1
- package/lib/models/protocols/pure/v1/model/valueSpecification/raw/V1_HackedUnit.d.ts +1 -1
- package/lib/models/protocols/pure/v1/model/valueSpecification/raw/V1_HackedUnit.js +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 +4 -1
- 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_DatabaseTransformer.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_DatabaseTransformer.js +5 -2
- package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_DatabaseTransformer.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.d.ts +2 -0
- 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 +34 -2
- package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_DSLExternalFormat_GraphBuilderHelper.d.ts +22 -0
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_DSLExternalFormat_GraphBuilderHelper.d.ts.map +1 -0
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_DSLExternalFormat_GraphBuilderHelper.js +19 -0
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_DSLExternalFormat_GraphBuilderHelper.js.map +1 -0
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingFirstPassBuilder.d.ts +2 -0
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingFirstPassBuilder.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingFirstPassBuilder.js +8 -0
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingFirstPassBuilder.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingSecondPassBuilder.d.ts +2 -0
- 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 +5 -2
- 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_ProtocolToMetaModelPropertyMappingBuilder.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelPropertyMappingBuilder.js +12 -4
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelPropertyMappingBuilder.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DatabaseBuilderHelper.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DatabaseBuilderHelper.js +5 -2
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DatabaseBuilderHelper.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RelationalConnectionBuilderHelper.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RelationalConnectionBuilderHelper.js +5 -3
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RelationalConnectionBuilderHelper.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_SectionBuilderHelper.js +4 -4
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_SectionBuilderHelper.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ServiceBuilderHelper.js +2 -2
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ServiceBuilderHelper.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.js +3 -7
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationPathResolver.js +2 -2
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationPathResolver.js.map +1 -1
- 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 +4 -1
- 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_DSLExternalFormat_ProtocolHelper.d.ts +25 -0
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DSLExternalFormat_ProtocolHelper.d.ts.map +1 -0
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DSLExternalFormat_ProtocolHelper.js +62 -0
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DSLExternalFormat_ProtocolHelper.js.map +1 -0
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DatabaseSerializationHelper.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DatabaseSerializationHelper.js +10 -1
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DatabaseSerializationHelper.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 +23 -2
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_MappingSerializationHelper.js.map +1 -1
- package/lib/package.json +68 -0
- package/package.json +15 -11
- package/src/GraphManagerState.ts +14 -7
- package/src/GraphManagerTestUtils.tsx +17 -3
- package/src/MetaModelConst.ts +2 -0
- package/src/graph/BasicModel.ts +2 -0
- package/src/graph/DSLExternalFormat_Extension.ts +37 -0
- package/src/graph/DSLExternalFormat_PureGraphPlugin.ts +35 -0
- package/src/graph/DependencyManager.ts +5 -0
- package/src/graph/PureModel.ts +16 -2
- package/src/graphManager/AbstractPureGraphManager.ts +19 -6
- package/src/graphManager/DSLExternalFormat_GraphManagerHelper.ts +30 -0
- package/src/graphManager/DSLExternalFormat_PureGraphManagerPlugin.ts +86 -0
- package/src/graphManager/GraphBuilderReport.ts +31 -0
- package/src/graphManager/{GraphManagerLogEvent.ts → GraphManagerEvent.ts} +10 -20
- package/src/graphManager/GraphManagerTelemetry.ts +35 -0
- package/src/graphManager/action/EngineError.ts +3 -0
- package/src/graphManager/action/externalFormat/ExternalFormatDescription.ts +30 -0
- package/src/index.ts +16 -2
- package/src/models/DSLExternalFormat_ModelUtils.ts +24 -0
- package/src/models/metamodels/pure/packageableElements/PackageableElement.ts +1 -1
- package/src/models/metamodels/pure/packageableElements/domain/Package.ts +3 -2
- package/src/models/metamodels/pure/packageableElements/externalFormat/connection/DSLExternalFormat_ExternalFormatConnection.ts +57 -0
- package/src/models/metamodels/pure/packageableElements/externalFormat/connection/DSLExternalFormat_UrlStream.ts +39 -0
- package/src/models/metamodels/pure/packageableElements/externalFormat/schemaSet/DSLExternalFormat_Schema.ts +59 -0
- package/src/models/metamodels/pure/packageableElements/externalFormat/schemaSet/DSLExternalFormat_SchemaSet.ts +74 -0
- package/src/models/metamodels/pure/packageableElements/externalFormat/store/BindingTransformer.ts +44 -0
- package/src/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_Binding.ts +80 -0
- package/src/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_ModelUnit.ts +98 -0
- package/src/models/metamodels/pure/packageableElements/mapping/MergeOperationSetImplementation.ts +81 -0
- package/src/models/metamodels/pure/packageableElements/mapping/OperationSetImplementation.ts +1 -1
- package/src/models/metamodels/pure/packageableElements/mapping/SetImplementation.ts +5 -0
- package/src/models/metamodels/pure/packageableElements/store/relational/connection/DatasourceSpecification.ts +40 -9
- package/src/models/metamodels/pure/packageableElements/store/relational/mapping/RelationalPropertyMapping.ts +9 -0
- package/src/models/metamodels/pure/packageableElements/store/relational/model/RelationalDataType.ts +14 -0
- package/src/models/protocols/pure/DSLExternalFormat_PureProtocolProcessorPlugin.ts +417 -0
- package/src/models/protocols/pure/v1/V1_Core_SystemModels.json +2248 -0
- package/src/models/protocols/pure/v1/V1_PureGraphManager.ts +324 -384
- package/src/models/protocols/pure/v1/engine/V1_Engine.ts +34 -2
- package/src/models/protocols/pure/v1/engine/V1_EngineEvent.ts +21 -0
- package/src/models/protocols/pure/v1/engine/V1_EngineHelper.ts +59 -29
- package/src/models/protocols/pure/v1/engine/V1_EngineServerClient.ts +22 -0
- package/src/models/protocols/pure/v1/engine/externalFormat/V1_ExternalFormatDescription.ts +46 -0
- package/src/models/protocols/pure/v1/engine/externalFormat/V1_ExternalFormatModelGeneration.ts +44 -0
- package/src/models/protocols/pure/v1/model/context/V1_PureModelContext.ts +1 -5
- package/src/models/protocols/pure/v1/model/context/V1_PureModelContextData.ts +0 -9
- package/src/models/protocols/pure/v1/model/packageableElements/externalFormat/connection/V1_DSLExternalFormat_ExternalFormatConnection.ts +42 -0
- package/src/models/protocols/pure/v1/model/packageableElements/externalFormat/connection/V1_DSLExternalFormat_UrlStream.ts +26 -0
- package/src/models/protocols/pure/v1/model/packageableElements/externalFormat/schemaSet/V1_DSLExternalFormat_Schema.ts +33 -0
- package/src/models/protocols/pure/v1/model/packageableElements/externalFormat/schemaSet/V1_DSLExternalFormat_SchemaSet.ts +43 -0
- package/src/models/protocols/pure/v1/model/packageableElements/externalFormat/store/V1_BindingTransformer.ts +26 -0
- package/src/models/protocols/pure/v1/model/packageableElements/externalFormat/store/V1_DSLExternalFormat_Binding.ts +45 -0
- package/src/models/protocols/pure/v1/model/packageableElements/externalFormat/store/V1_DSLExternalFormat_ModelUnit.ts +31 -0
- package/src/models/protocols/pure/v1/model/packageableElements/mapping/V1_ClassMapping.ts +4 -0
- package/src/models/protocols/pure/v1/model/packageableElements/mapping/V1_MergeOperationClassMapping.ts +46 -0
- package/src/models/protocols/pure/v1/model/packageableElements/mapping/V1_OperationClassMapping.ts +1 -1
- package/src/models/protocols/pure/v1/model/packageableElements/store/relational/connection/V1_DatasourceSpecification.ts +8 -2
- package/src/models/protocols/pure/v1/model/packageableElements/store/relational/mapping/V1_RelationalPropertyMapping.ts +3 -0
- package/src/models/protocols/pure/v1/model/packageableElements/store/relational/model/V1_RelationalDataType.ts +9 -0
- package/src/models/protocols/pure/v1/model/valueSpecification/raw/V1_HackedUnit.ts +1 -1
- package/src/models/protocols/pure/v1/transformation/pureGraph/from/V1_ConnectionTransformer.ts +4 -1
- package/src/models/protocols/pure/v1/transformation/pureGraph/from/V1_DatabaseTransformer.ts +4 -0
- package/src/models/protocols/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.ts +53 -1
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/V1_DSLExternalFormat_GraphBuilderHelper.ts +40 -0
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingFirstPassBuilder.ts +32 -0
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingSecondPassBuilder.ts +9 -2
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelPropertyMappingBuilder.ts +15 -4
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DatabaseBuilderHelper.ts +4 -0
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RelationalConnectionBuilderHelper.ts +18 -5
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_SectionBuilderHelper.ts +4 -4
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ServiceBuilderHelper.ts +2 -2
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.ts +4 -10
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationPathResolver.ts +2 -2
- package/src/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ConnectionSerializationHelper.ts +4 -1
- package/src/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DSLExternalFormat_ProtocolHelper.ts +90 -0
- package/src/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DatabaseSerializationHelper.ts +13 -0
- package/src/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_MappingSerializationHelper.ts +30 -1
- package/tsconfig.json +31 -1
- package/CHANGELOG.md +0 -223
- package/lib/graphManager/GraphManagerLogEvent.d.ts.map +0 -1
- package/lib/graphManager/GraphManagerLogEvent.js +0 -52
- package/lib/graphManager/GraphManagerLogEvent.js.map +0 -1
|
@@ -14,9 +14,9 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
import { flow, flowResult, makeObservable, runInAction } from 'mobx';
|
|
17
|
-
import {
|
|
17
|
+
import { GRAPH_MANAGER_EVENT } from '../../../../graphManager/GraphManagerEvent';
|
|
18
18
|
import { CORE_PURE_PATH, ELEMENT_PATH_DELIMITER, ROOT_PACKAGE_NAME, SOURCE_INFORMATION_KEY, } from '../../../../MetaModelConst';
|
|
19
|
-
import { TracerService, LogEvent, getClass, guaranteeNonNullable, UnsupportedOperationError, recursiveOmit, assertTrue, assertErrorThrown, promisify, } from '@finos/legend-shared';
|
|
19
|
+
import { TracerService, LogEvent, getClass, guaranteeNonNullable, UnsupportedOperationError, recursiveOmit, assertTrue, assertErrorThrown, promisify, StopWatch, } from '@finos/legend-shared';
|
|
20
20
|
import { AbstractPureGraphManager, } from '../../../../graphManager/AbstractPureGraphManager';
|
|
21
21
|
import { PureModel, } from '../../../../graph/PureModel';
|
|
22
22
|
import { RawLambda } from '../../../metamodels/pure/rawValueSpecification/RawLambda';
|
|
@@ -78,6 +78,8 @@ import { V1_buildExecutionResult } from './engine/V1_ExecutionHelper';
|
|
|
78
78
|
import { ENTITY_PATH_DELIMITER, } from '@finos/legend-model-storage';
|
|
79
79
|
import { DependencyGraphBuilderError, GraphBuilderError, SystemGraphBuilderError, } from '../../../../graphManager/GraphManagerUtils';
|
|
80
80
|
import { PackageableElementReference } from '../../../metamodels/pure/packageableElements/PackageableElementReference';
|
|
81
|
+
import { V1_ExternalFormatModelGenerationInput } from './engine/externalFormat/V1_ExternalFormatModelGeneration';
|
|
82
|
+
import { GraphBuilderReport } from '../../../../graphManager/GraphBuilderReport';
|
|
81
83
|
const V1_FUNCTION_SUFFIX_MULTIPLICITY_INFINITE = 'MANY';
|
|
82
84
|
const getMultiplicitySuffix = (multiplicity) => {
|
|
83
85
|
if (multiplicity.lowerBound === multiplicity.upperBound) {
|
|
@@ -114,7 +116,16 @@ class V1_PureModelContextDataIndex {
|
|
|
114
116
|
generationSpecifications = [];
|
|
115
117
|
otherElementsByBuilder = new Map();
|
|
116
118
|
}
|
|
117
|
-
const
|
|
119
|
+
const mergePureModelContextData = (...data) => {
|
|
120
|
+
const mergedData = new V1_PureModelContextData();
|
|
121
|
+
for (const _data of data) {
|
|
122
|
+
mergedData.elements = mergedData.elements.concat(_data.elements);
|
|
123
|
+
mergedData.serializer = _data.serializer ?? mergedData.serializer;
|
|
124
|
+
mergedData.origin = _data.origin ?? mergedData.origin;
|
|
125
|
+
}
|
|
126
|
+
return mergedData;
|
|
127
|
+
};
|
|
128
|
+
const indexPureModelContextData = (report, data, extensions) => {
|
|
118
129
|
const index = new V1_PureModelContextDataIndex();
|
|
119
130
|
index.elements = data.elements;
|
|
120
131
|
const otherElementsByClass = new Map();
|
|
@@ -180,6 +191,37 @@ const indexPureModelContextData = (data, extensions) => {
|
|
|
180
191
|
const builder = extensions.getExtraBuilderForProtocolClassOrThrow(_class);
|
|
181
192
|
index.otherElementsByBuilder.set(builder, (index.otherElementsByBuilder.get(builder) ?? []).concat(elements));
|
|
182
193
|
});
|
|
194
|
+
// report
|
|
195
|
+
report.elementCount.total = report.elementCount.total + index.elements.length;
|
|
196
|
+
report.elementCount.other =
|
|
197
|
+
(report.elementCount.other ?? 0) +
|
|
198
|
+
otherElementsByClass.size +
|
|
199
|
+
index.fileGenerations.length +
|
|
200
|
+
index.generationSpecifications.length;
|
|
201
|
+
report.elementCount.sectionIndex =
|
|
202
|
+
(report.elementCount.sectionIndex ?? 0) + index.sectionIndices.length;
|
|
203
|
+
report.elementCount.association =
|
|
204
|
+
(report.elementCount.association ?? 0) + index.associations.length;
|
|
205
|
+
report.elementCount.class =
|
|
206
|
+
(report.elementCount.class ?? 0) + index.classes.length;
|
|
207
|
+
report.elementCount.enumeration =
|
|
208
|
+
(report.elementCount.enumeration ?? 0) + index.enumerations.length;
|
|
209
|
+
report.elementCount.function =
|
|
210
|
+
(report.elementCount.function ?? 0) + index.functions.length;
|
|
211
|
+
report.elementCount.profile =
|
|
212
|
+
(report.elementCount.profile ?? 0) + index.profiles.length;
|
|
213
|
+
report.elementCount.measure =
|
|
214
|
+
(report.elementCount.measure ?? 0) + index.measures.length;
|
|
215
|
+
report.elementCount.store =
|
|
216
|
+
(report.elementCount.store ?? 0) + index.stores.length;
|
|
217
|
+
report.elementCount.mapping =
|
|
218
|
+
(report.elementCount.mapping ?? 0) + index.mappings.length;
|
|
219
|
+
report.elementCount.connection =
|
|
220
|
+
(report.elementCount.connection ?? 0) + index.connections.length;
|
|
221
|
+
report.elementCount.runtime =
|
|
222
|
+
(report.elementCount.runtime ?? 0) + index.runtimes.length;
|
|
223
|
+
report.elementCount.service =
|
|
224
|
+
(report.elementCount.service ?? 0) + index.services.length;
|
|
183
225
|
return index;
|
|
184
226
|
};
|
|
185
227
|
export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
@@ -192,6 +234,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
192
234
|
buildSystem: flow,
|
|
193
235
|
buildDependencies: flow,
|
|
194
236
|
buildGraph: flow,
|
|
237
|
+
buildGraphFromInputs: flow,
|
|
195
238
|
buildGenerations: flow,
|
|
196
239
|
initializeAndIndexElements: flow,
|
|
197
240
|
postProcess: flow,
|
|
@@ -199,11 +242,11 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
199
242
|
buildStores: flow,
|
|
200
243
|
buildMappings: flow,
|
|
201
244
|
buildConnectionsAndRuntimes: flow,
|
|
202
|
-
|
|
245
|
+
buildSectionIndices: flow,
|
|
203
246
|
buildOtherElements: flow,
|
|
204
247
|
buildServices: flow,
|
|
205
248
|
buildFileGenerations: flow,
|
|
206
|
-
|
|
249
|
+
buildGenerationSpecifications: flow,
|
|
207
250
|
});
|
|
208
251
|
// setup plugins
|
|
209
252
|
this.extensions = new V1_GraphBuilderExtensions(this.pluginManager.getPureProtocolProcessorPlugins());
|
|
@@ -226,204 +269,121 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
226
269
|
}
|
|
227
270
|
// --------------------------------------------- Graph Builder ---------------------------------------------
|
|
228
271
|
*buildSystem(coreModel, systemModel, options) {
|
|
229
|
-
const
|
|
272
|
+
const stopWatch = new StopWatch();
|
|
273
|
+
const report = new GraphBuilderReport();
|
|
274
|
+
const graphBuilderState = systemModel.buildState;
|
|
275
|
+
graphBuilderState.reset();
|
|
230
276
|
// Create a dummy graph for system processing. This is to ensure system model does not depend on the main graph
|
|
231
277
|
const graph = new PureModel(coreModel, systemModel, this.pluginManager.getPureGraphPlugins());
|
|
232
278
|
try {
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
* Get all system entities.
|
|
237
|
-
*
|
|
238
|
-
* NOTE: right now, we are doing extra work here: JSON -> protocol -> entities -> protocol, since we are
|
|
239
|
-
* expecting to get these models from some a remote SDLC project in the future.
|
|
240
|
-
*/
|
|
241
|
-
V1_deserializePureModelContextData(V1_CORE_SYSTEM_MODELS)
|
|
242
|
-
.elements.concat(this.pluginManager
|
|
279
|
+
// deserialize
|
|
280
|
+
graphBuilderState.setMessage(`Collecting and deserializing elements...`);
|
|
281
|
+
const systemData = mergePureModelContextData(V1_deserializePureModelContextData(V1_CORE_SYSTEM_MODELS), ...this.pluginManager
|
|
243
282
|
.getPureProtocolProcessorPlugins()
|
|
244
283
|
.flatMap((plugin) => plugin.V1_getExtraSystemModels?.() ?? [])
|
|
245
|
-
.
|
|
246
|
-
|
|
247
|
-
|
|
284
|
+
.map((modelContextData) => V1_deserializePureModelContextData(modelContextData)));
|
|
285
|
+
stopWatch.record(GRAPH_MANAGER_EVENT.GRAPH_BUILDER_ELEMENTS_DESERIALIZED);
|
|
286
|
+
// prepare build inputs
|
|
287
|
+
const buildInputs = [
|
|
248
288
|
{
|
|
249
289
|
model: systemModel,
|
|
250
|
-
data: indexPureModelContextData(systemData, this.extensions),
|
|
290
|
+
data: indexPureModelContextData(report, systemData, this.extensions),
|
|
251
291
|
},
|
|
252
292
|
];
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
systemModel.buildState.pass();
|
|
293
|
+
// build
|
|
294
|
+
yield flowResult(this.buildGraphFromInputs(graph, buildInputs, report, stopWatch, graphBuilderState, options));
|
|
295
|
+
graphBuilderState.pass();
|
|
296
|
+
report.timings = {
|
|
297
|
+
...Object.fromEntries(stopWatch.records),
|
|
298
|
+
[GRAPH_MANAGER_EVENT.GRAPH_BUILDER_COMPLETED]: stopWatch.elapsed,
|
|
299
|
+
};
|
|
300
|
+
return report;
|
|
262
301
|
}
|
|
263
302
|
catch (error) {
|
|
264
303
|
assertErrorThrown(error);
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
this.log.info(LogEvent.create(GRAPH_MANAGER_LOG_EVENT.GRAPH_BUILDER_FAILURE), '[ERROR]', Date.now() - startTime, 'ms');
|
|
268
|
-
}
|
|
304
|
+
graphBuilderState.fail();
|
|
305
|
+
this.log.error(LogEvent.create(GRAPH_MANAGER_EVENT.GRAPH_BUILDER_FAILURE));
|
|
269
306
|
throw new SystemGraphBuilderError(error);
|
|
270
307
|
}
|
|
308
|
+
finally {
|
|
309
|
+
graphBuilderState.setMessage(undefined);
|
|
310
|
+
}
|
|
271
311
|
}
|
|
272
312
|
*buildDependencies(coreModel, systemModel, dependencyManager, dependencyEntitiesMap, options) {
|
|
273
|
-
const
|
|
274
|
-
|
|
313
|
+
const stopWatch = new StopWatch();
|
|
314
|
+
const report = new GraphBuilderReport();
|
|
315
|
+
const graphBuilderState = dependencyManager.buildState;
|
|
316
|
+
graphBuilderState.reset();
|
|
275
317
|
// Create a dummy graph for system processing. This is to ensure dependency models do not depend on the main graph
|
|
276
318
|
const graph = new PureModel(coreModel, systemModel, this.pluginManager.getPureGraphPlugins());
|
|
277
319
|
graph.setDependencyManager(dependencyManager);
|
|
278
320
|
try {
|
|
279
321
|
dependencyManager.initialize(dependencyEntitiesMap);
|
|
280
|
-
//
|
|
322
|
+
// deserialize
|
|
323
|
+
graphBuilderState.setMessage(`Partitioning and deserializing elements...`);
|
|
281
324
|
const dependencyDataMap = new Map();
|
|
282
325
|
yield Promise.all(Array.from(dependencyEntitiesMap.entries()).map(([dependencyKey, entities]) => {
|
|
283
326
|
const projectModelData = new V1_PureModelContextData();
|
|
284
327
|
dependencyDataMap.set(dependencyKey, projectModelData);
|
|
285
328
|
return V1_entitiesToPureModelContextData(entities, projectModelData, this.pluginManager.getPureProtocolProcessorPlugins());
|
|
286
329
|
}));
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
const graphBuilderInput = Array.from(dependencyDataMap.entries()).map(([dependencyKey, dependencyData]) => ({
|
|
292
|
-
data: indexPureModelContextData(dependencyData, this.extensions),
|
|
330
|
+
stopWatch.record(GRAPH_MANAGER_EVENT.GRAPH_BUILDER_ELEMENTS_DESERIALIZED);
|
|
331
|
+
// prepare build inputs
|
|
332
|
+
const buildInputs = Array.from(dependencyDataMap.entries()).map(([dependencyKey, dependencyData]) => ({
|
|
333
|
+
data: indexPureModelContextData(report, dependencyData, this.extensions),
|
|
293
334
|
model: graph.dependencyManager.getModel(dependencyKey),
|
|
294
335
|
}));
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
yield flowResult(this.buildOtherElements(graph, graphBuilderInput, options));
|
|
305
|
-
yield flowResult(this.postProcess(graph, graphBuilderInput));
|
|
306
|
-
const processingFinishedTime = Date.now();
|
|
307
|
-
if (!options?.quiet) {
|
|
308
|
-
this.log.info(LogEvent.create(GRAPH_MANAGER_LOG_EVENT.GRAPH_BUILDER_DEPENDENCIES_PROCESSED), processingFinishedTime - preprocessingFinishedTime, 'ms');
|
|
309
|
-
}
|
|
310
|
-
dependencyManager.buildState.pass();
|
|
311
|
-
if (!options?.quiet) {
|
|
312
|
-
this.log.info(LogEvent.create(GRAPH_MANAGER_LOG_EVENT.GRAPH_BUILDER_DEPENDENCIES_BUILT), '[TOTAL]', Date.now() - startTime, 'ms');
|
|
313
|
-
}
|
|
336
|
+
// build
|
|
337
|
+
yield flowResult(this.buildGraphFromInputs(graph, buildInputs, report, stopWatch, graphBuilderState, options));
|
|
338
|
+
graphBuilderState.pass();
|
|
339
|
+
report.otherStats.projectCount = dependencyEntitiesMap.size;
|
|
340
|
+
report.timings = {
|
|
341
|
+
...Object.fromEntries(stopWatch.records),
|
|
342
|
+
[GRAPH_MANAGER_EVENT.GRAPH_BUILDER_COMPLETED]: stopWatch.elapsed,
|
|
343
|
+
};
|
|
344
|
+
return report;
|
|
314
345
|
}
|
|
315
346
|
catch (error) {
|
|
316
347
|
assertErrorThrown(error);
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
}
|
|
320
|
-
dependencyManager.buildState.fail();
|
|
348
|
+
this.log.error(LogEvent.create(GRAPH_MANAGER_EVENT.GRAPH_BUILDER_FAILURE));
|
|
349
|
+
graphBuilderState.fail();
|
|
321
350
|
throw new DependencyGraphBuilderError(error);
|
|
322
351
|
}
|
|
352
|
+
finally {
|
|
353
|
+
graphBuilderState.setMessage(undefined);
|
|
354
|
+
}
|
|
323
355
|
}
|
|
324
356
|
*buildGraph(graph, entities, options) {
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
const
|
|
357
|
+
const stopWatch = new StopWatch();
|
|
358
|
+
const report = new GraphBuilderReport();
|
|
359
|
+
const graphBuilderState = graph.buildState;
|
|
360
|
+
graphBuilderState.reset();
|
|
328
361
|
try {
|
|
329
|
-
//
|
|
362
|
+
// deserialize
|
|
363
|
+
graphBuilderState.setMessage(`Deserializing elements...`);
|
|
330
364
|
const data = new V1_PureModelContextData();
|
|
331
365
|
yield V1_entitiesToPureModelContextData(entities, data, this.pluginManager.getPureProtocolProcessorPlugins());
|
|
332
|
-
|
|
366
|
+
stopWatch.record(GRAPH_MANAGER_EVENT.GRAPH_BUILDER_ELEMENTS_DESERIALIZED);
|
|
367
|
+
// prepare build inputs
|
|
368
|
+
const buildInputs = [
|
|
333
369
|
{
|
|
334
370
|
model: graph,
|
|
335
|
-
data: indexPureModelContextData(data, this.extensions),
|
|
371
|
+
data: indexPureModelContextData(report, data, this.extensions),
|
|
336
372
|
},
|
|
337
373
|
];
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
this.log.info(LogEvent.create(GRAPH_MANAGER_LOG_EVENT.GRAPH_BUILDER_ELEMENTS_INITIALIZED_AND_INDEXED), stepFinishedTime - stepStartTime, 'ms', `[element: ${data.elements.length}]`);
|
|
347
|
-
}
|
|
348
|
-
stepStartTime = stepFinishedTime;
|
|
349
|
-
// Section index
|
|
350
|
-
yield flowResult(this.buildSectionIndex(graph, graphBuilderInput, options));
|
|
351
|
-
stepFinishedTime = Date.now();
|
|
352
|
-
if (!options?.quiet) {
|
|
353
|
-
this.log.info(LogEvent.create(GRAPH_MANAGER_LOG_EVENT.GRAPH_BUILDER_SECTION_INDICES_BUILT), stepFinishedTime - stepStartTime, 'ms', `[sectionIndex: ${graph.ownSectionIndices.length}]`);
|
|
354
|
-
}
|
|
355
|
-
stepStartTime = stepFinishedTime;
|
|
356
|
-
// Types
|
|
357
|
-
yield flowResult(this.buildTypes(graph, graphBuilderInput, options));
|
|
358
|
-
stepFinishedTime = Date.now();
|
|
359
|
-
if (!options?.quiet) {
|
|
360
|
-
this.log.info(LogEvent.create(GRAPH_MANAGER_LOG_EVENT.GRAPH_BUILDER_DOMAIN_MODELS_BUILT), stepFinishedTime - stepStartTime, 'ms', `[class: ${graph.ownClasses.length}, enumeration: ${graph.ownEnumerations.length}, association: ${graph.ownAssociations.length}, profile: ${graph.ownProfiles.length}, functions: ${graph.ownFunctions.length}]`);
|
|
361
|
-
}
|
|
362
|
-
stepStartTime = stepFinishedTime;
|
|
363
|
-
// Stores
|
|
364
|
-
yield flowResult(this.buildStores(graph, graphBuilderInput, options));
|
|
365
|
-
stepFinishedTime = Date.now();
|
|
366
|
-
// TODO: we might want to detail out the number of stores by type
|
|
367
|
-
if (!options?.quiet) {
|
|
368
|
-
this.log.info(LogEvent.create(GRAPH_MANAGER_LOG_EVENT.GRAPH_BUILDER_STORES_BUILT), stepFinishedTime - stepStartTime, 'ms', `[store: ${graph.ownStores.length}]`);
|
|
369
|
-
}
|
|
370
|
-
stepStartTime = stepFinishedTime;
|
|
371
|
-
// Mappings
|
|
372
|
-
yield flowResult(this.buildMappings(graph, graphBuilderInput, options));
|
|
373
|
-
stepFinishedTime = Date.now();
|
|
374
|
-
if (!options?.quiet) {
|
|
375
|
-
this.log.info(LogEvent.create(GRAPH_MANAGER_LOG_EVENT.GRAPH_BUILDER_MAPPINGS_BUILT), stepFinishedTime - stepStartTime, 'ms', `[mapping: ${graph.ownMappings.length}]`);
|
|
376
|
-
}
|
|
377
|
-
stepStartTime = stepFinishedTime;
|
|
378
|
-
// Connections and runtimes
|
|
379
|
-
yield flowResult(this.buildConnectionsAndRuntimes(graph, graphBuilderInput, options));
|
|
380
|
-
stepFinishedTime = Date.now();
|
|
381
|
-
if (!options?.quiet) {
|
|
382
|
-
this.log.info(LogEvent.create(GRAPH_MANAGER_LOG_EVENT.GRAPH_BUILDER_CONNECTIONS_BUILT), stepFinishedTime - stepStartTime, 'ms', `[connection: ${graph.ownConnections.length}]`);
|
|
383
|
-
this.log.info(LogEvent.create(GRAPH_MANAGER_LOG_EVENT.GRAPH_BUILDER_RUNTIMES_BUILT), stepFinishedTime - stepStartTime, 'ms', `[runtime: ${graph.ownRuntimes.length}]`);
|
|
384
|
-
}
|
|
385
|
-
stepStartTime = stepFinishedTime;
|
|
386
|
-
// Services
|
|
387
|
-
yield flowResult(this.buildServices(graph, graphBuilderInput, options));
|
|
388
|
-
stepFinishedTime = Date.now();
|
|
389
|
-
if (!options?.quiet) {
|
|
390
|
-
this.log.info(LogEvent.create(GRAPH_MANAGER_LOG_EVENT.GRAPH_BUILDER_SERVICES_BUILT), stepFinishedTime - stepStartTime, 'ms', `[service: ${graph.ownServices.length}]`);
|
|
391
|
-
}
|
|
392
|
-
stepStartTime = stepFinishedTime;
|
|
393
|
-
// File Generation
|
|
394
|
-
yield flowResult(this.buildFileGenerations(graph, graphBuilderInput, options));
|
|
395
|
-
stepFinishedTime = Date.now();
|
|
396
|
-
if (!options?.quiet) {
|
|
397
|
-
this.log.info(LogEvent.create(GRAPH_MANAGER_LOG_EVENT.GRAPH_BUILDER_FILE_GENERATIONS_BUILT), stepFinishedTime - stepStartTime, 'ms', `[file-generation: ${graph.ownFileGenerations.length}]`);
|
|
398
|
-
}
|
|
399
|
-
stepStartTime = stepFinishedTime;
|
|
400
|
-
// Generation Specifications (tree)
|
|
401
|
-
yield flowResult(this.buildGenerationSpecificationss(graph, graphBuilderInput, options));
|
|
402
|
-
stepFinishedTime = Date.now();
|
|
403
|
-
if (!options?.quiet) {
|
|
404
|
-
this.log.info(LogEvent.create(GRAPH_MANAGER_LOG_EVENT.GRAPH_BUILDER_GENERATION_TREE_BUILT), stepFinishedTime - stepStartTime, 'ms', `[generation-specification: ${graph.ownGenerationSpecifications.length}]`);
|
|
405
|
-
}
|
|
406
|
-
stepStartTime = stepFinishedTime;
|
|
407
|
-
// Other elements
|
|
408
|
-
yield flowResult(this.buildOtherElements(graph, graphBuilderInput, options));
|
|
409
|
-
stepFinishedTime = Date.now();
|
|
410
|
-
if (!options?.quiet) {
|
|
411
|
-
this.log.info(LogEvent.create(GRAPH_MANAGER_LOG_EVENT.GRAPH_BUILDER_OTHER_ELEMENTS_BUILT), stepFinishedTime - stepStartTime, 'ms');
|
|
412
|
-
}
|
|
413
|
-
yield flowResult(this.postProcess(graph, graphBuilderInput, {
|
|
414
|
-
TEMPORARY__keepSectionIndex: options?.TEMPORARY__keepSectionIndex,
|
|
415
|
-
}));
|
|
416
|
-
graph.buildState.pass();
|
|
417
|
-
if (!options?.quiet) {
|
|
418
|
-
this.log.info(LogEvent.create(GRAPH_MANAGER_LOG_EVENT.GRAPH_BUILDER_COMPLETED), '[TOTAL]', Date.now() - startTime, 'ms');
|
|
419
|
-
}
|
|
374
|
+
// build
|
|
375
|
+
yield flowResult(this.buildGraphFromInputs(graph, buildInputs, report, stopWatch, graphBuilderState, options));
|
|
376
|
+
graphBuilderState.pass();
|
|
377
|
+
report.timings = {
|
|
378
|
+
...Object.fromEntries(stopWatch.records),
|
|
379
|
+
[GRAPH_MANAGER_EVENT.GRAPH_BUILDER_COMPLETED]: stopWatch.elapsed,
|
|
380
|
+
};
|
|
381
|
+
return report;
|
|
420
382
|
}
|
|
421
383
|
catch (error) {
|
|
422
384
|
assertErrorThrown(error);
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
}
|
|
426
|
-
graph.buildState.fail();
|
|
385
|
+
this.log.error(LogEvent.create(GRAPH_MANAGER_EVENT.GRAPH_BUILDER_FAILURE));
|
|
386
|
+
graphBuilderState.fail();
|
|
427
387
|
/**
|
|
428
388
|
* Wrap all error with `GraphBuilderError`, as we throw a lot of assertion error in the graph builder
|
|
429
389
|
* But we might want to rethink this decision in the future and throw appropriate type of error
|
|
@@ -432,47 +392,46 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
432
392
|
? error
|
|
433
393
|
: new GraphBuilderError(error);
|
|
434
394
|
}
|
|
395
|
+
finally {
|
|
396
|
+
graphBuilderState.setMessage(undefined);
|
|
397
|
+
}
|
|
435
398
|
}
|
|
436
399
|
*buildGenerations(graph, generatedEntities, options) {
|
|
437
|
-
const
|
|
400
|
+
const stopWatch = new StopWatch();
|
|
401
|
+
const report = new GraphBuilderReport();
|
|
438
402
|
const generatedModel = graph.generationModel;
|
|
439
|
-
generatedModel.buildState
|
|
403
|
+
const graphBuilderState = generatedModel.buildState;
|
|
404
|
+
graphBuilderState.reset();
|
|
440
405
|
try {
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
}
|
|
406
|
+
// deserialize
|
|
407
|
+
graphBuilderState.setMessage(`Deserializing elements...`);
|
|
444
408
|
const generatedDataMap = new Map();
|
|
445
409
|
yield Promise.all(Array.from(generatedEntities.entries()).map(([generationParentPath, entities]) => {
|
|
446
410
|
const generatedData = new V1_PureModelContextData();
|
|
447
411
|
generatedDataMap.set(generationParentPath, generatedData);
|
|
448
412
|
return V1_entitiesToPureModelContextData(entities, generatedData, this.pluginManager.getPureProtocolProcessorPlugins());
|
|
449
413
|
}));
|
|
450
|
-
|
|
414
|
+
stopWatch.record(GRAPH_MANAGER_EVENT.GRAPH_BUILDER_ELEMENTS_DESERIALIZED);
|
|
415
|
+
// prepare build inputs
|
|
416
|
+
const buildInputs = Array.from(generatedDataMap.entries()).map(([generationParentPath, generatedData]) => ({
|
|
451
417
|
parentElementPath: generationParentPath,
|
|
452
|
-
data: indexPureModelContextData(generatedData, this.extensions),
|
|
418
|
+
data: indexPureModelContextData(report, generatedData, this.extensions),
|
|
453
419
|
model: generatedModel,
|
|
454
420
|
}));
|
|
455
|
-
|
|
456
|
-
yield flowResult(this.
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
yield flowResult(this.postProcess(graph, generationGraphBuilderInput));
|
|
465
|
-
generatedModel.buildState.pass();
|
|
466
|
-
if (!options?.quiet) {
|
|
467
|
-
this.log.info(LogEvent.create(GRAPH_MANAGER_LOG_EVENT.GRAPH_BUILDER_GENERATIONS_BUILT), Date.now() - stepStartTime, `${graph.generationModel.allOwnElements.length} generated elements processed`, 'ms');
|
|
468
|
-
}
|
|
421
|
+
// build
|
|
422
|
+
yield flowResult(this.buildGraphFromInputs(graph, buildInputs, report, stopWatch, graphBuilderState, options));
|
|
423
|
+
graphBuilderState.pass();
|
|
424
|
+
report.otherStats.generationCount = generatedDataMap.size;
|
|
425
|
+
report.timings = {
|
|
426
|
+
...Object.fromEntries(stopWatch.records),
|
|
427
|
+
[GRAPH_MANAGER_EVENT.GRAPH_BUILDER_COMPLETED]: stopWatch.elapsed,
|
|
428
|
+
};
|
|
429
|
+
return report;
|
|
469
430
|
}
|
|
470
431
|
catch (error) {
|
|
471
432
|
assertErrorThrown(error);
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
}
|
|
475
|
-
generatedModel.buildState.fail();
|
|
433
|
+
this.log.error(LogEvent.create(GRAPH_MANAGER_EVENT.GRAPH_BUILDER_FAILURE));
|
|
434
|
+
graphBuilderState.fail();
|
|
476
435
|
/**
|
|
477
436
|
* Wrap all error with `GraphBuilderError`, as we throw a lot of assertion error in the graph builder
|
|
478
437
|
* But we might want to rethink this decision in the future and throw appropriate type of error
|
|
@@ -481,6 +440,51 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
481
440
|
? error
|
|
482
441
|
: new GraphBuilderError(error);
|
|
483
442
|
}
|
|
443
|
+
finally {
|
|
444
|
+
graphBuilderState.setMessage(undefined);
|
|
445
|
+
}
|
|
446
|
+
}
|
|
447
|
+
*buildGraphFromInputs(graph, inputs, report, stopWatch, graphBuilderState, options) {
|
|
448
|
+
// index
|
|
449
|
+
graphBuilderState.setMessage(`Indexing ${report.elementCount.total} elements...`);
|
|
450
|
+
yield flowResult(this.initializeAndIndexElements(graph, inputs, options));
|
|
451
|
+
stopWatch.record(GRAPH_MANAGER_EVENT.GRAPH_BUILDER_ELEMENTS_INDEXED);
|
|
452
|
+
// build section index
|
|
453
|
+
graphBuilderState.setMessage(`Building section indices...`);
|
|
454
|
+
yield flowResult(this.buildSectionIndices(graph, inputs, options));
|
|
455
|
+
stopWatch.record(GRAPH_MANAGER_EVENT.GRAPH_BUILDER_SECTION_INDICES_BUILT);
|
|
456
|
+
// build types
|
|
457
|
+
graphBuilderState.setMessage(`Building domain models...`);
|
|
458
|
+
yield flowResult(this.buildTypes(graph, inputs, options));
|
|
459
|
+
stopWatch.record(GRAPH_MANAGER_EVENT.GRAPH_BUILDER_DOMAIN_MODELS_BUILT);
|
|
460
|
+
// build stores
|
|
461
|
+
graphBuilderState.setMessage(`Building stores...`);
|
|
462
|
+
yield flowResult(this.buildStores(graph, inputs, options));
|
|
463
|
+
stopWatch.record(GRAPH_MANAGER_EVENT.GRAPH_BUILDER_STORES_BUILT);
|
|
464
|
+
// build mappings
|
|
465
|
+
graphBuilderState.setMessage(`Building mappings...`);
|
|
466
|
+
yield flowResult(this.buildMappings(graph, inputs, options));
|
|
467
|
+
stopWatch.record(GRAPH_MANAGER_EVENT.GRAPH_BUILDER_MAPPINGS_BUILT);
|
|
468
|
+
// build connections and runtimes
|
|
469
|
+
graphBuilderState.setMessage(`Building connections and runtimes...`);
|
|
470
|
+
yield flowResult(this.buildConnectionsAndRuntimes(graph, inputs, options));
|
|
471
|
+
stopWatch.record(GRAPH_MANAGER_EVENT.GRAPH_BUILDER_CONNECTIONS_AND_RUNTIMES_BUILT);
|
|
472
|
+
// build services
|
|
473
|
+
graphBuilderState.setMessage(`Building services...`);
|
|
474
|
+
yield flowResult(this.buildServices(graph, inputs, options));
|
|
475
|
+
stopWatch.record(GRAPH_MANAGER_EVENT.GRAPH_BUILDER_SERVICES_BUILT);
|
|
476
|
+
// build other elements
|
|
477
|
+
graphBuilderState.setMessage(`Building other elements...`);
|
|
478
|
+
yield flowResult(this.buildFileGenerations(graph, inputs, options));
|
|
479
|
+
yield flowResult(this.buildGenerationSpecifications(graph, inputs, options));
|
|
480
|
+
yield flowResult(this.buildOtherElements(graph, inputs, options));
|
|
481
|
+
stopWatch.record(GRAPH_MANAGER_EVENT.GRAPH_BUILDER_OTHER_ELEMENTS_BUILT);
|
|
482
|
+
// post-process
|
|
483
|
+
graphBuilderState.setMessage(`Post-processing graph...`);
|
|
484
|
+
yield flowResult(this.postProcess(graph, inputs, {
|
|
485
|
+
TEMPORARY__keepSectionIndex: options?.TEMPORARY__keepSectionIndex,
|
|
486
|
+
}));
|
|
487
|
+
stopWatch.record(GRAPH_MANAGER_EVENT.GRAPH_BUILDER_POST_PROCESSED);
|
|
484
488
|
}
|
|
485
489
|
getBuilderContext(graph, currentSubGraph, element, options) {
|
|
486
490
|
return new V1_GraphBuilderContextBuilder(graph, currentSubGraph, this.extensions, this.log, options)
|
|
@@ -559,10 +563,10 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
559
563
|
*buildFileGenerations(graph, inputs, options) {
|
|
560
564
|
yield Promise.all(inputs.flatMap((input) => input.data.fileGenerations.map((element) => this.visitWithErrorHandling(element, new V1_ProtocolToMetaModelGraphSecondPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
|
|
561
565
|
}
|
|
562
|
-
*
|
|
566
|
+
*buildGenerationSpecifications(graph, inputs, options) {
|
|
563
567
|
yield Promise.all(inputs.flatMap((input) => input.data.generationSpecifications.map((element) => this.visitWithErrorHandling(element, new V1_ProtocolToMetaModelGraphSecondPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
|
|
564
568
|
}
|
|
565
|
-
*
|
|
569
|
+
*buildSectionIndices(graph, inputs, options) {
|
|
566
570
|
yield Promise.all(inputs.flatMap((input) => input.data.sectionIndices.map((element) => this.visitWithErrorHandling(element, new V1_ProtocolToMetaModelGraphSecondPassBuilder(this.getBuilderContext(graph, input.model, element, options))))));
|
|
567
571
|
}
|
|
568
572
|
*buildOtherElements(graph, inputs, options) {
|
|
@@ -589,13 +593,13 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
589
593
|
const startTime = Date.now();
|
|
590
594
|
const graphData = this.graphToPureModelContextData(graph);
|
|
591
595
|
const grammarToJson = await this.engine.pureModelContextDataToPureCode(graphData);
|
|
592
|
-
this.log.info(LogEvent.create(
|
|
596
|
+
this.log.info(LogEvent.create(GRAPH_MANAGER_EVENT.GRAPH_MODEL_TO_GRAMMAR_TRANSFORMED), Date.now() - startTime, 'ms');
|
|
593
597
|
return grammarToJson;
|
|
594
598
|
}
|
|
595
599
|
async entitiesToPureCode(entities) {
|
|
596
600
|
const startTime = Date.now();
|
|
597
601
|
const grammarToJson = await this.engine.pureModelContextDataToPureCode(await this.entitiesToPureModelContextData(entities));
|
|
598
|
-
this.log.info(LogEvent.create(
|
|
602
|
+
this.log.info(LogEvent.create(GRAPH_MANAGER_EVENT.GRAPH_MODEL_TO_GRAMMAR_TRANSFORMED), Date.now() - startTime, 'ms');
|
|
599
603
|
return grammarToJson;
|
|
600
604
|
}
|
|
601
605
|
async pureCodeToEntities(code, options) {
|
|
@@ -687,6 +691,19 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
687
691
|
serializeRawValueSpecification(metamodel) {
|
|
688
692
|
return V1_serializeRawValueSpecification(metamodel.accept_RawValueSpecificationVisitor(new V1_RawValueSpecificationTransformer(new V1_GraphTransformerContextBuilder(this.pluginManager.getPureProtocolProcessorPlugins()).build())));
|
|
689
693
|
}
|
|
694
|
+
// ------------------------------------------- External Format --------------------------------
|
|
695
|
+
getAvailableExternalFormatsDescriptions() {
|
|
696
|
+
return this.engine.getAvailableExternalFormatsDescriptions();
|
|
697
|
+
}
|
|
698
|
+
generateModelFromExternalFormat(configurationProperties, graph) {
|
|
699
|
+
const config = {};
|
|
700
|
+
configurationProperties.forEach((property) => {
|
|
701
|
+
config[property.name] = property.value;
|
|
702
|
+
});
|
|
703
|
+
const model = this.getFullGraphModelData(graph);
|
|
704
|
+
const input = new V1_ExternalFormatModelGenerationInput(model, config);
|
|
705
|
+
return this.engine.generateModel(input);
|
|
706
|
+
}
|
|
690
707
|
// ------------------------------------------- Import -------------------------------------------
|
|
691
708
|
getAvailableImportConfigurationDescriptions() {
|
|
692
709
|
return this.engine.getAvailableImportConfigurationDescriptions();
|
|
@@ -711,7 +728,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
711
728
|
async entitiesToPureProtocolText(entities) {
|
|
712
729
|
return JSON.stringify(V1_serializePureModelContext(await this.entitiesToPureModelContextData(entities)), undefined, this.engine.config.tabSize);
|
|
713
730
|
}
|
|
714
|
-
|
|
731
|
+
pureProtocolTextToEntities = (protocol) => {
|
|
715
732
|
const graphData = V1_deserializePureModelContextData(JSON.parse(protocol));
|
|
716
733
|
return this.pureModelContextDataToEntities(graphData);
|
|
717
734
|
};
|
|
@@ -781,8 +798,8 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
781
798
|
// --------------------------------------------- Service ---------------------------------------------
|
|
782
799
|
async runServiceTests(service, graph) {
|
|
783
800
|
const protocolGraph = this.getFullGraphModelData(graph);
|
|
784
|
-
const targetService = guaranteeNonNullable(protocolGraph
|
|
785
|
-
.
|
|
801
|
+
const targetService = guaranteeNonNullable(protocolGraph.elements
|
|
802
|
+
.filter((element) => element instanceof V1_Service)
|
|
786
803
|
.find((element) => element.path === service.path), `Can't run service test: service '${service.path}' not found`);
|
|
787
804
|
protocolGraph.elements = protocolGraph.elements.filter((element) => !(element instanceof V1_Service));
|
|
788
805
|
protocolGraph.elements.push(targetService);
|
|
@@ -1019,7 +1036,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1019
1036
|
graphData.elements = graph.allOwnElements.map((element) => this.elementToProtocol(element, {
|
|
1020
1037
|
keepSourceInformation: options?.keepSourceInformation,
|
|
1021
1038
|
}));
|
|
1022
|
-
this.log.info(LogEvent.create(
|
|
1039
|
+
this.log.info(LogEvent.create(GRAPH_MANAGER_EVENT.GRAPH_META_MODEL_TO_PROTOCOL_TRANSFORMED), Date.now() - startTime, 'ms');
|
|
1023
1040
|
return graphData;
|
|
1024
1041
|
};
|
|
1025
1042
|
getGraphCompileContext = (graph) => {
|
|
@@ -1031,7 +1048,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1031
1048
|
...dependencyManager.allElements,
|
|
1032
1049
|
...generatedModel.allOwnElements,
|
|
1033
1050
|
].map((element) => this.elementToProtocol(element));
|
|
1034
|
-
this.log.info(LogEvent.create(
|
|
1051
|
+
this.log.info(LogEvent.create(GRAPH_MANAGER_EVENT.GRAPH_COMPILE_CONTEXT_COLLECTED), Date.now() - startTime, 'ms');
|
|
1035
1052
|
return graphData;
|
|
1036
1053
|
};
|
|
1037
1054
|
// --------------------------------------------- Utilities ---------------------------------------------
|
|
@@ -1129,7 +1146,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
1129
1146
|
}
|
|
1130
1147
|
catch (error) {
|
|
1131
1148
|
assertErrorThrown(error);
|
|
1132
|
-
this.log.warn(LogEvent.create(
|
|
1149
|
+
this.log.warn(LogEvent.create(GRAPH_MANAGER_EVENT.GRAPH_MANAGER_FAILURE), `Can't extract assertion result`);
|
|
1133
1150
|
json = undefined;
|
|
1134
1151
|
}
|
|
1135
1152
|
if (!json) {
|