@finos/legend-graph 24.0.0 → 24.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/graph/BasicModel.d.ts +6 -0
- package/lib/graph/BasicModel.d.ts.map +1 -1
- package/lib/graph/BasicModel.js +23 -0
- package/lib/graph/BasicModel.js.map +1 -1
- package/lib/graph/Core_HashUtils.d.ts +6 -0
- package/lib/graph/Core_HashUtils.d.ts.map +1 -1
- package/lib/graph/Core_HashUtils.js +7 -0
- package/lib/graph/Core_HashUtils.js.map +1 -1
- package/lib/graph/DependencyManager.d.ts +3 -0
- package/lib/graph/DependencyManager.d.ts.map +1 -1
- package/lib/graph/DependencyManager.js +4 -0
- package/lib/graph/DependencyManager.js.map +1 -1
- package/lib/graph/MetaModelConst.d.ts +2 -0
- package/lib/graph/MetaModelConst.d.ts.map +1 -1
- package/lib/graph/MetaModelConst.js +2 -0
- package/lib/graph/MetaModelConst.js.map +1 -1
- package/lib/graph/PureModel.d.ts +2 -0
- package/lib/graph/PureModel.d.ts.map +1 -1
- package/lib/graph/PureModel.js +9 -0
- package/lib/graph/PureModel.js.map +1 -1
- package/lib/graph/helpers/PureLanguageHelper.d.ts +2 -1
- package/lib/graph/helpers/PureLanguageHelper.d.ts.map +1 -1
- package/lib/graph/helpers/PureLanguageHelper.js +1 -0
- package/lib/graph/helpers/PureLanguageHelper.js.map +1 -1
- package/lib/graph/metamodel/pure/packageableElements/PackageableElement.d.ts +2 -0
- package/lib/graph/metamodel/pure/packageableElements/PackageableElement.d.ts.map +1 -1
- package/lib/graph/metamodel/pure/packageableElements/PackageableElement.js.map +1 -1
- package/lib/graph/metamodel/pure/packageableElements/service/ExecutionEnvironmentInstance.d.ts +40 -0
- package/lib/graph/metamodel/pure/packageableElements/service/ExecutionEnvironmentInstance.d.ts.map +1 -0
- package/lib/graph/metamodel/pure/packageableElements/service/ExecutionEnvironmentInstance.js +58 -0
- package/lib/graph/metamodel/pure/packageableElements/service/ExecutionEnvironmentInstance.js.map +1 -0
- package/lib/graph/metamodel/pure/packageableElements/store/relational/connection/AuthenticationStrategy.d.ts +6 -0
- package/lib/graph/metamodel/pure/packageableElements/store/relational/connection/AuthenticationStrategy.d.ts.map +1 -1
- package/lib/graph/metamodel/pure/packageableElements/store/relational/connection/AuthenticationStrategy.js +16 -0
- package/lib/graph/metamodel/pure/packageableElements/store/relational/connection/AuthenticationStrategy.js.map +1 -1
- package/lib/graph/metamodel/pure/packageableElements/store/relational/connection/DatasourceSpecification.d.ts +17 -0
- package/lib/graph/metamodel/pure/packageableElements/store/relational/connection/DatasourceSpecification.d.ts.map +1 -1
- package/lib/graph/metamodel/pure/packageableElements/store/relational/connection/DatasourceSpecification.js +41 -0
- package/lib/graph/metamodel/pure/packageableElements/store/relational/connection/DatasourceSpecification.js.map +1 -1
- package/lib/graph/metamodel/pure/packageableElements/store/relational/connection/RelationalDatabaseConnection.d.ts +2 -1
- package/lib/graph/metamodel/pure/packageableElements/store/relational/connection/RelationalDatabaseConnection.d.ts.map +1 -1
- package/lib/graph/metamodel/pure/packageableElements/store/relational/connection/RelationalDatabaseConnection.js +1 -0
- package/lib/graph/metamodel/pure/packageableElements/store/relational/connection/RelationalDatabaseConnection.js.map +1 -1
- package/lib/graphManager/action/changeDetection/DSL_ExecutionEnvironment_ObseverHelper.d.ts +18 -0
- package/lib/graphManager/action/changeDetection/DSL_ExecutionEnvironment_ObseverHelper.d.ts.map +1 -0
- package/lib/graphManager/action/changeDetection/DSL_ExecutionEnvironment_ObseverHelper.js +26 -0
- package/lib/graphManager/action/changeDetection/DSL_ExecutionEnvironment_ObseverHelper.js.map +1 -0
- package/lib/graphManager/action/changeDetection/GraphObserverHelper.d.ts.map +1 -1
- package/lib/graphManager/action/changeDetection/GraphObserverHelper.js +4 -0
- package/lib/graphManager/action/changeDetection/GraphObserverHelper.js.map +1 -1
- package/lib/graphManager/action/changeDetection/PackageableElementObserver.d.ts.map +1 -1
- package/lib/graphManager/action/changeDetection/PackageableElementObserver.js +4 -0
- package/lib/graphManager/action/changeDetection/PackageableElementObserver.js.map +1 -1
- package/lib/graphManager/action/changeDetection/STO_Relational_ObserverHelper.d.ts +5 -2
- package/lib/graphManager/action/changeDetection/STO_Relational_ObserverHelper.d.ts.map +1 -1
- package/lib/graphManager/action/changeDetection/STO_Relational_ObserverHelper.js +31 -2
- package/lib/graphManager/action/changeDetection/STO_Relational_ObserverHelper.js.map +1 -1
- package/lib/graphManager/protocol/pure/v1/V1_PureGraphManager.d.ts +2 -0
- package/lib/graphManager/protocol/pure/v1/V1_PureGraphManager.d.ts.map +1 -1
- package/lib/graphManager/protocol/pure/v1/V1_PureGraphManager.js +10 -1
- package/lib/graphManager/protocol/pure/v1/V1_PureGraphManager.js.map +1 -1
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/V1_PackageableElement.d.ts +2 -0
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/V1_PackageableElement.d.ts.map +1 -1
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/V1_PackageableElement.js.map +1 -1
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/service/V1_ExecutionEnvironmentInstance.d.ts +38 -0
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/service/V1_ExecutionEnvironmentInstance.d.ts.map +1 -0
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/service/V1_ExecutionEnvironmentInstance.js +58 -0
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/service/V1_ExecutionEnvironmentInstance.js.map +1 -0
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/store/relational/connection/V1_AuthenticationStrategy.d.ts +5 -0
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/store/relational/connection/V1_AuthenticationStrategy.d.ts.map +1 -1
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/store/relational/connection/V1_AuthenticationStrategy.js +11 -0
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/store/relational/connection/V1_AuthenticationStrategy.js.map +1 -1
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/store/relational/connection/V1_DatasourceSpecification.d.ts +15 -0
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/store/relational/connection/V1_DatasourceSpecification.d.ts.map +1 -1
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/store/relational/connection/V1_DatasourceSpecification.js +32 -0
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/store/relational/connection/V1_DatasourceSpecification.js.map +1 -1
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/store/relational/connection/V1_RelationalDatabaseConnection.d.ts +2 -1
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/store/relational/connection/V1_RelationalDatabaseConnection.d.ts.map +1 -1
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/store/relational/connection/V1_RelationalDatabaseConnection.js +1 -0
- package/lib/graphManager/protocol/pure/v1/model/packageableElements/store/relational/connection/V1_RelationalDatabaseConnection.js.map +1 -1
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/from/V1_ConnectionTransformer.d.ts.map +1 -1
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/from/V1_ConnectionTransformer.js +29 -4
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/from/V1_ConnectionTransformer.js.map +1 -1
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/from/V1_ExecutionEnvironmentTransformer.d.ts +20 -0
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/from/V1_ExecutionEnvironmentTransformer.d.ts.map +1 -0
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/from/V1_ExecutionEnvironmentTransformer.js +46 -0
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/from/V1_ExecutionEnvironmentTransformer.js.map +1 -0
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/from/V1_PackageableElementTransformer.d.ts.map +1 -1
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/from/V1_PackageableElementTransformer.js +4 -0
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/from/V1_PackageableElementTransformer.js.map +1 -1
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFifthPassBuilder.d.ts +2 -0
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFifthPassBuilder.d.ts.map +1 -1
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFifthPassBuilder.js +3 -0
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFifthPassBuilder.js.map +1 -1
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFirstPassBuilder.d.ts +2 -0
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFirstPassBuilder.d.ts.map +1 -1
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFirstPassBuilder.js +11 -0
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFirstPassBuilder.js.map +1 -1
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFourthPassBuilder.d.ts +2 -0
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFourthPassBuilder.d.ts.map +1 -1
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFourthPassBuilder.js +3 -0
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFourthPassBuilder.js.map +1 -1
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementSecondPassBuilder.d.ts +2 -0
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementSecondPassBuilder.d.ts.map +1 -1
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementSecondPassBuilder.js +5 -0
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementSecondPassBuilder.js.map +1 -1
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementThirdPassBuilder.d.ts +2 -0
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementThirdPassBuilder.d.ts.map +1 -1
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementThirdPassBuilder.js +3 -0
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementThirdPassBuilder.js.map +1 -1
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ExecutionEnvironmentBuilderHelper.d.ts +21 -0
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ExecutionEnvironmentBuilderHelper.d.ts.map +1 -0
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ExecutionEnvironmentBuilderHelper.js +51 -0
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ExecutionEnvironmentBuilderHelper.js.map +1 -0
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_RelationalConnectionBuilderHelper.d.ts.map +1 -1
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_RelationalConnectionBuilderHelper.js +23 -4
- package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_RelationalConnectionBuilderHelper.js.map +1 -1
- package/lib/graphManager/protocol/pure/v1/transformation/pureProtocol/V1_PackageableElementSerialization.d.ts.map +1 -1
- package/lib/graphManager/protocol/pure/v1/transformation/pureProtocol/V1_PackageableElementSerialization.js +6 -0
- package/lib/graphManager/protocol/pure/v1/transformation/pureProtocol/V1_PackageableElementSerialization.js.map +1 -1
- package/lib/graphManager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ConnectionSerializationHelper.d.ts.map +1 -1
- package/lib/graphManager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ConnectionSerializationHelper.js +34 -3
- package/lib/graphManager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ConnectionSerializationHelper.js.map +1 -1
- package/lib/graphManager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ExecutionEnvironmentSerializationHelper.d.ts +20 -0
- package/lib/graphManager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ExecutionEnvironmentSerializationHelper.d.ts.map +1 -0
- package/lib/graphManager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ExecutionEnvironmentSerializationHelper.js +63 -0
- package/lib/graphManager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ExecutionEnvironmentSerializationHelper.js.map +1 -0
- package/lib/graphManager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ServiceSerializationHelper.d.ts +3 -0
- package/lib/graphManager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ServiceSerializationHelper.d.ts.map +1 -1
- package/lib/graphManager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ServiceSerializationHelper.js +5 -17
- package/lib/graphManager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ServiceSerializationHelper.js.map +1 -1
- package/lib/index.d.ts +2 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +2 -1
- package/lib/index.js.map +1 -1
- package/lib/package.json +1 -1
- package/package.json +3 -3
- package/src/graph/BasicModel.ts +33 -0
- package/src/graph/Core_HashUtils.ts +7 -0
- package/src/graph/DependencyManager.ts +10 -0
- package/src/graph/MetaModelConst.ts +2 -0
- package/src/graph/PureModel.ts +11 -0
- package/src/graph/helpers/PureLanguageHelper.ts +1 -0
- package/src/graph/metamodel/pure/packageableElements/PackageableElement.ts +2 -0
- package/src/graph/metamodel/pure/packageableElements/service/ExecutionEnvironmentInstance.ts +78 -0
- package/src/graph/metamodel/pure/packageableElements/store/relational/connection/AuthenticationStrategy.ts +25 -0
- package/src/graph/metamodel/pure/packageableElements/store/relational/connection/DatasourceSpecification.ts +53 -0
- package/src/graph/metamodel/pure/packageableElements/store/relational/connection/RelationalDatabaseConnection.ts +1 -0
- package/src/graphManager/action/changeDetection/DSL_ExecutionEnvironment_ObseverHelper.ts +40 -0
- package/src/graphManager/action/changeDetection/GraphObserverHelper.ts +5 -0
- package/src/graphManager/action/changeDetection/PackageableElementObserver.ts +8 -0
- package/src/graphManager/action/changeDetection/STO_Relational_ObserverHelper.ts +47 -0
- package/src/graphManager/protocol/pure/v1/V1_PureGraphManager.ts +22 -1
- package/src/graphManager/protocol/pure/v1/model/packageableElements/V1_PackageableElement.ts +4 -0
- package/src/graphManager/protocol/pure/v1/model/packageableElements/service/V1_ExecutionEnvironmentInstance.ts +82 -0
- package/src/graphManager/protocol/pure/v1/model/packageableElements/store/relational/connection/V1_AuthenticationStrategy.ts +16 -0
- package/src/graphManager/protocol/pure/v1/model/packageableElements/store/relational/connection/V1_DatasourceSpecification.ts +39 -0
- package/src/graphManager/protocol/pure/v1/model/packageableElements/store/relational/connection/V1_RelationalDatabaseConnection.ts +1 -0
- package/src/graphManager/protocol/pure/v1/transformation/pureGraph/from/V1_ConnectionTransformer.ts +33 -0
- package/src/graphManager/protocol/pure/v1/transformation/pureGraph/from/V1_ExecutionEnvironmentTransformer.ts +72 -0
- package/src/graphManager/protocol/pure/v1/transformation/pureGraph/from/V1_PackageableElementTransformer.ts +8 -0
- package/src/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFifthPassBuilder.ts +7 -0
- package/src/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFirstPassBuilder.ts +28 -0
- package/src/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFourthPassBuilder.ts +7 -0
- package/src/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementSecondPassBuilder.ts +13 -0
- package/src/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementThirdPassBuilder.ts +7 -0
- package/src/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ExecutionEnvironmentBuilderHelper.ts +88 -0
- package/src/graphManager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_RelationalConnectionBuilderHelper.ts +46 -0
- package/src/graphManager/protocol/pure/v1/transformation/pureProtocol/V1_PackageableElementSerialization.ts +13 -0
- package/src/graphManager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ConnectionSerializationHelper.ts +50 -0
- package/src/graphManager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ExecutionEnvironmentSerializationHelper.ts +120 -0
- package/src/graphManager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ServiceSerializationHelper.ts +6 -22
- package/src/index.ts +2 -1
- package/tsconfig.json +6 -0
package/src/graphManager/protocol/pure/v1/transformation/pureGraph/from/V1_ConnectionTransformer.ts
CHANGED
|
@@ -39,6 +39,7 @@ import {
|
|
|
39
39
|
UsernamePasswordAuthenticationStrategy,
|
|
40
40
|
GCPWorkloadIdentityFederationAuthenticationStrategy,
|
|
41
41
|
MiddleTierUsernamePasswordAuthenticationStrategy,
|
|
42
|
+
TrinoDelegatedKerberosAuthenticationStrategy,
|
|
42
43
|
} from '../../../../../../../graph/metamodel/pure/packageableElements/store/relational/connection/AuthenticationStrategy.js';
|
|
43
44
|
import {
|
|
44
45
|
type DatasourceSpecification,
|
|
@@ -50,6 +51,7 @@ import {
|
|
|
50
51
|
RedshiftDatasourceSpecification,
|
|
51
52
|
BigQueryDatasourceSpecification,
|
|
52
53
|
SpannerDatasourceSpecification,
|
|
54
|
+
TrinoDatasourceSpecification,
|
|
53
55
|
} from '../../../../../../../graph/metamodel/pure/packageableElements/store/relational/connection/DatasourceSpecification.js';
|
|
54
56
|
import type { ModelChainConnection } from '../../../../../../../graph/metamodel/pure/packageableElements/store/modelToModel/connection/ModelChainConnection.js';
|
|
55
57
|
import { V1_initPackageableElement } from './V1_CoreTransformerHelper.js';
|
|
@@ -64,6 +66,8 @@ import {
|
|
|
64
66
|
V1_StaticDatasourceSpecification,
|
|
65
67
|
V1_RedshiftDatasourceSpecification,
|
|
66
68
|
V1_SpannerDatasourceSpecification,
|
|
69
|
+
V1_TrinoDatasourceSpecification,
|
|
70
|
+
V1_TrinoSslSpecification,
|
|
67
71
|
} from '../../../model/packageableElements/store/relational/connection/V1_DatasourceSpecification.js';
|
|
68
72
|
import {
|
|
69
73
|
type V1_AuthenticationStrategy,
|
|
@@ -76,6 +80,7 @@ import {
|
|
|
76
80
|
V1_OAuthAuthenticationStrategy,
|
|
77
81
|
V1_GCPWorkloadIdentityFederationAuthenticationStrategy,
|
|
78
82
|
V1_MiddleTierUsernamePasswordAuthenticationStrategy,
|
|
83
|
+
V1_TrinoDelegatedKerberosAuthenticationStrategy,
|
|
79
84
|
} from '../../../model/packageableElements/store/relational/connection/V1_AuthenticationStrategy.js';
|
|
80
85
|
import type { V1_Connection } from '../../../model/packageableElements/connection/V1_Connection.js';
|
|
81
86
|
import {
|
|
@@ -178,6 +183,25 @@ const transformSpannerDatasourceSpecification = (
|
|
|
178
183
|
return source;
|
|
179
184
|
};
|
|
180
185
|
|
|
186
|
+
const transformTrinoDatasourceSpecification = (
|
|
187
|
+
metamodel: TrinoDatasourceSpecification,
|
|
188
|
+
): V1_TrinoDatasourceSpecification => {
|
|
189
|
+
const source = new V1_TrinoDatasourceSpecification();
|
|
190
|
+
source.host = metamodel.host;
|
|
191
|
+
source.port = metamodel.port;
|
|
192
|
+
source.catalog = metamodel.catalog;
|
|
193
|
+
source.schema = metamodel.schema;
|
|
194
|
+
source.clientTags = metamodel.clientTags;
|
|
195
|
+
const sslSpecification = new V1_TrinoSslSpecification();
|
|
196
|
+
sslSpecification.ssl = metamodel.sslSpecification.ssl;
|
|
197
|
+
sslSpecification.trustStorePathVaultReference =
|
|
198
|
+
metamodel.sslSpecification.trustStorePathVaultReference;
|
|
199
|
+
sslSpecification.trustStorePasswordVaultReference =
|
|
200
|
+
metamodel.sslSpecification.trustStorePasswordVaultReference;
|
|
201
|
+
source.sslSpecification = sslSpecification;
|
|
202
|
+
return source;
|
|
203
|
+
};
|
|
204
|
+
|
|
181
205
|
const transformDatasourceSpecification = (
|
|
182
206
|
metamodel: DatasourceSpecification,
|
|
183
207
|
context: V1_GraphTransformerContext,
|
|
@@ -201,6 +225,8 @@ const transformDatasourceSpecification = (
|
|
|
201
225
|
return protocol;
|
|
202
226
|
} else if (metamodel instanceof RedshiftDatasourceSpecification) {
|
|
203
227
|
return transformRedshiftDatasourceSpecification(metamodel);
|
|
228
|
+
} else if (metamodel instanceof TrinoDatasourceSpecification) {
|
|
229
|
+
return transformTrinoDatasourceSpecification(metamodel);
|
|
204
230
|
}
|
|
205
231
|
const extraConnectionDatasourceSpecificationTransformers =
|
|
206
232
|
context.plugins.flatMap(
|
|
@@ -277,6 +303,13 @@ const transformAuthenticationStrategy = (
|
|
|
277
303
|
const auth = new V1_MiddleTierUsernamePasswordAuthenticationStrategy();
|
|
278
304
|
auth.vaultReference = metamodel.vaultReference;
|
|
279
305
|
return auth;
|
|
306
|
+
} else if (
|
|
307
|
+
metamodel instanceof TrinoDelegatedKerberosAuthenticationStrategy
|
|
308
|
+
) {
|
|
309
|
+
const auth = new V1_TrinoDelegatedKerberosAuthenticationStrategy();
|
|
310
|
+
auth.kerberosRemoteServiceName = metamodel.kerberosRemoteServiceName;
|
|
311
|
+
auth.kerberosUseCanonicalHostname = metamodel.kerberosUseCanonicalHostname;
|
|
312
|
+
return auth;
|
|
280
313
|
}
|
|
281
314
|
const extraConnectionAuthenticationStrategyTransformers =
|
|
282
315
|
context.plugins.flatMap(
|
|
@@ -0,0 +1,72 @@
|
|
|
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 {
|
|
18
|
+
type ExecutionEnvironmentInstance,
|
|
19
|
+
type ExecutionParameters,
|
|
20
|
+
SingleExecutionParameters,
|
|
21
|
+
MultiExecutionParameters,
|
|
22
|
+
} from '../../../../../../../graph/metamodel/pure/packageableElements/service/ExecutionEnvironmentInstance.js';
|
|
23
|
+
import { V1_initPackageableElement } from './V1_CoreTransformerHelper.js';
|
|
24
|
+
import type { V1_GraphTransformerContext } from './V1_GraphTransformerContext.js';
|
|
25
|
+
import {
|
|
26
|
+
type V1_ExecutionParameters,
|
|
27
|
+
V1_ExecutionEnvironmentInstance,
|
|
28
|
+
V1_MultiExecutionParameters,
|
|
29
|
+
V1_SingleExecutionParameters,
|
|
30
|
+
} from '../../../model/packageableElements/service/V1_ExecutionEnvironmentInstance.js';
|
|
31
|
+
import { V1_transformRuntime } from './V1_RuntimeTransformer.js';
|
|
32
|
+
import { UnsupportedOperationError } from '@finos/legend-shared';
|
|
33
|
+
|
|
34
|
+
const V1_transformSingleExecutionParameters = (
|
|
35
|
+
element: SingleExecutionParameters,
|
|
36
|
+
context: V1_GraphTransformerContext,
|
|
37
|
+
): V1_SingleExecutionParameters => {
|
|
38
|
+
const _val = new V1_SingleExecutionParameters();
|
|
39
|
+
_val.key = element.key;
|
|
40
|
+
_val.mapping = element.mapping.valueForSerialization ?? '';
|
|
41
|
+
_val.runtime = V1_transformRuntime(element.runtime, context);
|
|
42
|
+
return _val;
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
const V1_transformExecutionParameters = (
|
|
46
|
+
element: ExecutionParameters,
|
|
47
|
+
context: V1_GraphTransformerContext,
|
|
48
|
+
): V1_ExecutionParameters => {
|
|
49
|
+
if (element instanceof SingleExecutionParameters) {
|
|
50
|
+
return V1_transformSingleExecutionParameters(element, context);
|
|
51
|
+
} else if (element instanceof MultiExecutionParameters) {
|
|
52
|
+
const val = new V1_MultiExecutionParameters();
|
|
53
|
+
val.masterKey = element.masterKey;
|
|
54
|
+
val.singleExecutionParameters = element.singleExecutionParameters.map((s) =>
|
|
55
|
+
V1_transformSingleExecutionParameters(s, context),
|
|
56
|
+
);
|
|
57
|
+
return val;
|
|
58
|
+
}
|
|
59
|
+
throw new UnsupportedOperationError('Unsupported execution parameter type');
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
export const V1_transformExecutionEnvirnoment = (
|
|
63
|
+
element: ExecutionEnvironmentInstance,
|
|
64
|
+
context: V1_GraphTransformerContext,
|
|
65
|
+
): V1_ExecutionEnvironmentInstance => {
|
|
66
|
+
const execEnv = new V1_ExecutionEnvironmentInstance();
|
|
67
|
+
V1_initPackageableElement(execEnv, element);
|
|
68
|
+
execEnv.executionParameters = element.executionParameters.map((e) =>
|
|
69
|
+
V1_transformExecutionParameters(e, context),
|
|
70
|
+
);
|
|
71
|
+
return execEnv;
|
|
72
|
+
};
|
|
@@ -66,6 +66,8 @@ import type {
|
|
|
66
66
|
import type { V1_GraphTransformerContext } from './V1_GraphTransformerContext.js';
|
|
67
67
|
import type { DataElement } from '../../../../../../../graph/metamodel/pure/packageableElements/data/DataElement.js';
|
|
68
68
|
import { V1_transformDataElement } from './V1_DataElementTransformer.js';
|
|
69
|
+
import type { ExecutionEnvironmentInstance } from '../../../../../../../graph/metamodel/pure/packageableElements/service/ExecutionEnvironmentInstance.js';
|
|
70
|
+
import { V1_transformExecutionEnvirnoment } from './V1_ExecutionEnvironmentTransformer.js';
|
|
69
71
|
|
|
70
72
|
class V1_PackageableElementTransformer
|
|
71
73
|
implements PackageableElementVisitor<V1_PackageableElement>
|
|
@@ -175,6 +177,12 @@ class V1_PackageableElementTransformer
|
|
|
175
177
|
visit_DataElement(element: DataElement): V1_PackageableElement {
|
|
176
178
|
return V1_transformDataElement(element, this.context);
|
|
177
179
|
}
|
|
180
|
+
|
|
181
|
+
visit_ExecutionEnvironmentInstance(
|
|
182
|
+
element: ExecutionEnvironmentInstance,
|
|
183
|
+
): V1_PackageableElement {
|
|
184
|
+
return V1_transformExecutionEnvirnoment(element, this.context);
|
|
185
|
+
}
|
|
178
186
|
}
|
|
179
187
|
|
|
180
188
|
export const V1_transformPackageableElement = (
|
package/src/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFifthPassBuilder.ts
CHANGED
|
@@ -44,6 +44,7 @@ import type { V1_Measure } from '../../../model/packageableElements/domain/V1_Me
|
|
|
44
44
|
import { V1_buildDatabaseSchemaViewsSecondPass } from './helpers/V1_DatabaseBuilderHelper.js';
|
|
45
45
|
import type { V1_SectionIndex } from '../../../model/packageableElements/section/V1_SectionIndex.js';
|
|
46
46
|
import type { V1_DataElement } from '../../../model/packageableElements/data/V1_DataElement.js';
|
|
47
|
+
import type { V1_ExecutionEnvironmentInstance } from '../../../model/packageableElements/service/V1_ExecutionEnvironmentInstance.js';
|
|
47
48
|
|
|
48
49
|
export class V1_ElementFifthPassBuilder
|
|
49
50
|
implements V1_PackageableElementVisitor<void>
|
|
@@ -139,4 +140,10 @@ export class V1_ElementFifthPassBuilder
|
|
|
139
140
|
visit_DataElement(element: V1_DataElement): void {
|
|
140
141
|
throw new UnsupportedOperationError();
|
|
141
142
|
}
|
|
143
|
+
|
|
144
|
+
visit_ExecutionEnvironmentInstance(
|
|
145
|
+
element: V1_ExecutionEnvironmentInstance,
|
|
146
|
+
): void {
|
|
147
|
+
throw new UnsupportedOperationError();
|
|
148
|
+
}
|
|
142
149
|
}
|
package/src/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFirstPassBuilder.ts
CHANGED
|
@@ -66,6 +66,8 @@ import { DataElement } from '../../../../../../../graph/metamodel/pure/packageab
|
|
|
66
66
|
import { V1_buildFunctionSignature } from '../../../helpers/V1_DomainHelper.js';
|
|
67
67
|
import { Multiplicity } from '../../../../../../../graph/metamodel/pure/packageableElements/domain/Multiplicity.js';
|
|
68
68
|
import { PrimitiveType } from '../../../../../../../graph/metamodel/pure/packageableElements/domain/PrimitiveType.js';
|
|
69
|
+
import type { V1_ExecutionEnvironmentInstance } from '../../../model/packageableElements/service/V1_ExecutionEnvironmentInstance.js';
|
|
70
|
+
import { ExecutionEnvironmentInstance } from '../../../../../../../graph/metamodel/pure/packageableElements/service/ExecutionEnvironmentInstance.js';
|
|
69
71
|
|
|
70
72
|
export class V1_ElementFirstPassBuilder
|
|
71
73
|
implements V1_PackageableElementVisitor<PackageableElement>
|
|
@@ -488,4 +490,30 @@ export class V1_ElementFirstPassBuilder
|
|
|
488
490
|
this.context.currentSubGraph.setOwnDataElement(path, dataElement);
|
|
489
491
|
return dataElement;
|
|
490
492
|
}
|
|
493
|
+
|
|
494
|
+
visit_ExecutionEnvironmentInstance(
|
|
495
|
+
element: V1_ExecutionEnvironmentInstance,
|
|
496
|
+
): PackageableElement {
|
|
497
|
+
assertNonEmptyString(
|
|
498
|
+
element.package,
|
|
499
|
+
`Execution Environment 'package' field is missing or empty`,
|
|
500
|
+
);
|
|
501
|
+
assertNonEmptyString(
|
|
502
|
+
element.name,
|
|
503
|
+
`Execution Environment 'name' field is missing or empty`,
|
|
504
|
+
);
|
|
505
|
+
const exEnvir = new ExecutionEnvironmentInstance(element.name);
|
|
506
|
+
const path = V1_buildFullPath(element.package, element.name);
|
|
507
|
+
V1_checkDuplicatedElement(path, this.context, this.elementPathCache);
|
|
508
|
+
addElementToPackage(
|
|
509
|
+
getOrCreateGraphPackage(
|
|
510
|
+
this.context.currentSubGraph,
|
|
511
|
+
element.package,
|
|
512
|
+
this.packageCache,
|
|
513
|
+
),
|
|
514
|
+
exEnvir,
|
|
515
|
+
);
|
|
516
|
+
this.context.currentSubGraph.setOwnExecutionEnvironment(path, exEnvir);
|
|
517
|
+
return exEnvir;
|
|
518
|
+
}
|
|
491
519
|
}
|
package/src/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFourthPassBuilder.ts
CHANGED
|
@@ -52,6 +52,7 @@ import { V1_buildMilestoningProperties } from './helpers/V1_MilestoneBuilderHelp
|
|
|
52
52
|
import type { V1_DataElement } from '../../../model/packageableElements/data/V1_DataElement.js';
|
|
53
53
|
import { V1_buildTestSuite } from './helpers/V1_TestBuilderHelper.js';
|
|
54
54
|
import { MappingTestSuite } from '../../../../../../../graph/metamodel/pure/packageableElements/mapping/MappingTestSuite.js';
|
|
55
|
+
import type { V1_ExecutionEnvironmentInstance } from '../../../model/packageableElements/service/V1_ExecutionEnvironmentInstance.js';
|
|
55
56
|
|
|
56
57
|
export class V1_ElementFourthPassBuilder
|
|
57
58
|
implements V1_PackageableElementVisitor<void>
|
|
@@ -124,6 +125,12 @@ export class V1_ElementFourthPassBuilder
|
|
|
124
125
|
);
|
|
125
126
|
}
|
|
126
127
|
|
|
128
|
+
visit_ExecutionEnvironmentInstance(
|
|
129
|
+
element: V1_ExecutionEnvironmentInstance,
|
|
130
|
+
): void {
|
|
131
|
+
throw new UnsupportedOperationError();
|
|
132
|
+
}
|
|
133
|
+
|
|
127
134
|
visit_Mapping(element: V1_Mapping): void {
|
|
128
135
|
const path = V1_buildFullPath(element.package, element.name);
|
|
129
136
|
const mapping = this.context.currentSubGraph.getOwnMapping(path);
|
package/src/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementSecondPassBuilder.ts
CHANGED
|
@@ -87,6 +87,8 @@ import { V1_buildFunctionSignature } from '../../../helpers/V1_DomainHelper.js';
|
|
|
87
87
|
import { getFunctionName } from '../../../../../../../graph/helpers/DomainHelper.js';
|
|
88
88
|
import { GraphBuilderError } from '../../../../../../GraphManagerUtils.js';
|
|
89
89
|
import { PostValidation } from '../../../../../../../graph/metamodel/pure/packageableElements/service/PostValidation.js';
|
|
90
|
+
import type { V1_ExecutionEnvironmentInstance } from '../../../model/packageableElements/service/V1_ExecutionEnvironmentInstance.js';
|
|
91
|
+
import { V1_buildExecutionParameters } from './V1_ExecutionEnvironmentBuilderHelper.js';
|
|
90
92
|
|
|
91
93
|
export class V1_ElementSecondPassBuilder
|
|
92
94
|
implements V1_PackageableElementVisitor<void>
|
|
@@ -423,4 +425,15 @@ export class V1_ElementSecondPassBuilder
|
|
|
423
425
|
}
|
|
424
426
|
dataElement.data = V1_buildEmbeddedData(element.data, this.context);
|
|
425
427
|
}
|
|
428
|
+
|
|
429
|
+
visit_ExecutionEnvironmentInstance(
|
|
430
|
+
element: V1_ExecutionEnvironmentInstance,
|
|
431
|
+
): void {
|
|
432
|
+
const execEnv = this.context.currentSubGraph.getOwnExecutionEnvironment(
|
|
433
|
+
V1_buildFullPath(element.package, element.name),
|
|
434
|
+
);
|
|
435
|
+
execEnv.executionParameters = element.executionParameters.map((e) =>
|
|
436
|
+
V1_buildExecutionParameters(e, this.context),
|
|
437
|
+
);
|
|
438
|
+
}
|
|
426
439
|
}
|
package/src/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementThirdPassBuilder.ts
CHANGED
|
@@ -59,6 +59,7 @@ import type { V1_SectionIndex } from '../../../model/packageableElements/section
|
|
|
59
59
|
import { GraphBuilderError } from '../../../../../../../graphManager/GraphManagerUtils.js';
|
|
60
60
|
import type { V1_DataElement } from '../../../model/packageableElements/data/V1_DataElement.js';
|
|
61
61
|
import { V1_TEMPORARY__buildMilestoningClass } from './helpers/V1_MilestoneBuilderHelper.js';
|
|
62
|
+
import type { V1_ExecutionEnvironmentInstance } from '../../../model/packageableElements/service/V1_ExecutionEnvironmentInstance.js';
|
|
62
63
|
|
|
63
64
|
export class V1_ElementThirdPassBuilder
|
|
64
65
|
implements V1_PackageableElementVisitor<void>
|
|
@@ -87,6 +88,12 @@ export class V1_ElementThirdPassBuilder
|
|
|
87
88
|
throw new UnsupportedOperationError();
|
|
88
89
|
}
|
|
89
90
|
|
|
91
|
+
visit_ExecutionEnvironmentInstance(
|
|
92
|
+
element: V1_ExecutionEnvironmentInstance,
|
|
93
|
+
): void {
|
|
94
|
+
throw new UnsupportedOperationError();
|
|
95
|
+
}
|
|
96
|
+
|
|
90
97
|
visit_Class(element: V1_Class): void {
|
|
91
98
|
const _class = this.context.currentSubGraph.getOwnClass(
|
|
92
99
|
V1_buildFullPath(element.package, element.name),
|
|
@@ -0,0 +1,88 @@
|
|
|
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 {
|
|
18
|
+
assertNonNullable,
|
|
19
|
+
UnsupportedOperationError,
|
|
20
|
+
} from '@finos/legend-shared';
|
|
21
|
+
import {
|
|
22
|
+
type Runtime,
|
|
23
|
+
RuntimePointer,
|
|
24
|
+
} from '../../../../../../../graph/metamodel/pure/packageableElements/runtime/Runtime.js';
|
|
25
|
+
import {
|
|
26
|
+
type ExecutionParameters,
|
|
27
|
+
MultiExecutionParameters,
|
|
28
|
+
SingleExecutionParameters,
|
|
29
|
+
} from '../../../../../../../graph/metamodel/pure/packageableElements/service/ExecutionEnvironmentInstance.js';
|
|
30
|
+
import {
|
|
31
|
+
type V1_Runtime,
|
|
32
|
+
V1_EngineRuntime,
|
|
33
|
+
V1_RuntimePointer,
|
|
34
|
+
} from '../../../model/packageableElements/runtime/V1_Runtime.js';
|
|
35
|
+
import {
|
|
36
|
+
type V1_ExecutionParameters,
|
|
37
|
+
V1_MultiExecutionParameters,
|
|
38
|
+
V1_SingleExecutionParameters,
|
|
39
|
+
} from '../../../model/packageableElements/service/V1_ExecutionEnvironmentInstance.js';
|
|
40
|
+
import { V1_buildEngineRuntime } from './helpers/V1_RuntimeBuilderHelper.js';
|
|
41
|
+
import type { V1_GraphBuilderContext } from './V1_GraphBuilderContext.js';
|
|
42
|
+
|
|
43
|
+
const buildExecutionRuntime = (
|
|
44
|
+
runtime: V1_Runtime,
|
|
45
|
+
context: V1_GraphBuilderContext,
|
|
46
|
+
): Runtime => {
|
|
47
|
+
if (runtime instanceof V1_RuntimePointer) {
|
|
48
|
+
assertNonNullable(
|
|
49
|
+
runtime.runtime,
|
|
50
|
+
`Runtime pointer 'runtime' field is missing`,
|
|
51
|
+
);
|
|
52
|
+
return new RuntimePointer(context.resolveRuntime(runtime.runtime));
|
|
53
|
+
} else if (runtime instanceof V1_EngineRuntime) {
|
|
54
|
+
return V1_buildEngineRuntime(runtime, context);
|
|
55
|
+
}
|
|
56
|
+
throw new UnsupportedOperationError();
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
export const V1_buildSingleExecutionParameters = (
|
|
60
|
+
protocol: V1_SingleExecutionParameters,
|
|
61
|
+
context: V1_GraphBuilderContext,
|
|
62
|
+
): SingleExecutionParameters => {
|
|
63
|
+
const element = new SingleExecutionParameters();
|
|
64
|
+
element.key = protocol.key;
|
|
65
|
+
element.mapping = context.resolveMapping(protocol.mapping);
|
|
66
|
+
element.runtime = buildExecutionRuntime(protocol.runtime, context);
|
|
67
|
+
|
|
68
|
+
return element;
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
export const V1_buildExecutionParameters = (
|
|
72
|
+
protocol: V1_ExecutionParameters,
|
|
73
|
+
context: V1_GraphBuilderContext,
|
|
74
|
+
): ExecutionParameters => {
|
|
75
|
+
if (protocol instanceof V1_SingleExecutionParameters) {
|
|
76
|
+
return V1_buildSingleExecutionParameters(protocol, context);
|
|
77
|
+
} else if (protocol instanceof V1_MultiExecutionParameters) {
|
|
78
|
+
const element = new MultiExecutionParameters();
|
|
79
|
+
element.masterKey = protocol.masterKey;
|
|
80
|
+
element.singleExecutionParameters = protocol.singleExecutionParameters.map(
|
|
81
|
+
(e) => V1_buildSingleExecutionParameters(e, context),
|
|
82
|
+
);
|
|
83
|
+
return element;
|
|
84
|
+
}
|
|
85
|
+
throw new UnsupportedOperationError(
|
|
86
|
+
'Unsupported execution environment parameter type',
|
|
87
|
+
);
|
|
88
|
+
};
|
|
@@ -30,6 +30,8 @@ import {
|
|
|
30
30
|
RedshiftDatasourceSpecification,
|
|
31
31
|
BigQueryDatasourceSpecification,
|
|
32
32
|
SpannerDatasourceSpecification,
|
|
33
|
+
TrinoDatasourceSpecification,
|
|
34
|
+
TrinoSslSpecification,
|
|
33
35
|
} from '../../../../../../../../graph/metamodel/pure/packageableElements/store/relational/connection/DatasourceSpecification.js';
|
|
34
36
|
import {
|
|
35
37
|
type AuthenticationStrategy,
|
|
@@ -42,6 +44,7 @@ import {
|
|
|
42
44
|
DelegatedKerberosAuthenticationStrategy,
|
|
43
45
|
GCPWorkloadIdentityFederationAuthenticationStrategy,
|
|
44
46
|
MiddleTierUsernamePasswordAuthenticationStrategy,
|
|
47
|
+
TrinoDelegatedKerberosAuthenticationStrategy,
|
|
45
48
|
} from '../../../../../../../../graph/metamodel/pure/packageableElements/store/relational/connection/AuthenticationStrategy.js';
|
|
46
49
|
import type { V1_GraphBuilderContext } from '../../../../transformation/pureGraph/to/V1_GraphBuilderContext.js';
|
|
47
50
|
import {
|
|
@@ -54,6 +57,7 @@ import {
|
|
|
54
57
|
V1_RedshiftDatasourceSpecification,
|
|
55
58
|
V1_BigQueryDatasourceSpecification,
|
|
56
59
|
V1_SpannerDatasourceSpecification,
|
|
60
|
+
V1_TrinoDatasourceSpecification,
|
|
57
61
|
} from '../../../../model/packageableElements/store/relational/connection/V1_DatasourceSpecification.js';
|
|
58
62
|
import {
|
|
59
63
|
type V1_AuthenticationStrategy,
|
|
@@ -66,6 +70,7 @@ import {
|
|
|
66
70
|
V1_UsernamePasswordAuthenticationStrategy,
|
|
67
71
|
V1_GCPWorkloadIdentityFederationAuthenticationStrategy,
|
|
68
72
|
V1_MiddleTierUsernamePasswordAuthenticationStrategy,
|
|
73
|
+
V1_TrinoDelegatedKerberosAuthenticationStrategy,
|
|
69
74
|
} from '../../../../model/packageableElements/store/relational/connection/V1_AuthenticationStrategy.js';
|
|
70
75
|
import type { STO_Relational_PureProtocolProcessorPlugin_Extension } from '../../../../../extensions/STO_Relational_PureProtocolProcessorPlugin_Extension.js';
|
|
71
76
|
|
|
@@ -239,6 +244,35 @@ export const V1_buildDatasourceSpecification = (
|
|
|
239
244
|
protocol.proxyPort,
|
|
240
245
|
);
|
|
241
246
|
return spannerSpec;
|
|
247
|
+
} else if (protocol instanceof V1_TrinoDatasourceSpecification) {
|
|
248
|
+
assertNonEmptyString(
|
|
249
|
+
protocol.host,
|
|
250
|
+
`Trino datasource specification 'host' field is missing or empty`,
|
|
251
|
+
);
|
|
252
|
+
assertNonNullable(
|
|
253
|
+
protocol.port,
|
|
254
|
+
`Trino datasource specification 'port' field is missing or empty`,
|
|
255
|
+
);
|
|
256
|
+
assertNonNullable(
|
|
257
|
+
protocol.sslSpecification.ssl,
|
|
258
|
+
`Trino datasource specification 'ssl' field is missing or empty`,
|
|
259
|
+
);
|
|
260
|
+
const sslSpecification = new TrinoSslSpecification(
|
|
261
|
+
protocol.sslSpecification.ssl,
|
|
262
|
+
);
|
|
263
|
+
sslSpecification.trustStorePathVaultReference =
|
|
264
|
+
protocol.sslSpecification.trustStorePathVaultReference;
|
|
265
|
+
sslSpecification.trustStorePasswordVaultReference =
|
|
266
|
+
protocol.sslSpecification.trustStorePasswordVaultReference;
|
|
267
|
+
const trinoSpec = new TrinoDatasourceSpecification(
|
|
268
|
+
protocol.host,
|
|
269
|
+
protocol.port,
|
|
270
|
+
sslSpecification,
|
|
271
|
+
);
|
|
272
|
+
trinoSpec.catalog = protocol.catalog;
|
|
273
|
+
trinoSpec.schema = protocol.schema;
|
|
274
|
+
trinoSpec.clientTags = protocol.clientTags;
|
|
275
|
+
return trinoSpec;
|
|
242
276
|
}
|
|
243
277
|
const extraConnectionDatasourceSpecificationBuilders =
|
|
244
278
|
context.extensions.plugins.flatMap(
|
|
@@ -345,6 +379,18 @@ export const V1_buildAuthenticationStrategy = (
|
|
|
345
379
|
return new MiddleTierUsernamePasswordAuthenticationStrategy(
|
|
346
380
|
protocol.vaultReference,
|
|
347
381
|
);
|
|
382
|
+
} else if (
|
|
383
|
+
protocol instanceof V1_TrinoDelegatedKerberosAuthenticationStrategy
|
|
384
|
+
) {
|
|
385
|
+
assertNonEmptyString(
|
|
386
|
+
protocol.kerberosRemoteServiceName,
|
|
387
|
+
`Trino delegated kerberos authentication strategy 'kerberosRemoteServiceName' field is missing or empty`,
|
|
388
|
+
);
|
|
389
|
+
|
|
390
|
+
return new TrinoDelegatedKerberosAuthenticationStrategy(
|
|
391
|
+
protocol.kerberosRemoteServiceName,
|
|
392
|
+
protocol.kerberosUseCanonicalHostname,
|
|
393
|
+
);
|
|
348
394
|
}
|
|
349
395
|
|
|
350
396
|
const extraConnectionAuthenticationStrategyBuilders =
|
|
@@ -100,6 +100,11 @@ import {
|
|
|
100
100
|
V1_dataElementModelSchema,
|
|
101
101
|
V1_DATA_ELEMENT_PROTOCOL_TYPE,
|
|
102
102
|
} from './serializationHelpers/V1_DataElementSerializationHelper.js';
|
|
103
|
+
import {
|
|
104
|
+
V1_executionEnvModelSchema,
|
|
105
|
+
V1_EXECUTION_ENVIRONMENT_ELEMENT_PROTOCOL_TYPE,
|
|
106
|
+
} from './serializationHelpers/V1_ExecutionEnvironmentSerializationHelper.js';
|
|
107
|
+
import type { V1_ExecutionEnvironmentInstance } from '../../model/packageableElements/service/V1_ExecutionEnvironmentInstance.js';
|
|
103
108
|
|
|
104
109
|
class V1_PackageableElementSerializer
|
|
105
110
|
implements V1_PackageableElementVisitor<PlainObject<V1_PackageableElement>>
|
|
@@ -174,6 +179,12 @@ class V1_PackageableElementSerializer
|
|
|
174
179
|
return serialize(V1_serviceModelSchema(this.plugins), element);
|
|
175
180
|
}
|
|
176
181
|
|
|
182
|
+
visit_ExecutionEnvironmentInstance(
|
|
183
|
+
element: V1_ExecutionEnvironmentInstance,
|
|
184
|
+
): PlainObject<V1_ExecutionEnvironmentInstance> {
|
|
185
|
+
return serialize(V1_executionEnvModelSchema, element);
|
|
186
|
+
}
|
|
187
|
+
|
|
177
188
|
visit_PackageableRuntime(
|
|
178
189
|
element: V1_PackageableRuntime,
|
|
179
190
|
): PlainObject<V1_PackageableElement> {
|
|
@@ -268,6 +279,8 @@ export const V1_deserializePackageableElement = (
|
|
|
268
279
|
return deserialize(V1_mappingModelSchema(plugins), json);
|
|
269
280
|
case V1_SERVICE_ELEMENT_PROTOCOL_TYPE:
|
|
270
281
|
return deserialize(V1_serviceModelSchema(plugins), json);
|
|
282
|
+
case V1_EXECUTION_ENVIRONMENT_ELEMENT_PROTOCOL_TYPE:
|
|
283
|
+
return deserialize(V1_executionEnvModelSchema, json);
|
|
271
284
|
case V1_PACKAGEABLE_CONNECTION_ELEMENT_PROTOCOL_TYPE:
|
|
272
285
|
return deserialize(V1_packageableConnectionModelSchema(plugins), json);
|
|
273
286
|
case V1_PACKAGEABLE_RUNTIME_ELEMENT_PROTOCOL_TYPE:
|
|
@@ -28,6 +28,7 @@ import {
|
|
|
28
28
|
import {
|
|
29
29
|
type PlainObject,
|
|
30
30
|
usingConstantValueSchema,
|
|
31
|
+
usingModelSchema,
|
|
31
32
|
IllegalStateError,
|
|
32
33
|
UnsupportedOperationError,
|
|
33
34
|
customEquivalentList,
|
|
@@ -52,6 +53,8 @@ import {
|
|
|
52
53
|
V1_EmbeddedH2DatasourceSpecification,
|
|
53
54
|
V1_RedshiftDatasourceSpecification,
|
|
54
55
|
V1_SpannerDatasourceSpecification,
|
|
56
|
+
V1_TrinoDatasourceSpecification,
|
|
57
|
+
V1_TrinoSslSpecification,
|
|
55
58
|
} from '../../../model/packageableElements/store/relational/connection/V1_DatasourceSpecification.js';
|
|
56
59
|
import {
|
|
57
60
|
type V1_AuthenticationStrategy,
|
|
@@ -64,6 +67,7 @@ import {
|
|
|
64
67
|
V1_UsernamePasswordAuthenticationStrategy,
|
|
65
68
|
V1_GCPWorkloadIdentityFederationAuthenticationStrategy,
|
|
66
69
|
V1_MiddleTierUsernamePasswordAuthenticationStrategy,
|
|
70
|
+
V1_TrinoDelegatedKerberosAuthenticationStrategy,
|
|
67
71
|
} from '../../../model/packageableElements/store/relational/connection/V1_AuthenticationStrategy.js';
|
|
68
72
|
import type { PureProtocolProcessorPlugin } from '../../../../PureProtocolProcessorPlugin.js';
|
|
69
73
|
import type { STO_Relational_PureProtocolProcessorPlugin_Extension } from '../../../../extensions/STO_Relational_PureProtocolProcessorPlugin_Extension.js';
|
|
@@ -163,6 +167,7 @@ enum V1_DatasourceSpecificationType {
|
|
|
163
167
|
REDSHIFT = 'redshift',
|
|
164
168
|
BIGQUERY = 'bigQuery',
|
|
165
169
|
SPANNER = 'spanner',
|
|
170
|
+
TRINO = 'Trino',
|
|
166
171
|
}
|
|
167
172
|
|
|
168
173
|
const staticDatasourceSpecificationModelSchema = createModelSchema(
|
|
@@ -260,6 +265,28 @@ const spannerDatasourceSpecificationModelSchema = createModelSchema(
|
|
|
260
265
|
},
|
|
261
266
|
);
|
|
262
267
|
|
|
268
|
+
const trinoSslSpecificationModelSchema = createModelSchema(
|
|
269
|
+
V1_TrinoSslSpecification,
|
|
270
|
+
{
|
|
271
|
+
ssl: primitive(),
|
|
272
|
+
trustStorePathVaultReference: optional(primitive()),
|
|
273
|
+
trustStorePasswordVaultReference: optional(primitive()),
|
|
274
|
+
},
|
|
275
|
+
);
|
|
276
|
+
|
|
277
|
+
const trinoDatasourceSpecificationModelSchema = createModelSchema(
|
|
278
|
+
V1_TrinoDatasourceSpecification,
|
|
279
|
+
{
|
|
280
|
+
_type: usingConstantValueSchema(V1_DatasourceSpecificationType.TRINO),
|
|
281
|
+
host: primitive(),
|
|
282
|
+
port: primitive(),
|
|
283
|
+
catalog: optional(primitive()),
|
|
284
|
+
schema: optional(primitive()),
|
|
285
|
+
clientTags: optional(primitive()),
|
|
286
|
+
sslSpecification: usingModelSchema(trinoSslSpecificationModelSchema),
|
|
287
|
+
},
|
|
288
|
+
);
|
|
289
|
+
|
|
263
290
|
export const V1_serializeDatasourceSpecification = (
|
|
264
291
|
protocol: V1_DatasourceSpecification,
|
|
265
292
|
plugins: PureProtocolProcessorPlugin[],
|
|
@@ -280,6 +307,8 @@ export const V1_serializeDatasourceSpecification = (
|
|
|
280
307
|
return serialize(redshiftDatasourceSpecificationModelSchema, protocol);
|
|
281
308
|
} else if (protocol instanceof V1_SpannerDatasourceSpecification) {
|
|
282
309
|
return serialize(spannerDatasourceSpecificationModelSchema, protocol);
|
|
310
|
+
} else if (protocol instanceof V1_TrinoDatasourceSpecification) {
|
|
311
|
+
return serialize(trinoDatasourceSpecificationModelSchema, protocol);
|
|
283
312
|
}
|
|
284
313
|
const extraConnectionDatasourceSpecificationProtocolSerializers =
|
|
285
314
|
plugins.flatMap(
|
|
@@ -322,6 +351,8 @@ export const V1_deserializeDatasourceSpecification = (
|
|
|
322
351
|
return deserialize(redshiftDatasourceSpecificationModelSchema, json);
|
|
323
352
|
case V1_DatasourceSpecificationType.SPANNER:
|
|
324
353
|
return deserialize(spannerDatasourceSpecificationModelSchema, json);
|
|
354
|
+
case V1_DatasourceSpecificationType.TRINO:
|
|
355
|
+
return deserialize(trinoDatasourceSpecificationModelSchema, json);
|
|
325
356
|
default: {
|
|
326
357
|
const extraConnectionDatasourceSpecificationProtocolDeserializers =
|
|
327
358
|
plugins.flatMap(
|
|
@@ -356,6 +387,7 @@ enum V1_AuthenticationStrategyType {
|
|
|
356
387
|
USERNAME_PASSWORD = 'userNamePassword',
|
|
357
388
|
GCP_WORKLOAD_IDENTITY_FEDERATION = 'gcpWorkloadIdentityFederation',
|
|
358
389
|
MIDDLE_TIER_USERNAME_PASSWORD = 'middleTierUserNamePassword',
|
|
390
|
+
TRINO_DELEGATED_KERBEROS = 'TrinoDelegatedKerberosAuth',
|
|
359
391
|
}
|
|
360
392
|
|
|
361
393
|
const V1_delegatedKerberosAuthenticationStrategyModelSchema = createModelSchema(
|
|
@@ -429,6 +461,15 @@ const V1_UsernamePasswordAuthenticationStrategyModelSchema = createModelSchema(
|
|
|
429
461
|
},
|
|
430
462
|
);
|
|
431
463
|
|
|
464
|
+
const V1_TrinoDelegatedKerberosAuthenticationStrategyModelSchema =
|
|
465
|
+
createModelSchema(V1_TrinoDelegatedKerberosAuthenticationStrategy, {
|
|
466
|
+
_type: usingConstantValueSchema(
|
|
467
|
+
V1_AuthenticationStrategyType.TRINO_DELEGATED_KERBEROS,
|
|
468
|
+
),
|
|
469
|
+
kerberosRemoteServiceName: primitive(),
|
|
470
|
+
kerberosUseCanonicalHostname: optional(primitive()),
|
|
471
|
+
});
|
|
472
|
+
|
|
432
473
|
const V1_oAuthAuthenticationStrategyModelSchema = createModelSchema(
|
|
433
474
|
V1_OAuthAuthenticationStrategy,
|
|
434
475
|
{
|
|
@@ -485,6 +526,13 @@ export const V1_serializeAuthenticationStrategy = (
|
|
|
485
526
|
V1_MiddleTierUsernamePasswordAuthenticationStrategyModelSchema,
|
|
486
527
|
protocol,
|
|
487
528
|
);
|
|
529
|
+
} else if (
|
|
530
|
+
protocol instanceof V1_TrinoDelegatedKerberosAuthenticationStrategy
|
|
531
|
+
) {
|
|
532
|
+
return serialize(
|
|
533
|
+
V1_TrinoDelegatedKerberosAuthenticationStrategyModelSchema,
|
|
534
|
+
protocol,
|
|
535
|
+
);
|
|
488
536
|
}
|
|
489
537
|
const extraConnectionAuthenticationStrategyProtocolSerializers =
|
|
490
538
|
plugins.flatMap(
|
|
@@ -547,6 +595,8 @@ export const V1_deserializeAuthenticationStrategy = (
|
|
|
547
595
|
V1_MiddleTierUsernamePasswordAuthenticationStrategyModelSchema,
|
|
548
596
|
json,
|
|
549
597
|
);
|
|
598
|
+
case V1_AuthenticationStrategyType.TRINO_DELEGATED_KERBEROS:
|
|
599
|
+
return deserialize(V1_TrinoDelegatedKerberosAuthenticationStrategy, json);
|
|
550
600
|
default: {
|
|
551
601
|
const extraConnectionAuthenticationStrategyProtocolDeserializers =
|
|
552
602
|
plugins.flatMap(
|