@finos/legend-graph 2.0.0 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -151,6 +151,8 @@ export declare abstract class AbstractPureGraphManager {
151
151
  abstract createQuery(query: Query, graph: PureModel): Promise<Query>;
152
152
  abstract updateQuery(query: Query, graph: PureModel): Promise<Query>;
153
153
  abstract deleteQuery(queryId: string): Promise<void>;
154
+ abstract buildGraphForCreateQuerySetup(graph: PureModel, entities: Entity[], dependencyEntitiesMap: Map<string, Entity[]>): Promise<void>;
155
+ abstract buildGraphForServiceQuerySetup(graph: PureModel, entities: Entity[], dependencyEntitiesMap: Map<string, Entity[]>): Promise<void>;
154
156
  abstract buildDatabase(databaseBuilderInput: DatabaseBuilderInput): Promise<Entity[]>;
155
157
  abstract buildHashesIndex(entities: Entity[]): Promise<Map<string, string>>;
156
158
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractPureGraphManager.d.ts","sourceRoot":"","sources":["../../src/graphManager/AbstractPureGraphManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AbstractPureGraphManager.d.ts","sourceRoot":"","sources":["../../src/graphManager/AbstractPureGraphManager.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractPureGraphManager.js","sourceRoot":"","sources":["../../src/graphManager/AbstractPureGraphManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AA2EH,MAAM,OAAgB,wBAAwB;IAC5C,aAAa,CAAqB;IAClC,GAAG,CAAM;IAET,YAAY,aAAiC,EAAE,GAAQ;QACrD,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;CAuRF"}
1
+ {"version":3,"file":"AbstractPureGraphManager.js","sourceRoot":"","sources":["../../src/graphManager/AbstractPureGraphManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AA2EH,MAAM,OAAgB,wBAAwB;IAC5C,aAAa,CAAqB;IAClC,GAAG,CAAM;IAET,YAAY,aAAiC,EAAE,GAAQ;QACrD,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;CAoSF"}
@@ -16,11 +16,12 @@
16
16
  import { type GeneratorFn, type Log, type PlainObject, type ServerClientConfig, TracerService } from '@finos/legend-shared';
17
17
  import type { TEMPORARY__AbstractEngineConfig } from '../../../../graphManager/action/TEMPORARY__AbstractEngineConfig';
18
18
  import { AbstractPureGraphManager, type TEMPORARY__EngineSetupConfig, type GraphBuilderOptions, type ExecutionOptions } from '../../../../graphManager/AbstractPureGraphManager';
19
- import type { Mapping } from '../../../metamodels/pure/packageableElements/mapping/Mapping';
20
- import type { Runtime } from '../../../metamodels/pure/packageableElements/runtime/Runtime';
19
+ import { Mapping } from '../../../metamodels/pure/packageableElements/mapping/Mapping';
20
+ import { type Runtime } from '../../../metamodels/pure/packageableElements/runtime/Runtime';
21
21
  import type { ImportConfigurationDescription, ImportMode } from '../../../../graphManager/action/generation/ImportConfigurationDescription';
22
22
  import type { PackageableElement } from '../../../metamodels/pure/packageableElements/PackageableElement';
23
23
  import { type SystemModel, type CoreModel, PureModel } from '../../../../graph/PureModel';
24
+ import type { BasicModel } from '../../../../graph/BasicModel';
24
25
  import type { DependencyManager } from '../../../../graph/DependencyManager';
25
26
  import type { Class } from '../../../metamodels/pure/packageableElements/domain/Class';
26
27
  import { RawLambda } from '../../../metamodels/pure/rawValueSpecification/RawLambda';
@@ -34,7 +35,23 @@ import type { ExecutionResult } from '../../../../graphManager/action/execution/
34
35
  import type { GenerationOutput } from '../../../../graphManager/action/generation/GenerationOutput';
35
36
  import type { ValueSpecification } from '../../../metamodels/pure/valueSpecification/ValueSpecification';
36
37
  import { ServiceExecutionMode } from '../../../../graphManager/action/service/ServiceExecutionMode';
38
+ import { type V1_PackageableElement } from './model/packageableElements/V1_PackageableElement';
37
39
  import { V1_Engine } from './engine/V1_Engine';
40
+ import { V1_Profile } from './model/packageableElements/domain/V1_Profile';
41
+ import { V1_Class } from './model/packageableElements/domain/V1_Class';
42
+ import { V1_Enumeration } from './model/packageableElements/domain/V1_Enumeration';
43
+ import { V1_Association } from './model/packageableElements/domain/V1_Association';
44
+ import { V1_Measure } from './model/packageableElements/domain/V1_Measure';
45
+ import { V1_Store } from './model/packageableElements/store/V1_Store';
46
+ import { V1_Service } from './model/packageableElements/service/V1_Service';
47
+ import { V1_PackageableRuntime } from './model/packageableElements/runtime/V1_PackageableRuntime';
48
+ import { V1_PackageableConnection } from './model/packageableElements/connection/V1_PackageableConnection';
49
+ import { V1_FileGenerationSpecification } from './model/packageableElements/fileGeneration/V1_FileGenerationSpecification';
50
+ import { V1_SectionIndex } from './model/packageableElements/section/V1_SectionIndex';
51
+ import { V1_GenerationSpecification } from './model/packageableElements/generationSpecification/V1_GenerationSpecification';
52
+ import { V1_Mapping } from './model/packageableElements/mapping/V1_Mapping';
53
+ import { V1_ConcreteFunctionDefinition } from './model/packageableElements/function/V1_ConcreteFunctionDefinition';
54
+ import type { V1_ElementBuilder } from './transformation/pureGraph/to/V1_ElementBuilder';
38
55
  import { V1_GraphBuilderExtensions } from './transformation/pureGraph/to/V1_GraphBuilderExtensions';
39
56
  import type { DatabaseBuilderInput } from '../../../../graphManager/action/generation/DatabaseBuilderInput';
40
57
  import type { RawRelationalOperationElement } from '../../../metamodels/pure/packageableElements/store/relational/model/RawRelationalOperationElement';
@@ -49,6 +66,30 @@ import type { QuerySearchSpecification } from '../../../../graphManager/action/q
49
66
  import type { ExternalFormatDescription } from '../../../../graphManager/action/externalFormat/ExternalFormatDescription';
50
67
  import type { ConfigurationProperty } from '../../../metamodels/pure/packageableElements/fileGeneration/ConfigurationProperty';
51
68
  import { GraphBuilderReport } from '../../../../graphManager/GraphBuilderReport';
69
+ declare class V1_PureModelContextDataIndex {
70
+ elements: V1_PackageableElement[];
71
+ nativeElements: V1_PackageableElement[];
72
+ associations: V1_Association[];
73
+ classes: V1_Class[];
74
+ enumerations: V1_Enumeration[];
75
+ functions: V1_ConcreteFunctionDefinition[];
76
+ profiles: V1_Profile[];
77
+ measures: V1_Measure[];
78
+ stores: V1_Store[];
79
+ mappings: V1_Mapping[];
80
+ connections: V1_PackageableConnection[];
81
+ runtimes: V1_PackageableRuntime[];
82
+ sectionIndices: V1_SectionIndex[];
83
+ services: V1_Service[];
84
+ fileGenerations: V1_FileGenerationSpecification[];
85
+ generationSpecifications: V1_GenerationSpecification[];
86
+ otherElementsByBuilder: Map<V1_ElementBuilder<V1_PackageableElement>, V1_PackageableElement[]>;
87
+ }
88
+ interface V1_GraphBuilderInput {
89
+ model: BasicModel;
90
+ data: V1_PureModelContextDataIndex;
91
+ parentElementPath?: string | undefined;
92
+ }
52
93
  export interface V1_EngineSetupConfig {
53
94
  env: string;
54
95
  tabSize: number;
@@ -139,6 +180,9 @@ export declare class V1_PureGraphManager extends AbstractPureGraphManager {
139
180
  private createServiceRegistrationInput;
140
181
  searchQueries(searchSpecification: QuerySearchSpecification): Promise<LightQuery[]>;
141
182
  getLightQuery(queryId: string): Promise<LightQuery>;
183
+ indexEntitiesWithDependencyIntoGraph(graph: PureModel, _entities: Entity[], dependencyEntities: Map<string, Entity[]>, entityFilterFunc?: (entity: Entity) => boolean): Promise<V1_GraphBuilderInput[]>;
184
+ buildGraphForCreateQuerySetup(graph: PureModel, entities: Entity[], dependencyEntities: Map<string, Entity[]>): Promise<void>;
185
+ buildGraphForServiceQuerySetup(graph: PureModel, entities: Entity[], dependencyEntities: Map<string, Entity[]>): Promise<void>;
142
186
  getQuery(queryId: string, graph: PureModel): Promise<Query>;
143
187
  getQueryContent(queryId: string): Promise<string>;
144
188
  createQuery(query: Query, graph: PureModel): Promise<Query>;
@@ -168,4 +212,5 @@ export declare class V1_PureGraphManager extends AbstractPureGraphManager {
168
212
  HACKY_createServiceTestAssertLambda(assertData: string): RawLambda;
169
213
  HACKY_extractServiceTestAssertionData(query: RawLambda): string | undefined;
170
214
  }
215
+ export {};
171
216
  //# sourceMappingURL=V1_PureGraphManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"V1_PureGraphManager.d.ts","sourceRoot":"","sources":["../../../../../src/models/protocols/pure/v1/V1_PureGraphManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"V1_PureGraphManager.d.ts","sourceRoot":"","sources":["../../../../../src/models/protocols/pure/v1/V1_PureGraphManager.ts"],"names":[],"mappings":"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"}
@@ -16,12 +16,14 @@
16
16
  import { flow, flowResult, makeObservable, runInAction } from 'mobx';
17
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, StopWatch, } from '@finos/legend-shared';
19
+ import { TracerService, LogEvent, getClass, guaranteeNonNullable, UnsupportedOperationError, recursiveOmit, assertTrue, assertErrorThrown, promisify, StopWatch, assertNonEmptyString, } from '@finos/legend-shared';
20
20
  import { AbstractPureGraphManager, } from '../../../../graphManager/AbstractPureGraphManager';
21
+ import { Mapping } from '../../../metamodels/pure/packageableElements/mapping/Mapping';
22
+ import { EngineRuntime, } from '../../../metamodels/pure/packageableElements/runtime/Runtime';
21
23
  import { PureModel, } from '../../../../graph/PureModel';
22
24
  import { RawLambda } from '../../../metamodels/pure/rawValueSpecification/RawLambda';
23
25
  import { ServiceExecutionMode } from '../../../../graphManager/action/service/ServiceExecutionMode';
24
- import { PureSingleExecution } from '../../../metamodels/pure/packageableElements/service/ServiceExecution';
26
+ import { KeyedExecutionParameter, PureMultiExecution, PureSingleExecution, } from '../../../metamodels/pure/packageableElements/service/ServiceExecution';
25
27
  import { V1_deserializeRawValueSpecification, V1_serializeRawValueSpecification, } from './transformation/pureProtocol/serializationHelpers/V1_RawValueSpecificationSerializationHelper';
26
28
  import { V1_serializeValueSpecification, V1_deserializeValueSpecification, } from './transformation/pureProtocol/serializationHelpers/V1_ValueSpecificationSerializer';
27
29
  import V1_CORE_SYSTEM_MODELS from './V1_Core_SystemModels.json';
@@ -68,7 +70,7 @@ import { V1_transformRelationalDatabaseConnection } from './transformation/pureG
68
70
  import { V1_FlatData } from './model/packageableElements/store/flatData/model/V1_FlatData';
69
71
  import { V1_Database } from './model/packageableElements/store/relational/model/V1_Database';
70
72
  import { V1_setupDatabaseSerialization } from './transformation/pureProtocol/serializationHelpers/V1_DatabaseSerializationHelper';
71
- import { V1_setupEngineRuntimeSerialization, V1_setupLegacyRuntimeSerialization, } from './transformation/pureProtocol/serializationHelpers/V1_RuntimeSerializationHelper';
73
+ import { V1_PACKAGEABLE_RUNTIME_ELEMENT_PROTOCOL_TYPE, V1_setupEngineRuntimeSerialization, V1_setupLegacyRuntimeSerialization, } from './transformation/pureProtocol/serializationHelpers/V1_RuntimeSerializationHelper';
72
74
  import { V1_GraphTransformerContextBuilder } from './transformation/pureGraph/from/V1_GraphTransformerContext';
73
75
  import { V1_transformExecutionNode, V1_transformExecutionPlan, } from './transformation/pureGraph/from/executionPlan/V1_ExecutionPlanTransformer';
74
76
  import { V1_deserializeExecutionPlan, V1_serializeExecutionNode, V1_serializeExecutionPlan, } from './transformation/pureProtocol/serializationHelpers/executionPlan/V1_ExecutionPlanSerializationHelper';
@@ -77,9 +79,13 @@ import { V1_buildQuery, V1_buildServiceTestResult, V1_buildServiceRegistrationRe
77
79
  import { V1_buildExecutionResult } from './engine/V1_ExecutionHelper';
78
80
  import { ENTITY_PATH_DELIMITER, } from '@finos/legend-model-storage';
79
81
  import { DependencyGraphBuilderError, GraphBuilderError, SystemGraphBuilderError, } from '../../../../graphManager/GraphManagerUtils';
80
- import { PackageableElementReference } from '../../../metamodels/pure/packageableElements/PackageableElementReference';
82
+ import { PackageableElementExplicitReference, PackageableElementReference, } from '../../../metamodels/pure/packageableElements/PackageableElementReference';
81
83
  import { V1_ExternalFormatModelGenerationInput } from './engine/externalFormat/V1_ExternalFormatModelGeneration';
82
84
  import { GraphBuilderReport } from '../../../../graphManager/GraphBuilderReport';
85
+ import { V1_buildMappingInclude } from './transformation/pureGraph/to/helpers/V1_MappingBuilderHelper';
86
+ import { V1_PureMultiExecution, V1_PureSingleExecution, } from './model/packageableElements/service/V1_ServiceExecution';
87
+ import { V1_MAPPING_ELEMENT_PROTOCOL_TYPE } from './transformation/pureProtocol/serializationHelpers/V1_MappingSerializationHelper';
88
+ import { V1_SERVICE_ELEMENT_PROTOCOL_TYPE } from './transformation/pureProtocol/serializationHelpers/V1_ServiceSerializationHelper';
83
89
  const V1_FUNCTION_SUFFIX_MULTIPLICITY_INFINITE = 'MANY';
84
90
  const getMultiplicitySuffix = (multiplicity) => {
85
91
  if (multiplicity.lowerBound === multiplicity.upperBound) {
@@ -871,6 +877,142 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
871
877
  async getLightQuery(queryId) {
872
878
  return V1_buildLightQuery(await this.engine.getQuery(queryId), this.engine.getEngineServerClient().currentUserId);
873
879
  }
880
+ async indexEntitiesWithDependencyIntoGraph(graph, _entities, dependencyEntities, entityFilterFunc) {
881
+ let entities = _entities;
882
+ if (entityFilterFunc) {
883
+ Array.from(dependencyEntities.entries()).forEach(([dependencyKey, dEntities]) => {
884
+ dependencyEntities.set(dependencyKey, dEntities.filter(entityFilterFunc));
885
+ });
886
+ entities = _entities.filter(entityFilterFunc);
887
+ }
888
+ const report = new GraphBuilderReport();
889
+ // build dependency pmcd models
890
+ const dependencyDataMap = new Map();
891
+ await Promise.all(Array.from(dependencyEntities.entries()).map(([dependencyKey, value]) => {
892
+ const projectModelData = new V1_PureModelContextData();
893
+ dependencyDataMap.set(dependencyKey, projectModelData);
894
+ return V1_entitiesToPureModelContextData(value, projectModelData, this.pluginManager.getPureProtocolProcessorPlugins());
895
+ }));
896
+ const dependencyGraphBuilderInput = Array.from(dependencyDataMap.entries()).map(([dependencyKey, dependencyData]) => ({
897
+ data: indexPureModelContextData(report, dependencyData, this.extensions),
898
+ model: graph.dependencyManager.getModel(dependencyKey),
899
+ }));
900
+ // build main pmcd
901
+ const data = new V1_PureModelContextData();
902
+ await V1_entitiesToPureModelContextData(entities, data, this.pluginManager.getPureProtocolProcessorPlugins());
903
+ const mainGraphBuilderInput = [
904
+ {
905
+ model: graph,
906
+ data: indexPureModelContextData(report, data, this.extensions),
907
+ },
908
+ ];
909
+ const graphBuilderInput = [
910
+ ...dependencyGraphBuilderInput,
911
+ ...mainGraphBuilderInput,
912
+ ];
913
+ await flowResult(this.initializeAndIndexElements(graph, graphBuilderInput));
914
+ return graphBuilderInput;
915
+ }
916
+ // We could optimize this further by omitting parts of the entities we don't need
917
+ async buildGraphForCreateQuerySetup(graph, entities, dependencyEntities) {
918
+ try {
919
+ const graphBuilderInput = await this.indexEntitiesWithDependencyIntoGraph(graph, entities, dependencyEntities, (entity) => entity.content
920
+ ._type === V1_MAPPING_ELEMENT_PROTOCOL_TYPE ||
921
+ entity.content
922
+ ._type === V1_PACKAGEABLE_RUNTIME_ELEMENT_PROTOCOL_TYPE);
923
+ // handle mapping includes
924
+ const mappings = [
925
+ ...graph.ownMappings,
926
+ ...graph.dependencyManager.mappings,
927
+ ];
928
+ const v1Mappings = graphBuilderInput
929
+ .map((e) => e.data.elements.filter((type) => type instanceof V1_Mapping))
930
+ .flat();
931
+ const context = new V1_GraphBuilderContextBuilder(graph, graph, this.extensions, this.log).build();
932
+ // build include index for compatible runtime analysis
933
+ v1Mappings.forEach((element) => {
934
+ const mapping = mappings.find((e) => e.path === element.path);
935
+ if (mapping) {
936
+ mapping.includes = element.includedMappings.map((i) => {
937
+ assertNonEmptyString(i.includedMappingPath, `Mapping include 'includedMappingPath' field is missing or empty`);
938
+ return V1_buildMappingInclude(i, context, mapping);
939
+ });
940
+ }
941
+ });
942
+ // handle runtimes
943
+ const runtimes = [
944
+ ...graph.ownRuntimes,
945
+ ...graph.dependencyManager.runtimes,
946
+ ];
947
+ const v1Runtimes = graphBuilderInput
948
+ .map((e) => e.data.elements.filter((type) => type instanceof V1_PackageableRuntime))
949
+ .flat();
950
+ v1Runtimes.forEach((element) => {
951
+ const runtime = runtimes.find((e) => e.path === element.path);
952
+ if (runtime) {
953
+ const runtimeValue = new EngineRuntime();
954
+ runtime.setRuntimeValue(runtimeValue);
955
+ runtimeValue.setMappings(element.runtimeValue.mappings.map((mapping) => context.resolveMapping(mapping.path)));
956
+ }
957
+ });
958
+ graph.buildState.pass();
959
+ }
960
+ catch (error) {
961
+ assertErrorThrown(error);
962
+ graph.buildState.fail();
963
+ /**
964
+ * Wrap all error with `GraphBuilderError`, as we throw a lot of assertion error in the graph builder
965
+ * But we might want to rethink this decision in the future and throw appropriate type of error
966
+ */
967
+ throw error instanceof GraphBuilderError
968
+ ? error
969
+ : new GraphBuilderError(error);
970
+ }
971
+ }
972
+ // We could optimize this further by omitting parts of the entities we don't need
973
+ // i.e service entity would only keep execution
974
+ async buildGraphForServiceQuerySetup(graph, entities, dependencyEntities) {
975
+ try {
976
+ const graphBuilderInput = await this.indexEntitiesWithDependencyIntoGraph(graph, entities, dependencyEntities, (entity) => entity.content
977
+ ._type === V1_SERVICE_ELEMENT_PROTOCOL_TYPE);
978
+ // handle servicess
979
+ const services = [
980
+ ...graph.ownServices,
981
+ ...graph.dependencyManager.services,
982
+ ];
983
+ const v1Services = graphBuilderInput
984
+ .map((e) => e.data.elements.filter((type) => type instanceof V1_Service))
985
+ .flat();
986
+ // build service multi execution keys
987
+ v1Services.forEach((element) => {
988
+ const service = services.find((e) => e.path === element.path);
989
+ if (service) {
990
+ const serviceExecution = element.execution;
991
+ if (serviceExecution instanceof V1_PureMultiExecution) {
992
+ const execution = new PureMultiExecution(serviceExecution.executionKey, RawLambda.createStub(), service);
993
+ execution.executionParameters =
994
+ serviceExecution.executionParameters.map((keyedExecutionParameter) => new KeyedExecutionParameter(keyedExecutionParameter.key, PackageableElementExplicitReference.create(new Mapping('')), new EngineRuntime()));
995
+ service.setExecution(execution);
996
+ }
997
+ else if (serviceExecution instanceof V1_PureSingleExecution) {
998
+ service.setExecution(new PureSingleExecution(RawLambda.createStub(), service, PackageableElementExplicitReference.create(new Mapping('')), new EngineRuntime()));
999
+ }
1000
+ }
1001
+ });
1002
+ graph.buildState.pass();
1003
+ }
1004
+ catch (error) {
1005
+ assertErrorThrown(error);
1006
+ graph.buildState.fail();
1007
+ /**
1008
+ * Wrap all error with `GraphBuilderError`, as we throw a lot of assertion error in the graph builder
1009
+ * But we might want to rethink this decision in the future and throw appropriate type of error
1010
+ */
1011
+ throw error instanceof GraphBuilderError
1012
+ ? error
1013
+ : new GraphBuilderError(error);
1014
+ }
1015
+ }
874
1016
  async getQuery(queryId, graph) {
875
1017
  return V1_buildQuery(await this.engine.getQuery(queryId), graph, this.engine.getEngineServerClient().currentUserId);
876
1018
  }
@@ -1 +1 @@
1
- {"version":3,"file":"V1_PureGraphManager.js","sourceRoot":"","sources":["../../../../../src/models/protocols/pure/v1/V1_PureGraphManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"V1_PureGraphManager.js","sourceRoot":"","sources":["../../../../../src/models/protocols/pure/v1/V1_PureGraphManager.ts"],"names":[],"mappings":"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"}
package/lib/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@finos/legend-graph",
3
- "version": "2.0.0",
3
+ "version": "2.0.1",
4
4
  "description": "Legend metamodel graph",
5
5
  "keywords": [
6
6
  "legend",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@finos/legend-graph",
3
- "version": "2.0.0",
3
+ "version": "2.0.1",
4
4
  "description": "Legend metamodel graph",
5
5
  "keywords": [
6
6
  "legend",
@@ -336,6 +336,19 @@ export abstract class AbstractPureGraphManager {
336
336
  abstract updateQuery(query: Query, graph: PureModel): Promise<Query>;
337
337
  abstract deleteQuery(queryId: string): Promise<void>;
338
338
 
339
+ // ------------------------------------------- Legend Query -------------------------------------
340
+ abstract buildGraphForCreateQuerySetup(
341
+ graph: PureModel,
342
+ entities: Entity[],
343
+ dependencyEntitiesMap: Map<string, Entity[]>,
344
+ ): Promise<void>;
345
+
346
+ abstract buildGraphForServiceQuerySetup(
347
+ graph: PureModel,
348
+ entities: Entity[],
349
+ dependencyEntitiesMap: Map<string, Entity[]>,
350
+ ): Promise<void>;
351
+
339
352
  // ------------------------------------------- Utilities -------------------------------------------
340
353
 
341
354
  abstract buildDatabase(
@@ -39,6 +39,7 @@ import {
39
39
  promisify,
40
40
  type ActionState,
41
41
  StopWatch,
42
+ assertNonEmptyString,
42
43
  } from '@finos/legend-shared';
43
44
  import type { TEMPORARY__AbstractEngineConfig } from '../../../../graphManager/action/TEMPORARY__AbstractEngineConfig';
44
45
  import {
@@ -47,8 +48,11 @@ import {
47
48
  type GraphBuilderOptions,
48
49
  type ExecutionOptions,
49
50
  } from '../../../../graphManager/AbstractPureGraphManager';
50
- import type { Mapping } from '../../../metamodels/pure/packageableElements/mapping/Mapping';
51
- import type { Runtime } from '../../../metamodels/pure/packageableElements/runtime/Runtime';
51
+ import { Mapping } from '../../../metamodels/pure/packageableElements/mapping/Mapping';
52
+ import {
53
+ type Runtime,
54
+ EngineRuntime,
55
+ } from '../../../metamodels/pure/packageableElements/runtime/Runtime';
52
56
  import type {
53
57
  ImportConfigurationDescription,
54
58
  ImportMode,
@@ -76,7 +80,11 @@ import type { ExecutionResult } from '../../../../graphManager/action/execution/
76
80
  import type { GenerationOutput } from '../../../../graphManager/action/generation/GenerationOutput';
77
81
  import type { ValueSpecification } from '../../../metamodels/pure/valueSpecification/ValueSpecification';
78
82
  import { ServiceExecutionMode } from '../../../../graphManager/action/service/ServiceExecutionMode';
79
- import { PureSingleExecution } from '../../../metamodels/pure/packageableElements/service/ServiceExecution';
83
+ import {
84
+ KeyedExecutionParameter,
85
+ PureMultiExecution,
86
+ PureSingleExecution,
87
+ } from '../../../metamodels/pure/packageableElements/service/ServiceExecution';
80
88
  import {
81
89
  V1_deserializeRawValueSpecification,
82
90
  V1_serializeRawValueSpecification,
@@ -162,6 +170,7 @@ import type { V1_Multiplicity } from './model/packageableElements/domain/V1_Mult
162
170
  import type { V1_RawVariable } from './model/rawValueSpecification/V1_RawVariable';
163
171
  import { V1_setupDatabaseSerialization } from './transformation/pureProtocol/serializationHelpers/V1_DatabaseSerializationHelper';
164
172
  import {
173
+ V1_PACKAGEABLE_RUNTIME_ELEMENT_PROTOCOL_TYPE,
165
174
  V1_setupEngineRuntimeSerialization,
166
175
  V1_setupLegacyRuntimeSerialization,
167
176
  } from './transformation/pureProtocol/serializationHelpers/V1_RuntimeSerializationHelper';
@@ -208,13 +217,23 @@ import {
208
217
  GraphBuilderError,
209
218
  SystemGraphBuilderError,
210
219
  } from '../../../../graphManager/GraphManagerUtils';
211
- import { PackageableElementReference } from '../../../metamodels/pure/packageableElements/PackageableElementReference';
220
+ import {
221
+ PackageableElementExplicitReference,
222
+ PackageableElementReference,
223
+ } from '../../../metamodels/pure/packageableElements/PackageableElementReference';
212
224
  import type { GraphPluginManager } from '../../../../GraphPluginManager';
213
225
  import type { QuerySearchSpecification } from '../../../../graphManager/action/query/QuerySearchSpecification';
214
226
  import type { ExternalFormatDescription } from '../../../../graphManager/action/externalFormat/ExternalFormatDescription';
215
227
  import type { ConfigurationProperty } from '../../../metamodels/pure/packageableElements/fileGeneration/ConfigurationProperty';
216
228
  import { V1_ExternalFormatModelGenerationInput } from './engine/externalFormat/V1_ExternalFormatModelGeneration';
217
229
  import { GraphBuilderReport } from '../../../../graphManager/GraphBuilderReport';
230
+ import { V1_buildMappingInclude } from './transformation/pureGraph/to/helpers/V1_MappingBuilderHelper';
231
+ import {
232
+ V1_PureMultiExecution,
233
+ V1_PureSingleExecution,
234
+ } from './model/packageableElements/service/V1_ServiceExecution';
235
+ import { V1_MAPPING_ELEMENT_PROTOCOL_TYPE } from './transformation/pureProtocol/serializationHelpers/V1_MappingSerializationHelper';
236
+ import { V1_SERVICE_ELEMENT_PROTOCOL_TYPE } from './transformation/pureProtocol/serializationHelpers/V1_ServiceSerializationHelper';
218
237
 
219
238
  const V1_FUNCTION_SUFFIX_MULTIPLICITY_INFINITE = 'MANY';
220
239
 
@@ -2016,6 +2035,230 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
2016
2035
  );
2017
2036
  }
2018
2037
 
2038
+ async indexEntitiesWithDependencyIntoGraph(
2039
+ graph: PureModel,
2040
+ _entities: Entity[],
2041
+ dependencyEntities: Map<string, Entity[]>,
2042
+ entityFilterFunc?: (entity: Entity) => boolean,
2043
+ ): Promise<V1_GraphBuilderInput[]> {
2044
+ let entities = _entities;
2045
+ if (entityFilterFunc) {
2046
+ Array.from(dependencyEntities.entries()).forEach(
2047
+ ([dependencyKey, dEntities]) => {
2048
+ dependencyEntities.set(
2049
+ dependencyKey,
2050
+ dEntities.filter(entityFilterFunc),
2051
+ );
2052
+ },
2053
+ );
2054
+ entities = _entities.filter(entityFilterFunc);
2055
+ }
2056
+ const report = new GraphBuilderReport();
2057
+ // build dependency pmcd models
2058
+ const dependencyDataMap = new Map<string, V1_PureModelContextData>();
2059
+ await Promise.all(
2060
+ Array.from(dependencyEntities.entries()).map(([dependencyKey, value]) => {
2061
+ const projectModelData = new V1_PureModelContextData();
2062
+ dependencyDataMap.set(dependencyKey, projectModelData);
2063
+ return V1_entitiesToPureModelContextData(
2064
+ value,
2065
+ projectModelData,
2066
+
2067
+ this.pluginManager.getPureProtocolProcessorPlugins(),
2068
+ );
2069
+ }),
2070
+ );
2071
+ const dependencyGraphBuilderInput: V1_GraphBuilderInput[] = Array.from(
2072
+ dependencyDataMap.entries(),
2073
+ ).map(([dependencyKey, dependencyData]) => ({
2074
+ data: indexPureModelContextData(report, dependencyData, this.extensions),
2075
+ model: graph.dependencyManager.getModel(dependencyKey),
2076
+ }));
2077
+ // build main pmcd
2078
+ const data = new V1_PureModelContextData();
2079
+ await V1_entitiesToPureModelContextData(
2080
+ entities,
2081
+ data,
2082
+ this.pluginManager.getPureProtocolProcessorPlugins(),
2083
+ );
2084
+ const mainGraphBuilderInput: V1_GraphBuilderInput[] = [
2085
+ {
2086
+ model: graph,
2087
+ data: indexPureModelContextData(report, data, this.extensions),
2088
+ },
2089
+ ];
2090
+ const graphBuilderInput = [
2091
+ ...dependencyGraphBuilderInput,
2092
+ ...mainGraphBuilderInput,
2093
+ ];
2094
+ await flowResult(this.initializeAndIndexElements(graph, graphBuilderInput));
2095
+ return graphBuilderInput;
2096
+ }
2097
+
2098
+ // We could optimize this further by omitting parts of the entities we don't need
2099
+ async buildGraphForCreateQuerySetup(
2100
+ graph: PureModel,
2101
+ entities: Entity[],
2102
+ dependencyEntities: Map<string, Entity[]>,
2103
+ ): Promise<void> {
2104
+ try {
2105
+ const graphBuilderInput = await this.indexEntitiesWithDependencyIntoGraph(
2106
+ graph,
2107
+ entities,
2108
+ dependencyEntities,
2109
+ (entity: Entity): boolean =>
2110
+ ((entity.content as PlainObject<V1_PackageableElement>)
2111
+ ._type as string) === V1_MAPPING_ELEMENT_PROTOCOL_TYPE ||
2112
+ ((entity.content as PlainObject<V1_PackageableElement>)
2113
+ ._type as string) === V1_PACKAGEABLE_RUNTIME_ELEMENT_PROTOCOL_TYPE,
2114
+ );
2115
+ // handle mapping includes
2116
+ const mappings = [
2117
+ ...graph.ownMappings,
2118
+ ...graph.dependencyManager.mappings,
2119
+ ];
2120
+ const v1Mappings = graphBuilderInput
2121
+ .map((e) =>
2122
+ e.data.elements.filter(
2123
+ (type: V1_PackageableElement): type is V1_Mapping =>
2124
+ type instanceof V1_Mapping,
2125
+ ),
2126
+ )
2127
+ .flat();
2128
+ const context = new V1_GraphBuilderContextBuilder(
2129
+ graph,
2130
+ graph,
2131
+ this.extensions,
2132
+ this.log,
2133
+ ).build();
2134
+ // build include index for compatible runtime analysis
2135
+ v1Mappings.forEach((element) => {
2136
+ const mapping = mappings.find((e) => e.path === element.path);
2137
+ if (mapping) {
2138
+ mapping.includes = element.includedMappings.map((i) => {
2139
+ assertNonEmptyString(
2140
+ i.includedMappingPath,
2141
+ `Mapping include 'includedMappingPath' field is missing or empty`,
2142
+ );
2143
+ return V1_buildMappingInclude(i, context, mapping);
2144
+ });
2145
+ }
2146
+ });
2147
+ // handle runtimes
2148
+ const runtimes = [
2149
+ ...graph.ownRuntimes,
2150
+ ...graph.dependencyManager.runtimes,
2151
+ ];
2152
+ const v1Runtimes = graphBuilderInput
2153
+ .map((e) =>
2154
+ e.data.elements.filter(
2155
+ (type: V1_PackageableElement): type is V1_PackageableRuntime =>
2156
+ type instanceof V1_PackageableRuntime,
2157
+ ),
2158
+ )
2159
+ .flat();
2160
+ v1Runtimes.forEach((element) => {
2161
+ const runtime = runtimes.find((e) => e.path === element.path);
2162
+ if (runtime) {
2163
+ const runtimeValue = new EngineRuntime();
2164
+ runtime.setRuntimeValue(runtimeValue);
2165
+ runtimeValue.setMappings(
2166
+ element.runtimeValue.mappings.map((mapping) =>
2167
+ context.resolveMapping(mapping.path),
2168
+ ),
2169
+ );
2170
+ }
2171
+ });
2172
+ graph.buildState.pass();
2173
+ } catch (error) {
2174
+ assertErrorThrown(error);
2175
+ graph.buildState.fail();
2176
+ /**
2177
+ * Wrap all error with `GraphBuilderError`, as we throw a lot of assertion error in the graph builder
2178
+ * But we might want to rethink this decision in the future and throw appropriate type of error
2179
+ */
2180
+ throw error instanceof GraphBuilderError
2181
+ ? error
2182
+ : new GraphBuilderError(error);
2183
+ }
2184
+ }
2185
+
2186
+ // We could optimize this further by omitting parts of the entities we don't need
2187
+ // i.e service entity would only keep execution
2188
+ async buildGraphForServiceQuerySetup(
2189
+ graph: PureModel,
2190
+ entities: Entity[],
2191
+ dependencyEntities: Map<string, Entity[]>,
2192
+ ): Promise<void> {
2193
+ try {
2194
+ const graphBuilderInput = await this.indexEntitiesWithDependencyIntoGraph(
2195
+ graph,
2196
+ entities,
2197
+ dependencyEntities,
2198
+ (entity: Entity): boolean =>
2199
+ ((entity.content as PlainObject<V1_PackageableElement>)
2200
+ ._type as string) === V1_SERVICE_ELEMENT_PROTOCOL_TYPE,
2201
+ );
2202
+ // handle servicess
2203
+ const services = [
2204
+ ...graph.ownServices,
2205
+ ...graph.dependencyManager.services,
2206
+ ];
2207
+ const v1Services = graphBuilderInput
2208
+ .map((e) =>
2209
+ e.data.elements.filter(
2210
+ (type: V1_PackageableElement): type is V1_Service =>
2211
+ type instanceof V1_Service,
2212
+ ),
2213
+ )
2214
+ .flat();
2215
+ // build service multi execution keys
2216
+ v1Services.forEach((element) => {
2217
+ const service = services.find((e) => e.path === element.path);
2218
+ if (service) {
2219
+ const serviceExecution = element.execution;
2220
+ if (serviceExecution instanceof V1_PureMultiExecution) {
2221
+ const execution = new PureMultiExecution(
2222
+ serviceExecution.executionKey,
2223
+ RawLambda.createStub(),
2224
+ service,
2225
+ );
2226
+ execution.executionParameters =
2227
+ serviceExecution.executionParameters.map(
2228
+ (keyedExecutionParameter) =>
2229
+ new KeyedExecutionParameter(
2230
+ keyedExecutionParameter.key,
2231
+ PackageableElementExplicitReference.create(new Mapping('')),
2232
+ new EngineRuntime(),
2233
+ ),
2234
+ );
2235
+ service.setExecution(execution);
2236
+ } else if (serviceExecution instanceof V1_PureSingleExecution) {
2237
+ service.setExecution(
2238
+ new PureSingleExecution(
2239
+ RawLambda.createStub(),
2240
+ service,
2241
+ PackageableElementExplicitReference.create(new Mapping('')),
2242
+ new EngineRuntime(),
2243
+ ),
2244
+ );
2245
+ }
2246
+ }
2247
+ });
2248
+ graph.buildState.pass();
2249
+ } catch (error) {
2250
+ assertErrorThrown(error);
2251
+ graph.buildState.fail();
2252
+ /**
2253
+ * Wrap all error with `GraphBuilderError`, as we throw a lot of assertion error in the graph builder
2254
+ * But we might want to rethink this decision in the future and throw appropriate type of error
2255
+ */
2256
+ throw error instanceof GraphBuilderError
2257
+ ? error
2258
+ : new GraphBuilderError(error);
2259
+ }
2260
+ }
2261
+
2019
2262
  async getQuery(queryId: string, graph: PureModel): Promise<Query> {
2020
2263
  return V1_buildQuery(
2021
2264
  await this.engine.getQuery(queryId),