@finos/legend-extension-dsl-data-space 9.0.47 → 9.1.0
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/DSL_DataSpace_Const.d.ts +1 -0
- package/lib/DSL_DataSpace_Const.d.ts.map +1 -1
- package/lib/DSL_DataSpace_Const.js +2 -1
- package/lib/DSL_DataSpace_Const.js.map +1 -1
- package/lib/{stores/query/DSL_DataSpace_LegendQueryRouter.d.ts → application/query/DSL_DataSpace_LegendQueryNavigation.d.ts} +12 -11
- package/lib/application/query/DSL_DataSpace_LegendQueryNavigation.d.ts.map +1 -0
- package/lib/{stores/query/DSL_DataSpace_LegendQueryRouter.js → application/query/DSL_DataSpace_LegendQueryNavigation.js} +13 -12
- package/lib/application/query/DSL_DataSpace_LegendQueryNavigation.js.map +1 -0
- package/lib/{components → application}/studio/DSL_DataSpace_CodeSnippets.d.ts +1 -1
- package/lib/application/studio/DSL_DataSpace_CodeSnippets.d.ts.map +1 -0
- package/lib/{components → application}/studio/DSL_DataSpace_CodeSnippets.js +4 -0
- package/lib/application/studio/DSL_DataSpace_CodeSnippets.js.map +1 -0
- package/lib/application/studio/DSL_DataSpace_LegendStudioDocumentation.d.ts.map +1 -0
- package/lib/application/studio/DSL_DataSpace_LegendStudioDocumentation.js.map +1 -0
- package/lib/application/studio/DSL_DataSpace_LegendStudioNavigation.d.ts +28 -0
- package/lib/application/studio/DSL_DataSpace_LegendStudioNavigation.d.ts.map +1 -0
- package/lib/application/studio/DSL_DataSpace_LegendStudioNavigation.js +30 -0
- package/lib/application/studio/DSL_DataSpace_LegendStudioNavigation.js.map +1 -0
- package/lib/components/DSL_DataSpace_LegendApplicationPlugin.js +2 -1
- package/lib/components/DSL_DataSpace_LegendApplicationPlugin.js.map +1 -1
- package/lib/components/DataSpaceViewer.d.ts.map +1 -1
- package/lib/components/DataSpaceViewer.js +135 -45
- package/lib/components/DataSpaceViewer.js.map +1 -1
- package/lib/components/query/DSL_DataSpace_LegendQueryApplicationPlugin.d.ts.map +1 -1
- package/lib/components/query/DSL_DataSpace_LegendQueryApplicationPlugin.js +3 -3
- package/lib/components/query/DSL_DataSpace_LegendQueryApplicationPlugin.js.map +1 -1
- package/lib/components/query/DataSpaceQueryBuilder.d.ts.map +1 -1
- package/lib/components/query/DataSpaceQueryBuilder.js +6 -4
- package/lib/components/query/DataSpaceQueryBuilder.js.map +1 -1
- package/lib/components/query/DataSpaceQueryCreator.d.ts.map +1 -1
- package/lib/components/query/DataSpaceQueryCreator.js +8 -9
- package/lib/components/query/DataSpaceQueryCreator.js.map +1 -1
- package/lib/components/query/DataSpaceQuerySetup.d.ts.map +1 -1
- package/lib/components/query/DataSpaceQuerySetup.js +2 -1
- package/lib/components/query/DataSpaceQuerySetup.js.map +1 -1
- package/lib/components/studio/DSL_DataSpace_LegendStudioApplicationPlugin.d.ts +5 -1
- package/lib/components/studio/DSL_DataSpace_LegendStudioApplicationPlugin.d.ts.map +1 -1
- package/lib/components/studio/DSL_DataSpace_LegendStudioApplicationPlugin.js +41 -2
- package/lib/components/studio/DSL_DataSpace_LegendStudioApplicationPlugin.js.map +1 -1
- package/lib/components/studio/DataSpacePreview.d.ts +20 -0
- package/lib/components/studio/DataSpacePreview.d.ts.map +1 -0
- package/lib/components/studio/DataSpacePreview.js +52 -0
- package/lib/components/studio/DataSpacePreview.js.map +1 -0
- package/lib/components/studio/DataSpacePreviewAction.d.ts +26 -0
- package/lib/components/studio/DataSpacePreviewAction.d.ts.map +1 -0
- package/lib/components/studio/DataSpacePreviewAction.js +46 -0
- package/lib/components/studio/DataSpacePreviewAction.js.map +1 -0
- package/lib/graph/DSL_DataSpace_HashUtils.d.ts +2 -0
- package/lib/graph/DSL_DataSpace_HashUtils.d.ts.map +1 -1
- package/lib/graph/DSL_DataSpace_HashUtils.js +2 -0
- package/lib/graph/DSL_DataSpace_HashUtils.js.map +1 -1
- package/lib/graph/metamodel/pure/model/packageableElements/dataSpace/DSL_DataSpace_DataSpace.d.ts +5 -3
- 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 +6 -4
- package/lib/graph/metamodel/pure/model/packageableElements/dataSpace/DSL_DataSpace_DataSpace.js.map +1 -1
- package/lib/graphManager/action/analytics/DataSpaceAnalysis.d.ts +10 -0
- package/lib/graphManager/action/analytics/DataSpaceAnalysis.d.ts.map +1 -1
- package/lib/graphManager/action/analytics/DataSpaceAnalysis.js +18 -0
- package/lib/graphManager/action/analytics/DataSpaceAnalysis.js.map +1 -1
- package/lib/graphManager/action/analytics/HACKY__DataSpaceUsageShowcase.d.ts +57 -0
- package/lib/graphManager/action/analytics/HACKY__DataSpaceUsageShowcase.d.ts.map +1 -0
- package/lib/graphManager/action/analytics/HACKY__DataSpaceUsageShowcase.js +209 -0
- package/lib/graphManager/action/analytics/HACKY__DataSpaceUsageShowcase.js.map +1 -0
- package/lib/graphManager/protocol/pure/DSL_DataSpace_PureProtocolProcessorPlugin.d.ts.map +1 -1
- package/lib/graphManager/protocol/pure/DSL_DataSpace_PureProtocolProcessorPlugin.js +13 -1
- package/lib/graphManager/protocol/pure/DSL_DataSpace_PureProtocolProcessorPlugin.js.map +1 -1
- package/lib/graphManager/protocol/pure/v1/V1_DSL_DataSpace_PureGraphManagerExtension.d.ts.map +1 -1
- package/lib/graphManager/protocol/pure/v1/V1_DSL_DataSpace_PureGraphManagerExtension.js +28 -4
- package/lib/graphManager/protocol/pure/v1/V1_DSL_DataSpace_PureGraphManagerExtension.js.map +1 -1
- package/lib/graphManager/protocol/pure/v1/engine/analytics/V1_DataSpaceAnalysis.d.ts +24 -0
- package/lib/graphManager/protocol/pure/v1/engine/analytics/V1_DataSpaceAnalysis.d.ts.map +1 -1
- package/lib/graphManager/protocol/pure/v1/engine/analytics/V1_DataSpaceAnalysis.js +79 -3
- package/lib/graphManager/protocol/pure/v1/engine/analytics/V1_DataSpaceAnalysis.js.map +1 -1
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/dataSpace/V1_DSL_DataSpace_DataSpace.d.ts +3 -2
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/dataSpace/V1_DSL_DataSpace_DataSpace.d.ts.map +1 -1
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/dataSpace/V1_DSL_DataSpace_DataSpace.js +6 -4
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/dataSpace/V1_DSL_DataSpace_DataSpace.js.map +1 -1
- package/lib/graphManager/protocol/pure/v1/transformation/pureProtocol/V1_DSL_DataSpace_ProtocolHelper.d.ts.map +1 -1
- package/lib/graphManager/protocol/pure/v1/transformation/pureProtocol/V1_DSL_DataSpace_ProtocolHelper.js +7 -17
- package/lib/graphManager/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 +4 -4
- package/lib/stores/DataSpaceViewerState.d.ts +13 -8
- package/lib/stores/DataSpaceViewerState.d.ts.map +1 -1
- package/lib/stores/DataSpaceViewerState.js +11 -6
- package/lib/stores/DataSpaceViewerState.js.map +1 -1
- package/lib/stores/query/DataSpaceAdvancedSearchState.js +1 -1
- package/lib/stores/query/DataSpaceAdvancedSearchState.js.map +1 -1
- package/lib/stores/query/DataSpaceQueryCreatorStore.d.ts +1 -0
- package/lib/stores/query/DataSpaceQueryCreatorStore.d.ts.map +1 -1
- package/lib/stores/query/DataSpaceQueryCreatorStore.js +10 -2
- package/lib/stores/query/DataSpaceQueryCreatorStore.js.map +1 -1
- package/lib/stores/query/DataSpaceQuerySetupStore.js +1 -1
- package/lib/stores/query/DataSpaceQuerySetupStore.js.map +1 -1
- package/lib/stores/studio/DataSpacePreviewState.d.ts +30 -0
- package/lib/stores/studio/DataSpacePreviewState.d.ts.map +1 -0
- package/lib/stores/studio/DataSpacePreviewState.js +85 -0
- package/lib/stores/studio/DataSpacePreviewState.js.map +1 -0
- package/lib/stores/studio/DataSpacePreviewStore.d.ts +34 -0
- package/lib/stores/studio/DataSpacePreviewStore.d.ts.map +1 -0
- package/lib/stores/studio/DataSpacePreviewStore.js +98 -0
- package/lib/stores/studio/DataSpacePreviewStore.js.map +1 -0
- package/package.json +15 -15
- package/src/DSL_DataSpace_Const.ts +2 -1
- package/src/{stores/query/DSL_DataSpace_LegendQueryRouter.ts → application/query/DSL_DataSpace_LegendQueryNavigation.ts} +17 -18
- package/src/{components → application}/studio/DSL_DataSpace_CodeSnippets.ts +4 -0
- package/src/application/studio/DSL_DataSpace_LegendStudioNavigation.ts +53 -0
- package/src/components/DataSpaceViewer.tsx +552 -109
- package/src/components/query/DSL_DataSpace_LegendQueryApplicationPlugin.tsx +5 -4
- package/src/components/query/DataSpaceQueryBuilder.tsx +6 -4
- package/src/components/query/DataSpaceQueryCreator.tsx +12 -23
- package/src/components/query/DataSpaceQuerySetup.tsx +2 -1
- package/src/components/studio/DSL_DataSpace_LegendStudioApplicationPlugin.tsx +52 -2
- package/src/components/studio/DataSpacePreview.tsx +129 -0
- package/src/components/studio/DataSpacePreviewAction.tsx +127 -0
- package/src/graph/DSL_DataSpace_HashUtils.ts +2 -0
- package/src/graph/metamodel/pure/model/packageableElements/dataSpace/DSL_DataSpace_DataSpace.ts +15 -4
- package/src/graphManager/action/analytics/DataSpaceAnalysis.ts +31 -0
- package/src/graphManager/action/analytics/HACKY__DataSpaceUsageShowcase.ts +313 -0
- package/src/graphManager/protocol/pure/DSL_DataSpace_PureProtocolProcessorPlugin.ts +25 -0
- package/src/graphManager/protocol/pure/v1/V1_DSL_DataSpace_PureGraphManagerExtension.ts +66 -3
- package/src/graphManager/protocol/pure/v1/engine/analytics/V1_DataSpaceAnalysis.ts +110 -1
- package/src/graphManager/protocol/pure/v1/model/packageableElements/dataSpace/V1_DSL_DataSpace_DataSpace.ts +6 -4
- package/src/graphManager/protocol/pure/v1/transformation/pureProtocol/V1_DSL_DataSpace_ProtocolHelper.ts +13 -53
- package/src/stores/DataSpaceViewerState.ts +25 -14
- package/src/stores/query/DataSpaceAdvancedSearchState.ts +1 -1
- package/src/stores/query/DataSpaceQueryCreatorStore.ts +13 -1
- package/src/stores/query/DataSpaceQuerySetupStore.ts +1 -1
- package/src/stores/studio/DataSpacePreviewState.ts +150 -0
- package/src/stores/studio/DataSpacePreviewStore.ts +172 -0
- package/tsconfig.json +10 -5
- package/tsconfig.package.json +1 -2
- package/lib/components/studio/DSL_DataSpace_CodeSnippets.d.ts.map +0 -1
- package/lib/components/studio/DSL_DataSpace_CodeSnippets.js.map +0 -1
- package/lib/components/studio/DSL_DataSpace_LegendStudioDocumentation.d.ts.map +0 -1
- package/lib/components/studio/DSL_DataSpace_LegendStudioDocumentation.js.map +0 -1
- package/lib/stores/query/DSL_DataSpace_LegendQueryRouter.d.ts.map +0 -1
- package/lib/stores/query/DSL_DataSpace_LegendQueryRouter.js.map +0 -1
- /package/lib/{components → application}/studio/DSL_DataSpace_LegendStudioDocumentation.d.ts +0 -0
- /package/lib/{components → application}/studio/DSL_DataSpace_LegendStudioDocumentation.js +0 -0
- /package/src/{components → application}/studio/DSL_DataSpace_LegendStudioDocumentation.ts +0 -0
|
@@ -0,0 +1,313 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2020-present, Goldman Sachs
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import { Randomizer, uuid } from '@finos/legend-shared';
|
|
18
|
+
import { action, makeObservable, observable } from 'mobx';
|
|
19
|
+
|
|
20
|
+
export abstract class HACKY__DataSpaceUsageShowcaseSampleOutput {}
|
|
21
|
+
|
|
22
|
+
export abstract class HACKY__DataSpaceUsageShowcaseOutputDescription {
|
|
23
|
+
readonly sampleOutput!: HACKY__DataSpaceUsageShowcaseSampleOutput;
|
|
24
|
+
|
|
25
|
+
constructor(sampleOutput: HACKY__DataSpaceUsageShowcaseSampleOutput) {
|
|
26
|
+
this.sampleOutput = sampleOutput;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
type SampleData = boolean | string | number | undefined;
|
|
31
|
+
|
|
32
|
+
export class HACKY__DataSpaceUsageShowcaseTDSSampleOutput extends HACKY__DataSpaceUsageShowcaseSampleOutput {
|
|
33
|
+
readonly headers: string[] = [];
|
|
34
|
+
readonly rows: SampleData[][] = [];
|
|
35
|
+
|
|
36
|
+
constructor(headers: string[], rows: SampleData[][]) {
|
|
37
|
+
super();
|
|
38
|
+
this.headers = headers;
|
|
39
|
+
this.rows = rows;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
class HACKY__DataSpaceUsageShowcaseTDSColumnInfo {
|
|
44
|
+
readonly uuid = uuid();
|
|
45
|
+
readonly name!: string;
|
|
46
|
+
readonly description?: string | undefined;
|
|
47
|
+
readonly sampleValues: SampleData[] = [];
|
|
48
|
+
|
|
49
|
+
constructor(
|
|
50
|
+
name: string,
|
|
51
|
+
description: string | undefined,
|
|
52
|
+
sampleValues: SampleData[],
|
|
53
|
+
) {
|
|
54
|
+
this.name = name;
|
|
55
|
+
this.description = description;
|
|
56
|
+
this.sampleValues = sampleValues;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
const generateTDSSampleOutput = (
|
|
61
|
+
columns: HACKY__DataSpaceUsageShowcaseTDSColumnInfo[],
|
|
62
|
+
rowCount = 10,
|
|
63
|
+
): SampleData[][] => {
|
|
64
|
+
const randomizer = new Randomizer();
|
|
65
|
+
const data: SampleData[][] = [];
|
|
66
|
+
for (let i = 0; i < rowCount; ++i) {
|
|
67
|
+
const rowData: SampleData[] = [];
|
|
68
|
+
columns.forEach((column) => {
|
|
69
|
+
if (column.sampleValues.length) {
|
|
70
|
+
rowData.push(randomizer.getRandomItemInCollection(column.sampleValues));
|
|
71
|
+
} else {
|
|
72
|
+
rowData.push(undefined);
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
data.push(rowData);
|
|
76
|
+
}
|
|
77
|
+
return data;
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
export class HACKY__DataSpaceUsageShowcaseTDSOutputDescription extends HACKY__DataSpaceUsageShowcaseOutputDescription {
|
|
81
|
+
readonly columns: HACKY__DataSpaceUsageShowcaseTDSColumnInfo[] = [];
|
|
82
|
+
|
|
83
|
+
constructor(columns: HACKY__DataSpaceUsageShowcaseTDSColumnInfo[]) {
|
|
84
|
+
super(
|
|
85
|
+
new HACKY__DataSpaceUsageShowcaseTDSSampleOutput(
|
|
86
|
+
columns.map((col) => col.name),
|
|
87
|
+
generateTDSSampleOutput(columns),
|
|
88
|
+
),
|
|
89
|
+
);
|
|
90
|
+
this.columns = columns;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
export class HACKY__DataSpaceUsageShowcase {
|
|
95
|
+
readonly uuid = uuid();
|
|
96
|
+
readonly title!: string;
|
|
97
|
+
readonly description?: string | undefined;
|
|
98
|
+
readonly query!: string;
|
|
99
|
+
readonly outputDescription!: HACKY__DataSpaceUsageShowcaseOutputDescription;
|
|
100
|
+
|
|
101
|
+
showQuery = false;
|
|
102
|
+
showOutputDescription = true;
|
|
103
|
+
showSampleOutput = false;
|
|
104
|
+
|
|
105
|
+
constructor(
|
|
106
|
+
title: string,
|
|
107
|
+
description: string | undefined,
|
|
108
|
+
query: string,
|
|
109
|
+
outputDescription: HACKY__DataSpaceUsageShowcaseOutputDescription,
|
|
110
|
+
) {
|
|
111
|
+
makeObservable(this, {
|
|
112
|
+
showQuery: observable,
|
|
113
|
+
showOutputDescription: observable,
|
|
114
|
+
showSampleOutput: observable,
|
|
115
|
+
setShowQuery: action,
|
|
116
|
+
setShowOutputDescription: action,
|
|
117
|
+
setShowSampleOutput: action,
|
|
118
|
+
});
|
|
119
|
+
|
|
120
|
+
this.title = title;
|
|
121
|
+
this.description = description;
|
|
122
|
+
this.query = query;
|
|
123
|
+
this.outputDescription = outputDescription;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
setShowQuery(val: boolean): void {
|
|
127
|
+
this.showQuery = val;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
setShowOutputDescription(val: boolean): void {
|
|
131
|
+
this.showOutputDescription = val;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
setShowSampleOutput(val: boolean): void {
|
|
135
|
+
this.showSampleOutput = val;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
export const HACKY__SHOWCASE1 = new HACKY__DataSpaceUsageShowcase(
|
|
140
|
+
'Getting all COVID cases info',
|
|
141
|
+
`## Illa figens scelerum operum tonitribus cumque ego
|
|
142
|
+
|
|
143
|
+
Lorem markdownum meritis quoque narravere ea fallere caelumque enim magnoque! Et
|
|
144
|
+
animam trabeati Iuppiter quos ossa erat coniuge tu secrevit glaebas viam vulgus,
|
|
145
|
+
adsere eripitur saepe; eadem.
|
|
146
|
+
|
|
147
|
+
## Genualia quae
|
|
148
|
+
|
|
149
|
+
Troezenius sceptri respondere curasque et quidem epulae oculos inornatos letique
|
|
150
|
+
servaverat armi facta. Ille sentirent! Excipit Echecli [vos
|
|
151
|
+
optatis](http://ante.io/quid.aspx): quo stipite dixit in supremis nec fatetur
|
|
152
|
+
sentit; illa ultor. Multa abest terras facundis utque, omnique silvamque nam
|
|
153
|
+
quamvis iners.
|
|
154
|
+
|
|
155
|
+
real_basic = exbibyte - isoText / zebibyteLogicNorthbridge -
|
|
156
|
+
ripcordingHeatCard;
|
|
157
|
+
ppl(ppgaNosql(grayscaleFile(vpnBsod, file, balancing)), pop_cross_error(97 +
|
|
158
|
+
cmos_mac), w);
|
|
159
|
+
rich.fileClientTablet = impact.method_pharming(xml, w_external +
|
|
160
|
+
softwareGpsDirect);
|
|
161
|
+
search = -1;
|
|
162
|
+
|
|
163
|
+
## Trabes cepit mortalia`,
|
|
164
|
+
`|domain::COVIDData.all()->project(
|
|
165
|
+
[
|
|
166
|
+
x|$x.cases,
|
|
167
|
+
x|$x.caseType,
|
|
168
|
+
x|$x.fips,
|
|
169
|
+
x|$x.date
|
|
170
|
+
],
|
|
171
|
+
[
|
|
172
|
+
'Cases',
|
|
173
|
+
'Case Type',
|
|
174
|
+
'Fips',
|
|
175
|
+
'Date'
|
|
176
|
+
]
|
|
177
|
+
)`,
|
|
178
|
+
new HACKY__DataSpaceUsageShowcaseTDSOutputDescription([
|
|
179
|
+
new HACKY__DataSpaceUsageShowcaseTDSColumnInfo(
|
|
180
|
+
'Cases',
|
|
181
|
+
'The number of cases',
|
|
182
|
+
[123, 1416, 12453, 6234],
|
|
183
|
+
),
|
|
184
|
+
new HACKY__DataSpaceUsageShowcaseTDSColumnInfo(
|
|
185
|
+
'Case Type',
|
|
186
|
+
'Type of the reported case: e.g. Active, Confirmed',
|
|
187
|
+
['Active', 'Confirmed'],
|
|
188
|
+
),
|
|
189
|
+
new HACKY__DataSpaceUsageShowcaseTDSColumnInfo(
|
|
190
|
+
'FIPS',
|
|
191
|
+
'The FIPS code',
|
|
192
|
+
[1, 3, 5, 6, 7],
|
|
193
|
+
),
|
|
194
|
+
new HACKY__DataSpaceUsageShowcaseTDSColumnInfo(
|
|
195
|
+
'Date',
|
|
196
|
+
'The date of case report',
|
|
197
|
+
['2020-10-10', '2023-10-15', '2022-03-03'],
|
|
198
|
+
),
|
|
199
|
+
]),
|
|
200
|
+
);
|
|
201
|
+
|
|
202
|
+
export const HACKY__SHOWCASE2 = new HACKY__DataSpaceUsageShowcase(
|
|
203
|
+
'Getting COVID cases info for New York (FIPS: 20)',
|
|
204
|
+
`## Citharam laudibus et mensas Numitorque eademque
|
|
205
|
+
|
|
206
|
+
Lorem markdownum ferventia euntem adsensit tenetque fateri dirum intrasse
|
|
207
|
+
[Naupliades](http://promisistis.net/): quod. Aequali somni vulnera frontem tamen
|
|
208
|
+
circumdata quidem coniunctior rerum omnis reddite teneri Maiaque manebat
|
|
209
|
+
corpora, Acmon caputque demptos.
|
|
210
|
+
|
|
211
|
+
## E tepidisque
|
|
212
|
+
|
|
213
|
+
Fetus Sperchios, dumque bono spissus media ora desilit ingenti, lupo forsitan
|
|
214
|
+
*se*. Extra et una **iuventus pronus** crinis nodum lucis casus quae pronus et.
|
|
215
|
+
|
|
216
|
+
> **Latos fuit** bracchia contendere thalamos inmiti securibus Aeginam campus
|
|
217
|
+
> maestaeque urbis, sic nobis quae colebat, manu. Nec fecit descendat dare
|
|
218
|
+
> minus; a umbras iam inpetus **neci**. Quid talia, et pulsis, easdem, clamore,
|
|
219
|
+
> putetis. AI inultam loqui **antiquo Liberfemineae** damna; nostra riget
|
|
220
|
+
> liberat rogatus nisi recentibus. Putria turbineo terram virilem, est quoque
|
|
221
|
+
> *esse Sabina* qui profatur rauca, hunc.
|
|
222
|
+
`,
|
|
223
|
+
`|domain::COVIDData.all()->filter(
|
|
224
|
+
x|$x.demographics.fips == '20'
|
|
225
|
+
)->project(
|
|
226
|
+
[
|
|
227
|
+
x|$x.cases,
|
|
228
|
+
x|$x.caseType,
|
|
229
|
+
x|$x.fips,
|
|
230
|
+
x|$x.date,
|
|
231
|
+
x|$x.demographics.state
|
|
232
|
+
],
|
|
233
|
+
[
|
|
234
|
+
'Cases',
|
|
235
|
+
'Case Type',
|
|
236
|
+
'Fips',
|
|
237
|
+
'Date',
|
|
238
|
+
'Demographics/State'
|
|
239
|
+
]
|
|
240
|
+
)`,
|
|
241
|
+
new HACKY__DataSpaceUsageShowcaseTDSOutputDescription([
|
|
242
|
+
new HACKY__DataSpaceUsageShowcaseTDSColumnInfo(
|
|
243
|
+
'Cases',
|
|
244
|
+
'The number of cases',
|
|
245
|
+
[123, 1416, 12453, 6234],
|
|
246
|
+
),
|
|
247
|
+
new HACKY__DataSpaceUsageShowcaseTDSColumnInfo(
|
|
248
|
+
'Case Type',
|
|
249
|
+
'Type of the reported case: e.g. Active, Confirmed',
|
|
250
|
+
['Active', 'Confirmed'],
|
|
251
|
+
),
|
|
252
|
+
new HACKY__DataSpaceUsageShowcaseTDSColumnInfo(
|
|
253
|
+
'FIPS',
|
|
254
|
+
'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ante in nibh mauris cursus mattis. Placerat vestibulum lectus mauris ultrices eros. Dignissim diam quis enim lobortis scelerisque. Quam id leo in vitae turpis. Lobortis feugiat vivamus at augue eget arcu dictum varius duis. Tellus mauris a diam maecenas sed enim ut sem viverra. Nec feugiat nisl pretium fusce id. A iaculis at erat pellentesque adipiscing commodo. Turpis massa tincidunt dui ut ornare lectus sit. Nascetur ridiculus mus mauris vitae ultricies leo integer malesuada. Nisi lacus sed viverra tellus in hac habitasse platea dictumst. Commodo viverra maecenas accumsan lacus vel facilisis volutpat.',
|
|
255
|
+
[1, 3, 5, 6, 7],
|
|
256
|
+
),
|
|
257
|
+
new HACKY__DataSpaceUsageShowcaseTDSColumnInfo(
|
|
258
|
+
'Date',
|
|
259
|
+
'The date of case report',
|
|
260
|
+
['2020-10-10', '2023-10-15', '2022-03-03'],
|
|
261
|
+
),
|
|
262
|
+
new HACKY__DataSpaceUsageShowcaseTDSColumnInfo(
|
|
263
|
+
'State',
|
|
264
|
+
'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Imperdiet proin fermentum leo vel orci porta. Et tortor consequat id porta nibh venenatis cras. Ut etiam sit amet nisl purus in mollis. Iaculis eu non diam phasellus vestibulum lorem sed risus. Nisl vel pretium lectus quam id leo in vitae. Tellus molestie nunc non blandit massa enim nec dui. Lorem donec massa sapien faucibus et molestie ac. Pharetra convallis posuere morbi leo urna molestie at. Hac habitasse platea dictumst vestibulum rhoncus est pellentesque elit ullamcorper. Non blandit massa enim nec dui nunc mattis. Scelerisque eleifend donec pretium vulputate sapien. In cursus turpis massa tincidunt dui ut ornare lectus sit. Turpis in eu mi bibendum neque. Congue mauris rhoncus aenean vel elit scelerisque mauris pellentesque pulvinar. Elit ullamcorper dignissim cras tincidunt lobortis feugiat. Pellentesque dignissim enim sit amet. Morbi tristique senectus et netus et malesuada fames ac. At tellus at urna condimentum mattis pellentesque id',
|
|
265
|
+
['New York', 'Minesota', 'New Jersey', 'California'],
|
|
266
|
+
),
|
|
267
|
+
]),
|
|
268
|
+
);
|
|
269
|
+
|
|
270
|
+
export const HACKY__SHOWCASE3 = new HACKY__DataSpaceUsageShowcase(
|
|
271
|
+
'Getting COVID cases for today',
|
|
272
|
+
'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.',
|
|
273
|
+
`|domain::COVIDData.all()->filter(
|
|
274
|
+
x|$x.date ==
|
|
275
|
+
meta::pure::functions::date::today()
|
|
276
|
+
)->project(
|
|
277
|
+
[
|
|
278
|
+
x|$x.cases,
|
|
279
|
+
x|$x.caseType,
|
|
280
|
+
x|$x.date,
|
|
281
|
+
x|$x.demographics.state
|
|
282
|
+
],
|
|
283
|
+
[
|
|
284
|
+
'Cases',
|
|
285
|
+
'Case Type',
|
|
286
|
+
'Date',
|
|
287
|
+
'Fips',
|
|
288
|
+
'Demographics/State'
|
|
289
|
+
]
|
|
290
|
+
)`,
|
|
291
|
+
new HACKY__DataSpaceUsageShowcaseTDSOutputDescription([
|
|
292
|
+
new HACKY__DataSpaceUsageShowcaseTDSColumnInfo(
|
|
293
|
+
'Cases',
|
|
294
|
+
'The number of cases',
|
|
295
|
+
[123, 1416, 12453, 6234],
|
|
296
|
+
),
|
|
297
|
+
new HACKY__DataSpaceUsageShowcaseTDSColumnInfo(
|
|
298
|
+
'Case Type',
|
|
299
|
+
'Type of the reported case: e.g. Active, Confirmed',
|
|
300
|
+
['Active', 'Confirmed'],
|
|
301
|
+
),
|
|
302
|
+
new HACKY__DataSpaceUsageShowcaseTDSColumnInfo(
|
|
303
|
+
'Date',
|
|
304
|
+
'The date of case report',
|
|
305
|
+
['2020-10-10', '2023-10-15', '2022-03-03'],
|
|
306
|
+
),
|
|
307
|
+
new HACKY__DataSpaceUsageShowcaseTDSColumnInfo(
|
|
308
|
+
'State',
|
|
309
|
+
'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Imperdiet proin fermentum leo vel orci porta. Et tortor consequat id porta nibh venenatis cras. Ut etiam sit amet nisl purus in mollis. Iaculis eu non diam phasellus vestibulum lorem sed risus. Nisl vel pretium lectus quam id leo in vitae. Tellus molestie nunc non blandit massa enim nec dui. Lorem donec massa sapien faucibus et molestie ac. Pharetra convallis posuere morbi leo urna molestie at. Hac habitasse platea dictumst vestibulum rhoncus est pellentesque elit ullamcorper. Non blandit massa enim nec dui nunc mattis. Scelerisque eleifend donec pretium vulputate sapien. In cursus turpis massa tincidunt dui ut ornare lectus sit. Turpis in eu mi bibendum neque. Congue mauris rhoncus aenean vel elit scelerisque mauris pellentesque pulvinar. Elit ullamcorper dignissim cras tincidunt lobortis feugiat. Pellentesque dignissim enim sit amet. Morbi tristique senectus et netus et malesuada fames ac. At tellus at urna condimentum mattis pellentesque id',
|
|
310
|
+
['New York', 'Minesota', 'New Jersey', 'California'],
|
|
311
|
+
),
|
|
312
|
+
]),
|
|
313
|
+
);
|
|
@@ -62,6 +62,9 @@ import {
|
|
|
62
62
|
V1_ElementBuilder,
|
|
63
63
|
V1_initPackageableElement,
|
|
64
64
|
V1_buildFullPath,
|
|
65
|
+
Class,
|
|
66
|
+
Enumeration,
|
|
67
|
+
Association,
|
|
65
68
|
} from '@finos/legend-graph';
|
|
66
69
|
import {
|
|
67
70
|
V1_DSL_Diagram_PackageableElementPointerType,
|
|
@@ -157,6 +160,21 @@ export class DSL_DataSpace_PureProtocolProcessorPlugin extends PureProtocolProce
|
|
|
157
160
|
),
|
|
158
161
|
);
|
|
159
162
|
}
|
|
163
|
+
if (elementProtocol.elements) {
|
|
164
|
+
element.elements = elementProtocol.elements.map((pointer) => {
|
|
165
|
+
const el = context.graph.getElement(pointer.path);
|
|
166
|
+
if (
|
|
167
|
+
el instanceof Class ||
|
|
168
|
+
el instanceof Enumeration ||
|
|
169
|
+
el instanceof Association
|
|
170
|
+
) {
|
|
171
|
+
return PackageableElementExplicitReference.create(el);
|
|
172
|
+
}
|
|
173
|
+
throw new UnsupportedOperationError(
|
|
174
|
+
`Can't find data space element (only allow class, enumartion, association) '${pointer.path}'`,
|
|
175
|
+
);
|
|
176
|
+
});
|
|
177
|
+
}
|
|
160
178
|
if (elementProtocol.supportInfo) {
|
|
161
179
|
if (
|
|
162
180
|
elementProtocol.supportInfo instanceof V1_DataSpaceSupportEmail
|
|
@@ -264,6 +282,13 @@ export class DSL_DataSpace_PureProtocolProcessorPlugin extends PureProtocolProce
|
|
|
264
282
|
diagramPath.valueForSerialization ?? '',
|
|
265
283
|
),
|
|
266
284
|
);
|
|
285
|
+
protocol.elements = metamodel.elements?.map(
|
|
286
|
+
(elPath) =>
|
|
287
|
+
new V1_PackageableElementPointer(
|
|
288
|
+
PackageableElementPointerType.CLASS,
|
|
289
|
+
elPath.valueForSerialization ?? '',
|
|
290
|
+
),
|
|
291
|
+
);
|
|
267
292
|
if (metamodel.supportInfo) {
|
|
268
293
|
if (metamodel.supportInfo instanceof DataSpaceSupportEmail) {
|
|
269
294
|
const supportEmail = new V1_DataSpaceSupportEmail();
|
|
@@ -46,12 +46,18 @@ import { DataSpaceSupportEmail } from '../../../../graph/metamodel/pure/model/pa
|
|
|
46
46
|
import { V1_DataSpaceSupportEmail } from '../../../../graphManager/protocol/pure/v1/model/packageableElements/dataSpace/V1_DSL_DataSpace_DataSpace.js';
|
|
47
47
|
import {
|
|
48
48
|
DataSpaceAnalysisResult,
|
|
49
|
+
DataSpaceDocumentationEntry,
|
|
49
50
|
DataSpaceExecutionContextAnalysisResult,
|
|
50
51
|
DataSpaceStereotypeInfo,
|
|
51
52
|
DataSpaceTaggedValueInfo,
|
|
52
53
|
} from '../../../action/analytics/DataSpaceAnalysis.js';
|
|
53
54
|
import { DSL_DataSpace_PureGraphManagerExtension } from '../DSL_DataSpace_PureGraphManagerExtension.js';
|
|
54
|
-
import {
|
|
55
|
+
import {
|
|
56
|
+
V1_DataSpaceAnalysisResult,
|
|
57
|
+
V1_DataSpaceAssociationDocumentationEntry,
|
|
58
|
+
V1_DataSpaceClassDocumentationEntry,
|
|
59
|
+
V1_DataSpaceEnumerationDocumentationEntry,
|
|
60
|
+
} from './engine/analytics/V1_DataSpaceAnalysis.js';
|
|
55
61
|
|
|
56
62
|
const ANALYZE_DATA_SPACE_TRACE = 'analyze data space';
|
|
57
63
|
|
|
@@ -254,7 +260,7 @@ export class V1_DSL_DataSpace_PureGraphManagerExtension extends DSL_DataSpace_Pu
|
|
|
254
260
|
ActionState.create(),
|
|
255
261
|
);
|
|
256
262
|
|
|
257
|
-
//
|
|
263
|
+
// execution context
|
|
258
264
|
result.executionContextsIndex = new Map<
|
|
259
265
|
string,
|
|
260
266
|
DataSpaceExecutionContextAnalysisResult
|
|
@@ -280,11 +286,68 @@ export class V1_DSL_DataSpace_PureGraphManagerExtension extends DSL_DataSpace_Pu
|
|
|
280
286
|
result.executionContextsIndex.get(analysisResult.defaultExecutionContext),
|
|
281
287
|
);
|
|
282
288
|
|
|
283
|
-
//
|
|
289
|
+
// featured diagrams
|
|
284
290
|
result.featuredDiagrams = analysisResult.featuredDiagrams.map((path) =>
|
|
285
291
|
getDiagram(path, graph),
|
|
286
292
|
);
|
|
287
293
|
|
|
294
|
+
// elements documentation
|
|
295
|
+
result.elementDocs = analysisResult.elementDocs.flatMap((docEntry) => {
|
|
296
|
+
const entries: DataSpaceDocumentationEntry[] = [];
|
|
297
|
+
entries.push(
|
|
298
|
+
new DataSpaceDocumentationEntry(
|
|
299
|
+
docEntry.path,
|
|
300
|
+
undefined,
|
|
301
|
+
docEntry.docs.join('\n'),
|
|
302
|
+
),
|
|
303
|
+
);
|
|
304
|
+
if (docEntry instanceof V1_DataSpaceClassDocumentationEntry) {
|
|
305
|
+
docEntry.properties.forEach((property) => {
|
|
306
|
+
entries.push(
|
|
307
|
+
new DataSpaceDocumentationEntry(
|
|
308
|
+
docEntry.path,
|
|
309
|
+
property.name,
|
|
310
|
+
property.docs.join('\n'),
|
|
311
|
+
),
|
|
312
|
+
);
|
|
313
|
+
});
|
|
314
|
+
docEntry.inheritedProperties.forEach((property) => {
|
|
315
|
+
entries.push(
|
|
316
|
+
new DataSpaceDocumentationEntry(
|
|
317
|
+
docEntry.path,
|
|
318
|
+
property.name,
|
|
319
|
+
property.docs.join('\n'),
|
|
320
|
+
),
|
|
321
|
+
);
|
|
322
|
+
});
|
|
323
|
+
} else if (
|
|
324
|
+
docEntry instanceof V1_DataSpaceEnumerationDocumentationEntry
|
|
325
|
+
) {
|
|
326
|
+
docEntry.enumValues.forEach((enumValue) => {
|
|
327
|
+
entries.push(
|
|
328
|
+
new DataSpaceDocumentationEntry(
|
|
329
|
+
docEntry.path,
|
|
330
|
+
enumValue.name,
|
|
331
|
+
enumValue.docs.join('\n'),
|
|
332
|
+
),
|
|
333
|
+
);
|
|
334
|
+
});
|
|
335
|
+
} else if (
|
|
336
|
+
docEntry instanceof V1_DataSpaceAssociationDocumentationEntry
|
|
337
|
+
) {
|
|
338
|
+
docEntry.properties.forEach((property) => {
|
|
339
|
+
entries.push(
|
|
340
|
+
new DataSpaceDocumentationEntry(
|
|
341
|
+
docEntry.path,
|
|
342
|
+
property.name,
|
|
343
|
+
property.docs.join('\n'),
|
|
344
|
+
),
|
|
345
|
+
);
|
|
346
|
+
});
|
|
347
|
+
}
|
|
348
|
+
return entries;
|
|
349
|
+
});
|
|
350
|
+
|
|
288
351
|
return result;
|
|
289
352
|
}
|
|
290
353
|
}
|
|
@@ -15,9 +15,15 @@
|
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
17
|
import { V1_PureModelContextData } from '@finos/legend-graph';
|
|
18
|
-
import {
|
|
18
|
+
import {
|
|
19
|
+
SerializationFactory,
|
|
20
|
+
optionalCustom,
|
|
21
|
+
type PlainObject,
|
|
22
|
+
UnsupportedOperationError,
|
|
23
|
+
} from '@finos/legend-shared';
|
|
19
24
|
import {
|
|
20
25
|
createModelSchema,
|
|
26
|
+
custom,
|
|
21
27
|
list,
|
|
22
28
|
object,
|
|
23
29
|
optional,
|
|
@@ -71,6 +77,101 @@ class V1_DataSpaceExecutionContextAnalysisResult {
|
|
|
71
77
|
);
|
|
72
78
|
}
|
|
73
79
|
|
|
80
|
+
export class V1_DataSpaceBasicDocumentationEntry {
|
|
81
|
+
name!: string;
|
|
82
|
+
docs: string[] = [];
|
|
83
|
+
|
|
84
|
+
static readonly serialization = new SerializationFactory(
|
|
85
|
+
createModelSchema(V1_DataSpaceBasicDocumentationEntry, {
|
|
86
|
+
name: primitive(),
|
|
87
|
+
docs: list(primitive()),
|
|
88
|
+
}),
|
|
89
|
+
);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
export class V1_DataSpaceModelDocumentationEntry extends V1_DataSpaceBasicDocumentationEntry {
|
|
93
|
+
path!: string;
|
|
94
|
+
|
|
95
|
+
static override readonly serialization = new SerializationFactory(
|
|
96
|
+
createModelSchema(V1_DataSpaceModelDocumentationEntry, {
|
|
97
|
+
name: primitive(),
|
|
98
|
+
docs: list(primitive()),
|
|
99
|
+
path: primitive(),
|
|
100
|
+
}),
|
|
101
|
+
);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
export class V1_DataSpaceClassDocumentationEntry extends V1_DataSpaceModelDocumentationEntry {
|
|
105
|
+
inheritedProperties: V1_DataSpaceBasicDocumentationEntry[] = [];
|
|
106
|
+
properties: V1_DataSpaceBasicDocumentationEntry[] = [];
|
|
107
|
+
|
|
108
|
+
static override readonly serialization = new SerializationFactory(
|
|
109
|
+
createModelSchema(V1_DataSpaceClassDocumentationEntry, {
|
|
110
|
+
name: primitive(),
|
|
111
|
+
docs: list(primitive()),
|
|
112
|
+
path: primitive(),
|
|
113
|
+
inheritedProperties: list(object(V1_DataSpaceBasicDocumentationEntry)),
|
|
114
|
+
properties: list(object(V1_DataSpaceBasicDocumentationEntry)),
|
|
115
|
+
}),
|
|
116
|
+
);
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
export class V1_DataSpaceEnumerationDocumentationEntry extends V1_DataSpaceModelDocumentationEntry {
|
|
120
|
+
enumValues: V1_DataSpaceBasicDocumentationEntry[] = [];
|
|
121
|
+
|
|
122
|
+
static override readonly serialization = new SerializationFactory(
|
|
123
|
+
createModelSchema(V1_DataSpaceEnumerationDocumentationEntry, {
|
|
124
|
+
name: primitive(),
|
|
125
|
+
docs: list(primitive()),
|
|
126
|
+
enumValues: list(object(V1_DataSpaceBasicDocumentationEntry)),
|
|
127
|
+
path: primitive(),
|
|
128
|
+
}),
|
|
129
|
+
);
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
export class V1_DataSpaceAssociationDocumentationEntry extends V1_DataSpaceModelDocumentationEntry {
|
|
133
|
+
properties: V1_DataSpaceBasicDocumentationEntry[] = [];
|
|
134
|
+
|
|
135
|
+
static override readonly serialization = new SerializationFactory(
|
|
136
|
+
createModelSchema(V1_DataSpaceAssociationDocumentationEntry, {
|
|
137
|
+
name: primitive(),
|
|
138
|
+
docs: list(primitive()),
|
|
139
|
+
path: primitive(),
|
|
140
|
+
properties: list(object(V1_DataSpaceBasicDocumentationEntry)),
|
|
141
|
+
}),
|
|
142
|
+
);
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
enum V1_DataSpaceModelDocumentationEntryType {
|
|
146
|
+
MODEL = 'model',
|
|
147
|
+
CLASS = 'class',
|
|
148
|
+
ENUMERATION = 'enumeration',
|
|
149
|
+
ASSOCIATION = 'association',
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
function V1_deserializeModelDocumentationEntry(
|
|
153
|
+
json: PlainObject<V1_DataSpaceModelDocumentationEntry>,
|
|
154
|
+
): V1_DataSpaceModelDocumentationEntry {
|
|
155
|
+
switch (json._type) {
|
|
156
|
+
case V1_DataSpaceModelDocumentationEntryType.MODEL:
|
|
157
|
+
return V1_DataSpaceModelDocumentationEntry.serialization.fromJson(json);
|
|
158
|
+
case V1_DataSpaceModelDocumentationEntryType.CLASS:
|
|
159
|
+
return V1_DataSpaceClassDocumentationEntry.serialization.fromJson(json);
|
|
160
|
+
case V1_DataSpaceModelDocumentationEntryType.ENUMERATION:
|
|
161
|
+
return V1_DataSpaceEnumerationDocumentationEntry.serialization.fromJson(
|
|
162
|
+
json,
|
|
163
|
+
);
|
|
164
|
+
case V1_DataSpaceModelDocumentationEntryType.ASSOCIATION:
|
|
165
|
+
return V1_DataSpaceAssociationDocumentationEntry.serialization.fromJson(
|
|
166
|
+
json,
|
|
167
|
+
);
|
|
168
|
+
default:
|
|
169
|
+
throw new UnsupportedOperationError(
|
|
170
|
+
`Can't deserialize model documentation entry of type '${json._type}'`,
|
|
171
|
+
);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
|
|
74
175
|
export class V1_DataSpaceAnalysisResult {
|
|
75
176
|
name!: string;
|
|
76
177
|
package!: string;
|
|
@@ -90,6 +191,9 @@ export class V1_DataSpaceAnalysisResult {
|
|
|
90
191
|
|
|
91
192
|
featuredDiagrams: string[] = [];
|
|
92
193
|
|
|
194
|
+
elements: string[] = [];
|
|
195
|
+
elementDocs: V1_DataSpaceModelDocumentationEntry[] = [];
|
|
196
|
+
|
|
93
197
|
static readonly serialization = new SerializationFactory(
|
|
94
198
|
createModelSchema(V1_DataSpaceAnalysisResult, {
|
|
95
199
|
name: primitive(),
|
|
@@ -114,6 +218,11 @@ export class V1_DataSpaceAnalysisResult {
|
|
|
114
218
|
defaultExecutionContext: primitive(),
|
|
115
219
|
|
|
116
220
|
featuredDiagrams: list(primitive()),
|
|
221
|
+
|
|
222
|
+
elements: list(primitive()),
|
|
223
|
+
elementDocs: list(
|
|
224
|
+
custom(() => SKIP, V1_deserializeModelDocumentationEntry),
|
|
225
|
+
),
|
|
117
226
|
}),
|
|
118
227
|
);
|
|
119
228
|
}
|
|
@@ -62,11 +62,12 @@ export class V1_DataSpaceExecutionContext implements Hashable {
|
|
|
62
62
|
export class V1_DataSpace extends V1_PackageableElement implements Hashable {
|
|
63
63
|
stereotypes: V1_StereotypePtr[] = [];
|
|
64
64
|
taggedValues: V1_TaggedValue[] = [];
|
|
65
|
+
title?: string | undefined;
|
|
66
|
+
description?: string | undefined;
|
|
65
67
|
executionContexts!: V1_DataSpaceExecutionContext[];
|
|
66
68
|
defaultExecutionContext!: string;
|
|
67
69
|
featuredDiagrams?: V1_PackageableElementPointer[] | undefined;
|
|
68
|
-
|
|
69
|
-
description?: string | undefined;
|
|
70
|
+
elements?: V1_PackageableElementPointer[] | undefined;
|
|
70
71
|
supportInfo?: V1_DataSpaceSupportInfo | undefined;
|
|
71
72
|
|
|
72
73
|
override get hashCode(): string {
|
|
@@ -74,11 +75,12 @@ export class V1_DataSpace extends V1_PackageableElement implements Hashable {
|
|
|
74
75
|
DATA_SPACE_HASH_STRUCTURE.DATA_SPACE,
|
|
75
76
|
hashArray(this.stereotypes),
|
|
76
77
|
hashArray(this.taggedValues),
|
|
78
|
+
this.title ?? '',
|
|
79
|
+
this.description ?? '',
|
|
77
80
|
hashArray(this.executionContexts),
|
|
78
81
|
this.defaultExecutionContext,
|
|
79
82
|
hashArray((this.featuredDiagrams ?? []).map((pointer) => pointer.path)),
|
|
80
|
-
this.
|
|
81
|
-
this.description ?? '',
|
|
83
|
+
hashArray((this.elements ?? []).map((pointer) => pointer.path)),
|
|
82
84
|
this.supportInfo ?? '',
|
|
83
85
|
]);
|
|
84
86
|
}
|