@finos/legend-application-query 13.8.48 → 13.8.50
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/Core_LegendQueryApplicationPlugin.d.ts.map +1 -1
- package/lib/components/Core_LegendQueryApplicationPlugin.js +52 -18
- package/lib/components/Core_LegendQueryApplicationPlugin.js.map +1 -1
- package/lib/components/QueryEditor.d.ts.map +1 -1
- package/lib/components/QueryEditor.js +14 -2
- package/lib/components/QueryEditor.js.map +1 -1
- package/lib/components/data-space/DataSpaceInfo.d.ts.map +1 -1
- package/lib/components/data-space/DataSpaceInfo.js +13 -9
- package/lib/components/data-space/DataSpaceInfo.js.map +1 -1
- package/lib/components/data-space/DataSpaceQuerySetup.js +3 -3
- package/lib/components/data-space/DataSpaceQuerySetup.js.map +1 -1
- package/lib/components/data-space/LegendQueryDataSpaceQueryBuilder.d.ts.map +1 -1
- package/lib/components/data-space/LegendQueryDataSpaceQueryBuilder.js +23 -13
- package/lib/components/data-space/LegendQueryDataSpaceQueryBuilder.js.map +1 -1
- package/lib/index.css +1 -1
- package/lib/light-mode.css +1 -1
- package/lib/package.json +1 -1
- package/lib/stores/QueryEditorStore.d.ts +14 -11
- package/lib/stores/QueryEditorStore.d.ts.map +1 -1
- package/lib/stores/QueryEditorStore.js +68 -35
- package/lib/stores/QueryEditorStore.js.map +1 -1
- package/lib/stores/__test-utils__/DataSpaceQueryBuilderStateTestUtils.d.ts +33 -0
- package/lib/stores/__test-utils__/DataSpaceQueryBuilderStateTestUtils.d.ts.map +1 -0
- package/lib/stores/__test-utils__/DataSpaceQueryBuilderStateTestUtils.js +74 -0
- package/lib/stores/__test-utils__/DataSpaceQueryBuilderStateTestUtils.js.map +1 -0
- package/lib/stores/data-product/query-builder/LegendQueryDataProductQueryBuilderState.d.ts.map +1 -1
- package/lib/stores/data-product/query-builder/LegendQueryDataProductQueryBuilderState.js +3 -3
- package/lib/stores/data-product/query-builder/LegendQueryDataProductQueryBuilderState.js.map +1 -1
- package/lib/stores/data-space/DataProductQueryCreatorStore.d.ts.map +1 -1
- package/lib/stores/data-space/DataProductQueryCreatorStore.js +13 -5
- package/lib/stores/data-space/DataProductQueryCreatorStore.js.map +1 -1
- package/lib/stores/data-space/DataSpaceTemplateQueryCreatorStore.d.ts +1 -1
- package/lib/stores/data-space/DataSpaceTemplateQueryCreatorStore.d.ts.map +1 -1
- package/lib/stores/data-space/DataSpaceTemplateQueryCreatorStore.js +11 -4
- package/lib/stores/data-space/DataSpaceTemplateQueryCreatorStore.js.map +1 -1
- package/lib/stores/data-space/query-builder/LegendQueryDataSpaceQueryBuilderState.d.ts +5 -4
- package/lib/stores/data-space/query-builder/LegendQueryDataSpaceQueryBuilderState.d.ts.map +1 -1
- package/lib/stores/data-space/query-builder/LegendQueryDataSpaceQueryBuilderState.js +37 -8
- package/lib/stores/data-space/query-builder/LegendQueryDataSpaceQueryBuilderState.js.map +1 -1
- package/lib/stores/ingest/IngestQueryCreatorStore.d.ts.map +1 -1
- package/lib/stores/ingest/IngestQueryCreatorStore.js +2 -2
- package/lib/stores/ingest/IngestQueryCreatorStore.js.map +1 -1
- package/package.json +8 -8
- package/src/components/Core_LegendQueryApplicationPlugin.tsx +72 -33
- package/src/components/QueryEditor.tsx +22 -4
- package/src/components/data-space/DataSpaceInfo.tsx +28 -11
- package/src/components/data-space/DataSpaceQuerySetup.tsx +4 -4
- package/src/components/data-space/LegendQueryDataSpaceQueryBuilder.tsx +94 -38
- package/src/stores/QueryEditorStore.ts +118 -59
- package/src/stores/__test-utils__/DataSpaceQueryBuilderStateTestUtils.ts +138 -0
- package/src/stores/data-product/query-builder/LegendQueryDataProductQueryBuilderState.ts +9 -2
- package/src/stores/data-space/DataProductQueryCreatorStore.ts +29 -6
- package/src/stores/data-space/DataSpaceTemplateQueryCreatorStore.ts +23 -4
- package/src/stores/data-space/query-builder/LegendQueryDataSpaceQueryBuilderState.ts +51 -13
- package/src/stores/ingest/IngestQueryCreatorStore.ts +5 -1
- package/tsconfig.json +1 -0
|
@@ -65,9 +65,9 @@ const DataProductQuerySetupSetupPanelContent = observer((props) => {
|
|
|
65
65
|
useEffect(() => {
|
|
66
66
|
flowResult(queryBuilderState.productSelectorState.loadProducts()).catch(applicationStore.alertUnhandledError);
|
|
67
67
|
}, [queryBuilderState, applicationStore]);
|
|
68
|
-
return (_jsxs("div", { className: "query-builder__setup__config-group", children: [_jsx(PanelHeader, { title: "properties" }), _jsxs("div", { className: "query-builder__setup__config-group__content", children: [_jsxs("div", { className: "query-builder__setup__config-group__item", children: [_jsx("label", { className: "btn--sm query-builder__setup__config-group__data-product", title: "data
|
|
69
|
-
.isInProgress, onChange: onDataSpaceOptionChange, value: selectedDataSpaceOption, placeholder: "Search for data
|
|
70
|
-
.TEMPORARY__isLightColorThemeEnabled, formatOptionLabel: formatDataSpaceOrProductOptionLabel }), _jsx("button", { tabIndex: -1, className: "query-builder__setup__data-space-searcher__btn btn--dark", onClick: openDataSpaceAdvancedSearch, title: "Open advanced search for data
|
|
68
|
+
return (_jsxs("div", { className: "query-builder__setup__config-group", children: [_jsx(PanelHeader, { title: "properties" }), _jsxs("div", { className: "query-builder__setup__config-group__content", children: [_jsxs("div", { className: "query-builder__setup__config-group__item", children: [_jsx("label", { className: "btn--sm query-builder__setup__config-group__data-product", title: "data space", htmlFor: "query-builder__setup__data-space-selector", children: "Data Space" }), _jsx(CustomSelectorInput, { inputId: "query-builder__setup__data-space-selector", inputRef: dataSpaceSearchRef, className: "panel__content__form__section__dropdown query-builder__setup__config-group__item__selector", options: dataProductOptions, isLoading: queryBuilderState.productSelectorState.loadProductsState
|
|
69
|
+
.isInProgress, onChange: onDataSpaceOptionChange, value: selectedDataSpaceOption, placeholder: "Search for data space...", escapeClearsValue: true, darkMode: !applicationStore.layoutService
|
|
70
|
+
.TEMPORARY__isLightColorThemeEnabled, formatOptionLabel: formatDataSpaceOrProductOptionLabel }), _jsx("button", { tabIndex: -1, className: "query-builder__setup__data-space-searcher__btn btn--dark", onClick: openDataSpaceAdvancedSearch, title: "Open advanced search for data space...", children: _jsx(SearchIcon, {}) }), queryBuilderState.advancedSearchState && (_jsx(DataSpaceAdvancedSearchModal, { searchState: queryBuilderState.advancedSearchState, onClose: () => queryBuilderState.hideAdvancedSearchPanel() }))] }), _jsx("div", { className: "query-builder__setup__config-group__item", children: _jsx(QueryBuilderClassSelector, { queryBuilderState: queryBuilderState, classes: [], noMatchMessage: "No compatible entity found" }) })] })] }));
|
|
71
71
|
});
|
|
72
72
|
export const renderDataSpaceQuerySetupSetupPanelContent = (queryBuilderState) => (_jsx(DataProductQuerySetupSetupPanelContent, { queryBuilderState: queryBuilderState }));
|
|
73
73
|
//# sourceMappingURL=DataSpaceQuerySetup.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataSpaceQuerySetup.js","sourceRoot":"","sources":["../../../src/components/data-space/DataSpaceQuerySetup.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"DataSpaceQuerySetup.js","sourceRoot":"","sources":["../../../src/components/data-space/DataSpaceQuerySetup.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LegendQueryDataSpaceQueryBuilder.d.ts","sourceRoot":"","sources":["../../../src/components/data-space/LegendQueryDataSpaceQueryBuilder.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
|
1
|
+
{"version":3,"file":"LegendQueryDataSpaceQueryBuilder.d.ts","sourceRoot":"","sources":["../../../src/components/data-space/LegendQueryDataSpaceQueryBuilder.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAoDH,OAAO,KAAK,EAAE,qCAAqC,EAAE,MAAM,gFAAgF,CAAC;AAoX5I,eAAO,MAAM,uDAAuD,GAClE,mBAAmB,qCAAqC,KACvD,KAAK,CAAC,SAIR,CAAC"}
|
|
@@ -15,9 +15,9 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
|
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
17
|
import { useApplicationStore } from '@finos/legend-application';
|
|
18
|
-
import { AnchorLinkIcon, CheckIcon, compareLabelFn, ControlledDropdownMenu, createFilter, CustomSelectorInput, MenuContent, MenuContentItem, MenuContentItemIcon, MenuContentItemLabel, MoreVerticalIcon, PanelHeader, PanelHeaderActionItem, PanelHeaderActions, SearchIcon, } from '@finos/legend-art';
|
|
18
|
+
import { AnchorLinkIcon, CheckIcon, CogIcon, compareLabelFn, ControlledDropdownMenu, createFilter, CustomSelectorInput, MenuContent, MenuContentItem, MenuContentItemIcon, MenuContentItemLabel, MoreVerticalIcon, PanelHeader, PanelHeaderActionItem, PanelHeaderActions, SearchIcon, } from '@finos/legend-art';
|
|
19
19
|
import { ResolvedDataSpaceEntityWithOrigin, resolveUsableDataSpaceClasses, } from '@finos/legend-extension-dsl-data-space/application';
|
|
20
|
-
import { buildExecutionContextOption, DataSpaceAdvancedSearchModal, } from '@finos/legend-extension-dsl-data-space/application-query';
|
|
20
|
+
import { buildExecutionContextOption, DataSpaceAdvancedSearchModal, formatExecutionContextOptionLabel, } from '@finos/legend-extension-dsl-data-space/application-query';
|
|
21
21
|
import { resolveExecutionContextMapping } from '@finos/legend-extension-dsl-data-space/graph';
|
|
22
22
|
import { getMappingCompatibleRuntimes, PackageableElementExplicitReference, RuntimePointer, } from '@finos/legend-graph';
|
|
23
23
|
import { buildRuntimeValueOption, getRuntimeOptionFormatter, QueryBuilderClassSelector, } from '@finos/legend-query-builder';
|
|
@@ -25,7 +25,8 @@ import { guaranteeNonNullable, guaranteeType } from '@finos/legend-shared';
|
|
|
25
25
|
import { DepotEntityWithOrigin } from '@finos/legend-storage';
|
|
26
26
|
import { flowResult } from 'mobx';
|
|
27
27
|
import { observer } from 'mobx-react-lite';
|
|
28
|
-
import { useEffect } from 'react';
|
|
28
|
+
import { useEffect, useState } from 'react';
|
|
29
|
+
import { LakehouseRuntimeConfigModal } from '../shared/LakehouseRuntimeConfigModal.js';
|
|
29
30
|
import { formatDataProductOrSpaceOptionLabel } from '../shared/LegendQueryDataProductOptionLabel.js';
|
|
30
31
|
const resolveExecutionContextRuntimes = (queryBuilderState) => {
|
|
31
32
|
const currentMapping = guaranteeNonNullable(resolveExecutionContextMapping(queryBuilderState.executionContext), `Execution context '${queryBuilderState.executionContext.name}' does not have a resolvable mapping`);
|
|
@@ -74,7 +75,7 @@ const LegendQueryDataSpaceQueryBuilderSetupPanelContent = observer((props) => {
|
|
|
74
75
|
}
|
|
75
76
|
};
|
|
76
77
|
// execution context
|
|
77
|
-
const executionContextOptions = guaranteeNonNullable(queryBuilderState.dataSpace.executionContexts, `Data
|
|
78
|
+
const executionContextOptions = guaranteeNonNullable(queryBuilderState.dataSpace.executionContexts, `Data space '${queryBuilderState.dataSpace.path}' does not have any execution contexts`)
|
|
78
79
|
.map(buildExecutionContextOption)
|
|
79
80
|
.sort(compareLabelFn);
|
|
80
81
|
const showExecutionContextOptions = executionContextOptions.length > 1;
|
|
@@ -83,10 +84,11 @@ const LegendQueryDataSpaceQueryBuilderSetupPanelContent = observer((props) => {
|
|
|
83
84
|
if (option.value === queryBuilderState.executionContext) {
|
|
84
85
|
return;
|
|
85
86
|
}
|
|
86
|
-
const currentMappingPath =
|
|
87
|
-
const nextMappingPath = guaranteeNonNullable(option.value.mapping, `Execution context '${option.value.name}' does not have a mapping`).value.path;
|
|
87
|
+
const currentMappingPath = resolveExecutionContextMapping(queryBuilderState.executionContext)?.path;
|
|
88
88
|
queryBuilderState.setExecutionContext(option.value);
|
|
89
|
-
await queryBuilderState.propagateExecutionContextChange(currentMappingPath
|
|
89
|
+
await queryBuilderState.propagateExecutionContextChange(currentMappingPath !== undefined &&
|
|
90
|
+
currentMappingPath ===
|
|
91
|
+
resolveExecutionContextMapping(option.value)?.path);
|
|
90
92
|
queryBuilderState.onExecutionContextChange?.(option.value);
|
|
91
93
|
};
|
|
92
94
|
const handleExecutionContextOptionChange = (option) => {
|
|
@@ -115,7 +117,10 @@ const LegendQueryDataSpaceQueryBuilderSetupPanelContent = observer((props) => {
|
|
|
115
117
|
.value.path,
|
|
116
118
|
});
|
|
117
119
|
// class
|
|
118
|
-
const
|
|
120
|
+
const executionContextMapping = guaranteeNonNullable(resolveExecutionContextMapping(queryBuilderState.executionContext), `Execution context '${queryBuilderState.executionContext.name}' does not have a resolvable mapping`);
|
|
121
|
+
const classes = resolveUsableDataSpaceClasses(queryBuilderState.dataSpace, executionContextMapping, queryBuilderState.graphManagerState, queryBuilderState);
|
|
122
|
+
const injectedLakehouseRuntime = queryBuilderState.injectedLakehouseRuntime;
|
|
123
|
+
const [isLakehouseConfigModalOpen, setIsLakehouseConfigModalOpen] = useState(false);
|
|
119
124
|
useEffect(() => {
|
|
120
125
|
flowResult(queryBuilderState.loadEntities()).catch(applicationStore.alertUnhandledError);
|
|
121
126
|
}, [queryBuilderState, applicationStore]);
|
|
@@ -124,18 +129,23 @@ const LegendQueryDataSpaceQueryBuilderSetupPanelContent = observer((props) => {
|
|
|
124
129
|
queryBuilderState.copyDataSpaceLinkToClipboard();
|
|
125
130
|
}
|
|
126
131
|
};
|
|
127
|
-
return (_jsxs("div", { className: "query-builder__setup__config-group", children: [_jsx(PanelHeader, { title: "properties", children: _jsxs(PanelHeaderActions, { children: [_jsx(PanelHeaderActionItem, { title: "copy data
|
|
132
|
+
return (_jsxs("div", { className: "query-builder__setup__config-group", children: [_jsx(PanelHeader, { title: "properties", children: _jsxs(PanelHeaderActions, { children: [_jsx(PanelHeaderActionItem, { title: "copy data space query set up link to clipboard", onClick: copyDataSpaceLinkToClipboard, disabled: !queryBuilderState.isDataSpaceLinkable, children: _jsx(AnchorLinkIcon, {}) }), _jsx(ControlledDropdownMenu, { className: "panel__header__action query-builder__setup__config-group__header__dropdown-trigger", title: "Show Settings...", content: _jsxs(MenuContent, { children: [_jsxs(MenuContentItem, { onClick: () => queryBuilderState.setShowRuntimeSelector(!queryBuilderState.showRuntimeSelector), children: [_jsx(MenuContentItemIcon, { children: queryBuilderState.showRuntimeSelector ? (_jsx(CheckIcon, {})) : null }), _jsx(MenuContentItemLabel, { children: "Show Runtime Selector" })] }), injectedLakehouseRuntime && (_jsxs(MenuContentItem, { onClick: () => setIsLakehouseConfigModalOpen(true), children: [_jsx(MenuContentItemIcon, { children: _jsx(CogIcon, {}) }), _jsx(MenuContentItemLabel, { children: "Lakehouse Runtime Configuration" })] }))] }), menuProps: {
|
|
128
133
|
anchorOrigin: { vertical: 'bottom', horizontal: 'right' },
|
|
129
134
|
transformOrigin: { vertical: 'top', horizontal: 'right' },
|
|
130
|
-
}, children: _jsx(MoreVerticalIcon, { className: "query-builder__icon__more-options" }) })] }) }), _jsxs("div", { className: "query-builder__setup__config-group__content", children: [_jsxs("div", { className: "query-builder__setup__config-group__item", children: [_jsx("label", { className: "btn--sm query-builder__setup__config-group__data-product", title: "data
|
|
131
|
-
.TEMPORARY__isLightColorThemeEnabled, formatOptionLabel: formatDataProductOrSpaceOptionLabel }), queryBuilderState.isAdvancedDataSpaceSearchEnabled && (_jsxs(_Fragment, { children: [_jsx("button", { tabIndex: -1, className: "query-builder__setup__data-space-searcher__btn btn--dark", onClick: openDataSpaceAdvancedSearch, title: "Open advanced search for data
|
|
135
|
+
}, children: _jsx(MoreVerticalIcon, { className: "query-builder__icon__more-options" }) })] }) }), _jsxs("div", { className: "query-builder__setup__config-group__content", children: [_jsxs("div", { className: "query-builder__setup__config-group__item", children: [_jsx("label", { className: "btn--sm query-builder__setup__config-group__data-product", title: "data space", htmlFor: "query-builder__setup__data-space-selector", children: "Data Space" }), _jsx(CustomSelectorInput, { inputId: "query-builder__setup__data-space-selector", className: "panel__content__form__section__dropdown query-builder__setup__config-group__item__selector", options: allOptions, isLoading: queryBuilderState.loadEntitiesState.isInProgress, onChange: onOptionChange, value: selectedOption, placeholder: "Search for data space...", escapeClearsValue: true, darkMode: !applicationStore.layoutService
|
|
136
|
+
.TEMPORARY__isLightColorThemeEnabled, formatOptionLabel: formatDataProductOrSpaceOptionLabel }), queryBuilderState.isAdvancedDataSpaceSearchEnabled && (_jsxs(_Fragment, { children: [_jsx("button", { tabIndex: -1, className: "query-builder__setup__data-space-searcher__btn btn--dark", onClick: openDataSpaceAdvancedSearch, title: "Open advanced search for data space...", children: _jsx(SearchIcon, {}) }), queryBuilderState.advancedSearchState && (_jsx(DataSpaceAdvancedSearchModal, { searchState: queryBuilderState.advancedSearchState, onClose: () => queryBuilderState.hideAdvancedSearchPanel() }))] }))] }), Boolean(showExecutionContextOptions) && (_jsxs("div", { className: "query-builder__setup__config-group__item", children: [_jsx("label", { className: "btn--sm query-builder__setup__config-group__item__label", title: "execution context", htmlFor: "query-builder__setup__context-selector", children: "Context" }), _jsx(CustomSelectorInput, { inputId: "query-builder__setup__context-selector", className: "panel__content__form__section__dropdown query-builder__setup__config-group__item__selector", placeholder: "Choose an execution context...", options: executionContextOptions, disabled: executionContextOptions.length < 1 ||
|
|
132
137
|
(executionContextOptions.length === 1 &&
|
|
133
138
|
Boolean(selectedExecutionContextOption)), onChange: handleExecutionContextOptionChange, value: selectedExecutionContextOption, darkMode: !applicationStore.layoutService
|
|
134
|
-
.TEMPORARY__isLightColorThemeEnabled })] })), queryBuilderState.showRuntimeSelector && (_jsxs("div", { className: "query-builder__setup__config-group__item", children: [_jsx("label", { className: "btn--sm query-builder__setup__config-group__item__label", title: "runtime", htmlFor: "query-builder__setup__runtime-selector", children: "Runtime" }), _jsx(
|
|
139
|
+
.TEMPORARY__isLightColorThemeEnabled, formatOptionLabel: formatExecutionContextOptionLabel })] })), queryBuilderState.showRuntimeSelector && (_jsxs("div", { className: "query-builder__setup__config-group__item", children: [_jsx("label", { className: "btn--sm query-builder__setup__config-group__item__label", title: "runtime", htmlFor: "query-builder__setup__runtime-selector", children: "Runtime" }), injectedLakehouseRuntime ? (_jsx("div", { className: "query-builder__setup__config-group__item__selector", title: "Lakehouse runtime \u2014 configure via the settings menu", children: _jsx(CustomSelectorInput, { inputId: "query-builder__setup__runtime-selector", className: "panel__content__form__section__dropdown", options: selectedRuntimeOption ? [selectedRuntimeOption] : [], value: selectedRuntimeOption, onChange: () => { }, disabled: true, darkMode: !applicationStore.layoutService
|
|
140
|
+
.TEMPORARY__isLightColorThemeEnabled, formatOptionLabel: getRuntimeOptionFormatter({
|
|
141
|
+
darkMode: !applicationStore.layoutService
|
|
142
|
+
.TEMPORARY__isLightColorThemeEnabled,
|
|
143
|
+
}) }) })) : (_jsx(CustomSelectorInput, { inputId: "query-builder__setup__runtime-selector", className: "panel__content__form__section__dropdown query-builder__setup__config-group__item__selector", placeholder: "Choose a runtime...", noMatchMessage: "No compatible runtime found for specified execution context", options: runtimeOptions, onChange: changeRuntime, value: selectedRuntimeOption, darkMode: !applicationStore.layoutService
|
|
135
144
|
.TEMPORARY__isLightColorThemeEnabled, filterOption: runtimeFilterOption, formatOptionLabel: getRuntimeOptionFormatter({
|
|
136
145
|
darkMode: !applicationStore.layoutService
|
|
137
146
|
.TEMPORARY__isLightColorThemeEnabled,
|
|
138
|
-
}) })] })), _jsx("div", { className: "query-builder__setup__config-group__item", children: _jsx(QueryBuilderClassSelector, { queryBuilderState: queryBuilderState, classes: classes, onClassChange: queryBuilderState.onClassChange, noMatchMessage: "No compatible entity found for specified execution context" }) })] })
|
|
147
|
+
}) }))] })), _jsx("div", { className: "query-builder__setup__config-group__item", children: _jsx(QueryBuilderClassSelector, { queryBuilderState: queryBuilderState, classes: classes, onClassChange: queryBuilderState.onClassChange, noMatchMessage: "No compatible entity found for specified execution context" }) })] }), injectedLakehouseRuntime && (_jsx(LakehouseRuntimeConfigModal, { lakehouseRuntime: injectedLakehouseRuntime, open: isLakehouseConfigModalOpen, onClose: () => setIsLakehouseConfigModalOpen(false), darkMode: !applicationStore.layoutService
|
|
148
|
+
.TEMPORARY__isLightColorThemeEnabled }))] }));
|
|
139
149
|
});
|
|
140
150
|
export const renderLegendQueryDataSpaceQueryBuilderSetupPanelContent = (queryBuilderState) => (_jsx(LegendQueryDataSpaceQueryBuilderSetupPanelContent, { queryBuilderState: queryBuilderState }));
|
|
141
151
|
//# sourceMappingURL=LegendQueryDataSpaceQueryBuilder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LegendQueryDataSpaceQueryBuilder.js","sourceRoot":"","sources":["../../../src/components/data-space/LegendQueryDataSpaceQueryBuilder.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EACL,cAAc,EACd,SAAS,EACT,cAAc,EACd,sBAAsB,EACtB,YAAY,EACZ,mBAAmB,EACnB,WAAW,EACX,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,WAAW,EACX,qBAAqB,EACrB,kBAAkB,EAClB,UAAU,GACX,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,iCAAiC,EACjC,6BAA6B,GAC9B,MAAM,oDAAoD,CAAC;AAC5D,OAAO,EACL,2BAA2B,EAC3B,4BAA4B,
|
|
1
|
+
{"version":3,"file":"LegendQueryDataSpaceQueryBuilder.js","sourceRoot":"","sources":["../../../src/components/data-space/LegendQueryDataSpaceQueryBuilder.tsx"],"names":[],"mappings":"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"}
|
package/lib/index.css
CHANGED
package/lib/light-mode.css
CHANGED
package/lib/package.json
CHANGED
|
@@ -14,14 +14,14 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
import { type GeneratorFn, ActionState, StopWatch } from '@finos/legend-shared';
|
|
17
|
-
import { type LightQuery, type NativeModelExecutionContext, type RawLambda, type QueryGridConfig, type ValueSpecification, type GraphInitializationReport, PackageableRuntime, type QueryInfo, GraphManagerState, Query, QuerySearchSpecification, ModelAccessPointGroup, type DataProduct, V1_DataProductArtifact, DataProductAccessType, type DataProductAnalysisQueryResult, LakehouseAccessPoint } from '@finos/legend-graph';
|
|
17
|
+
import { type LightQuery, type NativeModelExecutionContext, type RawLambda, type QueryGridConfig, type ValueSpecification, type GraphInitializationReport, PackageableRuntime, type QueryInfo, GraphManagerState, Query, Mapping, QuerySearchSpecification, ModelAccessPointGroup, type DataProduct, V1_DataProductArtifact, DataProductAccessType, type DataProductAnalysisQueryResult, LakehouseAccessPoint } from '@finos/legend-graph';
|
|
18
18
|
import { type ProjectGAVCoordinates, type DepotEntityWithOrigin } 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
23
|
import { type ResolvedDataSpaceEntityWithOrigin } from '@finos/legend-extension-dsl-data-space/application';
|
|
24
|
-
import { type DataSpaceAnalysisResult } from '@finos/legend-extension-dsl-data-space/graph';
|
|
24
|
+
import { type DataSpace, type DataSpaceExecutionContext, type DataSpaceAnalysisResult } from '@finos/legend-extension-dsl-data-space/graph';
|
|
25
25
|
import { LegendQueryDataProductQueryBuilderState } from './data-product/query-builder/LegendQueryDataProductQueryBuilderState.js';
|
|
26
26
|
import { DataProductSelectorState } from './data-space/DataProductSelectorState.js';
|
|
27
27
|
import { LakehouseContractServerClient } from '@finos/legend-server-lakehouse';
|
|
@@ -118,20 +118,17 @@ export declare abstract class QueryEditorStore {
|
|
|
118
118
|
* (by `key`). Throws if no matching state is found.
|
|
119
119
|
*/
|
|
120
120
|
resolveDataProductExecutionState(dataProduct: DataProduct, accessId: string | undefined): NativeModelExecutionContext | ModelAccessPointGroup | LakehouseAccessPoint;
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
* Resolution order:
|
|
126
|
-
* 1. Check local storage (`LakehouseUserInfo`) for a previously persisted value.
|
|
127
|
-
* 2. If not found, fetch from the lakehouse contract server via
|
|
128
|
-
* `getUserEntitlementEnvs()` and persist the result to local storage.
|
|
129
|
-
*/
|
|
121
|
+
resolveLakehouseEnvAndWarehouse(isSnapshot: boolean): Promise<{
|
|
122
|
+
env: string;
|
|
123
|
+
warehouse: string;
|
|
124
|
+
}>;
|
|
130
125
|
createLakehousePackageableRuntime(dataProductPath: string, gav: {
|
|
131
126
|
groupId: string;
|
|
132
127
|
artifactId: string;
|
|
133
128
|
versionId: string;
|
|
134
129
|
}): Promise<PackageableRuntime>;
|
|
130
|
+
createOrGetDataSpaceLakehouseFallbackRuntime(isSnapshot: boolean): Promise<PackageableRuntime>;
|
|
131
|
+
attachDataSpaceFallbackRuntimes(dataSpace: DataSpace, dataSpaceAnalysisResult: DataSpaceAnalysisResult | undefined, isSnapshot: boolean): Promise<void>;
|
|
135
132
|
/**
|
|
136
133
|
* Centralized method to build a data product query builder state.
|
|
137
134
|
* Used by both the creator flow (new query from data product route/picker)
|
|
@@ -195,6 +192,12 @@ export declare class ExistingQueryUpdateState {
|
|
|
195
192
|
updateQuery(queryName: string | undefined, queryVersionId: string | undefined, queryDescription?: string | undefined): GeneratorFn<void>;
|
|
196
193
|
updateQueryVersionId(queryId: string, queryVersionId: string): GeneratorFn<void>;
|
|
197
194
|
}
|
|
195
|
+
/**
|
|
196
|
+
* Manages the query's version history: fetching the list of revisions and
|
|
197
|
+
* navigating to a chosen revision. A revision is keyed by its `version`
|
|
198
|
+
* identifier, which is passed as the `revisionId` route param.
|
|
199
|
+
*/
|
|
200
|
+
export declare const resolveExecutionContext: (dataSpace: DataSpace, ex: string | undefined, queryMapping: Mapping | undefined, queryRuntime: PackageableRuntime | undefined) => DataSpaceExecutionContext | undefined;
|
|
198
201
|
export declare class ExistingQueryEditorStore extends QueryEditorStore {
|
|
199
202
|
private queryId;
|
|
200
203
|
readonly revisionId: string | 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,2BAA2B,EAChC,KAAK,SAAS,EAGd,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,EAC9B,kBAAkB,
|
|
1
|
+
{"version":3,"file":"QueryEditorStore.d.ts","sourceRoot":"","sources":["../../src/stores/QueryEditorStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,7 @@
|
|
|
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 { PackageableRuntime, GraphManagerState, Query, PureExecution, PackageableElementExplicitReference, RuntimePointer, GRAPH_MANAGER_EVENT, extractElementNameFromPath, Mapping, createGraphBuilderReport, LegendSDLC, QuerySearchSpecification, toLightQuery, QueryParameterValue, reportGraphAnalytics, cloneQueryStereotype, cloneQueryTaggedValue, QueryProjectCoordinates, CORE_PURE_PATH, isValidFullPath, QUERY_PROFILE_PATH, QueryDataSpaceExecutionContextInfo, QueryExplicitExecutionContextInfo, QueryDataProductNativeExecutionContextInfo, QueryDataProductModelAccessExecutionContextInfo, QueryDataProductLakehouseExecutionContextInfo, QueryIngestExecutionContextInfo, ModelAccessPointGroup, IngestDefinition, LakehouseRuntime, V1_DATA_PRODUCT_ELEMENT_PROTOCOL_TYPE, V1_DataProductArtifact, V1_ModelAccessPointGroupInfo, DataProductAccessType, LakehouseAccessPoint, } from '@finos/legend-graph';
|
|
18
|
+
import { PackageableRuntime, createPath, GraphManagerState, Query, PureExecution, PackageableElementExplicitReference, RuntimePointer, GRAPH_MANAGER_EVENT, extractElementNameFromPath, Mapping, createGraphBuilderReport, LegendSDLC, QuerySearchSpecification, toLightQuery, QueryParameterValue, reportGraphAnalytics, cloneQueryStereotype, cloneQueryTaggedValue, QueryProjectCoordinates, CORE_PURE_PATH, INTERNAL_ELEMENT_PATH, isValidFullPath, QUERY_PROFILE_PATH, QueryDataSpaceExecutionContextInfo, QueryExplicitExecutionContextInfo, QueryDataProductNativeExecutionContextInfo, QueryDataProductModelAccessExecutionContextInfo, QueryDataProductLakehouseExecutionContextInfo, QueryIngestExecutionContextInfo, ModelAccessPointGroup, IngestDefinition, LakehouseRuntime, V1_DATA_PRODUCT_ELEMENT_PROTOCOL_TYPE, V1_DataProductArtifact, V1_ModelAccessPointGroupInfo, DataProductAccessType, LakehouseAccessPoint, } 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, StoredFileGeneration, } from '@finos/legend-storage';
|
|
@@ -26,7 +26,7 @@ import { ClassQueryBuilderState, MappingQueryBuilderState, ServiceQueryBuilderSt
|
|
|
26
26
|
import { LegendQueryUserDataHelper } from '../__lib__/LegendQueryUserDataHelper.js';
|
|
27
27
|
import { LegendQueryTelemetryHelper } from '../__lib__/LegendQueryTelemetryHelper.js';
|
|
28
28
|
import {} from '@finos/legend-extension-dsl-data-space/application';
|
|
29
|
-
import { DSL_DataSpace_getGraphManagerExtension, getOwnDataSpace, QUERY_PROFILE_TAG_DATA_SPACE, retrieveAnalyticsResultCache, retrieveDataspaceArtifactsCache, } from '@finos/legend-extension-dsl-data-space/graph';
|
|
29
|
+
import { DSL_DataSpace_getGraphManagerExtension, getOwnDataSpace, QUERY_PROFILE_TAG_DATA_SPACE, resolveExecutionContextMapping, 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 { LegendQueryDataSpaceQueryBuilderState } from './data-space/query-builder/LegendQueryDataSpaceQueryBuilderState.js';
|
|
@@ -428,7 +428,7 @@ export class QueryEditorStore {
|
|
|
428
428
|
if (this.enableMinialGraphForDataSpaceLoadingPerformance &&
|
|
429
429
|
supportBuildMinimalGraph) {
|
|
430
430
|
try {
|
|
431
|
-
this.initState.setMessage('Fetching data
|
|
431
|
+
this.initState.setMessage('Fetching data space analysis result...');
|
|
432
432
|
const project = StoreProjectData.serialization.fromJson(await this.depotServerClient.getProject(groupId, artifactId));
|
|
433
433
|
const graph_buildReport = createGraphBuilderReport();
|
|
434
434
|
const stopWatch = new StopWatch();
|
|
@@ -599,28 +599,16 @@ export class QueryEditorStore {
|
|
|
599
599
|
}
|
|
600
600
|
return guaranteeNonNullable(modelGroups[0] ?? nativeAccess?.defaultExecutionContext, `Can't resolve execution state for data product '${dataProduct.path}'${accessId ? ` with access ID '${accessId}'` : ''}. Data product must have model access point groups or native model access.`);
|
|
601
601
|
}
|
|
602
|
-
|
|
603
|
-
* Resolves the user's lakehouse environment and warehouse, creates a
|
|
604
|
-
* `LakehouseRuntime`, and wraps it in a `PackageableRuntime`.
|
|
605
|
-
*
|
|
606
|
-
* Resolution order:
|
|
607
|
-
* 1. Check local storage (`LakehouseUserInfo`) for a previously persisted value.
|
|
608
|
-
* 2. If not found, fetch from the lakehouse contract server via
|
|
609
|
-
* `getUserEntitlementEnvs()` and persist the result to local storage.
|
|
610
|
-
*/
|
|
611
|
-
async createLakehousePackageableRuntime(dataProductPath, gav) {
|
|
612
|
-
// 1. Check local storage for persisted lakehouse user info
|
|
602
|
+
async resolveLakehouseEnvAndWarehouse(isSnapshot) {
|
|
613
603
|
const persistedInfo = LegendQueryUserDataHelper.getLakehouseUserInfo(this.applicationStore.userDataService);
|
|
614
604
|
let userEnvironment = persistedInfo?.env;
|
|
615
605
|
const userWarehouse = persistedInfo?.snowflakeWarehouse ?? 'LAKEHOUSE_CONSUMER_DEFAULT_WH';
|
|
616
|
-
// 2. If no persisted environment, fetch from the server
|
|
617
606
|
if (userEnvironment === undefined && this.lakehouseState) {
|
|
618
607
|
try {
|
|
619
608
|
const entitlementEnvs = await this.lakehouseState.contractServerClient.getUserEntitlementEnvs(this.applicationStore.identityService.currentUser, this.applicationStore.getAccessToken());
|
|
620
609
|
userEnvironment = entitlementEnvs.users
|
|
621
610
|
.map((e) => e.lakehouseEnvironment)
|
|
622
611
|
.at(0);
|
|
623
|
-
// Persist to local storage for future use
|
|
624
612
|
LegendQueryUserDataHelper.persistLakehouseUserInfo(this.applicationStore.userDataService, {
|
|
625
613
|
env: userEnvironment,
|
|
626
614
|
snowflakeWarehouse: userWarehouse,
|
|
@@ -632,18 +620,51 @@ export class QueryEditorStore {
|
|
|
632
620
|
}
|
|
633
621
|
}
|
|
634
622
|
if (userEnvironment === undefined) {
|
|
635
|
-
throw new Error(`
|
|
636
|
-
`Please ensure your lakehouse entitlements are configured.`);
|
|
623
|
+
throw new Error(`Unable to resolve lakehouse user environment. Please ensure your lakehouse entitlements are configured.`);
|
|
637
624
|
}
|
|
638
|
-
if (
|
|
639
|
-
gav.versionId === SNAPSHOT_VERSION_ALIAS) {
|
|
625
|
+
if (isSnapshot) {
|
|
640
626
|
userEnvironment = decorateEnvWithRealm(userEnvironment, LakehouseEnvironmentType.PRODUCTION_PARALLEL);
|
|
641
627
|
}
|
|
642
|
-
|
|
628
|
+
return { env: userEnvironment, warehouse: userWarehouse };
|
|
629
|
+
}
|
|
630
|
+
async createLakehousePackageableRuntime(dataProductPath, gav) {
|
|
631
|
+
const isSnapshot = isSnapshotVersion(gav.versionId) ||
|
|
632
|
+
gav.versionId === SNAPSHOT_VERSION_ALIAS;
|
|
633
|
+
const { env, warehouse } = await this.resolveLakehouseEnvAndWarehouse(isSnapshot);
|
|
643
634
|
const packageableRuntime = new PackageableRuntime(`${dataProductPath}_LakehouseRuntime`);
|
|
644
|
-
packageableRuntime.runtimeValue =
|
|
635
|
+
packageableRuntime.runtimeValue = new LakehouseRuntime(env, warehouse);
|
|
645
636
|
return packageableRuntime;
|
|
646
637
|
}
|
|
638
|
+
async createOrGetDataSpaceLakehouseFallbackRuntime(isSnapshot) {
|
|
639
|
+
const runtimePath = createPath(INTERNAL_ELEMENT_PATH, 'LakehouseRuntime');
|
|
640
|
+
const existing = this.graphManagerState.graph.getNullableRuntime(runtimePath);
|
|
641
|
+
if (existing) {
|
|
642
|
+
return existing;
|
|
643
|
+
}
|
|
644
|
+
const { env, warehouse } = await this.resolveLakehouseEnvAndWarehouse(isSnapshot);
|
|
645
|
+
const created = new PackageableRuntime('LakehouseRuntime');
|
|
646
|
+
created.runtimeValue = new LakehouseRuntime(env, warehouse);
|
|
647
|
+
this.graphManagerState.graph.addElement(created, INTERNAL_ELEMENT_PATH);
|
|
648
|
+
return created;
|
|
649
|
+
}
|
|
650
|
+
async attachDataSpaceFallbackRuntimes(dataSpace, dataSpaceAnalysisResult, isSnapshot) {
|
|
651
|
+
const contexts = dataSpace.executionContexts ?? [];
|
|
652
|
+
let sharedRuntime;
|
|
653
|
+
for (const context of contexts) {
|
|
654
|
+
const analyticsContext = dataSpaceAnalysisResult?.executionContextsIndex.get(context.name);
|
|
655
|
+
if (context.mappingProvider === undefined ||
|
|
656
|
+
context.defaultRuntime !== undefined ||
|
|
657
|
+
(analyticsContext?.compatibleRuntimes.length ?? 0) !== 0) {
|
|
658
|
+
continue;
|
|
659
|
+
}
|
|
660
|
+
if (!sharedRuntime) {
|
|
661
|
+
sharedRuntime =
|
|
662
|
+
await this.createOrGetDataSpaceLakehouseFallbackRuntime(isSnapshot);
|
|
663
|
+
}
|
|
664
|
+
context.defaultRuntime =
|
|
665
|
+
PackageableElementExplicitReference.create(sharedRuntime);
|
|
666
|
+
}
|
|
667
|
+
}
|
|
647
668
|
/**
|
|
648
669
|
* Centralized method to build a data product query builder state.
|
|
649
670
|
* Used by both the creator flow (new query from data product route/picker)
|
|
@@ -671,7 +692,7 @@ export class QueryEditorStore {
|
|
|
671
692
|
artifactId,
|
|
672
693
|
versionId,
|
|
673
694
|
});
|
|
674
|
-
this.graphManagerState.graph.addElement(packageableRuntime,
|
|
695
|
+
this.graphManagerState.graph.addElement(packageableRuntime, INTERNAL_ELEMENT_PATH);
|
|
675
696
|
}
|
|
676
697
|
// 6. Create query builder state
|
|
677
698
|
const projectInfo = { groupId, artifactId, versionId };
|
|
@@ -1008,23 +1029,23 @@ export class ExistingQueryUpdateState {
|
|
|
1008
1029
|
* navigating to a chosen revision. A revision is keyed by its `version`
|
|
1009
1030
|
* identifier, which is passed as the `revisionId` route param.
|
|
1010
1031
|
*/
|
|
1011
|
-
const resolveExecutionContext = (dataSpace, ex, queryMapping, queryRuntime) => {
|
|
1032
|
+
export const resolveExecutionContext = (dataSpace, ex, queryMapping, queryRuntime) => {
|
|
1012
1033
|
const executionContexts = dataSpace.executionContexts ?? [];
|
|
1013
1034
|
if (ex) {
|
|
1014
1035
|
return executionContexts.find((ec) => ec.name === ex);
|
|
1015
1036
|
}
|
|
1016
1037
|
const defaultExecutionContext = dataSpace.defaultExecutionContext;
|
|
1017
1038
|
if (!defaultExecutionContext) {
|
|
1018
|
-
return
|
|
1039
|
+
return executionContexts[0];
|
|
1019
1040
|
}
|
|
1020
1041
|
if (queryMapping && queryRuntime) {
|
|
1021
|
-
const defaultExecutionContextMapping = defaultExecutionContext
|
|
1042
|
+
const defaultExecutionContextMapping = resolveExecutionContextMapping(defaultExecutionContext);
|
|
1022
1043
|
const defaultExecutionContextRuntime = defaultExecutionContext.defaultRuntime;
|
|
1023
1044
|
if (defaultExecutionContextMapping &&
|
|
1024
1045
|
defaultExecutionContextRuntime &&
|
|
1025
|
-
defaultExecutionContextMapping
|
|
1046
|
+
defaultExecutionContextMapping !== queryMapping &&
|
|
1026
1047
|
defaultExecutionContextRuntime.value.path !== queryRuntime.path) {
|
|
1027
|
-
const matchingExecContexts = executionContexts.filter((ec) => ec
|
|
1048
|
+
const matchingExecContexts = executionContexts.filter((ec) => resolveExecutionContextMapping(ec) === queryMapping);
|
|
1028
1049
|
if (matchingExecContexts.length > 1) {
|
|
1029
1050
|
const matchRuntime = matchingExecContexts.find((exec) => exec.defaultRuntime?.value.path === queryRuntime.path);
|
|
1030
1051
|
return matchRuntime ?? matchingExecContexts[0];
|
|
@@ -1175,6 +1196,8 @@ export class ExistingQueryEditorStore extends QueryEditorStore {
|
|
|
1175
1196
|
if (exec instanceof QueryDataSpaceExecutionContextInfo) {
|
|
1176
1197
|
const { dataSpaceAnalysisResult, isLightGraphEnabled } = await this.buildGraphAndDataspaceAnalyticsResult(queryInfo.groupId, queryInfo.artifactId, queryInfo.versionId, exec.executionKey, exec.dataSpacePath);
|
|
1177
1198
|
const dataSpace = getOwnDataSpace(exec.dataSpacePath, this.graphManagerState.graph);
|
|
1199
|
+
await this.attachDataSpaceFallbackRuntimes(dataSpace, dataSpaceAnalysisResult, isSnapshotVersion(queryInfo.versionId) ||
|
|
1200
|
+
queryInfo.versionId === SNAPSHOT_VERSION_ALIAS);
|
|
1178
1201
|
const mapping = queryInfo.mapping
|
|
1179
1202
|
? this.graphManagerState.graph.getMapping(queryInfo.mapping)
|
|
1180
1203
|
: undefined;
|
|
@@ -1244,19 +1267,29 @@ export class ExistingQueryEditorStore extends QueryEditorStore {
|
|
|
1244
1267
|
}, new DataProductSelectorState(this.depotServerClient, this.applicationStore), () => {
|
|
1245
1268
|
this.applicationStore.notificationService.notifyWarning('Switching data products is not supported from the existing query editor. Please open a new query instead.');
|
|
1246
1269
|
}, dataSpaceAnalysisResult, undefined, undefined, undefined, this.applicationStore.config.options.queryBuilderConfig, sourceInfo);
|
|
1247
|
-
const matchingExecutionContextMapping =
|
|
1248
|
-
|
|
1249
|
-
|
|
1270
|
+
const matchingExecutionContextMapping = resolveExecutionContextMapping(matchingExecutionContext);
|
|
1271
|
+
if (matchingExecutionContext.mappingProvider &&
|
|
1272
|
+
!matchingExecutionContextMapping) {
|
|
1273
|
+
throw new Error(`Execution context '${matchingExecutionContext.name}' in data space '${dataSpace.path}' sources its mapping from a data product access point group that does not exist.`);
|
|
1274
|
+
}
|
|
1275
|
+
const mappingModelCoverageAnalysisResult = matchingExecutionContextMapping
|
|
1276
|
+
? dataSpaceAnalysisResult?.mappingToMappingCoverageResult?.get(matchingExecutionContextMapping.path)
|
|
1277
|
+
: undefined;
|
|
1250
1278
|
if (mappingModelCoverageAnalysisResult) {
|
|
1251
1279
|
dataSpaceQueryBuilderState.explorerState.mappingModelCoverageAnalysisResult =
|
|
1252
1280
|
mappingModelCoverageAnalysisResult;
|
|
1253
1281
|
}
|
|
1254
|
-
|
|
1255
|
-
|
|
1282
|
+
if (matchingExecutionContextMapping) {
|
|
1283
|
+
dataSpaceQueryBuilderState.executionContextState.setMapping(matchingExecutionContextMapping);
|
|
1284
|
+
}
|
|
1285
|
+
const matchingExecutionContextRuntime = matchingExecutionContext.defaultRuntime
|
|
1286
|
+
? new RuntimePointer(matchingExecutionContext.defaultRuntime)
|
|
1287
|
+
: undefined;
|
|
1288
|
+
dataSpaceQueryBuilderState.executionContextState.setRuntimeValue(matchingExecutionContextRuntime);
|
|
1256
1289
|
return dataSpaceQueryBuilderState;
|
|
1257
1290
|
}
|
|
1258
1291
|
else {
|
|
1259
|
-
throw new
|
|
1292
|
+
throw new Error(`Execution context '${exec.executionKey}' does not exist in data space '${dataSpace.path}'.`);
|
|
1260
1293
|
}
|
|
1261
1294
|
}
|
|
1262
1295
|
else if (exec instanceof QueryExplicitExecutionContextInfo) {
|
|
@@ -1307,7 +1340,7 @@ export class ExistingQueryEditorStore extends QueryEditorStore {
|
|
|
1307
1340
|
const ingestDefinition = guaranteeType(this.graphManagerState.graph.getElement(exec.ingestDefinitionPath), IngestDefinition, `Can't find ingest definition '${exec.ingestDefinitionPath}'`);
|
|
1308
1341
|
const projectInfo = this.getProjectInfo();
|
|
1309
1342
|
const adhocRuntime = await this.createLakehousePackageableRuntime(exec.ingestDefinitionPath, projectInfo);
|
|
1310
|
-
this.graphManagerState.graph.addElement(adhocRuntime,
|
|
1343
|
+
this.graphManagerState.graph.addElement(adhocRuntime, INTERNAL_ELEMENT_PATH);
|
|
1311
1344
|
// Tracked separately from the closure on `ingestQueryBuilderState` so
|
|
1312
1345
|
// the swap callback can capture it directly without forming a self-
|
|
1313
1346
|
// reference (which trips the `no-unsafe-assignment` rule).
|