@finos/legend-graph 32.5.2 → 32.5.3
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/graph-manager/AbstractPureGraphManager.d.ts +1 -0
- package/lib/graph-manager/AbstractPureGraphManager.d.ts.map +1 -1
- package/lib/graph-manager/AbstractPureGraphManager.js.map +1 -1
- package/lib/graph-manager/action/analytics/data-product/DataProductAnalysis.d.ts +4 -4
- package/lib/graph-manager/action/analytics/data-product/DataProductAnalysis.d.ts.map +1 -1
- package/lib/graph-manager/action/analytics/data-product/DataProductAnalysis.js.map +1 -1
- package/lib/graph-manager/action/query/Query.d.ts +2 -0
- package/lib/graph-manager/action/query/Query.d.ts.map +1 -1
- package/lib/graph-manager/action/query/Query.js +2 -0
- package/lib/graph-manager/action/query/Query.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_PureGraphManager.d.ts +9 -0
- package/lib/graph-manager/protocol/pure/v1/V1_PureGraphManager.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_PureGraphManager.js +90 -25
- package/lib/graph-manager/protocol/pure/v1/V1_PureGraphManager.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/engine/V1_EngineHelper.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/engine/V1_EngineHelper.js +3 -0
- package/lib/graph-manager/protocol/pure/v1/engine/V1_EngineHelper.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/engine/V1_EngineServerClient.d.ts +1 -0
- package/lib/graph-manager/protocol/pure/v1/engine/V1_EngineServerClient.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/engine/V1_EngineServerClient.js +2 -0
- package/lib/graph-manager/protocol/pure/v1/engine/V1_EngineServerClient.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/engine/V1_GraphManagerEngine.d.ts +1 -0
- package/lib/graph-manager/protocol/pure/v1/engine/V1_GraphManagerEngine.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/engine/V1_RemoteEngine.d.ts +1 -0
- package/lib/graph-manager/protocol/pure/v1/engine/V1_RemoteEngine.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/engine/V1_RemoteEngine.js +3 -0
- package/lib/graph-manager/protocol/pure/v1/engine/V1_RemoteEngine.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/engine/query/V1_Query.d.ts +2 -1
- package/lib/graph-manager/protocol/pure/v1/engine/query/V1_Query.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/engine/query/V1_Query.js +3 -1
- package/lib/graph-manager/protocol/pure/v1/engine/query/V1_Query.js.map +1 -1
- package/lib/package.json +1 -1
- package/package.json +1 -1
- package/src/graph-manager/AbstractPureGraphManager.ts +4 -0
- package/src/graph-manager/action/analytics/data-product/DataProductAnalysis.ts +11 -4
- package/src/graph-manager/action/query/Query.ts +2 -0
- package/src/graph-manager/protocol/pure/v1/V1_PureGraphManager.ts +219 -32
- package/src/graph-manager/protocol/pure/v1/engine/V1_EngineHelper.ts +3 -0
- package/src/graph-manager/protocol/pure/v1/engine/V1_EngineServerClient.ts +12 -0
- package/src/graph-manager/protocol/pure/v1/engine/V1_GraphManagerEngine.ts +5 -0
- package/src/graph-manager/protocol/pure/v1/engine/V1_RemoteEngine.ts +10 -0
- package/src/graph-manager/protocol/pure/v1/engine/query/V1_Query.ts +3 -1
|
@@ -34,7 +34,7 @@ export var V1_QueryExecutionContextType;
|
|
|
34
34
|
V1_QueryExecutionContextType["QUERY_DATASAPCE_EXECUTION_CONTEXT"] = "dataSpaceExecutionContext";
|
|
35
35
|
V1_QueryExecutionContextType["QUERY_DATAPRODUCT_NATIVE_EXECUTION_CONTEXT"] = "dataProductNativeExecutionContext";
|
|
36
36
|
V1_QueryExecutionContextType["QUERY_DATAPRODUCT_MODEL_ACCESS_EXECUTION_CONTEXT"] = "dataProductModelAccessExecutionContext";
|
|
37
|
-
V1_QueryExecutionContextType["QUERY_DATAPRODUCT_LAKEHOUSE_EXECUTION_CONTEXT"] = "
|
|
37
|
+
V1_QueryExecutionContextType["QUERY_DATAPRODUCT_LAKEHOUSE_EXECUTION_CONTEXT"] = "dataProductLakehouseAccessExecutionContext";
|
|
38
38
|
})(V1_QueryExecutionContextType || (V1_QueryExecutionContextType = {}));
|
|
39
39
|
export class V1_QueryExplicitExecutionContext extends V1_QueryExecutionContext {
|
|
40
40
|
mapping;
|
|
@@ -83,10 +83,12 @@ export class V1_DataProductModelAccessExecutionContext extends V1_QueryDataProdu
|
|
|
83
83
|
}
|
|
84
84
|
export class V1_DataProductLakehouseExecutionContext extends V1_QueryDataProductExecutionContext {
|
|
85
85
|
accessPointId;
|
|
86
|
+
accessGroupId;
|
|
86
87
|
static serialization = new SerializationFactory(createModelSchema(V1_DataProductLakehouseExecutionContext, {
|
|
87
88
|
_type: usingConstantValueSchema(V1_QueryExecutionContextType.QUERY_DATAPRODUCT_LAKEHOUSE_EXECUTION_CONTEXT),
|
|
88
89
|
dataProductPath: primitive(),
|
|
89
90
|
accessPointId: primitive(),
|
|
91
|
+
accessGroupId: primitive(),
|
|
90
92
|
}), {
|
|
91
93
|
deserializeNullAsUndefined: true,
|
|
92
94
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"V1_Query.js","sourceRoot":"","sources":["../../../../../../../src/graph-manager/protocol/pure/v1/engine/query/V1_Query.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EACzB,cAAc,EACd,wBAAwB,EACxB,gBAAgB,GAEjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,GAAG,EACH,SAAS,GACV,MAAM,WAAW,CAAC;AAGnB,OAAO,EACL,2BAA2B,EAC3B,yBAAyB,GAC1B,MAAM,sFAAsF,CAAC;AAE9F,MAAM,OAAO,sBAAsB;IACjC,IAAI,CAAU;IACd,OAAO,CAAU;IAEjB,MAAM,CAAU,aAAa,GAAG,IAAI,oBAAoB,CACtD,iBAAiB,CAAC,sBAAsB,EAAE;QACxC,IAAI,EAAE,SAAS,EAAE;QACjB,OAAO,EAAE,SAAS,EAAE;KACrB,CAAC,EACF;QACE,0BAA0B,EAAE,IAAI;KACjC,CACF,CAAC;;AAUJ,MAAM,OAAO,wBAAwB;CAAG;AAExC,MAAM,CAAN,IAAY,4BAMX;AAND,WAAY,4BAA4B;IACtC,6FAA6D,CAAA;IAC7D,+FAA+D,CAAA;IAC/D,gHAAgF,CAAA;IAChF,2HAA2F,CAAA;IAC3F,
|
|
1
|
+
{"version":3,"file":"V1_Query.js","sourceRoot":"","sources":["../../../../../../../src/graph-manager/protocol/pure/v1/engine/query/V1_Query.ts"],"names":[],"mappings":"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"}
|
package/lib/package.json
CHANGED
package/package.json
CHANGED
|
@@ -861,6 +861,10 @@ export abstract class AbstractPureGraphManager {
|
|
|
861
861
|
serviceUrl: string,
|
|
862
862
|
serviceId: string,
|
|
863
863
|
): Promise<void>;
|
|
864
|
+
abstract checkServiceRegisteredByPattern(
|
|
865
|
+
serviceServerUrl: string,
|
|
866
|
+
servicePattern: string,
|
|
867
|
+
): Promise<boolean>;
|
|
864
868
|
abstract runServicePostValidations(
|
|
865
869
|
service: Service,
|
|
866
870
|
graph: PureModel,
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
17
|
import type {
|
|
18
|
+
LakehouseAccessPoint,
|
|
18
19
|
ModelAccessPointGroup,
|
|
19
20
|
NativeModelExecutionContext,
|
|
20
21
|
} from '../../../../graph/metamodel/pure/dataProduct/DataProduct.js';
|
|
@@ -31,14 +32,20 @@ export class DataProductAnalysis {
|
|
|
31
32
|
}
|
|
32
33
|
|
|
33
34
|
export class DataProductAnalysisQueryResult {
|
|
34
|
-
targetMappingPath: string;
|
|
35
|
+
targetMappingPath: string | undefined;
|
|
35
36
|
dataProductAnalysis: DataProductAnalysis;
|
|
36
|
-
targetExecState:
|
|
37
|
+
targetExecState:
|
|
38
|
+
| NativeModelExecutionContext
|
|
39
|
+
| ModelAccessPointGroup
|
|
40
|
+
| LakehouseAccessPoint;
|
|
37
41
|
|
|
38
42
|
constructor(
|
|
39
|
-
targetMappingPath: string,
|
|
43
|
+
targetMappingPath: string | undefined,
|
|
40
44
|
dataProductAnalysis: DataProductAnalysis,
|
|
41
|
-
targetExecState:
|
|
45
|
+
targetExecState:
|
|
46
|
+
| NativeModelExecutionContext
|
|
47
|
+
| ModelAccessPointGroup
|
|
48
|
+
| LakehouseAccessPoint,
|
|
42
49
|
) {
|
|
43
50
|
this.targetMappingPath = targetMappingPath;
|
|
44
51
|
this.dataProductAnalysis = dataProductAnalysis;
|
|
@@ -60,6 +60,7 @@ export class QueryDataProductModelAccessExecutionContext extends QueryDataProduc
|
|
|
60
60
|
|
|
61
61
|
export class QueryDataProductLakehouseExecutionContext extends QueryDataProductExecutionContext {
|
|
62
62
|
accessPointId!: string;
|
|
63
|
+
accessGroupId!: string;
|
|
63
64
|
}
|
|
64
65
|
|
|
65
66
|
export interface QueryGridConfig {
|
|
@@ -184,6 +185,7 @@ export class QueryDataProductModelAccessExecutionContextInfo extends QueryExecut
|
|
|
184
185
|
export class QueryDataProductLakehouseExecutionContextInfo extends QueryExecutionContextInfo {
|
|
185
186
|
dataProductPath!: string;
|
|
186
187
|
accessPointId!: string;
|
|
188
|
+
accessGroupId!: string;
|
|
187
189
|
}
|
|
188
190
|
|
|
189
191
|
export interface QueryInfo {
|
|
@@ -381,8 +381,10 @@ import {
|
|
|
381
381
|
DataProductAnalysis,
|
|
382
382
|
} from '../../../action/analytics/data-product/DataProductAnalysis.js';
|
|
383
383
|
import {
|
|
384
|
+
AccessPointGroup,
|
|
384
385
|
DataProductAccessType,
|
|
385
386
|
DataProductElementScope,
|
|
387
|
+
LakehouseAccessPoint,
|
|
386
388
|
ModelAccessPointGroup,
|
|
387
389
|
NativeModelAccess,
|
|
388
390
|
NativeModelExecutionContext,
|
|
@@ -3760,46 +3762,222 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
3760
3762
|
dataProductAccessType: DataProductAccessType,
|
|
3761
3763
|
projectInfo: ProjectGAVCoordinates,
|
|
3762
3764
|
graphReport?: GraphManagerOperationReport,
|
|
3765
|
+
): Promise<DataProductAnalysisQueryResult> {
|
|
3766
|
+
switch (dataProductAccessType) {
|
|
3767
|
+
case DataProductAccessType.MODEL:
|
|
3768
|
+
return this.buildModelAccessDataProductAnalysis(
|
|
3769
|
+
artifact,
|
|
3770
|
+
dataProductPath,
|
|
3771
|
+
pureGraph,
|
|
3772
|
+
accessPointId,
|
|
3773
|
+
projectInfo,
|
|
3774
|
+
graphReport,
|
|
3775
|
+
);
|
|
3776
|
+
case DataProductAccessType.NATIVE:
|
|
3777
|
+
return this.buildNativeAccessDataProductAnalysis(
|
|
3778
|
+
artifact,
|
|
3779
|
+
dataProductPath,
|
|
3780
|
+
pureGraph,
|
|
3781
|
+
accessPointId,
|
|
3782
|
+
projectInfo,
|
|
3783
|
+
graphReport,
|
|
3784
|
+
);
|
|
3785
|
+
case DataProductAccessType.LAKEHOUSE:
|
|
3786
|
+
return this.buildLakehouseAccessDataProductAnalysis(
|
|
3787
|
+
artifact,
|
|
3788
|
+
dataProductPath,
|
|
3789
|
+
pureGraph,
|
|
3790
|
+
accessPointId,
|
|
3791
|
+
projectInfo,
|
|
3792
|
+
graphReport,
|
|
3793
|
+
);
|
|
3794
|
+
default:
|
|
3795
|
+
throw new UnsupportedOperationError(
|
|
3796
|
+
`Unsupported data product access type: '${dataProductAccessType}'`,
|
|
3797
|
+
);
|
|
3798
|
+
}
|
|
3799
|
+
}
|
|
3800
|
+
|
|
3801
|
+
private async buildModelAccessDataProductAnalysis(
|
|
3802
|
+
artifact: V1_DataProductArtifact,
|
|
3803
|
+
dataProductPath: string,
|
|
3804
|
+
pureGraph: PureModel,
|
|
3805
|
+
accessPointId: string,
|
|
3806
|
+
projectInfo: ProjectGAVCoordinates,
|
|
3807
|
+
graphReport?: GraphManagerOperationReport,
|
|
3763
3808
|
): Promise<DataProductAnalysisQueryResult> {
|
|
3764
3809
|
const modelAccessPointGroups = artifact.accessPointGroups.filter(
|
|
3765
3810
|
(group): group is V1_ModelAccessPointGroupInfo =>
|
|
3766
3811
|
group instanceof V1_ModelAccessPointGroupInfo,
|
|
3767
3812
|
);
|
|
3768
|
-
|
|
3769
|
-
|
|
3770
|
-
|
|
3771
|
-
let accessGroup:
|
|
3772
|
-
| V1_ModelAccessPointGroupInfo
|
|
3773
|
-
| V1_NativeModelExecutionContextInfo
|
|
3774
|
-
| undefined = undefined;
|
|
3775
|
-
if (dataProductAccessType === DataProductAccessType.MODEL) {
|
|
3776
|
-
const group = modelAccessPointGroups.find((g) => g.id === accessPointId);
|
|
3777
|
-
if (group) {
|
|
3778
|
-
mappingPath = group.mappingGeneration.path;
|
|
3779
|
-
accessGroup = group;
|
|
3780
|
-
}
|
|
3781
|
-
} else if (dataProductAccessType === DataProductAccessType.NATIVE) {
|
|
3782
|
-
const nativeCtx =
|
|
3783
|
-
artifact.nativeModelAccess?.nativeModelExecutionContexts.find(
|
|
3784
|
-
(ctx) => ctx.key === accessPointId,
|
|
3785
|
-
);
|
|
3786
|
-
if (nativeCtx) {
|
|
3787
|
-
mappingPath = nativeCtx.mapping;
|
|
3788
|
-
accessGroup = nativeCtx;
|
|
3789
|
-
}
|
|
3790
|
-
}
|
|
3813
|
+
const accessGroup = modelAccessPointGroups.find(
|
|
3814
|
+
(g) => g.id === accessPointId,
|
|
3815
|
+
);
|
|
3791
3816
|
if (!accessGroup) {
|
|
3792
3817
|
throw new Error(
|
|
3793
|
-
`Can't resolve access point '${accessPointId}' (type: ${
|
|
3818
|
+
`Can't resolve access point '${accessPointId}' (type: ${DataProductAccessType.MODEL}) in data product '${dataProductPath}'`,
|
|
3819
|
+
);
|
|
3820
|
+
}
|
|
3821
|
+
const mappingPath = accessGroup.mappingGeneration.path;
|
|
3822
|
+
|
|
3823
|
+
return this.buildDataProductAnalysisCore(
|
|
3824
|
+
artifact,
|
|
3825
|
+
dataProductPath,
|
|
3826
|
+
pureGraph,
|
|
3827
|
+
mappingPath,
|
|
3828
|
+
accessGroup,
|
|
3829
|
+
undefined, // no resolved runtime path for MODEL access
|
|
3830
|
+
projectInfo,
|
|
3831
|
+
graphReport,
|
|
3832
|
+
);
|
|
3833
|
+
}
|
|
3834
|
+
|
|
3835
|
+
private async buildNativeAccessDataProductAnalysis(
|
|
3836
|
+
artifact: V1_DataProductArtifact,
|
|
3837
|
+
dataProductPath: string,
|
|
3838
|
+
pureGraph: PureModel,
|
|
3839
|
+
accessPointId: string,
|
|
3840
|
+
projectInfo: ProjectGAVCoordinates,
|
|
3841
|
+
graphReport?: GraphManagerOperationReport,
|
|
3842
|
+
): Promise<DataProductAnalysisQueryResult> {
|
|
3843
|
+
const nativeCtx =
|
|
3844
|
+
artifact.nativeModelAccess?.nativeModelExecutionContexts.find(
|
|
3845
|
+
(ctx) => ctx.key === accessPointId,
|
|
3846
|
+
);
|
|
3847
|
+
if (!nativeCtx) {
|
|
3848
|
+
throw new Error(
|
|
3849
|
+
`Can't resolve access point '${accessPointId}' (type: ${DataProductAccessType.NATIVE}) in data product '${dataProductPath}'`,
|
|
3794
3850
|
);
|
|
3795
3851
|
}
|
|
3852
|
+
const mappingPath = nativeCtx.mapping;
|
|
3796
3853
|
if (!mappingPath) {
|
|
3797
3854
|
throw new Error(
|
|
3798
|
-
`Can't resolve mapping path
|
|
3855
|
+
`Can't resolve mapping path for access point '${accessPointId}' (type: ${DataProductAccessType.NATIVE}) in data product '${dataProductPath}'`,
|
|
3799
3856
|
);
|
|
3800
3857
|
}
|
|
3801
3858
|
|
|
3802
|
-
//
|
|
3859
|
+
// Resolve runtime path for the native context
|
|
3860
|
+
const resolvedRuntimePath = nativeCtx.runtimeGeneration?.path;
|
|
3861
|
+
|
|
3862
|
+
return this.buildDataProductAnalysisCore(
|
|
3863
|
+
artifact,
|
|
3864
|
+
dataProductPath,
|
|
3865
|
+
pureGraph,
|
|
3866
|
+
mappingPath,
|
|
3867
|
+
nativeCtx,
|
|
3868
|
+
resolvedRuntimePath,
|
|
3869
|
+
projectInfo,
|
|
3870
|
+
graphReport,
|
|
3871
|
+
);
|
|
3872
|
+
}
|
|
3873
|
+
|
|
3874
|
+
private async buildLakehouseAccessDataProductAnalysis(
|
|
3875
|
+
artifact: V1_DataProductArtifact,
|
|
3876
|
+
dataProductPath: string,
|
|
3877
|
+
pureGraph: PureModel,
|
|
3878
|
+
accessPointId: string,
|
|
3879
|
+
projectInfo: ProjectGAVCoordinates,
|
|
3880
|
+
graphReport?: GraphManagerOperationReport,
|
|
3881
|
+
): Promise<DataProductAnalysisQueryResult> {
|
|
3882
|
+
// Create a dummy data product element
|
|
3883
|
+
const dummyDataProduct = new V1_DataProduct();
|
|
3884
|
+
dummyDataProduct.package =
|
|
3885
|
+
extractPackagePathFromPath(dataProductPath) ?? '';
|
|
3886
|
+
dummyDataProduct.name = extractElementNameFromPath(dataProductPath);
|
|
3887
|
+
dummyDataProduct.title = artifact.dataProduct.title;
|
|
3888
|
+
dummyDataProduct.description = artifact.dataProduct.description;
|
|
3889
|
+
|
|
3890
|
+
// Build graph with only the data product
|
|
3891
|
+
const graphEntities = [dummyDataProduct]
|
|
3892
|
+
.filter((el) => !pureGraph.getNullableElement(el.path, false))
|
|
3893
|
+
.map((el) => this.elementProtocolToEntity(el));
|
|
3894
|
+
await this.buildGraph(
|
|
3895
|
+
pureGraph,
|
|
3896
|
+
graphEntities,
|
|
3897
|
+
ActionState.create(),
|
|
3898
|
+
{
|
|
3899
|
+
origin: new LegendSDLC(
|
|
3900
|
+
projectInfo.groupId,
|
|
3901
|
+
projectInfo.artifactId,
|
|
3902
|
+
projectInfo.versionId,
|
|
3903
|
+
),
|
|
3904
|
+
},
|
|
3905
|
+
graphReport,
|
|
3906
|
+
);
|
|
3907
|
+
|
|
3908
|
+
const data = pureGraph.getDataProduct(dataProductPath);
|
|
3909
|
+
|
|
3910
|
+
// Create access point groups with LakehouseAccessPoints from artifact data
|
|
3911
|
+
data.accessPointGroups = artifact.accessPointGroups
|
|
3912
|
+
.filter(
|
|
3913
|
+
(groupInfo) => !(groupInfo instanceof V1_ModelAccessPointGroupInfo),
|
|
3914
|
+
)
|
|
3915
|
+
.map((groupInfo) => {
|
|
3916
|
+
const apGroup = new AccessPointGroup();
|
|
3917
|
+
apGroup.id = groupInfo.id;
|
|
3918
|
+
apGroup.description = groupInfo.description;
|
|
3919
|
+
apGroup.accessPoints = groupInfo.accessPointImplementations.map(
|
|
3920
|
+
(apImpl) => {
|
|
3921
|
+
const lakehouseAP = new LakehouseAccessPoint(
|
|
3922
|
+
apImpl.id,
|
|
3923
|
+
'', // targetEnvironment is not available in the artifact
|
|
3924
|
+
new RawLambda(undefined, undefined),
|
|
3925
|
+
apGroup,
|
|
3926
|
+
);
|
|
3927
|
+
lakehouseAP.description = apImpl.description;
|
|
3928
|
+
return lakehouseAP;
|
|
3929
|
+
},
|
|
3930
|
+
);
|
|
3931
|
+
return apGroup;
|
|
3932
|
+
});
|
|
3933
|
+
|
|
3934
|
+
// Find the lakehouse access point matching the requested id
|
|
3935
|
+
const lakehouseResult = data.accessPointGroups
|
|
3936
|
+
.flatMap((group) => group.accessPoints)
|
|
3937
|
+
.find(
|
|
3938
|
+
(ap): ap is LakehouseAccessPoint =>
|
|
3939
|
+
ap instanceof LakehouseAccessPoint && ap.id === accessPointId,
|
|
3940
|
+
);
|
|
3941
|
+
if (!lakehouseResult) {
|
|
3942
|
+
throw new Error(
|
|
3943
|
+
`Can't resolve lakehouse access point '${accessPointId}' in data product '${dataProductPath}'`,
|
|
3944
|
+
);
|
|
3945
|
+
}
|
|
3946
|
+
|
|
3947
|
+
const result = new DataProductAnalysis();
|
|
3948
|
+
result.path = dataProductPath;
|
|
3949
|
+
result.title = artifact.dataProduct.title;
|
|
3950
|
+
result.description = artifact.dataProduct.description;
|
|
3951
|
+
|
|
3952
|
+
return new DataProductAnalysisQueryResult(
|
|
3953
|
+
undefined,
|
|
3954
|
+
result,
|
|
3955
|
+
lakehouseResult,
|
|
3956
|
+
);
|
|
3957
|
+
}
|
|
3958
|
+
|
|
3959
|
+
/**
|
|
3960
|
+
* Shared core logic for building data product analysis after the access type
|
|
3961
|
+
* specific resolution has been performed.
|
|
3962
|
+
*/
|
|
3963
|
+
private async buildDataProductAnalysisCore(
|
|
3964
|
+
artifact: V1_DataProductArtifact,
|
|
3965
|
+
dataProductPath: string,
|
|
3966
|
+
pureGraph: PureModel,
|
|
3967
|
+
mappingPath: string,
|
|
3968
|
+
accessGroup:
|
|
3969
|
+
| V1_ModelAccessPointGroupInfo
|
|
3970
|
+
| V1_NativeModelExecutionContextInfo,
|
|
3971
|
+
resolvedRuntimePath: string | undefined,
|
|
3972
|
+
projectInfo: ProjectGAVCoordinates,
|
|
3973
|
+
graphReport?: GraphManagerOperationReport,
|
|
3974
|
+
): Promise<DataProductAnalysisQueryResult> {
|
|
3975
|
+
const modelAccessPointGroups = artifact.accessPointGroups.filter(
|
|
3976
|
+
(group): group is V1_ModelAccessPointGroupInfo =>
|
|
3977
|
+
group instanceof V1_ModelAccessPointGroupInfo,
|
|
3978
|
+
);
|
|
3979
|
+
|
|
3980
|
+
// Collect mapping generation infos from all sources
|
|
3803
3981
|
const includedGenInfos = new Map<string, V1_MappingGenerationInfo>();
|
|
3804
3982
|
|
|
3805
3983
|
if (artifact.nativeModelAccess?.mappingGenerations) {
|
|
@@ -3834,10 +4012,6 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
3834
4012
|
resolvedMappingStub.name = extractElementNameFromPath(mappingPath);
|
|
3835
4013
|
|
|
3836
4014
|
// Only add a runtime stub for the resolved native context (if applicable)
|
|
3837
|
-
const resolvedRuntimePath =
|
|
3838
|
-
dataProductAccessType === DataProductAccessType.NATIVE
|
|
3839
|
-
? nativeRuntimePaths.get(accessPointId)
|
|
3840
|
-
: undefined;
|
|
3841
4015
|
let resolvedRuntimeStub: V1_PackageableRuntime | undefined;
|
|
3842
4016
|
if (resolvedRuntimePath) {
|
|
3843
4017
|
resolvedRuntimeStub = new V1_PackageableRuntime();
|
|
@@ -3848,8 +4022,6 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
3848
4022
|
resolvedRuntimeStub.runtimeValue = new V1_EngineRuntime();
|
|
3849
4023
|
}
|
|
3850
4024
|
|
|
3851
|
-
// Create a dummy data product element
|
|
3852
|
-
|
|
3853
4025
|
// Create a dummy data product element
|
|
3854
4026
|
const dummyDataProduct = new V1_DataProduct();
|
|
3855
4027
|
dummyDataProduct.package =
|
|
@@ -4499,6 +4671,21 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
|
|
|
4499
4671
|
);
|
|
4500
4672
|
}
|
|
4501
4673
|
|
|
4674
|
+
async checkServiceRegisteredByPattern(
|
|
4675
|
+
serviceServerUrl: string,
|
|
4676
|
+
servicePattern: string,
|
|
4677
|
+
): Promise<boolean> {
|
|
4678
|
+
try {
|
|
4679
|
+
await this.engine.getServiceMetadataByPattern(
|
|
4680
|
+
serviceServerUrl,
|
|
4681
|
+
servicePattern,
|
|
4682
|
+
);
|
|
4683
|
+
return true;
|
|
4684
|
+
} catch {
|
|
4685
|
+
return false;
|
|
4686
|
+
}
|
|
4687
|
+
}
|
|
4688
|
+
|
|
4502
4689
|
async runServicePostValidations(
|
|
4503
4690
|
service: Service,
|
|
4504
4691
|
graph: PureModel,
|
|
@@ -229,6 +229,7 @@ export const V1_buildExecutionContext = (
|
|
|
229
229
|
const exec = new QueryDataProductLakehouseExecutionContext();
|
|
230
230
|
exec.dataProductPath = protocolExecContext.dataProductPath;
|
|
231
231
|
exec.accessPointId = protocolExecContext.accessPointId;
|
|
232
|
+
exec.accessGroupId = protocolExecContext.accessGroupId;
|
|
232
233
|
return exec;
|
|
233
234
|
}
|
|
234
235
|
throw new UnsupportedOperationError('Unsupported query execution context');
|
|
@@ -279,6 +280,7 @@ export const V1_buildExecutionContextInfo = (
|
|
|
279
280
|
const exec = new QueryDataProductLakehouseExecutionContextInfo();
|
|
280
281
|
exec.dataProductPath = v1_execContext.dataProductPath;
|
|
281
282
|
exec.accessPointId = v1_execContext.accessPointId;
|
|
283
|
+
exec.accessGroupId = v1_execContext.accessGroupId;
|
|
282
284
|
return exec;
|
|
283
285
|
}
|
|
284
286
|
throw new UnsupportedOperationError('Unsupported query execution context');
|
|
@@ -403,6 +405,7 @@ export const V1_transformQueryExecutionContext = (
|
|
|
403
405
|
const protocol = new V1_DataProductLakehouseExecutionContext();
|
|
404
406
|
protocol.dataProductPath = execContext.dataProductPath;
|
|
405
407
|
protocol.accessPointId = execContext.accessPointId;
|
|
408
|
+
protocol.accessGroupId = execContext.accessGroupId;
|
|
406
409
|
return protocol;
|
|
407
410
|
}
|
|
408
411
|
throw new UnsupportedOperationError('Unsupported query execution context');
|
|
@@ -121,6 +121,7 @@ enum CORE_ENGINE_ACTIVITY_TRACE {
|
|
|
121
121
|
REGISTER_SERVICE = 'register service',
|
|
122
122
|
GET_SERVICE_VERSION = 'get service version',
|
|
123
123
|
ACTIVATE_SERVICE_GENERATION_ID = 'activate service generation id',
|
|
124
|
+
GET_SERVICE_METADATA = 'get service metadata',
|
|
124
125
|
VALIDATE_SERVICE_ASSERTION_ID = 'validate service assertion id',
|
|
125
126
|
RUN_SERVICE_TESTS = 'run service tests',
|
|
126
127
|
GENERATE_TEST_DATA_WITH_DEFAULT_SEED = 'generate test data with default seed',
|
|
@@ -1240,6 +1241,17 @@ export class V1_EngineServerClient extends AbstractServerClient {
|
|
|
1240
1241
|
request,
|
|
1241
1242
|
);
|
|
1242
1243
|
|
|
1244
|
+
getServiceMetadataByPattern = (
|
|
1245
|
+
serviceServerUrl: string,
|
|
1246
|
+
servicePattern: string,
|
|
1247
|
+
): Promise<PlainObject> =>
|
|
1248
|
+
this.getWithTracing(
|
|
1249
|
+
this.getTraceData(CORE_ENGINE_ACTIVITY_TRACE.GET_SERVICE_METADATA),
|
|
1250
|
+
`${this._service(
|
|
1251
|
+
this.baseUrlForServiceRegistration ?? serviceServerUrl,
|
|
1252
|
+
)}/serviceMetadata/${encodeURIComponent(servicePattern)}`,
|
|
1253
|
+
);
|
|
1254
|
+
|
|
1243
1255
|
// ------------------------------------------- Legend Services List -------------------------------------------
|
|
1244
1256
|
|
|
1245
1257
|
private readonly getServicesDetailsFromCache = (): Promise<PlainObject[]> =>
|
|
@@ -328,6 +328,11 @@ export interface V1_GraphManagerEngine {
|
|
|
328
328
|
generationId: string,
|
|
329
329
|
) => Promise<void>;
|
|
330
330
|
|
|
331
|
+
getServiceMetadataByPattern: (
|
|
332
|
+
serviceServerUrl: string,
|
|
333
|
+
servicePattern: string,
|
|
334
|
+
) => Promise<PlainObject>;
|
|
335
|
+
|
|
331
336
|
runServicePostVal: (
|
|
332
337
|
servicePath: string,
|
|
333
338
|
input: V1_PureModelContext,
|
|
@@ -1142,6 +1142,16 @@ export class V1_RemoteEngine implements V1_GraphManagerEngine {
|
|
|
1142
1142
|
);
|
|
1143
1143
|
}
|
|
1144
1144
|
|
|
1145
|
+
async getServiceMetadataByPattern(
|
|
1146
|
+
serviceServerUrl: string,
|
|
1147
|
+
servicePattern: string,
|
|
1148
|
+
): Promise<PlainObject> {
|
|
1149
|
+
return this.engineServerClient.getServiceMetadataByPattern(
|
|
1150
|
+
serviceServerUrl,
|
|
1151
|
+
servicePattern,
|
|
1152
|
+
);
|
|
1153
|
+
}
|
|
1154
|
+
|
|
1145
1155
|
async runServicePostVal(
|
|
1146
1156
|
servicePath: string,
|
|
1147
1157
|
input: V1_PureModelContext,
|
|
@@ -67,7 +67,7 @@ export enum V1_QueryExecutionContextType {
|
|
|
67
67
|
QUERY_DATASAPCE_EXECUTION_CONTEXT = 'dataSpaceExecutionContext',
|
|
68
68
|
QUERY_DATAPRODUCT_NATIVE_EXECUTION_CONTEXT = 'dataProductNativeExecutionContext',
|
|
69
69
|
QUERY_DATAPRODUCT_MODEL_ACCESS_EXECUTION_CONTEXT = 'dataProductModelAccessExecutionContext',
|
|
70
|
-
QUERY_DATAPRODUCT_LAKEHOUSE_EXECUTION_CONTEXT = '
|
|
70
|
+
QUERY_DATAPRODUCT_LAKEHOUSE_EXECUTION_CONTEXT = 'dataProductLakehouseAccessExecutionContext',
|
|
71
71
|
}
|
|
72
72
|
|
|
73
73
|
export class V1_QueryExplicitExecutionContext extends V1_QueryExecutionContext {
|
|
@@ -146,6 +146,7 @@ export class V1_DataProductModelAccessExecutionContext extends V1_QueryDataProdu
|
|
|
146
146
|
|
|
147
147
|
export class V1_DataProductLakehouseExecutionContext extends V1_QueryDataProductExecutionContext {
|
|
148
148
|
accessPointId!: string;
|
|
149
|
+
accessGroupId!: string;
|
|
149
150
|
|
|
150
151
|
static readonly serialization = new SerializationFactory(
|
|
151
152
|
createModelSchema(V1_DataProductLakehouseExecutionContext, {
|
|
@@ -154,6 +155,7 @@ export class V1_DataProductLakehouseExecutionContext extends V1_QueryDataProduct
|
|
|
154
155
|
),
|
|
155
156
|
dataProductPath: primitive(),
|
|
156
157
|
accessPointId: primitive(),
|
|
158
|
+
accessGroupId: primitive(),
|
|
157
159
|
}),
|
|
158
160
|
{
|
|
159
161
|
deserializeNullAsUndefined: true,
|