@finos/legend-application-query 13.7.4 → 13.7.5
Sign up to get free protection for your applications and to get access to all the features.
- package/lib/application/LegendQueryApplicationConfig.d.ts +1 -0
- package/lib/application/LegendQueryApplicationConfig.d.ts.map +1 -1
- package/lib/application/LegendQueryApplicationConfig.js +2 -0
- package/lib/application/LegendQueryApplicationConfig.js.map +1 -1
- package/lib/components/Core_LegendQueryApplicationPlugin.d.ts +3 -2
- package/lib/components/Core_LegendQueryApplicationPlugin.d.ts.map +1 -1
- package/lib/components/Core_LegendQueryApplicationPlugin.js +157 -4
- package/lib/components/Core_LegendQueryApplicationPlugin.js.map +1 -1
- package/lib/components/QueryEditor.d.ts.map +1 -1
- package/lib/components/QueryEditor.js +9 -2
- package/lib/components/QueryEditor.js.map +1 -1
- package/lib/components/__test-utils__/QueryEditorComponentTestUtils.d.ts +3 -3
- package/lib/components/__test-utils__/QueryEditorComponentTestUtils.d.ts.map +1 -1
- package/lib/components/__test-utils__/QueryEditorComponentTestUtils.js +39 -10
- package/lib/components/__test-utils__/QueryEditorComponentTestUtils.js.map +1 -1
- package/lib/index.css +1 -1
- package/lib/package.json +1 -1
- package/lib/stores/LegendQueryApplicationPlugin.d.ts +4 -3
- package/lib/stores/LegendQueryApplicationPlugin.d.ts.map +1 -1
- package/lib/stores/LegendQueryApplicationPlugin.js +0 -1
- package/lib/stores/LegendQueryApplicationPlugin.js.map +1 -1
- package/lib/stores/QueryEditorStore.d.ts +13 -2
- package/lib/stores/QueryEditorStore.d.ts.map +1 -1
- package/lib/stores/QueryEditorStore.js +135 -30
- package/lib/stores/QueryEditorStore.js.map +1 -1
- package/lib/stores/data-space/DataSpaceQueryCreatorStore.d.ts +2 -1
- package/lib/stores/data-space/DataSpaceQueryCreatorStore.d.ts.map +1 -1
- package/lib/stores/data-space/DataSpaceQueryCreatorStore.js +8 -12
- package/lib/stores/data-space/DataSpaceQueryCreatorStore.js.map +1 -1
- package/lib/stores/data-space/DataSpaceQuerySetupState.d.ts +1 -0
- package/lib/stores/data-space/DataSpaceQuerySetupState.d.ts.map +1 -1
- package/lib/stores/data-space/DataSpaceQuerySetupState.js +1 -0
- package/lib/stores/data-space/DataSpaceQuerySetupState.js.map +1 -1
- package/lib/stores/data-space/DataSpaceTemplateQueryCreatorStore.d.ts +3 -1
- package/lib/stores/data-space/DataSpaceTemplateQueryCreatorStore.d.ts.map +1 -1
- package/lib/stores/data-space/DataSpaceTemplateQueryCreatorStore.js +41 -24
- package/lib/stores/data-space/DataSpaceTemplateQueryCreatorStore.js.map +1 -1
- package/package.json +9 -9
- package/src/application/LegendQueryApplicationConfig.ts +3 -0
- package/src/components/Core_LegendQueryApplicationPlugin.tsx +281 -7
- package/src/components/QueryEditor.tsx +25 -1
- package/src/components/__test-utils__/QueryEditorComponentTestUtils.tsx +72 -25
- package/src/stores/LegendQueryApplicationPlugin.tsx +6 -5
- package/src/stores/QueryEditorStore.ts +247 -53
- package/src/stores/data-space/DataSpaceQueryCreatorStore.ts +17 -28
- package/src/stores/data-space/DataSpaceQuerySetupState.ts +1 -0
- package/src/stores/data-space/DataSpaceTemplateQueryCreatorStore.ts +73 -51
@@ -17,7 +17,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
17
17
|
import { render, waitFor } from '@testing-library/react';
|
18
18
|
import { guaranteeNonNullable, } from '@finos/legend-shared';
|
19
19
|
import { createMock, createSpy } from '@finos/legend-shared/test';
|
20
|
-
import { Query, LightQuery, RawLambda, PackageableElementExplicitReference,
|
20
|
+
import { Query, LightQuery, RawLambda, QueryExplicitExecutionContext, QueryDataSpaceExecutionContext, PackageableElementExplicitReference, QueryDataSpaceExecutionContextInfo, QueryExplicitExecutionContextInfo, } from '@finos/legend-graph';
|
21
21
|
import { DepotServerClient } from '@finos/legend-server-depot';
|
22
22
|
import { ApplicationStoreProvider, ApplicationStore, } from '@finos/legend-application';
|
23
23
|
import { TEST__getTestLegendQueryApplicationConfig } from '../../stores/__test-utils__/LegendQueryApplicationTestUtils.js';
|
@@ -92,8 +92,23 @@ export const TEST__setUpQueryEditor = async (MOCK__editorStore, entities, lambda
|
|
92
92
|
execContext.runtime = PackageableElementExplicitReference.create(graphManagerState.graph.getRuntime(runtimePath));
|
93
93
|
query.executionContext = execContext;
|
94
94
|
query.content = 'some content';
|
95
|
+
const execContextInfo = new QueryExplicitExecutionContextInfo();
|
96
|
+
execContextInfo.mapping = mappingPath;
|
97
|
+
execContextInfo.runtime = runtimePath;
|
98
|
+
const queryInfo = {
|
99
|
+
name: TEST_QUERY_NAME,
|
100
|
+
id: TEST_QUERY_ID,
|
101
|
+
versionId: '0.0.0',
|
102
|
+
groupId: 'test.group',
|
103
|
+
artifactId: 'test-artifact',
|
104
|
+
executionContext: execContextInfo,
|
105
|
+
content: 'some content',
|
106
|
+
isCurrentUserQuery: true,
|
107
|
+
};
|
95
108
|
createSpy(MOCK__editorStore.depotServerClient, 'getProject').mockResolvedValue(projectData);
|
109
|
+
createSpy(MOCK__editorStore.depotServerClient, 'getEntities').mockResolvedValue(entities);
|
96
110
|
createSpy(graphManagerState.graphManager, 'getLightQuery').mockResolvedValue(lightQuery);
|
111
|
+
createSpy(graphManagerState.graphManager, 'getQueryInfo').mockResolvedValue(queryInfo);
|
97
112
|
createSpy(graphManagerState.graphManager, 'pureCodeToLambda').mockResolvedValue(new RawLambda(lambda.parameters, lambda.body));
|
98
113
|
createSpy(graphManagerState.graphManager, 'getQuery').mockResolvedValue(query);
|
99
114
|
if (rawMappingModelCoverageAnalysisResult) {
|
@@ -108,7 +123,11 @@ export const TEST__setUpQueryEditor = async (MOCK__editorStore, entities, lambda
|
|
108
123
|
queryBuilderState: guaranteeNonNullable(MOCK__editorStore.queryBuilderState, `Query builder state should have been initialized`),
|
109
124
|
};
|
110
125
|
};
|
111
|
-
export const TEST__setUpDataSpaceExistingQueryEditor = async (MOCK__editorStore,
|
126
|
+
export const TEST__setUpDataSpaceExistingQueryEditor = async (MOCK__editorStore, V1_dataspaceAnalyticsResult, dataSpacePath, executionContext, lambda, mappingPath, entities, buildWithMinimalGraph = false, V1_dataspaceArtifacts = []) => {
|
127
|
+
if (buildWithMinimalGraph) {
|
128
|
+
MOCK__editorStore.applicationStore.config.options.TEMPORARY__enableMinimalGraph =
|
129
|
+
true;
|
130
|
+
}
|
112
131
|
const projectData = {
|
113
132
|
id: 'test-id',
|
114
133
|
groupId: 'test.group',
|
@@ -132,7 +151,6 @@ export const TEST__setUpDataSpaceExistingQueryEditor = async (MOCK__editorStore,
|
|
132
151
|
clientConfig: {},
|
133
152
|
});
|
134
153
|
await graphManagerState.initializeSystem();
|
135
|
-
await graphManagerState.graphManager.buildGraph(graphManagerState.graph, entities, graphManagerState.graphBuildState);
|
136
154
|
const query = new Query();
|
137
155
|
query.name = lightQuery.name;
|
138
156
|
query.id = lightQuery.id;
|
@@ -146,24 +164,35 @@ export const TEST__setUpDataSpaceExistingQueryEditor = async (MOCK__editorStore,
|
|
146
164
|
execContext.executionKey = executionContext;
|
147
165
|
query.executionContext = execContext;
|
148
166
|
query.content = 'some content';
|
167
|
+
const execContextInfo = new QueryDataSpaceExecutionContextInfo();
|
168
|
+
execContextInfo.dataSpacePath = dataSpacePath;
|
169
|
+
execContextInfo.executionKey = executionContext;
|
170
|
+
const queryInfo = {
|
171
|
+
name: TEST_QUERY_NAME,
|
172
|
+
id: TEST_QUERY_ID,
|
173
|
+
versionId: '0.0.0',
|
174
|
+
groupId: 'test.group',
|
175
|
+
artifactId: 'test-artifact',
|
176
|
+
executionContext: execContextInfo,
|
177
|
+
content: 'some content',
|
178
|
+
isCurrentUserQuery: true,
|
179
|
+
};
|
149
180
|
createSpy(MOCK__editorStore.depotServerClient, 'getProject').mockResolvedValue(projectData);
|
150
|
-
createSpy(MOCK__editorStore.depotServerClient, 'getEntities').mockResolvedValue([]);
|
181
|
+
createSpy(MOCK__editorStore.depotServerClient, 'getEntities').mockResolvedValue(buildWithMinimalGraph ? [] : entities);
|
151
182
|
createSpy(MOCK__editorStore.depotServerClient, 'getIndexedDependencyEntities').mockResolvedValue(new Map());
|
152
183
|
createSpy(MOCK__editorStore.depotServerClient, 'getEntitiesByClassifier').mockResolvedValue([]);
|
184
|
+
createSpy(MOCK__editorStore.depotServerClient, 'getGenerationContentByPath').mockResolvedValue(JSON.stringify(V1_dataspaceAnalyticsResult));
|
185
|
+
createSpy(MOCK__editorStore.depotServerClient, 'getGenerationFilesByType').mockResolvedValue(V1_dataspaceArtifacts);
|
153
186
|
createSpy(graphManagerState.graphManager, 'getLightQuery').mockResolvedValue(lightQuery);
|
154
187
|
createSpy(graphManagerState.graphManager, 'pureCodeToLambda').mockResolvedValue(new RawLambda(lambda.parameters, lambda.body));
|
155
188
|
createSpy(graphManagerState.graphManager, 'lambdaToPureCode').mockResolvedValue('');
|
156
189
|
createSpy(graphManagerState.graphManager, 'getQuery').mockResolvedValue(query);
|
157
|
-
createSpy(
|
190
|
+
createSpy(graphManagerState.graphManager, 'getQueryInfo').mockResolvedValue(queryInfo);
|
158
191
|
createSpy(graphManagerState.graphManager, 'surveyDatasets').mockResolvedValue([]);
|
159
192
|
createSpy(graphManagerState.graphManager, 'checkDatasetEntitlements').mockResolvedValue([]);
|
160
193
|
const graphManagerExtension = DSL_DataSpace_getGraphManagerExtension(graphManagerState.graphManager);
|
161
|
-
const dataspaceAnalyticsResult = await graphManagerExtension.buildDataSpaceAnalytics(
|
194
|
+
const dataspaceAnalyticsResult = await graphManagerExtension.buildDataSpaceAnalytics(V1_dataspaceAnalyticsResult, graphManagerState.graphManager.pluginManager.getPureProtocolProcessorPlugins());
|
162
195
|
createSpy(graphManagerExtension, 'analyzeDataSpace').mockResolvedValue(dataspaceAnalyticsResult);
|
163
|
-
const mappingAnalyticsResult = dataspaceAnalyticsResult.mappingToMappingCoverageResult?.get(mappingPath);
|
164
|
-
if (mappingAnalyticsResult) {
|
165
|
-
createSpy(graphManagerState.graphManager, 'analyzeMappingModelCoverage').mockResolvedValue(mappingAnalyticsResult);
|
166
|
-
}
|
167
196
|
MOCK__editorStore.buildGraph = createMock();
|
168
197
|
graphManagerState.graphManager.initialize = createMock();
|
169
198
|
const renderResult = render(_jsx(ApplicationStoreProvider, { store: MOCK__editorStore.applicationStore, children: _jsx(TEST__BrowserEnvironmentProvider, { initialEntries: [generateExistingQueryEditorRoute(lightQuery.id)], children: _jsx(LegendQueryFrameworkProvider, { children: _jsx(Routes, { children: _jsx(Route, { path: LEGEND_QUERY_ROUTE_PATTERN.EDIT_EXISTING_QUERY, element: _jsx(ExistingQueryEditor, {}) }) }) }) }) }));
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"QueryEditorComponentTestUtils.js","sourceRoot":"","sources":["../../../src/components/__test-utils__/QueryEditorComponentTestUtils.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAqB,MAAM,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAIL,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,
|
1
|
+
{"version":3,"file":"QueryEditorComponentTestUtils.js","sourceRoot":"","sources":["../../../src/components/__test-utils__/QueryEditorComponentTestUtils.tsx"],"names":[],"mappings":"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"}
|
package/lib/index.css
CHANGED
package/lib/package.json
CHANGED
@@ -14,11 +14,12 @@
|
|
14
14
|
* limitations under the License.
|
15
15
|
*/
|
16
16
|
import { LegendApplicationPlugin } from '@finos/legend-application';
|
17
|
-
import type {
|
18
|
-
import type
|
17
|
+
import type { QueryBuilder_LegendApplicationPlugin_Extension, QueryBuilderState } from '@finos/legend-query-builder';
|
18
|
+
import type React from 'react';
|
19
19
|
import type { LegendQueryPluginManager } from '../application/LegendQueryPluginManager.js';
|
20
|
-
import {
|
20
|
+
import type { ExistingQueryEditorStore, QueryEditorStore } from './QueryEditorStore.js';
|
21
21
|
import type { QuerySetupLandingPageStore } from './QuerySetupStore.js';
|
22
|
+
import type { Query } from '@finos/legend-graph';
|
22
23
|
export declare enum QuerySetupActionTag {
|
23
24
|
PRODUCTIONIZATION = "Productionization"
|
24
25
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"LegendQueryApplicationPlugin.d.ts","sourceRoot":"","sources":["../../src/stores/LegendQueryApplicationPlugin.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,
|
1
|
+
{"version":3,"file":"LegendQueryApplicationPlugin.d.ts","sourceRoot":"","sources":["../../src/stores/LegendQueryApplicationPlugin.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EACV,8CAA8C,EAC9C,iBAAiB,EAClB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4CAA4C,CAAC;AAC3F,OAAO,KAAK,EACV,wBAAwB,EACxB,gBAAgB,EACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAEjD,oBAAY,mBAAmB;IAC7B,iBAAiB,sBAAsB;CACxC;AAED,MAAM,MAAM,6BAA6B,GAAG;IAC1C,GAAG,EAAE,MAAM,CAAC;IACZ,cAAc,EAAE,OAAO,CAAC;IACxB,UAAU,EAAE,OAAO,CAAC;IACpB;;;;;OAKG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAMb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,MAAM,EAAE,CAAC,UAAU,EAAE,0BAA0B,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACnE,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG,CAC5C,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,wBAAwB,KAClC,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAAC;AAE5C,MAAM,MAAM,sBAAsB,GAAG,CACnC,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,wBAAwB,KAClC,MAAM,GAAG,SAAS,CAAC;AAExB,MAAM,MAAM,8BAA8B,GAAG;IAC3C,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,CACR,WAAW,EAAE,gBAAgB,EAC7B,iBAAiB,EAAE,iBAAiB,KACjC,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,sCAAsC,GAAG;IACnD,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,CAAC,WAAW,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACjD,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACxB,CAAC;AAEF,qBAAa,4BACX,SAAQ,uBACR,YAAW,8CAA8C;IAEzD;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAkC;IAErE,OAAO,CAAC,aAAa,EAAE,wBAAwB,GAAG,IAAI;IAItD;;OAEG;IACH,sCAAsC,CAAC,IAAI,6BAA6B,EAAE;CAC3E"}
|
@@ -14,7 +14,6 @@
|
|
14
14
|
* limitations under the License.
|
15
15
|
*/
|
16
16
|
import { LegendApplicationPlugin } from '@finos/legend-application';
|
17
|
-
import {} from './QueryEditorStore.js';
|
18
17
|
export var QuerySetupActionTag;
|
19
18
|
(function (QuerySetupActionTag) {
|
20
19
|
QuerySetupActionTag["PRODUCTIONIZATION"] = "Productionization";
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"LegendQueryApplicationPlugin.js","sourceRoot":"","sources":["../../src/stores/LegendQueryApplicationPlugin.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;
|
1
|
+
{"version":3,"file":"LegendQueryApplicationPlugin.js","sourceRoot":"","sources":["../../src/stores/LegendQueryApplicationPlugin.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAcpE,MAAM,CAAN,IAAY,mBAEX;AAFD,WAAY,mBAAmB;IAC7B,8DAAuC,CAAA;AACzC,CAAC,EAFW,mBAAmB,KAAnB,mBAAmB,QAE9B;AAkDD,MAAM,OAAO,4BACX,SAAQ,uBAAuB;IAG/B;;;OAGG;IACc,kBAAkB,CAAkC;IAErE,OAAO,CAAC,aAAuC;QAC7C,aAAa,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;CAMF"}
|
@@ -14,12 +14,13 @@
|
|
14
14
|
* limitations under the License.
|
15
15
|
*/
|
16
16
|
import { type GeneratorFn, ActionState, StopWatch } from '@finos/legend-shared';
|
17
|
-
import { type LightQuery, type RawLambda, type QueryGridConfig, type ValueSpecification, type GraphInitializationReport, GraphManagerState, Query, QuerySearchSpecification } from '@finos/legend-graph';
|
17
|
+
import { type LightQuery, type RawLambda, type QueryGridConfig, type ValueSpecification, type GraphInitializationReport, type QueryInfo, GraphManagerState, Query, QuerySearchSpecification } from '@finos/legend-graph';
|
18
18
|
import { type ProjectGAVCoordinates } from '@finos/legend-storage';
|
19
19
|
import { type DepotServerClient } from '@finos/legend-server-depot';
|
20
20
|
import type { LegendQueryPluginManager } from '../application/LegendQueryPluginManager.js';
|
21
21
|
import type { LegendQueryApplicationStore } from './LegendQueryBaseStore.js';
|
22
22
|
import { type QueryBuilderState, type QueryBuilderDiffViewState, QueryLoaderState, QueryBuilderActionConfig } from '@finos/legend-query-builder';
|
23
|
+
import { type DataSpaceAnalysisResult } from '@finos/legend-extension-dsl-data-space/graph';
|
23
24
|
export interface QueryPersistConfiguration {
|
24
25
|
defaultName?: string | undefined;
|
25
26
|
allowUpdate?: boolean | undefined;
|
@@ -51,6 +52,7 @@ export declare abstract class QueryEditorStore {
|
|
51
52
|
showRegisterServiceModal: boolean;
|
52
53
|
showAppInfo: boolean;
|
53
54
|
showDataspaceInfo: boolean;
|
55
|
+
enableMinialGraphForDataSpaceLoadingPerformance: boolean;
|
54
56
|
constructor(applicationStore: LegendQueryApplicationStore, depotServerClient: DepotServerClient);
|
55
57
|
get isViewProjectActionDisabled(): boolean;
|
56
58
|
get canPersistToSavedQuery(): boolean;
|
@@ -58,6 +60,7 @@ export declare abstract class QueryEditorStore {
|
|
58
60
|
setShowAppInfo(val: boolean): void;
|
59
61
|
setShowDataspaceInfo(val: boolean): void;
|
60
62
|
setShowRegisterServiceModal(val: boolean): void;
|
63
|
+
setEnableMinialGraphForDataSpaceLoadingPerformance(val: boolean): void;
|
61
64
|
get isPerformingBlockingAction(): boolean;
|
62
65
|
decorateSearchSpecification(val: QuerySearchSpecification): QuerySearchSpecification;
|
63
66
|
abstract getProjectInfo(): ProjectGAVCoordinates | undefined;
|
@@ -77,7 +80,12 @@ export declare abstract class QueryEditorStore {
|
|
77
80
|
onInitializeFailure(): void;
|
78
81
|
searchExistingQueryName(searchText: string): GeneratorFn<void>;
|
79
82
|
logBuildGraphMetrics(graphBuilderReportData: GraphInitializationReport): void;
|
83
|
+
buildFullGraph(): GeneratorFn<void>;
|
80
84
|
buildGraph(): GeneratorFn<void>;
|
85
|
+
buildGraphAndDataspaceAnalyticsResult(groupId: string, artifactId: string, versionId: string, executionContext: string | undefined, dataSpacePath: string, templateQueryId?: string | undefined): Promise<{
|
86
|
+
dataSpaceAnalysisResult: DataSpaceAnalysisResult | undefined;
|
87
|
+
isLightGraphEnabled: boolean;
|
88
|
+
}>;
|
81
89
|
}
|
82
90
|
export declare class QueryBuilderActionConfig_QueryApplication extends QueryBuilderActionConfig {
|
83
91
|
editorStore: QueryEditorStore;
|
@@ -134,6 +142,7 @@ export declare class ExistingQueryEditorStore extends QueryEditorStore {
|
|
134
142
|
private queryId;
|
135
143
|
private _lightQuery?;
|
136
144
|
query: Query | undefined;
|
145
|
+
queryInfo: QueryInfo | undefined;
|
137
146
|
urlQueryParamValues: Record<string, string> | undefined;
|
138
147
|
updateState: ExistingQueryUpdateState;
|
139
148
|
constructor(applicationStore: LegendQueryApplicationStore, depotServerClient: DepotServerClient, queryId: string, urlQueryParamValues: Record<string, string> | undefined);
|
@@ -142,9 +151,11 @@ export declare class ExistingQueryEditorStore extends QueryEditorStore {
|
|
142
151
|
logBuildGraphMetrics(graphBuilderReportData: GraphInitializationReport): void;
|
143
152
|
setLightQuery(val: LightQuery): void;
|
144
153
|
setQuery(val: Query): void;
|
154
|
+
setQueryInfo(val: QueryInfo): void;
|
145
155
|
getProjectInfo(): ProjectGAVCoordinates;
|
156
|
+
buildGraph(): GeneratorFn<void>;
|
146
157
|
setUpEditorState(): Promise<void>;
|
147
|
-
initQueryBuildStateFromQuery(
|
158
|
+
initQueryBuildStateFromQuery(queryInfo: QueryInfo): Promise<QueryBuilderState>;
|
148
159
|
initializeQueryBuilderState(stopWatch: StopWatch): Promise<QueryBuilderState>;
|
149
160
|
getPersistConfiguration(lambda: RawLambda, options?: {
|
150
161
|
update?: boolean | undefined;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"QueryEditorStore.d.ts","sourceRoot":"","sources":["../../src/stores/QueryEditorStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAWH,OAAO,EACL,KAAK,WAAW,EAOhB,WAAW,EACX,SAAS,EAOV,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,KAAK,UAAU,EACf,KAAK,SAAS,EAGd,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,EAE9B,iBAAiB,EACjB,KAAK,EASL,wBAAwB,
|
1
|
+
{"version":3,"file":"QueryEditorStore.d.ts","sourceRoot":"","sources":["../../src/stores/QueryEditorStore.ts"],"names":[],"mappings":"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"}
|
@@ -15,18 +15,18 @@
|
|
15
15
|
*/
|
16
16
|
import { action, computed, flow, flowResult, makeObservable, observable, override, } from 'mobx';
|
17
17
|
import { LogEvent, assertErrorThrown, uuid, assertType, guaranteeNonNullable, ActionState, StopWatch, guaranteeType, quantifyList, assertNonNullable, returnUndefOnError, UnsupportedOperationError, filterByType, } from '@finos/legend-shared';
|
18
|
-
import { GraphManagerState, Query, PureExecution, PackageableElementExplicitReference, RuntimePointer, GRAPH_MANAGER_EVENT, extractElementNameFromPath, Mapping, createGraphBuilderReport, LegendSDLC, QuerySearchSpecification, toLightQuery, QueryParameterValue, reportGraphAnalytics, cloneQueryStereotype, cloneQueryTaggedValue,
|
18
|
+
import { GraphManagerState, Query, PureExecution, PackageableElementExplicitReference, RuntimePointer, GRAPH_MANAGER_EVENT, extractElementNameFromPath, Mapping, createGraphBuilderReport, LegendSDLC, QuerySearchSpecification, toLightQuery, QueryParameterValue, reportGraphAnalytics, cloneQueryStereotype, cloneQueryTaggedValue, QueryProjectCoordinates, buildLambdaVariableExpressions, VariableExpression, PrimitiveType, CORE_PURE_PATH, isValidFullPath, QUERY_PROFILE_PATH, QueryDataSpaceExecutionContextInfo, QueryExplicitExecutionContextInfo, } from '@finos/legend-graph';
|
19
19
|
import { generateExistingQueryEditorRoute, generateMappingQueryCreatorRoute, generateServiceQueryCreatorRoute, } from '../__lib__/LegendQueryNavigation.js';
|
20
20
|
import { LEGEND_QUERY_APP_EVENT } from '../__lib__/LegendQueryEvent.js';
|
21
21
|
import { parseGACoordinates, } from '@finos/legend-storage';
|
22
|
-
import { resolveVersion, StoreProjectData, LATEST_VERSION_ALIAS, VersionedProjectData, } from '@finos/legend-server-depot';
|
22
|
+
import { resolveVersion, StoreProjectData, LATEST_VERSION_ALIAS, VersionedProjectData, retrieveProjectEntitiesWithClassifier, } from '@finos/legend-server-depot';
|
23
23
|
import { ActionAlertActionType, ActionAlertType, DEFAULT_TAB_SIZE, DEFAULT_TYPEAHEAD_SEARCH_MINIMUM_SEARCH_LENGTH, } from '@finos/legend-application';
|
24
24
|
import { LegendQueryEventHelper } from '../__lib__/LegendQueryEventHelper.js';
|
25
25
|
import { ClassQueryBuilderState, MappingQueryBuilderState, ServiceQueryBuilderState, QueryLoaderState, QueryBuilderDataBrowserWorkflow, QueryBuilderActionConfig, QUERY_LOADER_DEFAULT_QUERY_SEARCH_LIMIT, } from '@finos/legend-query-builder';
|
26
26
|
import { LegendQueryUserDataHelper } from '../__lib__/LegendQueryUserDataHelper.js';
|
27
27
|
import { LegendQueryTelemetryHelper } from '../__lib__/LegendQueryTelemetryHelper.js';
|
28
28
|
import { DataSpaceQueryBuilderState, } from '@finos/legend-extension-dsl-data-space/application';
|
29
|
-
import { DSL_DataSpace_getGraphManagerExtension, getOwnDataSpace, retrieveAnalyticsResultCache, } from '@finos/legend-extension-dsl-data-space/graph';
|
29
|
+
import { DSL_DataSpace_getGraphManagerExtension, getOwnDataSpace, QUERY_PROFILE_TAG_DATA_SPACE, retrieveAnalyticsResultCache, retrieveDataspaceArtifactsCache, } from '@finos/legend-extension-dsl-data-space/graph';
|
30
30
|
import { generateDataSpaceQueryCreatorRoute } from '../__lib__/DSL_DataSpace_LegendQueryNavigation.js';
|
31
31
|
import { hasDataSpaceInfoBeenVisited } from '../__lib__/LegendQueryUserDataSpaceHelper.js';
|
32
32
|
import { createDataSpaceDepoRepo } from './data-space/DataSpaceQueryBuilderHelper.js';
|
@@ -123,6 +123,7 @@ export class QueryEditorStore {
|
|
123
123
|
showRegisterServiceModal = false;
|
124
124
|
showAppInfo = false;
|
125
125
|
showDataspaceInfo = false;
|
126
|
+
enableMinialGraphForDataSpaceLoadingPerformance = true;
|
126
127
|
constructor(applicationStore, depotServerClient) {
|
127
128
|
makeObservable(this, {
|
128
129
|
queryCreatorState: observable,
|
@@ -132,13 +133,16 @@ export class QueryEditorStore {
|
|
132
133
|
showAppInfo: observable,
|
133
134
|
showDataspaceInfo: observable,
|
134
135
|
queryBuilderState: observable,
|
136
|
+
enableMinialGraphForDataSpaceLoadingPerformance: observable,
|
135
137
|
isPerformingBlockingAction: computed,
|
136
138
|
setExistingQueryName: action,
|
137
139
|
setShowRegisterServiceModal: action,
|
138
140
|
setShowAppInfo: action,
|
139
141
|
setShowDataspaceInfo: action,
|
142
|
+
setEnableMinialGraphForDataSpaceLoadingPerformance: action,
|
140
143
|
initialize: flow,
|
141
144
|
buildGraph: flow,
|
145
|
+
buildFullGraph: flow,
|
142
146
|
searchExistingQueryName: flow,
|
143
147
|
});
|
144
148
|
this.applicationStore = applicationStore;
|
@@ -198,6 +202,9 @@ export class QueryEditorStore {
|
|
198
202
|
setShowRegisterServiceModal(val) {
|
199
203
|
this.showRegisterServiceModal = val;
|
200
204
|
}
|
205
|
+
setEnableMinialGraphForDataSpaceLoadingPerformance(val) {
|
206
|
+
this.enableMinialGraphForDataSpaceLoadingPerformance = val;
|
207
|
+
}
|
201
208
|
get isPerformingBlockingAction() {
|
202
209
|
return this.queryCreatorState.createQueryState.isInProgress;
|
203
210
|
}
|
@@ -247,7 +254,8 @@ export class QueryEditorStore {
|
|
247
254
|
}
|
248
255
|
}
|
249
256
|
*initialize() {
|
250
|
-
if (!this.initState.isInInitialState
|
257
|
+
if (!this.initState.isInInitialState &&
|
258
|
+
this.enableMinialGraphForDataSpaceLoadingPerformance) {
|
251
259
|
return;
|
252
260
|
}
|
253
261
|
try {
|
@@ -306,7 +314,7 @@ export class QueryEditorStore {
|
|
306
314
|
logBuildGraphMetrics(graphBuilderReportData) {
|
307
315
|
LegendQueryTelemetryHelper.logEvent_GraphInitializationSucceeded(this.applicationStore.telemetryService, graphBuilderReportData);
|
308
316
|
}
|
309
|
-
*
|
317
|
+
*buildFullGraph() {
|
310
318
|
const stopWatch = new StopWatch();
|
311
319
|
const projectInfo = this.getProjectInfo();
|
312
320
|
if (projectInfo) {
|
@@ -346,11 +354,82 @@ export class QueryEditorStore {
|
|
346
354
|
dependencies: dependency_buildReport,
|
347
355
|
dependenciesCount: this.graphManagerState.graph.dependencyManager.numberOfDependencies,
|
348
356
|
graph: graph_buildReport,
|
357
|
+
isLightGraphEnabled: false,
|
349
358
|
};
|
350
359
|
this.logBuildGraphMetrics(graphBuilderReportData);
|
351
360
|
this.applicationStore.logService.info(LogEvent.create(GRAPH_MANAGER_EVENT.INITIALIZE_GRAPH__SUCCESS), graphBuilderReportData);
|
352
361
|
}
|
353
362
|
}
|
363
|
+
*buildGraph() {
|
364
|
+
yield flowResult(this.buildFullGraph());
|
365
|
+
}
|
366
|
+
async buildGraphAndDataspaceAnalyticsResult(groupId, artifactId, versionId, executionContext, dataSpacePath, templateQueryId) {
|
367
|
+
let dataSpaceAnalysisResult;
|
368
|
+
let buildFullGraph = false;
|
369
|
+
let isLightGraphEnabled = true;
|
370
|
+
const supportBuildMinimalGraph = this.applicationStore.config.options.TEMPORARY__enableMinimalGraph;
|
371
|
+
if (this.enableMinialGraphForDataSpaceLoadingPerformance &&
|
372
|
+
supportBuildMinimalGraph) {
|
373
|
+
try {
|
374
|
+
this.initState.setMessage('Fetching dataspace analysis result...');
|
375
|
+
const project = StoreProjectData.serialization.fromJson(await this.depotServerClient.getProject(groupId, artifactId));
|
376
|
+
const graph_buildReport = createGraphBuilderReport();
|
377
|
+
const stopWatch = new StopWatch();
|
378
|
+
// initialize system
|
379
|
+
stopWatch.record();
|
380
|
+
await this.graphManagerState.initializeSystem();
|
381
|
+
stopWatch.record(GRAPH_MANAGER_EVENT.INITIALIZE_GRAPH_SYSTEM__SUCCESS);
|
382
|
+
const dependency_buildReport = createGraphBuilderReport();
|
383
|
+
dataSpaceAnalysisResult = await DSL_DataSpace_getGraphManagerExtension(this.graphManagerState.graphManager).analyzeDataSpaceCoverage(dataSpacePath, () => retrieveProjectEntitiesWithClassifier(project, versionId, CORE_PURE_PATH.FUNCTION, this.depotServerClient), () => retrieveDataspaceArtifactsCache(project, versionId, this.depotServerClient), undefined, graph_buildReport, this.graphManagerState.graph, executionContext, undefined, this.getProjectInfo(), templateQueryId);
|
384
|
+
const mappingPath = executionContext
|
385
|
+
? dataSpaceAnalysisResult.executionContextsIndex.get(executionContext)
|
386
|
+
?.mapping.path
|
387
|
+
: undefined;
|
388
|
+
if (mappingPath) {
|
389
|
+
const pmcd = dataSpaceAnalysisResult.mappingToMappingCoverageResult?.get(mappingPath)?.entities;
|
390
|
+
if (pmcd) {
|
391
|
+
// report
|
392
|
+
stopWatch.record(GRAPH_MANAGER_EVENT.INITIALIZE_GRAPH__SUCCESS);
|
393
|
+
const graphBuilderReportData = {
|
394
|
+
timings: this.applicationStore.timeService.finalizeTimingsRecord(stopWatch),
|
395
|
+
dependencies: dependency_buildReport,
|
396
|
+
dependenciesCount: this.graphManagerState.graph.dependencyManager
|
397
|
+
.numberOfDependencies,
|
398
|
+
graph: graph_buildReport,
|
399
|
+
isLightGraphEnabled: true,
|
400
|
+
};
|
401
|
+
this.logBuildGraphMetrics(graphBuilderReportData);
|
402
|
+
this.applicationStore.logService.info(LogEvent.create(GRAPH_MANAGER_EVENT.INITIALIZE_GRAPH__SUCCESS), graphBuilderReportData);
|
403
|
+
}
|
404
|
+
else {
|
405
|
+
buildFullGraph = true;
|
406
|
+
}
|
407
|
+
}
|
408
|
+
}
|
409
|
+
catch (error) {
|
410
|
+
buildFullGraph = true;
|
411
|
+
this.applicationStore.logService.error(LogEvent.create(LEGEND_QUERY_APP_EVENT.GENERIC_FAILURE), error);
|
412
|
+
}
|
413
|
+
}
|
414
|
+
if (!this.enableMinialGraphForDataSpaceLoadingPerformance ||
|
415
|
+
buildFullGraph ||
|
416
|
+
!supportBuildMinimalGraph) {
|
417
|
+
this.graphManagerState.graph = this.graphManagerState.createNewGraph();
|
418
|
+
await flowResult(this.buildFullGraph());
|
419
|
+
try {
|
420
|
+
const project = StoreProjectData.serialization.fromJson(await this.depotServerClient.getProject(groupId, artifactId));
|
421
|
+
dataSpaceAnalysisResult = await DSL_DataSpace_getGraphManagerExtension(this.graphManagerState.graphManager).retrieveDataSpaceAnalysisFromCache(() => retrieveAnalyticsResultCache(project, versionId, dataSpacePath, this.depotServerClient));
|
422
|
+
}
|
423
|
+
catch {
|
424
|
+
// do nothing
|
425
|
+
}
|
426
|
+
isLightGraphEnabled = false;
|
427
|
+
}
|
428
|
+
return {
|
429
|
+
dataSpaceAnalysisResult,
|
430
|
+
isLightGraphEnabled,
|
431
|
+
};
|
432
|
+
}
|
354
433
|
}
|
355
434
|
export class QueryBuilderActionConfig_QueryApplication extends QueryBuilderActionConfig {
|
356
435
|
editorStore;
|
@@ -678,17 +757,20 @@ export class ExistingQueryEditorStore extends QueryEditorStore {
|
|
678
757
|
queryId;
|
679
758
|
_lightQuery;
|
680
759
|
query;
|
760
|
+
queryInfo;
|
681
761
|
urlQueryParamValues;
|
682
762
|
updateState;
|
683
763
|
constructor(applicationStore, depotServerClient, queryId, urlQueryParamValues) {
|
684
764
|
super(applicationStore, depotServerClient);
|
685
765
|
makeObservable(this, {
|
686
766
|
query: observable,
|
767
|
+
queryInfo: observable,
|
687
768
|
updateState: observable,
|
688
769
|
_lightQuery: observable,
|
689
770
|
lightQuery: computed,
|
690
771
|
setLightQuery: action,
|
691
772
|
setQuery: action,
|
773
|
+
setQueryInfo: action,
|
692
774
|
isPerformingBlockingAction: override,
|
693
775
|
});
|
694
776
|
this.queryId = queryId;
|
@@ -721,6 +803,9 @@ export class ExistingQueryEditorStore extends QueryEditorStore {
|
|
721
803
|
setQuery(val) {
|
722
804
|
this.query = val;
|
723
805
|
}
|
806
|
+
setQueryInfo(val) {
|
807
|
+
this.queryInfo = val;
|
808
|
+
}
|
724
809
|
getProjectInfo() {
|
725
810
|
return {
|
726
811
|
groupId: this.lightQuery.groupId,
|
@@ -728,32 +813,44 @@ export class ExistingQueryEditorStore extends QueryEditorStore {
|
|
728
813
|
versionId: this.lightQuery.versionId,
|
729
814
|
};
|
730
815
|
}
|
816
|
+
*buildGraph() {
|
817
|
+
const queryInfo = this.queryInfo;
|
818
|
+
const dataSpaceTaggedValue = queryInfo?.taggedValues?.find((taggedValue) => taggedValue.profile === QUERY_PROFILE_PATH &&
|
819
|
+
taggedValue.tag === QUERY_PROFILE_TAG_DATA_SPACE &&
|
820
|
+
isValidFullPath(taggedValue.value));
|
821
|
+
if (!(dataSpaceTaggedValue !== undefined ||
|
822
|
+
queryInfo?.executionContext instanceof
|
823
|
+
QueryDataSpaceExecutionContextInfo)) {
|
824
|
+
yield flowResult(this.buildFullGraph());
|
825
|
+
}
|
826
|
+
}
|
731
827
|
async setUpEditorState() {
|
828
|
+
const queryInfo = await this.graphManagerState.graphManager.getQueryInfo(this.queryId);
|
732
829
|
this.setLightQuery(await this.graphManagerState.graphManager.getLightQuery(this.queryId));
|
830
|
+
this.setQueryInfo(queryInfo);
|
831
|
+
LegendQueryUserDataHelper.addRecentlyViewedQuery(this.applicationStore.userDataService, queryInfo.id);
|
733
832
|
}
|
734
|
-
async initQueryBuildStateFromQuery(
|
735
|
-
const exec =
|
736
|
-
if (exec instanceof
|
833
|
+
async initQueryBuildStateFromQuery(queryInfo) {
|
834
|
+
const exec = queryInfo.executionContext;
|
835
|
+
if (exec instanceof QueryDataSpaceExecutionContextInfo) {
|
836
|
+
const { dataSpaceAnalysisResult, isLightGraphEnabled } = await this.buildGraphAndDataspaceAnalyticsResult(queryInfo.groupId, queryInfo.artifactId, queryInfo.versionId, exec.executionKey, exec.dataSpacePath);
|
737
837
|
const dataSpace = getOwnDataSpace(exec.dataSpacePath, this.graphManagerState.graph);
|
738
|
-
const
|
838
|
+
const mapping = queryInfo.mapping
|
839
|
+
? this.graphManagerState.graph.getMapping(queryInfo.mapping)
|
840
|
+
: undefined;
|
841
|
+
const runtime = queryInfo.runtime
|
842
|
+
? this.graphManagerState.graph.getRuntime(queryInfo.runtime)
|
843
|
+
: undefined;
|
844
|
+
const matchingExecutionContext = resolveExecutionContext(dataSpace, exec.executionKey, mapping, runtime);
|
739
845
|
if (matchingExecutionContext) {
|
740
|
-
let dataSpaceAnalysisResult;
|
741
|
-
try {
|
742
|
-
const project = StoreProjectData.serialization.fromJson(await this.depotServerClient.getProject(query.groupId, query.artifactId));
|
743
|
-
dataSpaceAnalysisResult =
|
744
|
-
await DSL_DataSpace_getGraphManagerExtension(this.graphManagerState.graphManager).retrieveDataSpaceAnalysisFromCache(() => retrieveAnalyticsResultCache(project, query.versionId, dataSpace.path, this.depotServerClient));
|
745
|
-
}
|
746
|
-
catch {
|
747
|
-
// do nothing
|
748
|
-
}
|
749
846
|
const sourceInfo = {
|
750
|
-
groupId:
|
751
|
-
artifactId:
|
752
|
-
versionId:
|
847
|
+
groupId: queryInfo.groupId,
|
848
|
+
artifactId: queryInfo.artifactId,
|
849
|
+
versionId: queryInfo.versionId,
|
753
850
|
dataSpace: dataSpace.path,
|
754
851
|
};
|
755
852
|
const visitedDataSpaces = LegendQueryUserDataHelper.getRecentlyVisitedDataSpaces(this.applicationStore.userDataService);
|
756
|
-
const dataSpaceQueryBuilderState = new DataSpaceQueryBuilderState(this.applicationStore, this.graphManagerState, QueryBuilderDataBrowserWorkflow.INSTANCE, new QueryBuilderActionConfig_QueryApplication(this), dataSpace, matchingExecutionContext, createDataSpaceDepoRepo(this,
|
853
|
+
const dataSpaceQueryBuilderState = new DataSpaceQueryBuilderState(this.applicationStore, this.graphManagerState, QueryBuilderDataBrowserWorkflow.INSTANCE, new QueryBuilderActionConfig_QueryApplication(this), dataSpace, matchingExecutionContext, isLightGraphEnabled, createDataSpaceDepoRepo(this, queryInfo.groupId, queryInfo.artifactId, queryInfo.versionId, (dataSpaceInfo) => hasDataSpaceInfoBeenVisited(dataSpaceInfo, visitedDataSpaces)), async (dataSpaceInfo) => {
|
757
854
|
if (dataSpaceInfo.defaultExecutionContext) {
|
758
855
|
const proceed = () => this.applicationStore.navigationService.navigator.goToLocation(generateDataSpaceQueryCreatorRoute(guaranteeNonNullable(dataSpaceInfo.groupId), guaranteeNonNullable(dataSpaceInfo.artifactId), LATEST_VERSION_ALIAS, //always default to latest
|
759
856
|
dataSpaceInfo.path, guaranteeNonNullable(dataSpaceInfo.defaultExecutionContext), undefined, undefined));
|
@@ -768,7 +865,7 @@ export class ExistingQueryEditorStore extends QueryEditorStore {
|
|
768
865
|
this.applicationStore.notificationService.notifyError(error);
|
769
866
|
}
|
770
867
|
};
|
771
|
-
if (!
|
868
|
+
if (!queryInfo.isCurrentUserQuery ||
|
772
869
|
!this.queryBuilderState?.changeDetectionState.hasChanged) {
|
773
870
|
proceed();
|
774
871
|
}
|
@@ -811,7 +908,7 @@ export class ExistingQueryEditorStore extends QueryEditorStore {
|
|
811
908
|
throw new UnsupportedOperationError(`Unsupported execution context ${exec.executionKey}`);
|
812
909
|
}
|
813
910
|
}
|
814
|
-
else if (exec instanceof
|
911
|
+
else if (exec instanceof QueryExplicitExecutionContextInfo) {
|
815
912
|
const projectInfo = this.getProjectInfo();
|
816
913
|
const sourceInfo = {
|
817
914
|
groupId: projectInfo.groupId,
|
@@ -820,20 +917,28 @@ export class ExistingQueryEditorStore extends QueryEditorStore {
|
|
820
917
|
};
|
821
918
|
const classQueryBuilderState = new ClassQueryBuilderState(this.applicationStore, this.graphManagerState, QueryBuilderDataBrowserWorkflow.INSTANCE, this.applicationStore.config.options.queryBuilderConfig, sourceInfo);
|
822
919
|
classQueryBuilderState.workflowState.updateActionConfig(new QueryBuilderActionConfig_QueryApplication(this));
|
823
|
-
classQueryBuilderState.executionContextState.setMapping(exec.mapping
|
824
|
-
|
920
|
+
classQueryBuilderState.executionContextState.setMapping(exec.mapping
|
921
|
+
? this.graphManagerState.graph.getMapping(exec.mapping)
|
922
|
+
: undefined);
|
923
|
+
classQueryBuilderState.executionContextState.setRuntimeValue(exec.runtime
|
924
|
+
? new RuntimePointer(PackageableElementExplicitReference.create(this.graphManagerState.graph.getRuntime(exec.runtime)))
|
925
|
+
: undefined);
|
825
926
|
return classQueryBuilderState;
|
826
927
|
}
|
827
928
|
throw new UnsupportedOperationError(`Unsupported query execution context`);
|
828
929
|
}
|
829
930
|
async initializeQueryBuilderState(stopWatch) {
|
830
|
-
const query = await this.graphManagerState.graphManager.getQuery(this.queryId, this.graphManagerState.graph);
|
831
|
-
this.setQuery(query);
|
832
|
-
LegendQueryUserDataHelper.addRecentlyViewedQuery(this.applicationStore.userDataService, query.id);
|
833
931
|
// if no extension found, fall back to basic `class -> mapping -> runtime` mode
|
834
|
-
|
932
|
+
let queryInfo = this.queryInfo;
|
933
|
+
if (!queryInfo) {
|
934
|
+
queryInfo = await this.graphManagerState.graphManager.getQueryInfo(this.queryId);
|
935
|
+
}
|
936
|
+
const queryBuilderState = await this.initQueryBuildStateFromQuery(queryInfo);
|
835
937
|
const initailizeQueryStateStopWatch = new StopWatch();
|
836
938
|
const initailizeQueryStateReport = reportGraphAnalytics(this.graphManagerState.graph);
|
939
|
+
const query = await this.graphManagerState.graphManager.getQuery(this.queryId, this.graphManagerState.graph);
|
940
|
+
this.setQuery(query);
|
941
|
+
LegendQueryUserDataHelper.addRecentlyViewedQuery(this.applicationStore.userDataService, query.id);
|
837
942
|
const existingQueryLambda = await this.graphManagerState.graphManager.pureCodeToLambda(query.content);
|
838
943
|
// leverage initialization of query builder state to ensure we handle unsupported queries
|
839
944
|
let defaultParameters = undefined;
|