@finos/legend-extension-dsl-data-space-studio 0.1.273 → 0.1.274
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/DataSpaceEditor.d.ts.map +1 -1
- package/lib/components/DataSpaceEditor.js +1 -5
- package/lib/components/DataSpaceEditor.js.map +1 -1
- package/lib/index.css +1 -1
- package/lib/package.json +1 -1
- package/lib/stores/DataSpaceEditorState.d.ts.map +1 -1
- package/lib/stores/DataSpaceEditorState.js +7 -7
- package/lib/stores/DataSpaceEditorState.js.map +1 -1
- package/lib/stores/DataSpaceToDataProductConverter.d.ts +5 -3
- package/lib/stores/DataSpaceToDataProductConverter.d.ts.map +1 -1
- package/lib/stores/DataSpaceToDataProductConverter.js +67 -41
- package/lib/stores/DataSpaceToDataProductConverter.js.map +1 -1
- package/package.json +8 -8
- package/src/components/DataSpaceEditor.tsx +0 -6
- package/src/stores/DataSpaceEditorState.ts +8 -11
- package/src/stores/DataSpaceToDataProductConverter.ts +84 -82
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataSpaceEditor.d.ts","sourceRoot":"","sources":["../../src/components/DataSpaceEditor.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
|
1
|
+
{"version":3,"file":"DataSpaceEditor.d.ts","sourceRoot":"","sources":["../../src/components/DataSpaceEditor.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAoBH,eAAO,MAAM,eAAe;;CA+E1B,CAAC"}
|
|
@@ -22,7 +22,6 @@ import { DataSpaceGeneralEditor } from './DataSpaceGeneralEditor/DataSpaceGenera
|
|
|
22
22
|
import { DataSpacePreviewState } from '../stores/DataSpacePreviewState.js';
|
|
23
23
|
import { flowResult } from 'mobx';
|
|
24
24
|
import { isStubbed_PackageableElement } from '@finos/legend-graph';
|
|
25
|
-
import { dataSpaceContainsOneMapping } from '../stores/DataSpaceToDataProductConverter.js';
|
|
26
25
|
export const DataSpaceEditor = observer(() => {
|
|
27
26
|
const editorStore = useEditorStore();
|
|
28
27
|
const dataSpaceState = editorStore.tabManagerState.getCurrentEditorState(DataSpaceEditorState);
|
|
@@ -42,9 +41,6 @@ export const DataSpaceEditor = observer(() => {
|
|
|
42
41
|
const convertDataSpace = () => {
|
|
43
42
|
flowResult(onConvertDataSpaceToDataProduct(dataSpace, editorStore, dataSpaceState)).catch(editorStore.applicationStore.alertUnhandledError);
|
|
44
43
|
};
|
|
45
|
-
|
|
46
|
-
return dataSpaceContainsOneMapping(dataSpace);
|
|
47
|
-
};
|
|
48
|
-
return (_jsxs(Panel, { className: "dataSpace-editor", children: [_jsx(PanelHeader, { title: "Data Product", titleContent: dataSpaceState.dataSpace.name, darkMode: true, isReadOnly: dataSpaceState.isReadOnly }), _jsx(PanelHeader, { title: "General", darkMode: true, children: _jsxs("div", { className: "panel__header__actions", children: [_jsx("div", { className: "btn__dropdown-combo btn__dropdown-combo--primary", children: _jsxs("button", { className: "btn__dropdown-combo__label", onClick: convertDataSpace, title: "Convert Data Product", tabIndex: -1, disabled: !canConvertDataSpace, children: [_jsx(EnvelopeIcon, { className: "btn__dropdown-combo__label__icon" }), _jsx("div", { className: "btn__dropdown-combo__label__title", children: "Convert" })] }) }), _jsx("div", { className: "btn__dropdown-combo btn__dropdown-combo--primary", children: _jsxs("button", { className: "btn__dropdown-combo__label", onClick: previewDataSpace, title: "Preview Data Product", tabIndex: -1, disabled: !validPreviewState(), children: [_jsx(EyeIcon, { className: "btn__dropdown-combo__label__icon" }), _jsx("div", { className: "btn__dropdown-combo__label__title", children: "Preview" })] }) })] }) }), _jsx(PanelContent, { children: _jsx(DataSpaceGeneralEditor, {}) })] }));
|
|
44
|
+
return (_jsxs(Panel, { className: "dataSpace-editor", children: [_jsx(PanelHeader, { title: "Data Product", titleContent: dataSpaceState.dataSpace.name, darkMode: true, isReadOnly: dataSpaceState.isReadOnly }), _jsx(PanelHeader, { title: "General", darkMode: true, children: _jsxs("div", { className: "panel__header__actions", children: [_jsx("div", { className: "btn__dropdown-combo btn__dropdown-combo--primary", children: _jsxs("button", { className: "btn__dropdown-combo__label", onClick: convertDataSpace, title: "Convert Data Product", tabIndex: -1, children: [_jsx(EnvelopeIcon, { className: "btn__dropdown-combo__label__icon" }), _jsx("div", { className: "btn__dropdown-combo__label__title", children: "Convert" })] }) }), _jsx("div", { className: "btn__dropdown-combo btn__dropdown-combo--primary", children: _jsxs("button", { className: "btn__dropdown-combo__label", onClick: previewDataSpace, title: "Preview Data Product", tabIndex: -1, disabled: !validPreviewState(), children: [_jsx(EyeIcon, { className: "btn__dropdown-combo__label__icon" }), _jsx("div", { className: "btn__dropdown-combo__label__title", children: "Preview" })] }) })] }) }), _jsx(PanelContent, { children: _jsx(DataSpaceGeneralEditor, {}) })] }));
|
|
49
45
|
});
|
|
50
46
|
//# sourceMappingURL=DataSpaceEditor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataSpaceEditor.js","sourceRoot":"","sources":["../../src/components/DataSpaceEditor.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EACL,OAAO,EACP,YAAY,EACZ,KAAK,EACL,YAAY,EACZ,WAAW,GACZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,oBAAoB,EACpB,+BAA+B,GAChC,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,oDAAoD,CAAC;AAC5F,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAClC,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"DataSpaceEditor.js","sourceRoot":"","sources":["../../src/components/DataSpaceEditor.tsx"],"names":[],"mappings":"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"}
|
package/lib/index.css
CHANGED
package/lib/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataSpaceEditorState.d.ts","sourceRoot":"","sources":["../../src/stores/DataSpaceEditorState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAUH,OAAO,EACL,KAAK,WAAW,EAEhB,kBAAkB,EACnB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAEL,KAAK,kBAAkB,EAQxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,2CAA2C,CAAC;AACpE,OAAO,EACL,SAAS,EAET,KAAK,gBAAgB,EACtB,MAAM,8CAA8C,CAAC;AAMtD,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AAGrF,eAAO,MAAM,+BAA+B,
|
|
1
|
+
{"version":3,"file":"DataSpaceEditorState.d.ts","sourceRoot":"","sources":["../../src/stores/DataSpaceEditorState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAUH,OAAO,EACL,KAAK,WAAW,EAEhB,kBAAkB,EACnB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAEL,KAAK,kBAAkB,EAQxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,2CAA2C,CAAC;AACpE,OAAO,EACL,SAAS,EAET,KAAK,gBAAgB,EACtB,MAAM,8CAA8C,CAAC;AAMtD,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AAGrF,eAAO,MAAM,+BAA+B,0JA2C1C,CAAC;AAEH,qBAAa,oBAAqB,SAAQ,kBAAkB;IAC1D,qBAAqB,EAAE,8BAA8B,CAAC;gBAE1C,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,kBAAkB;IAgBjE,uBAAuB,CACrB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,IAAI,gBAAgB;IAS9B,0BAA0B,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,gBAAgB,CAAA;KAAE,EAAE;IAc1E,6BAA6B,IAAI;QAC/B,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,kBAAkB,CAAC;KAC3B,EAAE;IAuBH,iBAAiB,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,EAAE;IAcxD,IAAI,SAAS,IAAI,SAAS,CAMzB;IAEQ,SAAS,CAChB,UAAU,EAAE,kBAAkB,EAC9B,WAAW,EAAE,WAAW,GACvB,kBAAkB;CAItB"}
|
|
@@ -23,18 +23,18 @@ import { DataSpaceExecutionContextState } from './DataSpaceExecutionContextState
|
|
|
23
23
|
import { convertDataSpaceToDataProduct } from '../stores/DataSpaceToDataProductConverter.js';
|
|
24
24
|
export const onConvertDataSpaceToDataProduct = flow(function* (dataSpace, editorStore, dataSpaceEditorState) {
|
|
25
25
|
try {
|
|
26
|
-
const dataProduct = convertDataSpaceToDataProduct(dataSpace
|
|
27
|
-
editorStore.graphManagerState.graph.addElement(dataProduct, dataSpace.package?.path.replace(/dataspace/, 'dataproduct'));
|
|
28
|
-
const addedElement = editorStore.graphManagerState.graph.getNullableElement(dataProduct.path);
|
|
29
|
-
if (addedElement) {
|
|
30
|
-
observe_DataProduct(addedElement);
|
|
31
|
-
}
|
|
32
|
-
const dataProductEditorState = new DataProductEditorState(editorStore, addedElement);
|
|
26
|
+
const dataProduct = convertDataSpaceToDataProduct(dataSpace);
|
|
33
27
|
editorStore.graphManagerState.graph.deleteElement(dataSpace);
|
|
28
|
+
editorStore.graphManagerState.graph.addElement(dataProduct, dataSpace.package?.path.replace(/dataspace/, 'dataProduct'));
|
|
34
29
|
const dataSpacePackage = dataSpace.package;
|
|
35
30
|
if (dataSpacePackage && dataSpacePackage.children.length === 0) {
|
|
36
31
|
editorStore.graphManagerState.graph.deleteElement(dataSpacePackage);
|
|
37
32
|
}
|
|
33
|
+
const addedElement = editorStore.graphManagerState.graph.getNullableElement(dataProduct.path);
|
|
34
|
+
if (addedElement) {
|
|
35
|
+
observe_DataProduct(addedElement);
|
|
36
|
+
}
|
|
37
|
+
const dataProductEditorState = new DataProductEditorState(editorStore, addedElement);
|
|
38
38
|
editorStore.tabManagerState.closeTab(dataSpaceEditorState);
|
|
39
39
|
editorStore.tabManagerState.openTab(dataProductEditorState);
|
|
40
40
|
yield flowResult(editorStore.explorerTreeState.build());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataSpaceEditorState.js","sourceRoot":"","sources":["../../src/stores/DataSpaceEditorState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,UAAU,EACV,cAAc,EACd,UAAU,GACX,MAAM,MAAM,CAAC;AACd,OAAO,EAEL,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAGL,OAAO,EACP,KAAK,EACL,WAAW,EACX,WAAW,EACX,OAAO,EACP,0BAA0B,EAC1B,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,2CAA2C,CAAC;AACpE,OAAO,EACL,SAAS,EACT,qCAAqC,GAEtC,MAAM,8CAA8C,CAAC;AACtD,OAAO,EACL,iBAAiB,EACjB,aAAa,GAEd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AACrF,OAAO,EAAE,6BAA6B,EAAE,MAAM,8CAA8C,CAAC;AAE7F,MAAM,CAAC,MAAM,+BAA+B,GAAG,IAAI,CAAC,QAAQ,CAAC,EAC3D,SAAoB,EACpB,WAAwB,EACxB,oBAA0C;IAE1C,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,6BAA6B,
|
|
1
|
+
{"version":3,"file":"DataSpaceEditorState.js","sourceRoot":"","sources":["../../src/stores/DataSpaceEditorState.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,13 +14,15 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
import { type DataSpace } from '@finos/legend-extension-dsl-data-space/graph';
|
|
17
|
-
import {
|
|
17
|
+
import { DataProduct } from '@finos/legend-graph';
|
|
18
18
|
export declare enum DATA_PRODUCT_SUPPORT_TYPE {
|
|
19
19
|
DOCUMENTATION = "Documentation",
|
|
20
20
|
SUPPORT = "Support",
|
|
21
21
|
WEBSITE = "Website",
|
|
22
22
|
FAQ = "FAQ"
|
|
23
23
|
}
|
|
24
|
-
export declare const
|
|
25
|
-
export declare const
|
|
24
|
+
export declare const DATA_PRODUCT_DEFAULT_TITLE = "DataProduct Auto Generated title: Please update";
|
|
25
|
+
export declare const DATA_PRODUCT_DEFAULT_DESCRIPTION_PREFIX = "Migrated using studio converter from dataspace: ";
|
|
26
|
+
export declare const DATA_PRODUCT_NATIVE_MODEL_ACCESS_SAMPLE_QUERY_ID_PREFIX = "DATA_PRODUCT_NATIVE_MODEL_ACCESS_SAMPLE_QUERY_ID";
|
|
27
|
+
export declare const convertDataSpaceToDataProduct: (dataSpace: DataSpace) => DataProduct;
|
|
26
28
|
//# sourceMappingURL=DataSpaceToDataProductConverter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataSpaceToDataProductConverter.d.ts","sourceRoot":"","sources":["../../src/stores/DataSpaceToDataProductConverter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,KAAK,SAAS,
|
|
1
|
+
{"version":3,"file":"DataSpaceToDataProductConverter.d.ts","sourceRoot":"","sources":["../../src/stores/DataSpaceToDataProductConverter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,KAAK,SAAS,EAKf,MAAM,8CAA8C,CAAC;AACtD,OAAO,EACL,WAAW,EAaZ,MAAM,qBAAqB,CAAC;AAG7B,oBAAY,yBAAyB;IACnC,aAAa,kBAAkB;IAC/B,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,GAAG,QAAQ;CACZ;AAED,eAAO,MAAM,0BAA0B,oDACY,CAAC;AACpD,eAAO,MAAM,uCAAuC,qDACA,CAAC;AACrD,eAAO,MAAM,uDAAuD,qDAChB,CAAC;AA0JrD,eAAO,MAAM,6BAA6B,GACxC,WAAW,SAAS,KACnB,WAgBF,CAAC"}
|
|
@@ -13,9 +13,9 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import { DataSpaceSupportEmail, DataSpaceSupportCombinedInfo,
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
16
|
+
import { DataSpaceSupportEmail, DataSpaceSupportCombinedInfo, DataSpacePackageableElementExecutable, DataSpaceExecutableTemplate, } from '@finos/legend-extension-dsl-data-space/graph';
|
|
17
|
+
import { DataProduct, InternalDataProductType, DataProductDiagram, DataProductElementScope, SupportInfo, DataProductLink, Email, observe_DataProduct, InLineSampleQuery, NativeModelAccess, NativeModelExecutionContext, PackageableElementSampleQuery, } from '@finos/legend-graph';
|
|
18
|
+
import { UnsupportedOperationError } from '@finos/legend-shared';
|
|
19
19
|
export var DATA_PRODUCT_SUPPORT_TYPE;
|
|
20
20
|
(function (DATA_PRODUCT_SUPPORT_TYPE) {
|
|
21
21
|
DATA_PRODUCT_SUPPORT_TYPE["DOCUMENTATION"] = "Documentation";
|
|
@@ -23,6 +23,9 @@ export var DATA_PRODUCT_SUPPORT_TYPE;
|
|
|
23
23
|
DATA_PRODUCT_SUPPORT_TYPE["WEBSITE"] = "Website";
|
|
24
24
|
DATA_PRODUCT_SUPPORT_TYPE["FAQ"] = "FAQ";
|
|
25
25
|
})(DATA_PRODUCT_SUPPORT_TYPE || (DATA_PRODUCT_SUPPORT_TYPE = {}));
|
|
26
|
+
export const DATA_PRODUCT_DEFAULT_TITLE = 'DataProduct Auto Generated title: Please update';
|
|
27
|
+
export const DATA_PRODUCT_DEFAULT_DESCRIPTION_PREFIX = 'Migrated using studio converter from dataspace: ';
|
|
28
|
+
export const DATA_PRODUCT_NATIVE_MODEL_ACCESS_SAMPLE_QUERY_ID_PREFIX = 'DATA_PRODUCT_NATIVE_MODEL_ACCESS_SAMPLE_QUERY_ID';
|
|
26
29
|
const convertDataSpaceToDiagrams = (dataSpace) => {
|
|
27
30
|
if (!dataSpace.diagrams) {
|
|
28
31
|
return [];
|
|
@@ -35,13 +38,6 @@ const convertDataSpaceToDiagrams = (dataSpace) => {
|
|
|
35
38
|
return dataProductDiagram;
|
|
36
39
|
});
|
|
37
40
|
};
|
|
38
|
-
export const dataSpaceContainsOneMapping = (dataSpace) => {
|
|
39
|
-
return (uniq(dataSpace.executionContexts.map((execContext) => execContext.mapping.value)).length === 1);
|
|
40
|
-
};
|
|
41
|
-
const convertDataSpaceToMapping = (dataSpace) => {
|
|
42
|
-
assertTrue(dataSpaceContainsOneMapping(dataSpace), 'DataSpace contains more than one unique mapping');
|
|
43
|
-
return dataSpace.defaultExecutionContext.mapping;
|
|
44
|
-
};
|
|
45
41
|
const convertDataSpaceToFeaturedElements = (dataSpace) => {
|
|
46
42
|
if (dataSpace.elements) {
|
|
47
43
|
const featuredElements = dataSpace.elements.map((element) => {
|
|
@@ -54,20 +50,6 @@ const convertDataSpaceToFeaturedElements = (dataSpace) => {
|
|
|
54
50
|
}
|
|
55
51
|
return [];
|
|
56
52
|
};
|
|
57
|
-
const convertDataSpaceToFunctionAccessPoints = (dataSpace, graphManagerState) => {
|
|
58
|
-
if (!dataSpace.executables) {
|
|
59
|
-
return [];
|
|
60
|
-
}
|
|
61
|
-
return dataSpace.executables.flatMap((executable) => {
|
|
62
|
-
const query = getQueryFromDataspaceExecutable(executable, graphManagerState);
|
|
63
|
-
if (query) {
|
|
64
|
-
const functionAccessPoint = new FunctionAccessPoint(executable.id ?? uuid(), query);
|
|
65
|
-
functionAccessPoint.description = executable.description;
|
|
66
|
-
return [functionAccessPoint];
|
|
67
|
-
}
|
|
68
|
-
return [];
|
|
69
|
-
});
|
|
70
|
-
};
|
|
71
53
|
const convertDataSpaceToSupportInfo = (dataSpace) => {
|
|
72
54
|
if (!dataSpace.supportInfo) {
|
|
73
55
|
return undefined;
|
|
@@ -97,29 +79,73 @@ const convertDataSpaceToSupportInfo = (dataSpace) => {
|
|
|
97
79
|
}
|
|
98
80
|
return supportInfo;
|
|
99
81
|
};
|
|
100
|
-
const
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
82
|
+
const convertDataSpaceExecutablesToSampleQueries = (dataSpace) => {
|
|
83
|
+
if (!dataSpace.executables) {
|
|
84
|
+
return [];
|
|
85
|
+
}
|
|
86
|
+
let idCounter = 0;
|
|
87
|
+
return dataSpace.executables.map((executable) => {
|
|
88
|
+
let sampleQuery;
|
|
89
|
+
if (executable instanceof DataSpacePackageableElementExecutable) {
|
|
90
|
+
const packageableElementSampleQuery = new PackageableElementSampleQuery();
|
|
91
|
+
packageableElementSampleQuery.query = executable.executable;
|
|
92
|
+
sampleQuery = packageableElementSampleQuery;
|
|
93
|
+
}
|
|
94
|
+
else if (executable instanceof DataSpaceExecutableTemplate) {
|
|
95
|
+
const inLineSampleQuery = new InLineSampleQuery();
|
|
96
|
+
inLineSampleQuery.query = executable.query;
|
|
97
|
+
sampleQuery = inLineSampleQuery;
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
throw new UnsupportedOperationError(`Can't convert to DataProduct nativeModelAccess sample query: Unsupported DataSpace executable`);
|
|
101
|
+
}
|
|
102
|
+
sampleQuery.description = executable.description;
|
|
103
|
+
sampleQuery.executionContextKey =
|
|
104
|
+
executable.executionContextKey ?? dataSpace.defaultExecutionContext.name;
|
|
105
|
+
sampleQuery.title = executable.title;
|
|
106
|
+
if (executable.id) {
|
|
107
|
+
sampleQuery.id = executable.id;
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
sampleQuery.id = `${DATA_PRODUCT_NATIVE_MODEL_ACCESS_SAMPLE_QUERY_ID_PREFIX}_${idCounter}`;
|
|
111
|
+
idCounter++;
|
|
112
|
+
}
|
|
113
|
+
return sampleQuery;
|
|
114
|
+
});
|
|
115
|
+
};
|
|
116
|
+
const convertDataSpaceExecutionContextsToNativeModelExecutionContexts = (dataSpace) => {
|
|
117
|
+
return dataSpace.executionContexts.map((context) => {
|
|
118
|
+
const nativeModelExecutionContext = new NativeModelExecutionContext();
|
|
119
|
+
nativeModelExecutionContext.key = context.name;
|
|
120
|
+
nativeModelExecutionContext.mapping = context.mapping;
|
|
121
|
+
nativeModelExecutionContext.runtime = context.defaultRuntime;
|
|
122
|
+
return nativeModelExecutionContext;
|
|
123
|
+
});
|
|
124
|
+
};
|
|
125
|
+
const convertDataSpaceToNativeModelAccess = (dataSpace) => {
|
|
126
|
+
const nativeModelAccess = new NativeModelAccess();
|
|
127
|
+
nativeModelAccess.defaultExecutionContext =
|
|
128
|
+
dataSpace.defaultExecutionContext.name;
|
|
129
|
+
nativeModelAccess.featuredElements =
|
|
109
130
|
convertDataSpaceToFeaturedElements(dataSpace);
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
131
|
+
nativeModelAccess.diagrams = convertDataSpaceToDiagrams(dataSpace);
|
|
132
|
+
nativeModelAccess.nativeModelExecutionContexts =
|
|
133
|
+
convertDataSpaceExecutionContextsToNativeModelExecutionContexts(dataSpace);
|
|
134
|
+
nativeModelAccess.sampleQueries =
|
|
135
|
+
convertDataSpaceExecutablesToSampleQueries(dataSpace);
|
|
136
|
+
return nativeModelAccess;
|
|
113
137
|
};
|
|
114
|
-
export const convertDataSpaceToDataProduct = (dataSpace
|
|
138
|
+
export const convertDataSpaceToDataProduct = (dataSpace) => {
|
|
115
139
|
const name = dataSpace.name.replace(/dataspace/i, 'DataProduct');
|
|
116
140
|
const dataProduct = new DataProduct(name);
|
|
117
|
-
dataProduct.package = dataSpace.package;
|
|
118
141
|
dataProduct.stereotypes = [...dataSpace.stereotypes];
|
|
119
142
|
dataProduct.taggedValues = [...dataSpace.taggedValues];
|
|
120
|
-
dataProduct.title = dataSpace.title;
|
|
121
|
-
dataProduct.description =
|
|
122
|
-
|
|
143
|
+
dataProduct.title = dataSpace.title ?? DATA_PRODUCT_DEFAULT_TITLE;
|
|
144
|
+
dataProduct.description =
|
|
145
|
+
dataSpace.description ??
|
|
146
|
+
`${DATA_PRODUCT_DEFAULT_DESCRIPTION_PREFIX}${dataSpace.path}`;
|
|
147
|
+
dataProduct.nativeModelAccess =
|
|
148
|
+
convertDataSpaceToNativeModelAccess(dataSpace);
|
|
123
149
|
dataProduct.supportInfo = convertDataSpaceToSupportInfo(dataSpace);
|
|
124
150
|
dataProduct.type = new InternalDataProductType();
|
|
125
151
|
return observe_DataProduct(dataProduct);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataSpaceToDataProductConverter.js","sourceRoot":"","sources":["../../src/stores/DataSpaceToDataProductConverter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAEL,qBAAqB,EACrB,4BAA4B,EAC5B
|
|
1
|
+
{"version":3,"file":"DataSpaceToDataProductConverter.js","sourceRoot":"","sources":["../../src/stores/DataSpaceToDataProductConverter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAEL,qBAAqB,EACrB,4BAA4B,EAC5B,qCAAqC,EACrC,2BAA2B,GAC5B,MAAM,8CAA8C,CAAC;AACtD,OAAO,EACL,WAAW,EACX,uBAAuB,EACvB,kBAAkB,EAClB,uBAAuB,EACvB,WAAW,EACX,eAAe,EACf,KAAK,EACL,mBAAmB,EAEnB,iBAAiB,EACjB,iBAAiB,EACjB,2BAA2B,EAC3B,6BAA6B,GAC9B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEjE,MAAM,CAAN,IAAY,yBAKX;AALD,WAAY,yBAAyB;IACnC,4DAA+B,CAAA;IAC/B,gDAAmB,CAAA;IACnB,gDAAmB,CAAA;IACnB,wCAAW,CAAA;AACb,CAAC,EALW,yBAAyB,KAAzB,yBAAyB,QAKpC;AAED,MAAM,CAAC,MAAM,0BAA0B,GACrC,iDAAiD,CAAC;AACpD,MAAM,CAAC,MAAM,uCAAuC,GAClD,kDAAkD,CAAC;AACrD,MAAM,CAAC,MAAM,uDAAuD,GAClE,kDAAkD,CAAC;AAErD,MAAM,0BAA0B,GAAG,CACjC,SAAoB,EACE,EAAE;IACxB,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;QACxB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,gBAAgB,EAAE,EAAE;QACjD,MAAM,kBAAkB,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACpD,kBAAkB,CAAC,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC;QAClD,kBAAkB,CAAC,WAAW,GAAG,gBAAgB,CAAC,WAAW,CAAC;QAC9D,kBAAkB,CAAC,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC;QAC5D,OAAO,kBAAkB,CAAC;IAC5B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,kCAAkC,GAAG,CACzC,SAAoB,EACO,EAAE;IAC7B,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;QACvB,MAAM,gBAAgB,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YAC1D,MAAM,KAAK,GAAG,IAAI,uBAAuB,EAAE,CAAC;YAC5C,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;YAChC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;YAChC,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;QACH,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEF,MAAM,6BAA6B,GAAG,CACpC,SAAoB,EACK,EAAE;IAC3B,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;QAC3B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;IAEtC,IAAI,SAAS,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC;QAC3C,WAAW,CAAC,aAAa,GAAG,IAAI,eAAe,CAC7C,SAAS,CAAC,WAAW,CAAC,gBAAgB,EACtC,yBAAyB,CAAC,aAAa,CACxC,CAAC;IACJ,CAAC;IAED,IAAI,SAAS,CAAC,WAAW,YAAY,qBAAqB,EAAE,CAAC;QAC3D,WAAW,CAAC,MAAM,GAAG;YACnB,IAAI,KAAK,CACP,SAAS,CAAC,WAAW,CAAC,OAAO,EAC7B,yBAAyB,CAAC,OAAO,CAClC;SACF,CAAC;IACJ,CAAC;SAAM,IAAI,SAAS,CAAC,WAAW,YAAY,4BAA4B,EAAE,CAAC;QACzE,IAAI,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;YACjC,WAAW,CAAC,MAAM,GAAG,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CACnD,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE,yBAAyB,CAAC,OAAO,CAAC,CAC/D,CAAC;QACJ,CAAC;QAED,IAAI,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YAClC,WAAW,CAAC,OAAO,GAAG,IAAI,eAAe,CACvC,SAAS,CAAC,WAAW,CAAC,OAAO,EAC7B,yBAAyB,CAAC,OAAO,CAClC,CAAC;QACJ,CAAC;QAED,IAAI,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;YACjC,WAAW,CAAC,MAAM,GAAG,IAAI,eAAe,CACtC,SAAS,CAAC,WAAW,CAAC,MAAM,EAC5B,yBAAyB,CAAC,GAAG,CAC9B,CAAC;QACJ,CAAC;QAED,IAAI,SAAS,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;YACrC,WAAW,CAAC,UAAU,GAAG,IAAI,eAAe,CAC1C,SAAS,CAAC,WAAW,CAAC,UAAU,EAChC,yBAAyB,CAAC,OAAO,CAClC,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AAEF,MAAM,0CAA0C,GAAG,CACjD,SAAoB,EACL,EAAE;IACjB,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;QAC3B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,OAAO,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE;QAC9C,IAAI,WAAwB,CAAC;QAC7B,IAAI,UAAU,YAAY,qCAAqC,EAAE,CAAC;YAChE,MAAM,6BAA6B,GAAG,IAAI,6BAA6B,EAAE,CAAC;YAC1E,6BAA6B,CAAC,KAAK,GAAG,UAAU,CAAC,UAAU,CAAC;YAC5D,WAAW,GAAG,6BAA6B,CAAC;QAC9C,CAAC;aAAM,IAAI,UAAU,YAAY,2BAA2B,EAAE,CAAC;YAC7D,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,EAAE,CAAC;YAClD,iBAAiB,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;YAC3C,WAAW,GAAG,iBAAiB,CAAC;QAClC,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,yBAAyB,CACjC,+FAA+F,CAChG,CAAC;QACJ,CAAC;QACD,WAAW,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;QACjD,WAAW,CAAC,mBAAmB;YAC7B,UAAU,CAAC,mBAAmB,IAAI,SAAS,CAAC,uBAAuB,CAAC,IAAI,CAAC;QAC3E,WAAW,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;QACrC,IAAI,UAAU,CAAC,EAAE,EAAE,CAAC;YAClB,WAAW,CAAC,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC;QACjC,CAAC;aAAM,CAAC;YACN,WAAW,CAAC,EAAE,GAAG,GAAG,uDAAuD,IAAI,SAAS,EAAE,CAAC;YAC3F,SAAS,EAAE,CAAC;QACd,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,+DAA+D,GAAG,CACtE,SAAoB,EACW,EAAE;IACjC,OAAO,SAAS,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QACjD,MAAM,2BAA2B,GAAG,IAAI,2BAA2B,EAAE,CAAC;QACtE,2BAA2B,CAAC,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;QAC/C,2BAA2B,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QACtD,2BAA2B,CAAC,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC;QAC7D,OAAO,2BAA2B,CAAC;IACrC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,mCAAmC,GAAG,CAC1C,SAAoB,EACD,EAAE;IACrB,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,EAAE,CAAC;IAElD,iBAAiB,CAAC,uBAAuB;QACvC,SAAS,CAAC,uBAAuB,CAAC,IAAI,CAAC;IACzC,iBAAiB,CAAC,gBAAgB;QAChC,kCAAkC,CAAC,SAAS,CAAC,CAAC;IAChD,iBAAiB,CAAC,QAAQ,GAAG,0BAA0B,CAAC,SAAS,CAAC,CAAC;IACnE,iBAAiB,CAAC,4BAA4B;QAC5C,+DAA+D,CAAC,SAAS,CAAC,CAAC;IAC7E,iBAAiB,CAAC,aAAa;QAC7B,0CAA0C,CAAC,SAAS,CAAC,CAAC;IACxD,OAAO,iBAAiB,CAAC;AAC3B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAC3C,SAAoB,EACP,EAAE;IACf,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;IACjE,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;IAC1C,WAAW,CAAC,WAAW,GAAG,CAAC,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;IACrD,WAAW,CAAC,YAAY,GAAG,CAAC,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;IAEvD,WAAW,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,IAAI,0BAA0B,CAAC;IAClE,WAAW,CAAC,WAAW;QACrB,SAAS,CAAC,WAAW;YACrB,GAAG,uCAAuC,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;IAChE,WAAW,CAAC,iBAAiB;QAC3B,mCAAmC,CAAC,SAAS,CAAC,CAAC;IACjD,WAAW,CAAC,WAAW,GAAG,6BAA6B,CAAC,SAAS,CAAC,CAAC;IACnE,WAAW,CAAC,IAAI,GAAG,IAAI,uBAAuB,EAAE,CAAC;IAEjD,OAAO,mBAAmB,CAAC,WAAW,CAAC,CAAC;AAC1C,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@finos/legend-extension-dsl-data-space-studio",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.274",
|
|
4
4
|
"description": "Legend extension for Data Space DSL - Studio",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"legend",
|
|
@@ -42,13 +42,13 @@
|
|
|
42
42
|
"test:watch": "jest --watch"
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
|
-
"@finos/legend-application": "16.0.
|
|
46
|
-
"@finos/legend-application-studio": "28.19.
|
|
47
|
-
"@finos/legend-art": "7.1.
|
|
48
|
-
"@finos/legend-code-editor": "2.0.
|
|
49
|
-
"@finos/legend-extension-dsl-data-space": "10.4.
|
|
50
|
-
"@finos/legend-graph": "32.3.
|
|
51
|
-
"@finos/legend-query-builder": "4.17.
|
|
45
|
+
"@finos/legend-application": "16.0.89",
|
|
46
|
+
"@finos/legend-application-studio": "28.19.84",
|
|
47
|
+
"@finos/legend-art": "7.1.139",
|
|
48
|
+
"@finos/legend-code-editor": "2.0.144",
|
|
49
|
+
"@finos/legend-extension-dsl-data-space": "10.4.183",
|
|
50
|
+
"@finos/legend-graph": "32.3.24",
|
|
51
|
+
"@finos/legend-query-builder": "4.17.75",
|
|
52
52
|
"@finos/legend-server-depot": "6.1.6",
|
|
53
53
|
"@finos/legend-server-sdlc": "5.3.70",
|
|
54
54
|
"@finos/legend-shared": "11.0.22",
|
|
@@ -31,7 +31,6 @@ import { DataSpaceGeneralEditor } from './DataSpaceGeneralEditor/DataSpaceGenera
|
|
|
31
31
|
import { DataSpacePreviewState } from '../stores/DataSpacePreviewState.js';
|
|
32
32
|
import { flowResult } from 'mobx';
|
|
33
33
|
import { isStubbed_PackageableElement } from '@finos/legend-graph';
|
|
34
|
-
import { dataSpaceContainsOneMapping } from '../stores/DataSpaceToDataProductConverter.js';
|
|
35
34
|
|
|
36
35
|
export const DataSpaceEditor = observer(() => {
|
|
37
36
|
const editorStore = useEditorStore();
|
|
@@ -71,10 +70,6 @@ export const DataSpaceEditor = observer(() => {
|
|
|
71
70
|
).catch(editorStore.applicationStore.alertUnhandledError);
|
|
72
71
|
};
|
|
73
72
|
|
|
74
|
-
const canConvertDataSpace = (): boolean => {
|
|
75
|
-
return dataSpaceContainsOneMapping(dataSpace);
|
|
76
|
-
};
|
|
77
|
-
|
|
78
73
|
return (
|
|
79
74
|
<Panel className="dataSpace-editor">
|
|
80
75
|
<PanelHeader
|
|
@@ -91,7 +86,6 @@ export const DataSpaceEditor = observer(() => {
|
|
|
91
86
|
onClick={convertDataSpace}
|
|
92
87
|
title="Convert Data Product"
|
|
93
88
|
tabIndex={-1}
|
|
94
|
-
disabled={!canConvertDataSpace}
|
|
95
89
|
>
|
|
96
90
|
<EnvelopeIcon className="btn__dropdown-combo__label__icon" />
|
|
97
91
|
<div className="btn__dropdown-combo__label__title">Convert</div>
|
|
@@ -58,16 +58,19 @@ export const onConvertDataSpaceToDataProduct = flow(function* (
|
|
|
58
58
|
dataSpaceEditorState: DataSpaceEditorState,
|
|
59
59
|
): GeneratorFn<void> {
|
|
60
60
|
try {
|
|
61
|
-
const dataProduct = convertDataSpaceToDataProduct(
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
);
|
|
61
|
+
const dataProduct = convertDataSpaceToDataProduct(dataSpace);
|
|
62
|
+
|
|
63
|
+
editorStore.graphManagerState.graph.deleteElement(dataSpace);
|
|
65
64
|
|
|
66
65
|
editorStore.graphManagerState.graph.addElement(
|
|
67
66
|
dataProduct,
|
|
68
|
-
dataSpace.package?.path.replace(/dataspace/, '
|
|
67
|
+
dataSpace.package?.path.replace(/dataspace/, 'dataProduct'),
|
|
69
68
|
);
|
|
70
69
|
|
|
70
|
+
const dataSpacePackage = dataSpace.package;
|
|
71
|
+
if (dataSpacePackage && dataSpacePackage.children.length === 0) {
|
|
72
|
+
editorStore.graphManagerState.graph.deleteElement(dataSpacePackage);
|
|
73
|
+
}
|
|
71
74
|
const addedElement = editorStore.graphManagerState.graph.getNullableElement(
|
|
72
75
|
dataProduct.path,
|
|
73
76
|
);
|
|
@@ -79,12 +82,6 @@ export const onConvertDataSpaceToDataProduct = flow(function* (
|
|
|
79
82
|
addedElement as DataProduct,
|
|
80
83
|
);
|
|
81
84
|
|
|
82
|
-
editorStore.graphManagerState.graph.deleteElement(dataSpace);
|
|
83
|
-
|
|
84
|
-
const dataSpacePackage = dataSpace.package;
|
|
85
|
-
if (dataSpacePackage && dataSpacePackage.children.length === 0) {
|
|
86
|
-
editorStore.graphManagerState.graph.deleteElement(dataSpacePackage);
|
|
87
|
-
}
|
|
88
85
|
editorStore.tabManagerState.closeTab(dataSpaceEditorState);
|
|
89
86
|
editorStore.tabManagerState.openTab(dataProductEditorState);
|
|
90
87
|
yield flowResult(editorStore.explorerTreeState.build());
|
|
@@ -18,15 +18,11 @@ import {
|
|
|
18
18
|
type DataSpace,
|
|
19
19
|
DataSpaceSupportEmail,
|
|
20
20
|
DataSpaceSupportCombinedInfo,
|
|
21
|
-
|
|
21
|
+
DataSpacePackageableElementExecutable,
|
|
22
|
+
DataSpaceExecutableTemplate,
|
|
22
23
|
} from '@finos/legend-extension-dsl-data-space/graph';
|
|
23
24
|
import {
|
|
24
|
-
type GraphManagerState,
|
|
25
|
-
type PackageableElementReference,
|
|
26
|
-
type Mapping,
|
|
27
|
-
ModelAccessPointGroup,
|
|
28
25
|
DataProduct,
|
|
29
|
-
FunctionAccessPoint,
|
|
30
26
|
InternalDataProductType,
|
|
31
27
|
DataProductDiagram,
|
|
32
28
|
DataProductElementScope,
|
|
@@ -34,9 +30,13 @@ import {
|
|
|
34
30
|
DataProductLink,
|
|
35
31
|
Email,
|
|
36
32
|
observe_DataProduct,
|
|
37
|
-
|
|
33
|
+
type SampleQuery,
|
|
34
|
+
InLineSampleQuery,
|
|
35
|
+
NativeModelAccess,
|
|
36
|
+
NativeModelExecutionContext,
|
|
37
|
+
PackageableElementSampleQuery,
|
|
38
38
|
} from '@finos/legend-graph';
|
|
39
|
-
import {
|
|
39
|
+
import { UnsupportedOperationError } from '@finos/legend-shared';
|
|
40
40
|
|
|
41
41
|
export enum DATA_PRODUCT_SUPPORT_TYPE {
|
|
42
42
|
DOCUMENTATION = 'Documentation',
|
|
@@ -45,6 +45,13 @@ export enum DATA_PRODUCT_SUPPORT_TYPE {
|
|
|
45
45
|
FAQ = 'FAQ',
|
|
46
46
|
}
|
|
47
47
|
|
|
48
|
+
export const DATA_PRODUCT_DEFAULT_TITLE =
|
|
49
|
+
'DataProduct Auto Generated title: Please update';
|
|
50
|
+
export const DATA_PRODUCT_DEFAULT_DESCRIPTION_PREFIX =
|
|
51
|
+
'Migrated using studio converter from dataspace: ';
|
|
52
|
+
export const DATA_PRODUCT_NATIVE_MODEL_ACCESS_SAMPLE_QUERY_ID_PREFIX =
|
|
53
|
+
'DATA_PRODUCT_NATIVE_MODEL_ACCESS_SAMPLE_QUERY_ID';
|
|
54
|
+
|
|
48
55
|
const convertDataSpaceToDiagrams = (
|
|
49
56
|
dataSpace: DataSpace,
|
|
50
57
|
): DataProductDiagram[] => {
|
|
@@ -60,27 +67,6 @@ const convertDataSpaceToDiagrams = (
|
|
|
60
67
|
});
|
|
61
68
|
};
|
|
62
69
|
|
|
63
|
-
export const dataSpaceContainsOneMapping = (dataSpace: DataSpace): boolean => {
|
|
64
|
-
return (
|
|
65
|
-
uniq(
|
|
66
|
-
dataSpace.executionContexts.map(
|
|
67
|
-
(execContext) => execContext.mapping.value,
|
|
68
|
-
),
|
|
69
|
-
).length === 1
|
|
70
|
-
);
|
|
71
|
-
};
|
|
72
|
-
|
|
73
|
-
const convertDataSpaceToMapping = (
|
|
74
|
-
dataSpace: DataSpace,
|
|
75
|
-
): PackageableElementReference<Mapping> => {
|
|
76
|
-
assertTrue(
|
|
77
|
-
dataSpaceContainsOneMapping(dataSpace),
|
|
78
|
-
'DataSpace contains more than one unique mapping',
|
|
79
|
-
);
|
|
80
|
-
|
|
81
|
-
return dataSpace.defaultExecutionContext.mapping;
|
|
82
|
-
};
|
|
83
|
-
|
|
84
70
|
const convertDataSpaceToFeaturedElements = (
|
|
85
71
|
dataSpace: DataSpace,
|
|
86
72
|
): DataProductElementScope[] => {
|
|
@@ -96,30 +82,6 @@ const convertDataSpaceToFeaturedElements = (
|
|
|
96
82
|
return [];
|
|
97
83
|
};
|
|
98
84
|
|
|
99
|
-
const convertDataSpaceToFunctionAccessPoints = (
|
|
100
|
-
dataSpace: DataSpace,
|
|
101
|
-
graphManagerState: GraphManagerState,
|
|
102
|
-
): FunctionAccessPoint[] => {
|
|
103
|
-
if (!dataSpace.executables) {
|
|
104
|
-
return [];
|
|
105
|
-
}
|
|
106
|
-
return dataSpace.executables.flatMap((executable) => {
|
|
107
|
-
const query = getQueryFromDataspaceExecutable(
|
|
108
|
-
executable,
|
|
109
|
-
graphManagerState,
|
|
110
|
-
);
|
|
111
|
-
if (query) {
|
|
112
|
-
const functionAccessPoint = new FunctionAccessPoint(
|
|
113
|
-
executable.id ?? uuid(),
|
|
114
|
-
query,
|
|
115
|
-
);
|
|
116
|
-
functionAccessPoint.description = executable.description;
|
|
117
|
-
return [functionAccessPoint];
|
|
118
|
-
}
|
|
119
|
-
return [];
|
|
120
|
-
});
|
|
121
|
-
};
|
|
122
|
-
|
|
123
85
|
const convertDataSpaceToSupportInfo = (
|
|
124
86
|
dataSpace: DataSpace,
|
|
125
87
|
): SupportInfo | undefined => {
|
|
@@ -175,47 +137,87 @@ const convertDataSpaceToSupportInfo = (
|
|
|
175
137
|
return supportInfo;
|
|
176
138
|
};
|
|
177
139
|
|
|
178
|
-
const
|
|
140
|
+
const convertDataSpaceExecutablesToSampleQueries = (
|
|
179
141
|
dataSpace: DataSpace,
|
|
180
|
-
|
|
181
|
-
)
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
142
|
+
): SampleQuery[] => {
|
|
143
|
+
if (!dataSpace.executables) {
|
|
144
|
+
return [];
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
let idCounter = 0;
|
|
148
|
+
|
|
149
|
+
return dataSpace.executables.map((executable) => {
|
|
150
|
+
let sampleQuery: SampleQuery;
|
|
151
|
+
if (executable instanceof DataSpacePackageableElementExecutable) {
|
|
152
|
+
const packageableElementSampleQuery = new PackageableElementSampleQuery();
|
|
153
|
+
packageableElementSampleQuery.query = executable.executable;
|
|
154
|
+
sampleQuery = packageableElementSampleQuery;
|
|
155
|
+
} else if (executable instanceof DataSpaceExecutableTemplate) {
|
|
156
|
+
const inLineSampleQuery = new InLineSampleQuery();
|
|
157
|
+
inLineSampleQuery.query = executable.query;
|
|
158
|
+
sampleQuery = inLineSampleQuery;
|
|
159
|
+
} else {
|
|
160
|
+
throw new UnsupportedOperationError(
|
|
161
|
+
`Can't convert to DataProduct nativeModelAccess sample query: Unsupported DataSpace executable`,
|
|
162
|
+
);
|
|
163
|
+
}
|
|
164
|
+
sampleQuery.description = executable.description;
|
|
165
|
+
sampleQuery.executionContextKey =
|
|
166
|
+
executable.executionContextKey ?? dataSpace.defaultExecutionContext.name;
|
|
167
|
+
sampleQuery.title = executable.title;
|
|
168
|
+
if (executable.id) {
|
|
169
|
+
sampleQuery.id = executable.id;
|
|
170
|
+
} else {
|
|
171
|
+
sampleQuery.id = `${DATA_PRODUCT_NATIVE_MODEL_ACCESS_SAMPLE_QUERY_ID_PREFIX}_${idCounter}`;
|
|
172
|
+
idCounter++;
|
|
173
|
+
}
|
|
174
|
+
return sampleQuery;
|
|
175
|
+
});
|
|
176
|
+
};
|
|
195
177
|
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
)
|
|
200
|
-
|
|
178
|
+
const convertDataSpaceExecutionContextsToNativeModelExecutionContexts = (
|
|
179
|
+
dataSpace: DataSpace,
|
|
180
|
+
): NativeModelExecutionContext[] => {
|
|
181
|
+
return dataSpace.executionContexts.map((context) => {
|
|
182
|
+
const nativeModelExecutionContext = new NativeModelExecutionContext();
|
|
183
|
+
nativeModelExecutionContext.key = context.name;
|
|
184
|
+
nativeModelExecutionContext.mapping = context.mapping;
|
|
185
|
+
nativeModelExecutionContext.runtime = context.defaultRuntime;
|
|
186
|
+
return nativeModelExecutionContext;
|
|
187
|
+
});
|
|
188
|
+
};
|
|
189
|
+
|
|
190
|
+
const convertDataSpaceToNativeModelAccess = (
|
|
191
|
+
dataSpace: DataSpace,
|
|
192
|
+
): NativeModelAccess => {
|
|
193
|
+
const nativeModelAccess = new NativeModelAccess();
|
|
194
|
+
|
|
195
|
+
nativeModelAccess.defaultExecutionContext =
|
|
196
|
+
dataSpace.defaultExecutionContext.name;
|
|
197
|
+
nativeModelAccess.featuredElements =
|
|
198
|
+
convertDataSpaceToFeaturedElements(dataSpace);
|
|
199
|
+
nativeModelAccess.diagrams = convertDataSpaceToDiagrams(dataSpace);
|
|
200
|
+
nativeModelAccess.nativeModelExecutionContexts =
|
|
201
|
+
convertDataSpaceExecutionContextsToNativeModelExecutionContexts(dataSpace);
|
|
202
|
+
nativeModelAccess.sampleQueries =
|
|
203
|
+
convertDataSpaceExecutablesToSampleQueries(dataSpace);
|
|
204
|
+
return nativeModelAccess;
|
|
201
205
|
};
|
|
202
206
|
|
|
203
207
|
export const convertDataSpaceToDataProduct = (
|
|
204
208
|
dataSpace: DataSpace,
|
|
205
|
-
graphManagerState: GraphManagerState,
|
|
206
209
|
): DataProduct => {
|
|
207
210
|
const name = dataSpace.name.replace(/dataspace/i, 'DataProduct');
|
|
208
211
|
const dataProduct = new DataProduct(name);
|
|
209
|
-
dataProduct.package = dataSpace.package;
|
|
210
212
|
dataProduct.stereotypes = [...dataSpace.stereotypes];
|
|
211
213
|
dataProduct.taggedValues = [...dataSpace.taggedValues];
|
|
212
214
|
|
|
213
|
-
dataProduct.title = dataSpace.title;
|
|
214
|
-
dataProduct.description =
|
|
215
|
-
|
|
216
|
-
dataSpace
|
|
217
|
-
|
|
218
|
-
|
|
215
|
+
dataProduct.title = dataSpace.title ?? DATA_PRODUCT_DEFAULT_TITLE;
|
|
216
|
+
dataProduct.description =
|
|
217
|
+
dataSpace.description ??
|
|
218
|
+
`${DATA_PRODUCT_DEFAULT_DESCRIPTION_PREFIX}${dataSpace.path}`;
|
|
219
|
+
dataProduct.nativeModelAccess =
|
|
220
|
+
convertDataSpaceToNativeModelAccess(dataSpace);
|
|
219
221
|
dataProduct.supportInfo = convertDataSpaceToSupportInfo(dataSpace);
|
|
220
222
|
dataProduct.type = new InternalDataProductType();
|
|
221
223
|
|