@finos/legend-extension-dsl-data-space 10.4.252 → 10.4.254
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/__lib__/DSL_DataSpace_LegendApplicationCommand.js +8 -8
- package/lib/__lib__/DSL_DataSpace_LegendApplicationCommand.js.map +1 -1
- package/lib/components/DSL_DataSpace_LegendApplicationPlugin.js +2 -2
- package/lib/components/DSL_DataSpace_LegendApplicationPlugin.js.map +1 -1
- package/lib/components/DataSpaceDataAccess.d.ts.map +1 -1
- package/lib/components/DataSpaceDataAccess.js +6 -2
- package/lib/components/DataSpaceDataAccess.js.map +1 -1
- package/lib/components/DataSpaceDescription.d.ts.map +1 -1
- package/lib/components/DataSpaceDescription.js +6 -2
- package/lib/components/DataSpaceDescription.js.map +1 -1
- package/lib/components/DataSpaceInfoPanel.js +1 -1
- package/lib/components/DataSpaceInfoPanel.js.map +1 -1
- package/lib/components/DataSpaceLegendAISchema.d.ts.map +1 -1
- package/lib/components/DataSpaceLegendAISchema.js +6 -1
- package/lib/components/DataSpaceLegendAISchema.js.map +1 -1
- package/lib/components/DataSpaceQuickStart.d.ts.map +1 -1
- package/lib/components/DataSpaceQuickStart.js +16 -7
- package/lib/components/DataSpaceQuickStart.js.map +1 -1
- package/lib/components/DataSpaceSupportPanel.d.ts.map +1 -1
- package/lib/components/DataSpaceSupportPanel.js +13 -1
- package/lib/components/DataSpaceSupportPanel.js.map +1 -1
- package/lib/components/DataSpaceViewer.js +2 -2
- package/lib/components/DataSpaceViewer.js.map +1 -1
- package/lib/components/DataSpaceWiki.d.ts.map +1 -1
- package/lib/components/DataSpaceWiki.js +2 -2
- package/lib/components/DataSpaceWiki.js.map +1 -1
- package/lib/components/query-builder/DataSpaceAdvancedSearchModal.js +2 -2
- package/lib/components/query-builder/DataSpaceAdvancedSearchModal.js.map +1 -1
- package/lib/components/query-builder/DataSpaceQueryBuilder.js +3 -3
- package/lib/components/query-builder/DataSpaceQueryBuilder.js.map +1 -1
- package/lib/graph/DSL_DataSpace_HashUtils.d.ts +4 -0
- package/lib/graph/DSL_DataSpace_HashUtils.d.ts.map +1 -1
- package/lib/graph/DSL_DataSpace_HashUtils.js +4 -0
- package/lib/graph/DSL_DataSpace_HashUtils.js.map +1 -1
- package/lib/graph/metamodel/pure/model/packageableElements/dataSpace/DSL_DataSpace_DataSpace.d.ts +26 -1
- package/lib/graph/metamodel/pure/model/packageableElements/dataSpace/DSL_DataSpace_DataSpace.d.ts.map +1 -1
- package/lib/graph/metamodel/pure/model/packageableElements/dataSpace/DSL_DataSpace_DataSpace.js +55 -0
- package/lib/graph/metamodel/pure/model/packageableElements/dataSpace/DSL_DataSpace_DataSpace.js.map +1 -1
- package/lib/graph-manager/action/changeDetection/DSL_DataSpace_ObserverHelper.d.ts +2 -0
- package/lib/graph-manager/action/changeDetection/DSL_DataSpace_ObserverHelper.d.ts.map +1 -1
- package/lib/graph-manager/action/changeDetection/DSL_DataSpace_ObserverHelper.js +67 -1
- package/lib/graph-manager/action/changeDetection/DSL_DataSpace_ObserverHelper.js.map +1 -1
- package/lib/graph-manager/index.d.ts +1 -1
- package/lib/graph-manager/index.d.ts.map +1 -1
- package/lib/graph-manager/index.js +1 -1
- package/lib/graph-manager/index.js.map +1 -1
- package/lib/graph-manager/protocol/pure/DSL_DataSpace_PureProtocolProcessorPlugin.d.ts +4 -1
- package/lib/graph-manager/protocol/pure/DSL_DataSpace_PureProtocolProcessorPlugin.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/DSL_DataSpace_PureProtocolProcessorPlugin.js +109 -13
- package/lib/graph-manager/protocol/pure/DSL_DataSpace_PureProtocolProcessorPlugin.js.map +1 -1
- 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 +13 -9
- package/lib/graph-manager/protocol/pure/v1/V1_DSL_DataSpace_PureGraphManagerExtension.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_DSL_DataSpace_SystemModels.json +8 -1
- package/lib/graph-manager/protocol/pure/v1/engine/analytics/V1_DataSpaceAnalysis.js +2 -2
- package/lib/graph-manager/protocol/pure/v1/engine/analytics/V1_DataSpaceAnalysis.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/model/packageableElements/dataSpace/V1_DSL_DataSpace_DataSpace.d.ts +26 -1
- package/lib/graph-manager/protocol/pure/v1/model/packageableElements/dataSpace/V1_DSL_DataSpace_DataSpace.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/model/packageableElements/dataSpace/V1_DSL_DataSpace_DataSpace.js +55 -0
- package/lib/graph-manager/protocol/pure/v1/model/packageableElements/dataSpace/V1_DSL_DataSpace_DataSpace.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_DSL_DataSpace_ProtocolHelper.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_DSL_DataSpace_ProtocolHelper.js +36 -3
- package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_DSL_DataSpace_ProtocolHelper.js.map +1 -1
- package/lib/index.css +2 -2
- package/lib/index.css.map +1 -1
- package/lib/package.json +1 -1
- package/lib/stores/DataSpaceLayoutState.d.ts +9 -0
- package/lib/stores/DataSpaceLayoutState.d.ts.map +1 -1
- package/lib/stores/DataSpaceLayoutState.js +36 -0
- package/lib/stores/DataSpaceLayoutState.js.map +1 -1
- package/lib/stores/DataSpaceModelsDocumentationState.d.ts.map +1 -1
- package/lib/stores/DataSpaceModelsDocumentationState.js +3 -1
- package/lib/stores/DataSpaceModelsDocumentationState.js.map +1 -1
- package/lib/stores/DataSpaceViewerDiagramViewerState.d.ts.map +1 -1
- package/lib/stores/DataSpaceViewerDiagramViewerState.js +4 -1
- package/lib/stores/DataSpaceViewerDiagramViewerState.js.map +1 -1
- package/lib/stores/DataSpaceViewerExecutableState.d.ts.map +1 -1
- package/lib/stores/DataSpaceViewerExecutableState.js +2 -1
- package/lib/stores/DataSpaceViewerExecutableState.js.map +1 -1
- package/lib/stores/query-builder/DataSpaceQueryBuilderState.d.ts +2 -1
- package/lib/stores/query-builder/DataSpaceQueryBuilderState.d.ts.map +1 -1
- package/lib/stores/query-builder/DataSpaceQueryBuilderState.js +12 -1
- package/lib/stores/query-builder/DataSpaceQueryBuilderState.js.map +1 -1
- package/package.json +14 -14
- package/src/__lib__/DSL_DataSpace_LegendApplicationCommand.ts +8 -8
- package/src/components/DSL_DataSpace_LegendApplicationPlugin.tsx +2 -2
- package/src/components/DataSpaceDataAccess.tsx +42 -11
- package/src/components/DataSpaceDescription.tsx +40 -14
- package/src/components/DataSpaceInfoPanel.tsx +4 -4
- package/src/components/DataSpaceLegendAISchema.ts +5 -0
- package/src/components/DataSpaceQuickStart.tsx +73 -15
- package/src/components/DataSpaceSupportPanel.tsx +125 -0
- package/src/components/DataSpaceViewer.tsx +2 -2
- package/src/components/DataSpaceWiki.tsx +0 -2
- package/src/components/query-builder/DataSpaceAdvancedSearchModal.tsx +4 -4
- package/src/components/query-builder/DataSpaceQueryBuilder.tsx +5 -5
- package/src/graph/DSL_DataSpace_HashUtils.ts +4 -0
- package/src/graph/metamodel/pure/model/packageableElements/dataSpace/DSL_DataSpace_DataSpace.ts +67 -0
- package/src/graph-manager/action/changeDetection/DSL_DataSpace_ObserverHelper.ts +92 -0
- package/src/graph-manager/index.ts +1 -0
- package/src/graph-manager/protocol/pure/DSL_DataSpace_PureProtocolProcessorPlugin.ts +159 -10
- package/src/graph-manager/protocol/pure/v1/V1_DSL_DataSpace_PureGraphManagerExtension.ts +16 -8
- package/src/graph-manager/protocol/pure/v1/V1_DSL_DataSpace_SystemModels.json +8 -1
- package/src/graph-manager/protocol/pure/v1/engine/analytics/V1_DataSpaceAnalysis.ts +2 -2
- package/src/graph-manager/protocol/pure/v1/model/packageableElements/dataSpace/V1_DSL_DataSpace_DataSpace.ts +67 -0
- package/src/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_DSL_DataSpace_ProtocolHelper.ts +61 -0
- package/src/stores/DataSpaceLayoutState.ts +41 -0
- package/src/stores/DataSpaceModelsDocumentationState.ts +7 -1
- package/src/stores/DataSpaceViewerDiagramViewerState.ts +5 -1
- package/src/stores/DataSpaceViewerExecutableState.ts +2 -0
- package/src/stores/query-builder/DataSpaceQueryBuilderState.ts +20 -0
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
import {
|
|
18
18
|
observe_Abstract_PackageableElement,
|
|
19
19
|
observe_DataElementReference,
|
|
20
|
+
type OperationalMetadata,
|
|
20
21
|
observe_PackageableElementReference,
|
|
21
22
|
observe_RawLambda,
|
|
22
23
|
observe_StereotypeReference,
|
|
@@ -32,10 +33,14 @@ import {
|
|
|
32
33
|
type DataSpaceExecutionContext,
|
|
33
34
|
type DataSpaceMappingProvider,
|
|
34
35
|
type DataSpaceSupportInfo,
|
|
36
|
+
type DataSpaceEmail,
|
|
37
|
+
type DataSpaceExpertise,
|
|
38
|
+
type DataSpaceLink,
|
|
35
39
|
DataSpaceExecutableTemplate,
|
|
36
40
|
DataSpacePackageableElementExecutable,
|
|
37
41
|
DataSpaceSupportCombinedInfo,
|
|
38
42
|
DataSpaceSupportEmail,
|
|
43
|
+
DataSpaceSupportFullInfo,
|
|
39
44
|
} from '../../../graph/metamodel/pure/model/packageableElements/dataSpace/DSL_DataSpace_DataSpace.js';
|
|
40
45
|
|
|
41
46
|
export const observe_DataSpaceMappingProvider = skipObserved(
|
|
@@ -202,6 +207,75 @@ const observe_DataSpaceSupportCombinedInfo = skipObserved(
|
|
|
202
207
|
},
|
|
203
208
|
);
|
|
204
209
|
|
|
210
|
+
const observe_DataSpaceLink = skipObserved(
|
|
211
|
+
(metamodel: DataSpaceLink): DataSpaceLink => {
|
|
212
|
+
makeObservable(metamodel, {
|
|
213
|
+
label: observable,
|
|
214
|
+
url: observable,
|
|
215
|
+
hashCode: computed,
|
|
216
|
+
});
|
|
217
|
+
|
|
218
|
+
return metamodel;
|
|
219
|
+
},
|
|
220
|
+
);
|
|
221
|
+
|
|
222
|
+
const observe_DataSpaceEmail = skipObserved(
|
|
223
|
+
(metamodel: DataSpaceEmail): DataSpaceEmail => {
|
|
224
|
+
makeObservable(metamodel, {
|
|
225
|
+
title: observable,
|
|
226
|
+
address: observable,
|
|
227
|
+
hashCode: computed,
|
|
228
|
+
});
|
|
229
|
+
|
|
230
|
+
return metamodel;
|
|
231
|
+
},
|
|
232
|
+
);
|
|
233
|
+
|
|
234
|
+
const observe_DataSpaceExpertise = skipObserved(
|
|
235
|
+
(metamodel: DataSpaceExpertise): DataSpaceExpertise => {
|
|
236
|
+
makeObservable(metamodel, {
|
|
237
|
+
description: observable,
|
|
238
|
+
expertIds: observable,
|
|
239
|
+
hashCode: computed,
|
|
240
|
+
});
|
|
241
|
+
|
|
242
|
+
return metamodel;
|
|
243
|
+
},
|
|
244
|
+
);
|
|
245
|
+
|
|
246
|
+
const observe_DataSpaceSupportFullInfo = skipObserved(
|
|
247
|
+
(metamodel: DataSpaceSupportFullInfo): DataSpaceSupportFullInfo => {
|
|
248
|
+
observe_Abstract_DataSpaceSupportInfo(metamodel);
|
|
249
|
+
|
|
250
|
+
makeObservable(metamodel, {
|
|
251
|
+
documentation: observable,
|
|
252
|
+
website: observable,
|
|
253
|
+
faqUrl: observable,
|
|
254
|
+
supportUrl: observable,
|
|
255
|
+
emails: observable,
|
|
256
|
+
expertise: observable,
|
|
257
|
+
hashCode: computed,
|
|
258
|
+
});
|
|
259
|
+
|
|
260
|
+
if (metamodel.documentation) {
|
|
261
|
+
observe_DataSpaceLink(metamodel.documentation);
|
|
262
|
+
}
|
|
263
|
+
if (metamodel.website) {
|
|
264
|
+
observe_DataSpaceLink(metamodel.website);
|
|
265
|
+
}
|
|
266
|
+
if (metamodel.faqUrl) {
|
|
267
|
+
observe_DataSpaceLink(metamodel.faqUrl);
|
|
268
|
+
}
|
|
269
|
+
if (metamodel.supportUrl) {
|
|
270
|
+
observe_DataSpaceLink(metamodel.supportUrl);
|
|
271
|
+
}
|
|
272
|
+
metamodel.emails?.forEach(observe_DataSpaceEmail);
|
|
273
|
+
metamodel.expertise?.forEach(observe_DataSpaceExpertise);
|
|
274
|
+
|
|
275
|
+
return metamodel;
|
|
276
|
+
},
|
|
277
|
+
);
|
|
278
|
+
|
|
205
279
|
export const observe_DataSpaceSupportInfo = (
|
|
206
280
|
metamodel: DataSpaceSupportInfo,
|
|
207
281
|
): DataSpaceSupportInfo => {
|
|
@@ -209,10 +283,24 @@ export const observe_DataSpaceSupportInfo = (
|
|
|
209
283
|
return observe_DataSpaceSupportEmail(metamodel);
|
|
210
284
|
} else if (metamodel instanceof DataSpaceSupportCombinedInfo) {
|
|
211
285
|
return observe_DataSpaceSupportCombinedInfo(metamodel);
|
|
286
|
+
} else if (metamodel instanceof DataSpaceSupportFullInfo) {
|
|
287
|
+
return observe_DataSpaceSupportFullInfo(metamodel);
|
|
212
288
|
}
|
|
213
289
|
return metamodel;
|
|
214
290
|
};
|
|
215
291
|
|
|
292
|
+
export const observe_DataSpaceOperationalMetadata = skipObserved(
|
|
293
|
+
(metamodel: OperationalMetadata): OperationalMetadata => {
|
|
294
|
+
makeObservable(metamodel, {
|
|
295
|
+
coverageRegions: observable,
|
|
296
|
+
updateFrequency: observable,
|
|
297
|
+
hashCode: computed,
|
|
298
|
+
});
|
|
299
|
+
|
|
300
|
+
return metamodel;
|
|
301
|
+
},
|
|
302
|
+
);
|
|
303
|
+
|
|
216
304
|
export const observe_DataSpace = skipObserved(
|
|
217
305
|
(metamodel: DataSpace): DataSpace => {
|
|
218
306
|
observe_Abstract_PackageableElement(metamodel);
|
|
@@ -226,6 +314,7 @@ export const observe_DataSpace = skipObserved(
|
|
|
226
314
|
executables: observable,
|
|
227
315
|
diagrams: observable,
|
|
228
316
|
supportInfo: observable,
|
|
317
|
+
operationalMetadata: observable,
|
|
229
318
|
_elementHashCode: override,
|
|
230
319
|
});
|
|
231
320
|
|
|
@@ -248,6 +337,9 @@ export const observe_DataSpace = skipObserved(
|
|
|
248
337
|
if (metamodel.supportInfo) {
|
|
249
338
|
observe_DataSpaceSupportInfo(metamodel.supportInfo);
|
|
250
339
|
}
|
|
340
|
+
if (metamodel.operationalMetadata) {
|
|
341
|
+
observe_DataSpaceOperationalMetadata(metamodel.operationalMetadata);
|
|
342
|
+
}
|
|
251
343
|
|
|
252
344
|
return metamodel;
|
|
253
345
|
},
|
|
@@ -45,6 +45,7 @@ export {
|
|
|
45
45
|
observe_DataSpaceExecutable,
|
|
46
46
|
observe_DataSpaceExecutionContext,
|
|
47
47
|
observe_DataSpaceMappingProvider,
|
|
48
|
+
observe_DataSpaceOperationalMetadata,
|
|
48
49
|
observe_DataSpaceSupportInfo,
|
|
49
50
|
} from '../graph-manager/action/changeDetection/DSL_DataSpace_ObserverHelper.js';
|
|
50
51
|
export {
|
|
@@ -23,8 +23,12 @@ import {
|
|
|
23
23
|
V1_DataSpaceExecutionContext,
|
|
24
24
|
V1_DataSpaceMappingProvider,
|
|
25
25
|
V1_DataSpacePackageableElementExecutable,
|
|
26
|
+
V1_DataSpaceEmail,
|
|
27
|
+
V1_DataSpaceExpertise,
|
|
28
|
+
V1_DataSpaceLink,
|
|
26
29
|
V1_DataSpaceSupportCombinedInfo,
|
|
27
30
|
V1_DataSpaceSupportEmail,
|
|
31
|
+
V1_DataSpaceSupportFullInfo,
|
|
28
32
|
V1_DataSpaceTemplateExecutable,
|
|
29
33
|
} from './v1/model/packageableElements/dataSpace/V1_DSL_DataSpace_DataSpace.js';
|
|
30
34
|
import {
|
|
@@ -53,8 +57,12 @@ import {
|
|
|
53
57
|
DataSpace,
|
|
54
58
|
DataSpaceExecutionContext,
|
|
55
59
|
DataSpaceMappingProvider,
|
|
60
|
+
DataSpaceEmail,
|
|
61
|
+
DataSpaceExpertise,
|
|
62
|
+
DataSpaceLink,
|
|
56
63
|
DataSpaceSupportCombinedInfo,
|
|
57
64
|
DataSpaceSupportEmail,
|
|
65
|
+
DataSpaceSupportFullInfo,
|
|
58
66
|
DataSpaceDiagram,
|
|
59
67
|
DataSpaceElementPointer,
|
|
60
68
|
DataSpaceExecutableTemplate,
|
|
@@ -85,6 +93,9 @@ import {
|
|
|
85
93
|
type V1_SavedQueryExecutionBuilder,
|
|
86
94
|
type V1_ElementPointerType,
|
|
87
95
|
type V1_RawLambda,
|
|
96
|
+
type V1_DeliveryFrequency,
|
|
97
|
+
type V1_DataProductRegion,
|
|
98
|
+
V1_DataProductOperationalMetadata,
|
|
88
99
|
V1_taggedValueModelSchema,
|
|
89
100
|
PackageableElementExplicitReference,
|
|
90
101
|
V1_PackageableElementPointer,
|
|
@@ -105,6 +116,9 @@ import {
|
|
|
105
116
|
V1_buildEmbeddedData,
|
|
106
117
|
V1_transformEmbeddedData,
|
|
107
118
|
DataElementReference,
|
|
119
|
+
OperationalMetadata,
|
|
120
|
+
type DeliveryFrequency,
|
|
121
|
+
type Region,
|
|
108
122
|
V1_DataElementReference,
|
|
109
123
|
QueryDataSpaceExecutionContextInfo,
|
|
110
124
|
generateFunctionPrettyName,
|
|
@@ -120,6 +134,111 @@ export const DATA_SPACE_ELEMENT_CLASSIFIER_PATH =
|
|
|
120
134
|
|
|
121
135
|
export const DATA_SPACE_ELEMENT_POINTER = 'DATASPACE';
|
|
122
136
|
|
|
137
|
+
const V1_buildDataSpaceLink = (protocol: V1_DataSpaceLink): DataSpaceLink => {
|
|
138
|
+
const link = new DataSpaceLink();
|
|
139
|
+
link.label = protocol.label;
|
|
140
|
+
link.url = guaranteeNonEmptyString(
|
|
141
|
+
protocol.url,
|
|
142
|
+
`Data product support link 'url' field is missing or empty`,
|
|
143
|
+
);
|
|
144
|
+
return link;
|
|
145
|
+
};
|
|
146
|
+
|
|
147
|
+
const V1_buildDataSpaceEmail = (
|
|
148
|
+
protocol: V1_DataSpaceEmail,
|
|
149
|
+
): DataSpaceEmail => {
|
|
150
|
+
const email = new DataSpaceEmail();
|
|
151
|
+
email.title = guaranteeNonEmptyString(
|
|
152
|
+
protocol.title,
|
|
153
|
+
`Data product support email 'title' field is missing or empty`,
|
|
154
|
+
);
|
|
155
|
+
email.address = guaranteeNonEmptyString(
|
|
156
|
+
protocol.address,
|
|
157
|
+
`Data product support email 'address' field is missing or empty`,
|
|
158
|
+
);
|
|
159
|
+
return email;
|
|
160
|
+
};
|
|
161
|
+
|
|
162
|
+
const V1_buildDataSpaceExpertise = (
|
|
163
|
+
protocol: V1_DataSpaceExpertise,
|
|
164
|
+
): DataSpaceExpertise => {
|
|
165
|
+
const expertise = new DataSpaceExpertise();
|
|
166
|
+
expertise.description = protocol.description;
|
|
167
|
+
expertise.expertIds = protocol.expertIds;
|
|
168
|
+
return expertise;
|
|
169
|
+
};
|
|
170
|
+
|
|
171
|
+
export const V1_buildDataSpaceSupportFullInfo = (
|
|
172
|
+
protocol: V1_DataSpaceSupportFullInfo,
|
|
173
|
+
): DataSpaceSupportFullInfo => {
|
|
174
|
+
const fullInfo = new DataSpaceSupportFullInfo();
|
|
175
|
+
fullInfo.documentationUrl = protocol.documentationUrl;
|
|
176
|
+
fullInfo.documentation = protocol.documentation
|
|
177
|
+
? V1_buildDataSpaceLink(protocol.documentation)
|
|
178
|
+
: undefined;
|
|
179
|
+
fullInfo.website = protocol.website
|
|
180
|
+
? V1_buildDataSpaceLink(protocol.website)
|
|
181
|
+
: undefined;
|
|
182
|
+
fullInfo.faqUrl = protocol.faqUrl
|
|
183
|
+
? V1_buildDataSpaceLink(protocol.faqUrl)
|
|
184
|
+
: undefined;
|
|
185
|
+
fullInfo.supportUrl = protocol.supportUrl
|
|
186
|
+
? V1_buildDataSpaceLink(protocol.supportUrl)
|
|
187
|
+
: undefined;
|
|
188
|
+
fullInfo.emails = protocol.emails?.map(V1_buildDataSpaceEmail);
|
|
189
|
+
fullInfo.expertise = protocol.expertise?.map(V1_buildDataSpaceExpertise);
|
|
190
|
+
return fullInfo;
|
|
191
|
+
};
|
|
192
|
+
|
|
193
|
+
const V1_transformDataSpaceLink = (
|
|
194
|
+
metamodel: DataSpaceLink,
|
|
195
|
+
): V1_DataSpaceLink => {
|
|
196
|
+
const link = new V1_DataSpaceLink();
|
|
197
|
+
link.label = metamodel.label;
|
|
198
|
+
link.url = metamodel.url;
|
|
199
|
+
return link;
|
|
200
|
+
};
|
|
201
|
+
|
|
202
|
+
const V1_transformDataSpaceEmail = (
|
|
203
|
+
metamodel: DataSpaceEmail,
|
|
204
|
+
): V1_DataSpaceEmail => {
|
|
205
|
+
const email = new V1_DataSpaceEmail();
|
|
206
|
+
email.title = metamodel.title;
|
|
207
|
+
email.address = metamodel.address;
|
|
208
|
+
return email;
|
|
209
|
+
};
|
|
210
|
+
|
|
211
|
+
const V1_transformDataSpaceExpertise = (
|
|
212
|
+
metamodel: DataSpaceExpertise,
|
|
213
|
+
): V1_DataSpaceExpertise => {
|
|
214
|
+
const expertise = new V1_DataSpaceExpertise();
|
|
215
|
+
expertise.description = metamodel.description;
|
|
216
|
+
expertise.expertIds = metamodel.expertIds;
|
|
217
|
+
return expertise;
|
|
218
|
+
};
|
|
219
|
+
|
|
220
|
+
export const V1_transformDataSpaceSupportFullInfo = (
|
|
221
|
+
metamodel: DataSpaceSupportFullInfo,
|
|
222
|
+
): V1_DataSpaceSupportFullInfo => {
|
|
223
|
+
const fullInfo = new V1_DataSpaceSupportFullInfo();
|
|
224
|
+
fullInfo.documentationUrl = metamodel.documentationUrl;
|
|
225
|
+
fullInfo.documentation = metamodel.documentation
|
|
226
|
+
? V1_transformDataSpaceLink(metamodel.documentation)
|
|
227
|
+
: undefined;
|
|
228
|
+
fullInfo.website = metamodel.website
|
|
229
|
+
? V1_transformDataSpaceLink(metamodel.website)
|
|
230
|
+
: undefined;
|
|
231
|
+
fullInfo.faqUrl = metamodel.faqUrl
|
|
232
|
+
? V1_transformDataSpaceLink(metamodel.faqUrl)
|
|
233
|
+
: undefined;
|
|
234
|
+
fullInfo.supportUrl = metamodel.supportUrl
|
|
235
|
+
? V1_transformDataSpaceLink(metamodel.supportUrl)
|
|
236
|
+
: undefined;
|
|
237
|
+
fullInfo.emails = metamodel.emails?.map(V1_transformDataSpaceEmail);
|
|
238
|
+
fullInfo.expertise = metamodel.expertise?.map(V1_transformDataSpaceExpertise);
|
|
239
|
+
return fullInfo;
|
|
240
|
+
};
|
|
241
|
+
|
|
123
242
|
export class DSL_DataSpace_PureProtocolProcessorPlugin
|
|
124
243
|
extends PureProtocolProcessorPlugin
|
|
125
244
|
implements DSL_Mapping_PureProtocolProcessorPlugin_Extension
|
|
@@ -151,7 +270,7 @@ export class DSL_DataSpace_PureProtocolProcessorPlugin
|
|
|
151
270
|
const execContext = new DataSpaceExecutionContext();
|
|
152
271
|
execContext.name = guaranteeNonEmptyString(
|
|
153
272
|
contextProtocol.name,
|
|
154
|
-
`Data
|
|
273
|
+
`Data space execution context 'name' field is missing or empty`,
|
|
155
274
|
);
|
|
156
275
|
execContext.title = contextProtocol.title;
|
|
157
276
|
execContext.description = contextProtocol.description;
|
|
@@ -240,7 +359,7 @@ export class DSL_DataSpace_PureProtocolProcessorPlugin
|
|
|
240
359
|
return elementPointer;
|
|
241
360
|
}
|
|
242
361
|
throw new UnsupportedOperationError(
|
|
243
|
-
`Can't find data
|
|
362
|
+
`Can't find data space element (only allow packages, classes, enumerations, and associations) '${pointer.path}'`,
|
|
244
363
|
);
|
|
245
364
|
});
|
|
246
365
|
}
|
|
@@ -307,7 +426,7 @@ export class DSL_DataSpace_PureProtocolProcessorPlugin
|
|
|
307
426
|
);
|
|
308
427
|
} catch {
|
|
309
428
|
throw new UnsupportedOperationError(
|
|
310
|
-
`Can't analyze data
|
|
429
|
+
`Can't analyze data space executable with element in path: ${executableProtocol.executable.path}`,
|
|
311
430
|
executableProtocol,
|
|
312
431
|
);
|
|
313
432
|
}
|
|
@@ -315,7 +434,7 @@ export class DSL_DataSpace_PureProtocolProcessorPlugin
|
|
|
315
434
|
return executable;
|
|
316
435
|
} else {
|
|
317
436
|
throw new UnsupportedOperationError(
|
|
318
|
-
`Can't build data
|
|
437
|
+
`Can't build data space executable`,
|
|
319
438
|
executableProtocol,
|
|
320
439
|
);
|
|
321
440
|
}
|
|
@@ -345,7 +464,7 @@ export class DSL_DataSpace_PureProtocolProcessorPlugin
|
|
|
345
464
|
elementProtocol.supportInfo.documentationUrl;
|
|
346
465
|
supportEmail.address = guaranteeNonEmptyString(
|
|
347
466
|
elementProtocol.supportInfo.address,
|
|
348
|
-
`Data
|
|
467
|
+
`Data space support email 'address' field is missing or empty`,
|
|
349
468
|
);
|
|
350
469
|
element.supportInfo = supportEmail;
|
|
351
470
|
} else if (
|
|
@@ -360,13 +479,29 @@ export class DSL_DataSpace_PureProtocolProcessorPlugin
|
|
|
360
479
|
combinedInfo.faqUrl = elementProtocol.supportInfo.faqUrl;
|
|
361
480
|
combinedInfo.supportUrl = elementProtocol.supportInfo.supportUrl;
|
|
362
481
|
element.supportInfo = combinedInfo;
|
|
482
|
+
} else if (
|
|
483
|
+
elementProtocol.supportInfo instanceof V1_DataSpaceSupportFullInfo
|
|
484
|
+
) {
|
|
485
|
+
element.supportInfo = V1_buildDataSpaceSupportFullInfo(
|
|
486
|
+
elementProtocol.supportInfo,
|
|
487
|
+
);
|
|
363
488
|
} else {
|
|
364
489
|
throw new UnsupportedOperationError(
|
|
365
|
-
`Can't build data
|
|
490
|
+
`Can't build data space support info`,
|
|
366
491
|
elementProtocol.supportInfo,
|
|
367
492
|
);
|
|
368
493
|
}
|
|
369
494
|
}
|
|
495
|
+
if (elementProtocol.operationalMetadata) {
|
|
496
|
+
const operationalMetadata = new OperationalMetadata();
|
|
497
|
+
operationalMetadata.updateFrequency = elementProtocol
|
|
498
|
+
.operationalMetadata.updateFrequency as
|
|
499
|
+
| DeliveryFrequency
|
|
500
|
+
| undefined;
|
|
501
|
+
operationalMetadata.coverageRegions = elementProtocol
|
|
502
|
+
.operationalMetadata.coverageRegions as Region[] | undefined;
|
|
503
|
+
element.operationalMetadata = operationalMetadata;
|
|
504
|
+
}
|
|
370
505
|
},
|
|
371
506
|
}),
|
|
372
507
|
];
|
|
@@ -544,7 +679,7 @@ export class DSL_DataSpace_PureProtocolProcessorPlugin
|
|
|
544
679
|
return executableProtocol;
|
|
545
680
|
} else {
|
|
546
681
|
throw new UnsupportedOperationError(
|
|
547
|
-
`Can't transform data
|
|
682
|
+
`Can't transform data space executable`,
|
|
548
683
|
executable,
|
|
549
684
|
);
|
|
550
685
|
}
|
|
@@ -577,13 +712,27 @@ export class DSL_DataSpace_PureProtocolProcessorPlugin
|
|
|
577
712
|
combinedInfo.faqUrl = metamodel.supportInfo.faqUrl;
|
|
578
713
|
combinedInfo.supportUrl = metamodel.supportInfo.supportUrl;
|
|
579
714
|
protocol.supportInfo = combinedInfo;
|
|
715
|
+
} else if (
|
|
716
|
+
metamodel.supportInfo instanceof DataSpaceSupportFullInfo
|
|
717
|
+
) {
|
|
718
|
+
protocol.supportInfo = V1_transformDataSpaceSupportFullInfo(
|
|
719
|
+
metamodel.supportInfo,
|
|
720
|
+
);
|
|
580
721
|
} else {
|
|
581
722
|
throw new UnsupportedOperationError(
|
|
582
|
-
`Can't transform data
|
|
723
|
+
`Can't transform data space support info`,
|
|
583
724
|
metamodel.supportInfo,
|
|
584
725
|
);
|
|
585
726
|
}
|
|
586
727
|
}
|
|
728
|
+
if (metamodel.operationalMetadata) {
|
|
729
|
+
const operationalMetadata = new V1_DataProductOperationalMetadata();
|
|
730
|
+
operationalMetadata.updateFrequency = metamodel.operationalMetadata
|
|
731
|
+
.updateFrequency as V1_DeliveryFrequency | undefined;
|
|
732
|
+
operationalMetadata.coverageRegions = metamodel.operationalMetadata
|
|
733
|
+
.coverageRegions as V1_DataProductRegion[] | undefined;
|
|
734
|
+
protocol.operationalMetadata = operationalMetadata;
|
|
735
|
+
}
|
|
587
736
|
return protocol;
|
|
588
737
|
}
|
|
589
738
|
return undefined;
|
|
@@ -605,13 +754,13 @@ export class DSL_DataSpace_PureProtocolProcessorPlugin
|
|
|
605
754
|
);
|
|
606
755
|
const defaultExecutionContext = guaranteeNonNullable(
|
|
607
756
|
dataSpace.value.defaultExecutionContext,
|
|
608
|
-
`Can't include data
|
|
757
|
+
`Can't include data space '${protocol.includedDataSpace}' in a mapping: 'defaultExecutionContext' is required`,
|
|
609
758
|
);
|
|
610
759
|
const includedMapping = new MappingIncludeDataSpace(
|
|
611
760
|
parentMapping,
|
|
612
761
|
guaranteeNonNullable(
|
|
613
762
|
defaultExecutionContext.mapping,
|
|
614
|
-
`Can't include data
|
|
763
|
+
`Can't include data space '${protocol.includedDataSpace}' in a mapping: default execution context 'mapping' is required`,
|
|
615
764
|
),
|
|
616
765
|
dataSpace,
|
|
617
766
|
);
|
|
@@ -83,8 +83,10 @@ import {
|
|
|
83
83
|
V1_DataSpaceMappingProvider,
|
|
84
84
|
V1_DataSpaceSupportCombinedInfo,
|
|
85
85
|
V1_DataSpaceSupportEmail,
|
|
86
|
+
V1_DataSpaceSupportFullInfo,
|
|
86
87
|
V1_DataSpaceTemplateExecutable,
|
|
87
88
|
} from '../../../../graph-manager/protocol/pure/v1/model/packageableElements/dataSpace/V1_DSL_DataSpace_DataSpace.js';
|
|
89
|
+
import { V1_buildDataSpaceSupportFullInfo } from '../DSL_DataSpace_PureProtocolProcessorPlugin.js';
|
|
88
90
|
import {
|
|
89
91
|
DataSpaceAnalysisResult,
|
|
90
92
|
DataSpaceExecutableAnalysisResult,
|
|
@@ -195,7 +197,7 @@ export class V1_DSL_DataSpace_PureGraphManagerExtension extends DSL_DataSpace_Pu
|
|
|
195
197
|
ec.mapping?.path === currentQuery.mapping &&
|
|
196
198
|
ec.defaultRuntime?.path === currentQuery.runtime,
|
|
197
199
|
)[0]?.name,
|
|
198
|
-
'can`t find a corresponding executatin key based on query`s mapping and runtime in data
|
|
200
|
+
'can`t find a corresponding executatin key based on query`s mapping and runtime in data space',
|
|
199
201
|
);
|
|
200
202
|
}
|
|
201
203
|
|
|
@@ -227,7 +229,7 @@ export class V1_DSL_DataSpace_PureGraphManagerExtension extends DSL_DataSpace_Pu
|
|
|
227
229
|
} else {
|
|
228
230
|
actionState?.setMessage('Fetching project entities and dependencies...');
|
|
229
231
|
const entities = await entitiesRetriever();
|
|
230
|
-
actionState?.setMessage('Analyzing data
|
|
232
|
+
actionState?.setMessage('Analyzing data space...');
|
|
231
233
|
analysisResult = await engineClient.postWithTracing<
|
|
232
234
|
PlainObject<V1_DataSpaceAnalysisResult>
|
|
233
235
|
>(
|
|
@@ -350,7 +352,7 @@ export class V1_DSL_DataSpace_PureGraphManagerExtension extends DSL_DataSpace_Pu
|
|
|
350
352
|
analysisResult = result;
|
|
351
353
|
} else {
|
|
352
354
|
throw new GraphBuilderError(
|
|
353
|
-
'Fail to get a valid data
|
|
355
|
+
'Fail to get a valid data space analytics json from metadata, start building full graph',
|
|
354
356
|
);
|
|
355
357
|
}
|
|
356
358
|
const plugins =
|
|
@@ -402,14 +404,14 @@ export class V1_DSL_DataSpace_PureGraphManagerExtension extends DSL_DataSpace_Pu
|
|
|
402
404
|
let cacheResult: PlainObject<V1_DataSpaceAnalysisResult> | undefined;
|
|
403
405
|
try {
|
|
404
406
|
actionState?.setMessage(
|
|
405
|
-
'Fetching data
|
|
407
|
+
'Fetching data space analysis result from cache...',
|
|
406
408
|
);
|
|
407
409
|
cacheResult = await cacheRetriever();
|
|
408
410
|
} catch (error) {
|
|
409
411
|
assertErrorThrown(error);
|
|
410
412
|
this.graphManager.logService.warn(
|
|
411
413
|
LogEvent.create(GRAPH_MANAGER_EVENT.CACHE_MANAGER_FAILURE),
|
|
412
|
-
`Can't fetch data
|
|
414
|
+
`Can't fetch data space analysis result cache: ${error.message}`,
|
|
413
415
|
);
|
|
414
416
|
}
|
|
415
417
|
return cacheResult;
|
|
@@ -421,13 +423,13 @@ export class V1_DSL_DataSpace_PureGraphManagerExtension extends DSL_DataSpace_Pu
|
|
|
421
423
|
): Promise<PlainObject<StoredFileGeneration>[]> {
|
|
422
424
|
let cacheResult: PlainObject<StoredFileGeneration>[] = [];
|
|
423
425
|
try {
|
|
424
|
-
actionState?.setMessage('Fetching data
|
|
426
|
+
actionState?.setMessage('Fetching data space artifacts from cache...');
|
|
425
427
|
cacheResult = await cacheRetriever();
|
|
426
428
|
} catch (error) {
|
|
427
429
|
assertErrorThrown(error);
|
|
428
430
|
this.graphManager.logService.warn(
|
|
429
431
|
LogEvent.create(GRAPH_MANAGER_EVENT.CACHE_MANAGER_FAILURE),
|
|
430
|
-
`Can't fetch data
|
|
432
|
+
`Can't fetch data space artifacts cache: ${error.message}`,
|
|
431
433
|
);
|
|
432
434
|
}
|
|
433
435
|
return cacheResult;
|
|
@@ -593,7 +595,7 @@ export class V1_DSL_DataSpace_PureGraphManagerExtension extends DSL_DataSpace_Pu
|
|
|
593
595
|
analysisResult.supportInfo.documentationUrl;
|
|
594
596
|
supportEmail.address = guaranteeNonEmptyString(
|
|
595
597
|
analysisResult.supportInfo.address,
|
|
596
|
-
`Data
|
|
598
|
+
`Data space support email 'address' field is missing or empty`,
|
|
597
599
|
);
|
|
598
600
|
result.supportInfo = supportEmail;
|
|
599
601
|
} else if (
|
|
@@ -607,6 +609,12 @@ export class V1_DSL_DataSpace_PureGraphManagerExtension extends DSL_DataSpace_Pu
|
|
|
607
609
|
combinedInfo.supportUrl = analysisResult.supportInfo.supportUrl;
|
|
608
610
|
combinedInfo.emails = analysisResult.supportInfo.emails;
|
|
609
611
|
result.supportInfo = combinedInfo;
|
|
612
|
+
} else if (
|
|
613
|
+
analysisResult.supportInfo instanceof V1_DataSpaceSupportFullInfo
|
|
614
|
+
) {
|
|
615
|
+
result.supportInfo = V1_buildDataSpaceSupportFullInfo(
|
|
616
|
+
analysisResult.supportInfo,
|
|
617
|
+
);
|
|
610
618
|
}
|
|
611
619
|
// NOTE: we will relax the check and not throw here for unknown support info type
|
|
612
620
|
}
|
|
@@ -17,7 +17,14 @@
|
|
|
17
17
|
"name": "DataSpaceInfo",
|
|
18
18
|
"package": "meta::pure::metamodel::dataSpace::profiles",
|
|
19
19
|
"stereotypes": ["Verified", "InDevelopment", "External"],
|
|
20
|
-
"tags": [
|
|
20
|
+
"tags": [
|
|
21
|
+
"deprecationNotice",
|
|
22
|
+
"relatedDataSpaces",
|
|
23
|
+
"topics",
|
|
24
|
+
"vendorLicenseStatus",
|
|
25
|
+
"vendorRelationshipOwner",
|
|
26
|
+
"vendorProviderName"
|
|
27
|
+
]
|
|
21
28
|
}
|
|
22
29
|
]
|
|
23
30
|
}
|
|
@@ -454,7 +454,7 @@ const V1_deserializeDataSpaceExecutableInfo = (
|
|
|
454
454
|
);
|
|
455
455
|
default:
|
|
456
456
|
throw new UnsupportedOperationError(
|
|
457
|
-
`Can't deserialize data
|
|
457
|
+
`Can't deserialize data space executable info of type '${json._type}'`,
|
|
458
458
|
);
|
|
459
459
|
}
|
|
460
460
|
};
|
|
@@ -505,7 +505,7 @@ const V1_deserializeDataSpaceExecutableResult = (
|
|
|
505
505
|
);
|
|
506
506
|
default:
|
|
507
507
|
throw new UnsupportedOperationError(
|
|
508
|
-
`Can't deserialize data
|
|
508
|
+
`Can't deserialize data space executable result of type '${json._type}'`,
|
|
509
509
|
);
|
|
510
510
|
}
|
|
511
511
|
};
|
|
@@ -22,6 +22,7 @@ import {
|
|
|
22
22
|
type V1_PackageableElementVisitor,
|
|
23
23
|
type V1_StereotypePtr,
|
|
24
24
|
type V1_TaggedValue,
|
|
25
|
+
type V1_DataProductOperationalMetadata,
|
|
25
26
|
V1_PackageableElement,
|
|
26
27
|
type V1_DataElementReference,
|
|
27
28
|
} from '@finos/legend-graph';
|
|
@@ -185,6 +186,70 @@ export class V1_DataSpaceSupportCombinedInfo
|
|
|
185
186
|
}
|
|
186
187
|
}
|
|
187
188
|
|
|
189
|
+
export class V1_DataSpaceLink implements Hashable {
|
|
190
|
+
label?: string | undefined;
|
|
191
|
+
url!: string;
|
|
192
|
+
|
|
193
|
+
get hashCode(): string {
|
|
194
|
+
return hashArray([
|
|
195
|
+
DATA_SPACE_HASH_STRUCTURE.DATA_SPACE_LINK,
|
|
196
|
+
this.label ?? '',
|
|
197
|
+
this.url,
|
|
198
|
+
]);
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
export class V1_DataSpaceEmail implements Hashable {
|
|
203
|
+
title!: string;
|
|
204
|
+
address!: string;
|
|
205
|
+
|
|
206
|
+
get hashCode(): string {
|
|
207
|
+
return hashArray([
|
|
208
|
+
DATA_SPACE_HASH_STRUCTURE.DATA_SPACE_EMAIL,
|
|
209
|
+
this.title,
|
|
210
|
+
this.address,
|
|
211
|
+
]);
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
export class V1_DataSpaceExpertise implements Hashable {
|
|
216
|
+
description?: string | undefined;
|
|
217
|
+
expertIds?: string[] | undefined;
|
|
218
|
+
|
|
219
|
+
get hashCode(): string {
|
|
220
|
+
return hashArray([
|
|
221
|
+
DATA_SPACE_HASH_STRUCTURE.DATA_SPACE_EXPERTISE,
|
|
222
|
+
this.description ?? '',
|
|
223
|
+
hashArray(this.expertIds ?? []),
|
|
224
|
+
]);
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
export class V1_DataSpaceSupportFullInfo
|
|
229
|
+
extends V1_DataSpaceSupportInfo
|
|
230
|
+
implements Hashable
|
|
231
|
+
{
|
|
232
|
+
documentation?: V1_DataSpaceLink | undefined;
|
|
233
|
+
website?: V1_DataSpaceLink | undefined;
|
|
234
|
+
faqUrl?: V1_DataSpaceLink | undefined;
|
|
235
|
+
supportUrl?: V1_DataSpaceLink | undefined;
|
|
236
|
+
emails?: V1_DataSpaceEmail[] | undefined;
|
|
237
|
+
expertise?: V1_DataSpaceExpertise[] | undefined;
|
|
238
|
+
|
|
239
|
+
get hashCode(): string {
|
|
240
|
+
return hashArray([
|
|
241
|
+
DATA_SPACE_HASH_STRUCTURE.DATA_SPACE_SUPPORT_FULL_INFO,
|
|
242
|
+
this.documentationUrl ?? '',
|
|
243
|
+
this.documentation ?? '',
|
|
244
|
+
this.website ?? '',
|
|
245
|
+
this.faqUrl ?? '',
|
|
246
|
+
this.supportUrl ?? '',
|
|
247
|
+
hashArray(this.emails ?? []),
|
|
248
|
+
hashArray(this.expertise ?? []),
|
|
249
|
+
]);
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
|
|
188
253
|
export class V1_DataSpace extends V1_PackageableElement implements Hashable {
|
|
189
254
|
stereotypes: V1_StereotypePtr[] = [];
|
|
190
255
|
taggedValues: V1_TaggedValue[] = [];
|
|
@@ -196,6 +261,7 @@ export class V1_DataSpace extends V1_PackageableElement implements Hashable {
|
|
|
196
261
|
executables?: V1_DataSpaceExecutable[] | undefined;
|
|
197
262
|
diagrams?: V1_DataSpaceDiagram[] | undefined;
|
|
198
263
|
supportInfo?: V1_DataSpaceSupportInfo | undefined;
|
|
264
|
+
operationalMetadata?: V1_DataProductOperationalMetadata | undefined;
|
|
199
265
|
|
|
200
266
|
override get hashCode(): string {
|
|
201
267
|
return hashArray([
|
|
@@ -210,6 +276,7 @@ export class V1_DataSpace extends V1_PackageableElement implements Hashable {
|
|
|
210
276
|
hashArray(this.executables ?? []),
|
|
211
277
|
hashArray(this.diagrams ?? []),
|
|
212
278
|
this.supportInfo ?? '',
|
|
279
|
+
this.operationalMetadata ?? '',
|
|
213
280
|
]);
|
|
214
281
|
}
|
|
215
282
|
|