@finos/legend-extension-dsl-data-space 10.4.4 → 10.4.6
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/components/DSL_DataSpace_LegendApplicationPlugin.d.ts +1 -1
- package/lib/components/DSL_DataSpace_LegendApplicationPlugin.d.ts.map +1 -1
- package/lib/components/DSL_DataSpace_LegendApplicationPlugin.js +4 -3
- package/lib/components/DSL_DataSpace_LegendApplicationPlugin.js.map +1 -1
- package/lib/components/query-builder/DataSpaceQueryBuilder.d.ts.map +1 -1
- package/lib/components/query-builder/DataSpaceQueryBuilder.js +20 -6
- package/lib/components/query-builder/DataSpaceQueryBuilder.js.map +1 -1
- package/lib/components/query-builder/DataSpaceQueryBuilderTemplateQueryPanelContent.js +1 -1
- package/lib/components/query-builder/DataSpaceQueryBuilderTemplateQueryPanelContent.js.map +1 -1
- package/lib/graph-manager/action/analytics/DataSpaceAnalysisHelper.d.ts +3 -0
- package/lib/graph-manager/action/analytics/DataSpaceAnalysisHelper.d.ts.map +1 -1
- package/lib/graph-manager/action/analytics/DataSpaceAnalysisHelper.js +4 -1
- package/lib/graph-manager/action/analytics/DataSpaceAnalysisHelper.js.map +1 -1
- package/lib/graph-manager/index.d.ts +1 -0
- package/lib/graph-manager/index.d.ts.map +1 -1
- package/lib/graph-manager/index.js +1 -0
- package/lib/graph-manager/index.js.map +1 -1
- package/lib/graph-manager/protocol/pure/DSL_DataSpace_PureGraphManagerExtension.d.ts +6 -2
- package/lib/graph-manager/protocol/pure/DSL_DataSpace_PureGraphManagerExtension.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/DSL_DataSpace_PureGraphManagerExtension.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_DSL_DataSpace_PureGraphManagerExtension.d.ts +17 -3
- package/lib/graph-manager/protocol/pure/v1/V1_DSL_DataSpace_PureGraphManagerExtension.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_DSL_DataSpace_PureGraphManagerExtension.js +219 -48
- package/lib/graph-manager/protocol/pure/v1/V1_DSL_DataSpace_PureGraphManagerExtension.js.map +1 -1
- package/lib/index.css +1 -1
- package/lib/package.json +3 -3
- package/lib/stores/query-builder/DataSpaceQueryBuilderState.d.ts +5 -11
- package/lib/stores/query-builder/DataSpaceQueryBuilderState.d.ts.map +1 -1
- package/lib/stores/query-builder/DataSpaceQueryBuilderState.js +19 -30
- package/lib/stores/query-builder/DataSpaceQueryBuilderState.js.map +1 -1
- package/package.json +15 -15
- package/src/components/DSL_DataSpace_LegendApplicationPlugin.tsx +6 -8
- package/src/components/query-builder/DataSpaceQueryBuilder.tsx +40 -9
- package/src/components/query-builder/DataSpaceQueryBuilderTemplateQueryPanelContent.tsx +1 -1
- package/src/graph-manager/action/analytics/DataSpaceAnalysisHelper.ts +14 -1
- package/src/graph-manager/index.ts +4 -0
- package/src/graph-manager/protocol/pure/DSL_DataSpace_PureGraphManagerExtension.ts +24 -3
- package/src/graph-manager/protocol/pure/v1/V1_DSL_DataSpace_PureGraphManagerExtension.ts +446 -72
- package/src/stores/query-builder/DataSpaceQueryBuilderState.ts +32 -40
@@ -15,9 +15,9 @@
|
|
15
15
|
*/
|
16
16
|
import {} from '@finos/legend-application';
|
17
17
|
import { QueryBuilderState, } from '@finos/legend-query-builder';
|
18
|
-
import { getMappingCompatibleClasses, Package, QueryDataSpaceExecutionContext, elementBelongsToPackage,
|
18
|
+
import { getMappingCompatibleClasses, Package, QueryDataSpaceExecutionContext, elementBelongsToPackage, } from '@finos/legend-graph';
|
19
19
|
import { DepotScope, SNAPSHOT_VERSION_ALIAS, } from '@finos/legend-server-depot';
|
20
|
-
import { ActionState, assertErrorThrown, filterByType,
|
20
|
+
import { ActionState, assertErrorThrown, filterByType, } from '@finos/legend-shared';
|
21
21
|
import { action, flow, makeObservable, observable } from 'mobx';
|
22
22
|
import { renderDataSpaceQueryBuilderSetupPanelContent } from '../../components/query-builder/DataSpaceQueryBuilder.js';
|
23
23
|
import { DataSpace, } from '../../graph/metamodel/pure/model/packageableElements/dataSpace/DSL_DataSpace_DataSpace.js';
|
@@ -36,8 +36,17 @@ const matchesDataElement = (_class, element) => {
|
|
36
36
|
}
|
37
37
|
return false;
|
38
38
|
};
|
39
|
-
export const resolveUsableDataSpaceClasses = (dataSpace, mapping, graphManagerState) => {
|
40
|
-
|
39
|
+
export const resolveUsableDataSpaceClasses = (dataSpace, mapping, graphManagerState, queryBuilderState) => {
|
40
|
+
let compatibleClasses = getMappingCompatibleClasses(mapping, graphManagerState.usableClasses);
|
41
|
+
const mappingModelCoverageAnalysisResult = queryBuilderState?.dataSpaceAnalysisResult?.mappingToMappingCoverageResult?.get(mapping.path);
|
42
|
+
if (
|
43
|
+
// This check is to make sure that we have `info` field present in `MappedEntity` which
|
44
|
+
// contains information about the mapped class path
|
45
|
+
mappingModelCoverageAnalysisResult?.mappedEntities.some((m) => m.info !== undefined)) {
|
46
|
+
const compatibleClassPaths = mappingModelCoverageAnalysisResult.mappedEntities.map((e) => e.info?.classPath);
|
47
|
+
const uniqueCompatibleClasses = compatibleClassPaths.filter((val, index) => compatibleClassPaths.indexOf(val) === index);
|
48
|
+
compatibleClasses = graphManagerState.graph.classes.filter((c) => uniqueCompatibleClasses.includes(c.path));
|
49
|
+
}
|
41
50
|
if (dataSpace.elements?.length) {
|
42
51
|
const elements = dataSpace.elements;
|
43
52
|
return compatibleClasses.filter((_class) => {
|
@@ -193,17 +202,20 @@ export class DataSpaceQueryBuilderState extends QueryBuilderState {
|
|
193
202
|
executionContext;
|
194
203
|
showRuntimeSelector = false;
|
195
204
|
isTemplateQueryDialogOpen = false;
|
205
|
+
isLightGraphEnabled;
|
196
206
|
displayedTemplateQueries;
|
197
|
-
constructor(applicationStore, graphManagerState, workflow, actionConfig, dataSpace, executionContext, dataSpaceRepo, onDataSpaceChange, dataSpaceAnalysisResult, onExecutionContextChange, onRuntimeChange, onClassChange, config, sourceInfo) {
|
207
|
+
constructor(applicationStore, graphManagerState, workflow, actionConfig, dataSpace, executionContext, isLightGraphEnabled, dataSpaceRepo, onDataSpaceChange, dataSpaceAnalysisResult, onExecutionContextChange, onRuntimeChange, onClassChange, config, sourceInfo) {
|
198
208
|
super(applicationStore, graphManagerState, workflow, config, sourceInfo);
|
199
209
|
makeObservable(this, {
|
200
210
|
executionContext: observable,
|
201
211
|
showRuntimeSelector: observable,
|
202
212
|
isTemplateQueryDialogOpen: observable,
|
213
|
+
isLightGraphEnabled: observable,
|
203
214
|
displayedTemplateQueries: observable,
|
204
215
|
setExecutionContext: action,
|
205
216
|
setShowRuntimeSelector: action,
|
206
217
|
setTemplateQueryDialogOpen: action,
|
218
|
+
setIsLightGraphEnabled: action,
|
207
219
|
intialize: flow,
|
208
220
|
});
|
209
221
|
this.dataSpace = dataSpace;
|
@@ -238,31 +250,8 @@ export class DataSpaceQueryBuilderState extends QueryBuilderState {
|
|
238
250
|
setShowRuntimeSelector(val) {
|
239
251
|
this.showRuntimeSelector = val;
|
240
252
|
}
|
241
|
-
|
242
|
-
|
243
|
-
* - The mapping will be updated to the mapping of the execution context
|
244
|
-
* - The runtime will be updated to the default runtime of the execution context
|
245
|
-
* - If no class is chosen, try to choose a compatible class
|
246
|
-
* - If the chosen class is compatible with the new selected execution context mapping, do nothing, otherwise, try to choose a compatible class
|
247
|
-
*/
|
248
|
-
propagateExecutionContextChange(executionContext) {
|
249
|
-
const mapping = executionContext.mapping.value;
|
250
|
-
this.changeMapping(mapping);
|
251
|
-
const mappingModelCoverageAnalysisResult = this.dataSpaceAnalysisResult?.mappingToMappingCoverageResult?.get(mapping.path);
|
252
|
-
if (mappingModelCoverageAnalysisResult) {
|
253
|
-
this.explorerState.mappingModelCoverageAnalysisResult =
|
254
|
-
mappingModelCoverageAnalysisResult;
|
255
|
-
}
|
256
|
-
this.changeRuntime(new RuntimePointer(executionContext.defaultRuntime));
|
257
|
-
const compatibleClasses = resolveUsableDataSpaceClasses(this.dataSpace, mapping, this.graphManagerState);
|
258
|
-
// if there is no chosen class or the chosen one is not compatible
|
259
|
-
// with the mapping then pick a compatible class if possible
|
260
|
-
if (!this.class || !compatibleClasses.includes(this.class)) {
|
261
|
-
const possibleNewClass = getNullableFirstEntry(compatibleClasses);
|
262
|
-
if (possibleNewClass) {
|
263
|
-
this.changeClass(possibleNewClass);
|
264
|
-
}
|
265
|
-
}
|
253
|
+
setIsLightGraphEnabled(val) {
|
254
|
+
this.isLightGraphEnabled = val;
|
266
255
|
}
|
267
256
|
buildFunctionAnalysisInfo() {
|
268
257
|
let functionInfoMap = new Map();
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"DataSpaceQueryBuilderState.js","sourceRoot":"","sources":["../../../src/stores/query-builder/DataSpaceQueryBuilderState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAsC,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAKL,iBAAiB,GAElB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAOL,2BAA2B,EAC3B,OAAO,EACP,8BAA8B,EAC9B,uBAAuB,
|
1
|
+
{"version":3,"file":"DataSpaceQueryBuilderState.js","sourceRoot":"","sources":["../../../src/stores/query-builder/DataSpaceQueryBuilderState.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@finos/legend-extension-dsl-data-space",
|
3
|
-
"version": "10.4.
|
3
|
+
"version": "10.4.6",
|
4
4
|
"description": "Legend extension for Data Space DSL",
|
5
5
|
"keywords": [
|
6
6
|
"legend",
|
@@ -43,17 +43,17 @@
|
|
43
43
|
"test:watch": "jest --watch"
|
44
44
|
},
|
45
45
|
"dependencies": {
|
46
|
-
"@finos/legend-application": "16.0.
|
47
|
-
"@finos/legend-art": "7.1.
|
48
|
-
"@finos/legend-code-editor": "2.0.
|
49
|
-
"@finos/legend-extension-dsl-diagram": "8.1.
|
50
|
-
"@finos/legend-graph": "31.10.
|
51
|
-
"@finos/legend-lego": "2.0.
|
52
|
-
"@finos/legend-query-builder": "4.15.
|
53
|
-
"@finos/legend-server-depot": "6.0.
|
54
|
-
"@finos/legend-server-sdlc": "5.3.
|
55
|
-
"@finos/legend-shared": "10.0.
|
56
|
-
"@finos/legend-storage": "3.0.
|
46
|
+
"@finos/legend-application": "16.0.10",
|
47
|
+
"@finos/legend-art": "7.1.68",
|
48
|
+
"@finos/legend-code-editor": "2.0.16",
|
49
|
+
"@finos/legend-extension-dsl-diagram": "8.1.31",
|
50
|
+
"@finos/legend-graph": "31.10.50",
|
51
|
+
"@finos/legend-lego": "2.0.18",
|
52
|
+
"@finos/legend-query-builder": "4.15.15",
|
53
|
+
"@finos/legend-server-depot": "6.0.69",
|
54
|
+
"@finos/legend-server-sdlc": "5.3.38",
|
55
|
+
"@finos/legend-shared": "10.0.61",
|
56
|
+
"@finos/legend-storage": "3.0.112",
|
57
57
|
"@types/react": "18.3.12",
|
58
58
|
"mobx": "6.13.5",
|
59
59
|
"mobx-react-lite": "4.0.7",
|
@@ -62,14 +62,14 @@
|
|
62
62
|
"serializr": "3.0.3"
|
63
63
|
},
|
64
64
|
"devDependencies": {
|
65
|
-
"@finos/legend-dev-utils": "2.1.
|
65
|
+
"@finos/legend-dev-utils": "2.1.29",
|
66
66
|
"@jest/globals": "29.7.0",
|
67
67
|
"cross-env": "7.0.3",
|
68
|
-
"eslint": "9.
|
68
|
+
"eslint": "9.15.0",
|
69
69
|
"jest": "29.7.0",
|
70
70
|
"npm-run-all": "4.1.5",
|
71
71
|
"rimraf": "6.0.1",
|
72
|
-
"sass": "1.
|
72
|
+
"sass": "1.81.0",
|
73
73
|
"typescript": "5.6.3"
|
74
74
|
},
|
75
75
|
"peerDependencies": {
|
@@ -15,11 +15,11 @@
|
|
15
15
|
*/
|
16
16
|
|
17
17
|
import {
|
18
|
-
LegendApplicationPlugin,
|
19
18
|
type LegendApplicationSetup,
|
20
19
|
type LegendApplicationPluginManager,
|
21
|
-
collectKeyedCommandConfigEntriesFromConfig,
|
22
20
|
type KeyedCommandConfigEntry,
|
21
|
+
collectKeyedCommandConfigEntriesFromConfig,
|
22
|
+
LegendApplicationPlugin,
|
23
23
|
} from '@finos/legend-application';
|
24
24
|
import packageJson from '../../package.json' with { type: 'json' };
|
25
25
|
import type {
|
@@ -32,7 +32,7 @@ import type {
|
|
32
32
|
} from '@finos/legend-query-builder';
|
33
33
|
import { DataSpaceQueryBuilderState } from '../stores/query-builder/DataSpaceQueryBuilderState.js';
|
34
34
|
import { DSL_DATA_SPACE_LEGEND_APPLICATION_COMMAND_CONFIG } from '../__lib__/DSL_DataSpace_LegendApplicationCommand.js';
|
35
|
-
import type
|
35
|
+
import { type QuerySearchSpecification } from '@finos/legend-graph';
|
36
36
|
import { configureDataGridComponent } from '@finos/legend-lego/data-grid';
|
37
37
|
import { DataSpaceExecutableTemplate } from '../graph/metamodel/pure/model/packageableElements/dataSpace/DSL_DataSpace_DataSpace.js';
|
38
38
|
import { filterByType } from '@finos/legend-shared';
|
@@ -175,10 +175,10 @@ export class DSL_DataSpace_LegendApplicationPlugin
|
|
175
175
|
}
|
176
176
|
return [];
|
177
177
|
},
|
178
|
-
loadCuratedTemplateQuery: (
|
178
|
+
loadCuratedTemplateQuery: async (
|
179
179
|
templateQuery: CuratedTemplateQuery,
|
180
180
|
queryBuilderState: QueryBuilderState,
|
181
|
-
): void => {
|
181
|
+
): Promise<void> => {
|
182
182
|
if (queryBuilderState instanceof DataSpaceQueryBuilderState) {
|
183
183
|
if (
|
184
184
|
queryBuilderState.executionContext.name !==
|
@@ -190,9 +190,7 @@ export class DSL_DataSpace_LegendApplicationPlugin
|
|
190
190
|
);
|
191
191
|
if (executionContext) {
|
192
192
|
queryBuilderState.setExecutionContext(executionContext);
|
193
|
-
queryBuilderState.propagateExecutionContextChange(
|
194
|
-
executionContext,
|
195
|
-
);
|
193
|
+
await queryBuilderState.propagateExecutionContextChange();
|
196
194
|
queryBuilderState.initializeWithQuery(templateQuery.query);
|
197
195
|
queryBuilderState.onExecutionContextChange?.(executionContext);
|
198
196
|
}
|
@@ -45,6 +45,7 @@ import {
|
|
45
45
|
} from '@finos/legend-query-builder';
|
46
46
|
import {
|
47
47
|
type Runtime,
|
48
|
+
type PackageableRuntime,
|
48
49
|
getMappingCompatibleRuntimes,
|
49
50
|
PackageableElementExplicitReference,
|
50
51
|
RuntimePointer,
|
@@ -89,6 +90,25 @@ export const formatDataSpaceOptionLabel = (
|
|
89
90
|
</div>
|
90
91
|
);
|
91
92
|
|
93
|
+
const resolveExecutionContextRuntimes = (
|
94
|
+
queryBuilderState: DataSpaceQueryBuilderState,
|
95
|
+
): PackageableRuntime[] => {
|
96
|
+
if (queryBuilderState.dataSpaceAnalysisResult) {
|
97
|
+
const executionContext = Array.from(
|
98
|
+
queryBuilderState.dataSpaceAnalysisResult.executionContextsIndex.values(),
|
99
|
+
).find(
|
100
|
+
(e) =>
|
101
|
+
e.mapping.path ===
|
102
|
+
queryBuilderState.executionContext.mapping.value.path,
|
103
|
+
);
|
104
|
+
return guaranteeNonNullable(executionContext).compatibleRuntimes;
|
105
|
+
}
|
106
|
+
return getMappingCompatibleRuntimes(
|
107
|
+
queryBuilderState.executionContext.mapping.value,
|
108
|
+
queryBuilderState.graphManagerState.usableRuntimes,
|
109
|
+
);
|
110
|
+
};
|
111
|
+
|
92
112
|
export type ExecutionContextOption = {
|
93
113
|
label: string;
|
94
114
|
value: DataSpaceExecutionContext;
|
@@ -152,7 +172,9 @@ const DataSpaceQueryBuilderSetupPanelContent = observer(
|
|
152
172
|
},
|
153
173
|
};
|
154
174
|
const onDataSpaceOptionChange = (option: DataSpaceOption): void => {
|
155
|
-
queryBuilderState
|
175
|
+
queryBuilderState
|
176
|
+
.onDataSpaceChange(option.value)
|
177
|
+
.catch(queryBuilderState.applicationStore.alertUnhandledError);
|
156
178
|
};
|
157
179
|
|
158
180
|
const openDataSpaceAdvancedSearch = (): void => {
|
@@ -170,22 +192,30 @@ const DataSpaceQueryBuilderSetupPanelContent = observer(
|
|
170
192
|
const selectedExecutionContextOption = buildExecutionContextOption(
|
171
193
|
queryBuilderState.executionContext,
|
172
194
|
);
|
173
|
-
|
195
|
+
|
196
|
+
const onExecutionContextOptionChange = async (
|
174
197
|
option: ExecutionContextOption,
|
175
|
-
): void => {
|
198
|
+
): Promise<void> => {
|
176
199
|
if (option.value === queryBuilderState.executionContext) {
|
177
200
|
return;
|
178
201
|
}
|
202
|
+
const currentMapping =
|
203
|
+
queryBuilderState.executionContext.mapping.value.path;
|
179
204
|
queryBuilderState.setExecutionContext(option.value);
|
180
|
-
queryBuilderState.propagateExecutionContextChange(
|
205
|
+
await queryBuilderState.propagateExecutionContextChange(
|
206
|
+
currentMapping === option.value.mapping.value.path,
|
207
|
+
);
|
181
208
|
queryBuilderState.onExecutionContextChange?.(option.value);
|
182
209
|
};
|
183
210
|
|
211
|
+
const handleExecutionContextOptionChange = (
|
212
|
+
option: ExecutionContextOption,
|
213
|
+
): void => {
|
214
|
+
flowResult(onExecutionContextOptionChange(option));
|
215
|
+
};
|
216
|
+
|
184
217
|
// runtime
|
185
|
-
const runtimeOptions =
|
186
|
-
queryBuilderState.executionContext.mapping.value,
|
187
|
-
queryBuilderState.graphManagerState.usableRuntimes,
|
188
|
-
)
|
218
|
+
const runtimeOptions = resolveExecutionContextRuntimes(queryBuilderState)
|
189
219
|
.map(
|
190
220
|
(rt) =>
|
191
221
|
new RuntimePointer(PackageableElementExplicitReference.create(rt)),
|
@@ -220,6 +250,7 @@ const DataSpaceQueryBuilderSetupPanelContent = observer(
|
|
220
250
|
queryBuilderState.dataSpace,
|
221
251
|
queryBuilderState.executionContext.mapping.value,
|
222
252
|
queryBuilderState.graphManagerState,
|
253
|
+
queryBuilderState,
|
223
254
|
);
|
224
255
|
|
225
256
|
useEffect(() => {
|
@@ -373,7 +404,7 @@ const DataSpaceQueryBuilderSetupPanelContent = observer(
|
|
373
404
|
(executionContextOptions.length === 1 &&
|
374
405
|
Boolean(selectedExecutionContextOption))
|
375
406
|
}
|
376
|
-
onChange={
|
407
|
+
onChange={handleExecutionContextOptionChange}
|
377
408
|
value={selectedExecutionContextOption}
|
378
409
|
darkMode={
|
379
410
|
!applicationStore.layoutService
|
@@ -70,7 +70,7 @@ const DataSpaceTemplateQueryDialog = observer(
|
|
70
70
|
executionContext.name !== queryBuilderState.executionContext.name
|
71
71
|
) {
|
72
72
|
queryBuilderState.setExecutionContext(executionContext);
|
73
|
-
queryBuilderState.propagateExecutionContextChange(
|
73
|
+
await queryBuilderState.propagateExecutionContextChange();
|
74
74
|
queryBuilderState.initializeWithQuery(query);
|
75
75
|
queryBuilderState.onExecutionContextChange?.(executionContext);
|
76
76
|
} else {
|
@@ -39,8 +39,9 @@ import {
|
|
39
39
|
DataSpacePackageableElementExecutable,
|
40
40
|
} from '../../../graph/metamodel/pure/model/packageableElements/dataSpace/DSL_DataSpace_DataSpace.js';
|
41
41
|
import { getQueryFromDataspaceExecutable } from '../../DSL_DataSpace_GraphManagerHelper.js';
|
42
|
+
import type { StoredFileGeneration } from '@finos/legend-storage';
|
42
43
|
|
43
|
-
const DATASPACE_ANALYTICS_FILE_NAME = 'AnalyticsResult.json';
|
44
|
+
export const DATASPACE_ANALYTICS_FILE_NAME = 'AnalyticsResult.json';
|
44
45
|
const V1_DATASPACE_ANALYTICS_ARTIFACT_EXTENSION_KEY = 'dataSpace-analytics';
|
45
46
|
|
46
47
|
export const retrieveAnalyticsResultCache = async (
|
@@ -61,6 +62,18 @@ export const retrieveAnalyticsResultCache = async (
|
|
61
62
|
),
|
62
63
|
);
|
63
64
|
|
65
|
+
export const retrieveDataspaceArtifactsCache = async (
|
66
|
+
project: StoreProjectData,
|
67
|
+
versionId: string,
|
68
|
+
depotServerClient: DepotServerClient,
|
69
|
+
): Promise<PlainObject<StoredFileGeneration>[]> => {
|
70
|
+
return depotServerClient.getGenerationFilesByType(
|
71
|
+
project,
|
72
|
+
versionId,
|
73
|
+
V1_DATASPACE_ANALYTICS_ARTIFACT_EXTENSION_KEY,
|
74
|
+
);
|
75
|
+
};
|
76
|
+
|
64
77
|
export const buildDataSpaceExecutableAnalysisResultFromExecutable = async (
|
65
78
|
dataspace: DataSpace,
|
66
79
|
executables: DataSpaceExecutable[],
|
@@ -39,3 +39,7 @@ export * from '../stores/shared/DataSpaceInfo.js';
|
|
39
39
|
export * from '../stores/query-builder/DataSpaceQueryBuilderState.js';
|
40
40
|
|
41
41
|
export { observe_DataSpace } from '../graph-manager/action/changeDetection/DSL_DataSpace_ObserverHelper.js';
|
42
|
+
export {
|
43
|
+
V1_DataSpaceExecutionContext,
|
44
|
+
V1_DataSpace,
|
45
|
+
} from '../graph-manager/protocol/pure/v1/model/packageableElements/dataSpace/V1_DSL_DataSpace_DataSpace.js';
|
@@ -17,14 +17,20 @@
|
|
17
17
|
import {
|
18
18
|
type AbstractPureGraphManager,
|
19
19
|
type PureProtocolProcessorPlugin,
|
20
|
-
AbstractPureGraphManagerExtension,
|
21
20
|
type QueryInfo,
|
21
|
+
type PureModel,
|
22
|
+
type GraphManagerOperationReport,
|
23
|
+
AbstractPureGraphManagerExtension,
|
22
24
|
} from '@finos/legend-graph';
|
23
|
-
import type {
|
25
|
+
import type {
|
26
|
+
Entity,
|
27
|
+
ProjectGAVCoordinates,
|
28
|
+
StoredFileGeneration,
|
29
|
+
} from '@finos/legend-storage';
|
24
30
|
import {
|
25
|
-
guaranteeNonNullable,
|
26
31
|
type ActionState,
|
27
32
|
type PlainObject,
|
33
|
+
guaranteeNonNullable,
|
28
34
|
} from '@finos/legend-shared';
|
29
35
|
import type { DataSpaceAnalysisResult } from '../../action/analytics/DataSpaceAnalysis.js';
|
30
36
|
import type { V1_DataSpaceAnalysisResult } from './v1/engine/analytics/V1_DataSpaceAnalysis.js';
|
@@ -42,6 +48,21 @@ export abstract class DSL_DataSpace_PureGraphManagerExtension extends AbstractPu
|
|
42
48
|
actionState?: ActionState,
|
43
49
|
): Promise<DataSpaceAnalysisResult | undefined>;
|
44
50
|
|
51
|
+
abstract analyzeDataSpaceCoverage(
|
52
|
+
dataSpacePath: string,
|
53
|
+
entitiesWithClassifierRetriever: () => Promise<
|
54
|
+
[PlainObject<Entity>[], PlainObject<Entity>[]]
|
55
|
+
>,
|
56
|
+
cacheRetriever?: () => Promise<PlainObject<StoredFileGeneration>[]>,
|
57
|
+
actionState?: ActionState,
|
58
|
+
graphReport?: GraphManagerOperationReport | undefined,
|
59
|
+
pureGraph?: PureModel | undefined,
|
60
|
+
executionContext?: string | undefined,
|
61
|
+
mappingPath?: string | undefined,
|
62
|
+
projectInfo?: ProjectGAVCoordinates,
|
63
|
+
templateQueryId?: string,
|
64
|
+
): Promise<DataSpaceAnalysisResult>;
|
65
|
+
|
45
66
|
abstract addNewExecutableToDataSpaceEntity(
|
46
67
|
dataSpaceEntity: Entity,
|
47
68
|
currentQuery: QueryInfo,
|