@finos/legend-extension-dsl-data-quality 1.0.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/LICENSE +201 -0
- package/README.md +1 -0
- package/lib/components/DSL_DataQuality_ClassElementDriver.d.ts +46 -0
- package/lib/components/DSL_DataQuality_ClassElementDriver.d.ts.map +1 -0
- package/lib/components/DSL_DataQuality_ClassElementDriver.js +116 -0
- package/lib/components/DSL_DataQuality_ClassElementDriver.js.map +1 -0
- package/lib/components/DSL_DataQuality_LegendStudioApplicationPlugin.d.ts +30 -0
- package/lib/components/DSL_DataQuality_LegendStudioApplicationPlugin.d.ts.map +1 -0
- package/lib/components/DSL_DataQuality_LegendStudioApplicationPlugin.js +161 -0
- package/lib/components/DSL_DataQuality_LegendStudioApplicationPlugin.js.map +1 -0
- package/lib/components/DSL_DataQuality_LegendStudioPlugin_Extension.d.ts +25 -0
- package/lib/components/DSL_DataQuality_LegendStudioPlugin_Extension.d.ts.map +1 -0
- package/lib/components/DSL_DataQuality_LegendStudioPlugin_Extension.js +2 -0
- package/lib/components/DSL_DataQuality_LegendStudioPlugin_Extension.js.map +1 -0
- package/lib/components/DSL_DataQuality_ServiceElementDriver.d.ts +27 -0
- package/lib/components/DSL_DataQuality_ServiceElementDriver.d.ts.map +1 -0
- package/lib/components/DSL_DataQuality_ServiceElementDriver.js +41 -0
- package/lib/components/DSL_DataQuality_ServiceElementDriver.js.map +1 -0
- package/lib/components/DSL_NewDataQualityClassValidationElement.d.ts +19 -0
- package/lib/components/DSL_NewDataQualityClassValidationElement.d.ts.map +1 -0
- package/lib/components/DSL_NewDataQualityClassValidationElement.js +64 -0
- package/lib/components/DSL_NewDataQualityClassValidationElement.js.map +1 -0
- package/lib/components/DSL_NewDataQualityServiceValidationElement.d.ts +19 -0
- package/lib/components/DSL_NewDataQualityServiceValidationElement.d.ts.map +1 -0
- package/lib/components/DSL_NewDataQualityServiceValidationElement.js +41 -0
- package/lib/components/DSL_NewDataQualityServiceValidationElement.js.map +1 -0
- package/lib/components/DataQualityClassValidationEditor.d.ts +19 -0
- package/lib/components/DataQualityClassValidationEditor.d.ts.map +1 -0
- package/lib/components/DataQualityClassValidationEditor.js +29 -0
- package/lib/components/DataQualityClassValidationEditor.js.map +1 -0
- package/lib/components/DataQualityConstraintsSelection.d.ts +39 -0
- package/lib/components/DataQualityConstraintsSelection.d.ts.map +1 -0
- package/lib/components/DataQualityConstraintsSelection.js +133 -0
- package/lib/components/DataQualityConstraintsSelection.js.map +1 -0
- package/lib/components/DataQualityDataSpaceBuilder.d.ts +22 -0
- package/lib/components/DataQualityDataSpaceBuilder.d.ts.map +1 -0
- package/lib/components/DataQualityDataSpaceBuilder.js +101 -0
- package/lib/components/DataQualityDataSpaceBuilder.js.map +1 -0
- package/lib/components/DataQualityExplorerPanel.d.ts +29 -0
- package/lib/components/DataQualityExplorerPanel.d.ts.map +1 -0
- package/lib/components/DataQualityExplorerPanel.js +185 -0
- package/lib/components/DataQualityExplorerPanel.js.map +1 -0
- package/lib/components/DataQualityFilterPanel.d.ts +24 -0
- package/lib/components/DataQualityFilterPanel.d.ts.map +1 -0
- package/lib/components/DataQualityFilterPanel.js +32 -0
- package/lib/components/DataQualityFilterPanel.js.map +1 -0
- package/lib/components/DataQualityMappingAndRuntimeBuilder.d.ts +22 -0
- package/lib/components/DataQualityMappingAndRuntimeBuilder.d.ts.map +1 -0
- package/lib/components/DataQualityMappingAndRuntimeBuilder.js +98 -0
- package/lib/components/DataQualityMappingAndRuntimeBuilder.js.map +1 -0
- package/lib/components/DataQualityResultPanel.d.ts +22 -0
- package/lib/components/DataQualityResultPanel.d.ts.map +1 -0
- package/lib/components/DataQualityResultPanel.js +110 -0
- package/lib/components/DataQualityResultPanel.js.map +1 -0
- package/lib/components/DataQualityResultValues.d.ts +24 -0
- package/lib/components/DataQualityResultValues.d.ts.map +1 -0
- package/lib/components/DataQualityResultValues.js +31 -0
- package/lib/components/DataQualityResultValues.js.map +1 -0
- package/lib/components/DataQualityServiceValidationEditor.d.ts +19 -0
- package/lib/components/DataQualityServiceValidationEditor.d.ts.map +1 -0
- package/lib/components/DataQualityServiceValidationEditor.js +29 -0
- package/lib/components/DataQualityServiceValidationEditor.js.map +1 -0
- package/lib/components/DataQualitySideBar.d.ts +40 -0
- package/lib/components/DataQualitySideBar.d.ts.map +1 -0
- package/lib/components/DataQualitySideBar.js +78 -0
- package/lib/components/DataQualitySideBar.js.map +1 -0
- package/lib/components/DataQualityStructuralValidationsPanel.d.ts +22 -0
- package/lib/components/DataQualityStructuralValidationsPanel.d.ts.map +1 -0
- package/lib/components/DataQualityStructuralValidationsPanel.js +50 -0
- package/lib/components/DataQualityStructuralValidationsPanel.js.map +1 -0
- package/lib/components/DataQualityTabs.d.ts +22 -0
- package/lib/components/DataQualityTabs.d.ts.map +1 -0
- package/lib/components/DataQualityTabs.js +58 -0
- package/lib/components/DataQualityTabs.js.map +1 -0
- package/lib/components/DataQualityValidationEditor.d.ts +23 -0
- package/lib/components/DataQualityValidationEditor.d.ts.map +1 -0
- package/lib/components/DataQualityValidationEditor.js +24 -0
- package/lib/components/DataQualityValidationEditor.js.map +1 -0
- package/lib/components/constants/DataQualityConstants.d.ts +24 -0
- package/lib/components/constants/DataQualityConstants.d.ts.map +1 -0
- package/lib/components/constants/DataQualityConstants.js +25 -0
- package/lib/components/constants/DataQualityConstants.js.map +1 -0
- package/lib/components/index.d.ts +19 -0
- package/lib/components/index.d.ts.map +1 -0
- package/lib/components/index.js +19 -0
- package/lib/components/index.js.map +1 -0
- package/lib/components/states/ConstraintState.d.ts +30 -0
- package/lib/components/states/ConstraintState.d.ts.map +1 -0
- package/lib/components/states/ConstraintState.js +55 -0
- package/lib/components/states/ConstraintState.js.map +1 -0
- package/lib/components/states/DataQualityClassValidationState.d.ts +43 -0
- package/lib/components/states/DataQualityClassValidationState.d.ts.map +1 -0
- package/lib/components/states/DataQualityClassValidationState.js +162 -0
- package/lib/components/states/DataQualityClassValidationState.js.map +1 -0
- package/lib/components/states/DataQualityGraphFetchTreeState.d.ts +34 -0
- package/lib/components/states/DataQualityGraphFetchTreeState.d.ts.map +1 -0
- package/lib/components/states/DataQualityGraphFetchTreeState.js +70 -0
- package/lib/components/states/DataQualityGraphFetchTreeState.js.map +1 -0
- package/lib/components/states/DataQualityQueryBuilderState.d.ts +19 -0
- package/lib/components/states/DataQualityQueryBuilderState.d.ts.map +1 -0
- package/lib/components/states/DataQualityQueryBuilderState.js +19 -0
- package/lib/components/states/DataQualityQueryBuilderState.js.map +1 -0
- package/lib/components/states/DataQualityResultState.d.ts +44 -0
- package/lib/components/states/DataQualityResultState.d.ts.map +1 -0
- package/lib/components/states/DataQualityResultState.js +154 -0
- package/lib/components/states/DataQualityResultState.js.map +1 -0
- package/lib/components/states/DataQualityServiceValidationState.d.ts +25 -0
- package/lib/components/states/DataQualityServiceValidationState.d.ts.map +1 -0
- package/lib/components/states/DataQualityServiceValidationState.js +33 -0
- package/lib/components/states/DataQualityServiceValidationState.js.map +1 -0
- package/lib/components/states/DataQualityState.d.ts +67 -0
- package/lib/components/states/DataQualityState.d.ts.map +1 -0
- package/lib/components/states/DataQualityState.js +204 -0
- package/lib/components/states/DataQualityState.js.map +1 -0
- package/lib/components/utils/DataQualityGraphFetchTreeUtil.d.ts +51 -0
- package/lib/components/utils/DataQualityGraphFetchTreeUtil.d.ts.map +1 -0
- package/lib/components/utils/DataQualityGraphFetchTreeUtil.js +321 -0
- package/lib/components/utils/DataQualityGraphFetchTreeUtil.js.map +1 -0
- package/lib/graph/metamodel/DSL_DataQuality_HashUtils.d.ts +29 -0
- package/lib/graph/metamodel/DSL_DataQuality_HashUtils.d.ts.map +1 -0
- package/lib/graph/metamodel/DSL_DataQuality_HashUtils.js +30 -0
- package/lib/graph/metamodel/DSL_DataQuality_HashUtils.js.map +1 -0
- package/lib/graph/metamodel/DSL_DataQuality_PureGraphPlugin.d.ts +22 -0
- package/lib/graph/metamodel/DSL_DataQuality_PureGraphPlugin.d.ts.map +1 -0
- package/lib/graph/metamodel/DSL_DataQuality_PureGraphPlugin.js +31 -0
- package/lib/graph/metamodel/DSL_DataQuality_PureGraphPlugin.js.map +1 -0
- package/lib/graph/metamodel/pure/packageableElements/data-quality/DataQualityGraphFetchTree.d.ts +26 -0
- package/lib/graph/metamodel/pure/packageableElements/data-quality/DataQualityGraphFetchTree.d.ts.map +1 -0
- package/lib/graph/metamodel/pure/packageableElements/data-quality/DataQualityGraphFetchTree.js +44 -0
- package/lib/graph/metamodel/pure/packageableElements/data-quality/DataQualityGraphFetchTree.js.map +1 -0
- package/lib/graph/metamodel/pure/packageableElements/data-quality/DataQualityValidationConfiguration.d.ts +47 -0
- package/lib/graph/metamodel/pure/packageableElements/data-quality/DataQualityValidationConfiguration.d.ts.map +1 -0
- package/lib/graph/metamodel/pure/packageableElements/data-quality/DataQualityValidationConfiguration.js +75 -0
- package/lib/graph/metamodel/pure/packageableElements/data-quality/DataQualityValidationConfiguration.js.map +1 -0
- package/lib/graph-manager/DSL_DataQuality_GraphManagerHelper.d.ts +20 -0
- package/lib/graph-manager/DSL_DataQuality_GraphManagerHelper.d.ts.map +1 -0
- package/lib/graph-manager/DSL_DataQuality_GraphManagerHelper.js +20 -0
- package/lib/graph-manager/DSL_DataQuality_GraphManagerHelper.js.map +1 -0
- package/lib/graph-manager/DSL_DataQuality_GraphManagerPreset.d.ts +20 -0
- package/lib/graph-manager/DSL_DataQuality_GraphManagerPreset.d.ts.map +1 -0
- package/lib/graph-manager/DSL_DataQuality_GraphManagerPreset.js +30 -0
- package/lib/graph-manager/DSL_DataQuality_GraphManagerPreset.js.map +1 -0
- package/lib/graph-manager/DSL_DataQuality_GraphModifierHelper.d.ts +26 -0
- package/lib/graph-manager/DSL_DataQuality_GraphModifierHelper.d.ts.map +1 -0
- package/lib/graph-manager/DSL_DataQuality_GraphModifierHelper.js +57 -0
- package/lib/graph-manager/DSL_DataQuality_GraphModifierHelper.js.map +1 -0
- package/lib/graph-manager/DSL_DataQuality_PureGraphManagerPlugin.d.ts +7 -0
- package/lib/graph-manager/DSL_DataQuality_PureGraphManagerPlugin.d.ts.map +1 -0
- package/lib/graph-manager/DSL_DataQuality_PureGraphManagerPlugin.js +42 -0
- package/lib/graph-manager/DSL_DataQuality_PureGraphManagerPlugin.js.map +1 -0
- package/lib/graph-manager/action/changeDetection/DSL_DataQuality_ObserverHelper.d.ts +24 -0
- package/lib/graph-manager/action/changeDetection/DSL_DataQuality_ObserverHelper.d.ts.map +1 -0
- package/lib/graph-manager/action/changeDetection/DSL_DataQuality_ObserverHelper.js +98 -0
- package/lib/graph-manager/action/changeDetection/DSL_DataQuality_ObserverHelper.js.map +1 -0
- package/lib/graph-manager/index.d.ts +19 -0
- package/lib/graph-manager/index.d.ts.map +1 -0
- package/lib/graph-manager/index.js +19 -0
- package/lib/graph-manager/index.js.map +1 -0
- package/lib/graph-manager/protocol/pure/DSL_DataQuality_PureGraphManagerExtension.d.ts +27 -0
- package/lib/graph-manager/protocol/pure/DSL_DataQuality_PureGraphManagerExtension.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/DSL_DataQuality_PureGraphManagerExtension.js +21 -0
- package/lib/graph-manager/protocol/pure/DSL_DataQuality_PureGraphManagerExtension.js.map +1 -0
- package/lib/graph-manager/protocol/pure/DSL_DataQuality_PureProtocolProcessorPlugin.d.ts +25 -0
- package/lib/graph-manager/protocol/pure/DSL_DataQuality_PureProtocolProcessorPlugin.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/DSL_DataQuality_PureProtocolProcessorPlugin.js +140 -0
- package/lib/graph-manager/protocol/pure/DSL_DataQuality_PureProtocolProcessorPlugin.js.map +1 -0
- package/lib/graph-manager/protocol/pure/DSL_DataQuality_buildGraphManagerExtension.d.ts +18 -0
- package/lib/graph-manager/protocol/pure/DSL_DataQuality_buildGraphManagerExtension.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/DSL_DataQuality_buildGraphManagerExtension.js +20 -0
- package/lib/graph-manager/protocol/pure/DSL_DataQuality_buildGraphManagerExtension.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_DSL_Data_Quality_PureGraphManagerExtension.d.ts +41 -0
- package/lib/graph-manager/protocol/pure/v1/V1_DSL_Data_Quality_PureGraphManagerExtension.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_DSL_Data_Quality_PureGraphManagerExtension.js +95 -0
- package/lib/graph-manager/protocol/pure/v1/V1_DSL_Data_Quality_PureGraphManagerExtension.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_DataQualityConstraintsConfiguration.d.ts +46 -0
- package/lib/graph-manager/protocol/pure/v1/V1_DataQualityConstraintsConfiguration.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_DataQualityConstraintsConfiguration.js +76 -0
- package/lib/graph-manager/protocol/pure/v1/V1_DataQualityConstraintsConfiguration.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/model/graphFetch/V1_DataQualityPropertyGraphFetchTree.d.ts +22 -0
- package/lib/graph-manager/protocol/pure/v1/model/graphFetch/V1_DataQualityPropertyGraphFetchTree.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/model/graphFetch/V1_DataQualityPropertyGraphFetchTree.js +32 -0
- package/lib/graph-manager/protocol/pure/v1/model/graphFetch/V1_DataQualityPropertyGraphFetchTree.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/model/graphFetch/V1_DataQualityRootGraphFetchTree.d.ts +22 -0
- package/lib/graph-manager/protocol/pure/v1/model/graphFetch/V1_DataQualityRootGraphFetchTree.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/model/graphFetch/V1_DataQualityRootGraphFetchTree.js +31 -0
- package/lib/graph-manager/protocol/pure/v1/model/graphFetch/V1_DataQualityRootGraphFetchTree.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/transformation/V1_ValueSpecificationBuilderHelper.d.ts +24 -0
- package/lib/graph-manager/protocol/pure/v1/transformation/V1_ValueSpecificationBuilderHelper.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/transformation/V1_ValueSpecificationBuilderHelper.js +92 -0
- package/lib/graph-manager/protocol/pure/v1/transformation/V1_ValueSpecificationBuilderHelper.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/transformation/V1_ValueSpecificationSerializer.d.ts +20 -0
- package/lib/graph-manager/protocol/pure/v1/transformation/V1_ValueSpecificationSerializer.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/transformation/V1_ValueSpecificationSerializer.js +56 -0
- package/lib/graph-manager/protocol/pure/v1/transformation/V1_ValueSpecificationSerializer.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/transformation/V1_ValueSpecificationTransformer.d.ts +22 -0
- package/lib/graph-manager/protocol/pure/v1/transformation/V1_ValueSpecificationTransformer.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/transformation/V1_ValueSpecificationTransformer.js +70 -0
- package/lib/graph-manager/protocol/pure/v1/transformation/V1_ValueSpecificationTransformer.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_DSL_DataQuality_ProtocolHelper.d.ts +29 -0
- package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_DSL_DataQuality_ProtocolHelper.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_DSL_DataQuality_ProtocolHelper.js +80 -0
- package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_DSL_DataQuality_ProtocolHelper.js.map +1 -0
- package/lib/index.css +17 -0
- package/lib/index.css.map +1 -0
- package/lib/package.json +87 -0
- package/package.json +87 -0
- package/src/components/DSL_DataQuality_ClassElementDriver.tsx +175 -0
- package/src/components/DSL_DataQuality_LegendStudioApplicationPlugin.tsx +220 -0
- package/src/components/DSL_DataQuality_LegendStudioPlugin_Extension.ts +39 -0
- package/src/components/DSL_DataQuality_ServiceElementDriver.tsx +57 -0
- package/src/components/DSL_NewDataQualityClassValidationElement.tsx +156 -0
- package/src/components/DSL_NewDataQualityServiceValidationElement.tsx +74 -0
- package/src/components/DataQualityClassValidationEditor.tsx +49 -0
- package/src/components/DataQualityConstraintsSelection.tsx +376 -0
- package/src/components/DataQualityDataSpaceBuilder.tsx +274 -0
- package/src/components/DataQualityExplorerPanel.tsx +584 -0
- package/src/components/DataQualityFilterPanel.tsx +50 -0
- package/src/components/DataQualityMappingAndRuntimeBuilder.tsx +224 -0
- package/src/components/DataQualityResultPanel.tsx +335 -0
- package/src/components/DataQualityResultValues.tsx +61 -0
- package/src/components/DataQualityServiceValidationEditor.tsx +49 -0
- package/src/components/DataQualitySideBar.tsx +216 -0
- package/src/components/DataQualityStructuralValidationsPanel.tsx +105 -0
- package/src/components/DataQualityTabs.tsx +104 -0
- package/src/components/DataQualityValidationEditor.tsx +52 -0
- package/src/components/constants/DataQualityConstants.ts +24 -0
- package/src/components/index.ts +19 -0
- package/src/components/states/ConstraintState.ts +70 -0
- package/src/components/states/DataQualityClassValidationState.ts +308 -0
- package/src/components/states/DataQualityGraphFetchTreeState.ts +125 -0
- package/src/components/states/DataQualityQueryBuilderState.ts +19 -0
- package/src/components/states/DataQualityResultState.ts +217 -0
- package/src/components/states/DataQualityServiceValidationState.ts +56 -0
- package/src/components/states/DataQualityState.ts +354 -0
- package/src/components/utils/DataQualityGraphFetchTreeUtil.ts +592 -0
- package/src/graph/metamodel/DSL_DataQuality_HashUtils.ts +29 -0
- package/src/graph/metamodel/DSL_DataQuality_PureGraphPlugin.ts +36 -0
- package/src/graph/metamodel/pure/packageableElements/data-quality/DataQualityGraphFetchTree.ts +55 -0
- package/src/graph/metamodel/pure/packageableElements/data-quality/DataQualityValidationConfiguration.ts +107 -0
- package/src/graph-manager/DSL_DataQuality_GraphManagerHelper.ts +46 -0
- package/src/graph-manager/DSL_DataQuality_GraphManagerPreset.ts +31 -0
- package/src/graph-manager/DSL_DataQuality_GraphModifierHelper.ts +113 -0
- package/src/graph-manager/DSL_DataQuality_PureGraphManagerPlugin.ts +59 -0
- package/src/graph-manager/action/changeDetection/DSL_DataQuality_ObserverHelper.ts +153 -0
- package/src/graph-manager/index.ts +19 -0
- package/src/graph-manager/protocol/pure/DSL_DataQuality_PureGraphManagerExtension.ts +59 -0
- package/src/graph-manager/protocol/pure/DSL_DataQuality_PureProtocolProcessorPlugin.ts +283 -0
- package/src/graph-manager/protocol/pure/DSL_DataQuality_buildGraphManagerExtension.ts +27 -0
- package/src/graph-manager/protocol/pure/v1/V1_DSL_Data_Quality_PureGraphManagerExtension.ts +246 -0
- package/src/graph-manager/protocol/pure/v1/V1_DataQualityConstraintsConfiguration.ts +103 -0
- package/src/graph-manager/protocol/pure/v1/model/graphFetch/V1_DataQualityPropertyGraphFetchTree.ts +37 -0
- package/src/graph-manager/protocol/pure/v1/model/graphFetch/V1_DataQualityRootGraphFetchTree.ts +36 -0
- package/src/graph-manager/protocol/pure/v1/transformation/V1_ValueSpecificationBuilderHelper.ts +241 -0
- package/src/graph-manager/protocol/pure/v1/transformation/V1_ValueSpecificationSerializer.ts +113 -0
- package/src/graph-manager/protocol/pure/v1/transformation/V1_ValueSpecificationTransformer.ts +139 -0
- package/src/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_DSL_DataQuality_ProtocolHelper.ts +186 -0
- package/style/_data-quality-validation-builder.scss +1660 -0
- package/style/index.scss +67 -0
- package/tsconfig.json +137 -0
- package/tsconfig.package.json +9 -0
package/src/graph/metamodel/pure/packageableElements/data-quality/DataQualityGraphFetchTree.ts
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
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 { type Hashable, hashArray } from '@finos/legend-shared';
|
|
18
|
+
import {
|
|
19
|
+
RootGraphFetchTree,
|
|
20
|
+
PropertyGraphFetchTree,
|
|
21
|
+
} from '@finos/legend-graph';
|
|
22
|
+
import { DATA_QUALITY_HASH_STRUCTURE } from '../../../DSL_DataQuality_HashUtils.js';
|
|
23
|
+
|
|
24
|
+
export class DataQualityRootGraphFetchTree
|
|
25
|
+
extends RootGraphFetchTree
|
|
26
|
+
implements Hashable
|
|
27
|
+
{
|
|
28
|
+
constraints: string[] = [];
|
|
29
|
+
override get hashCode(): string {
|
|
30
|
+
return hashArray([
|
|
31
|
+
DATA_QUALITY_HASH_STRUCTURE.DATA_QUALITY_ROOT_GRAPH_FETCH_TREE,
|
|
32
|
+
hashArray(this.subTrees),
|
|
33
|
+
hashArray(this.subTypeTrees),
|
|
34
|
+
hashArray(this.constraints),
|
|
35
|
+
this.class.valueForSerialization ?? '',
|
|
36
|
+
]);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export class DataQualityPropertyGraphFetchTree
|
|
41
|
+
extends PropertyGraphFetchTree
|
|
42
|
+
implements Hashable
|
|
43
|
+
{
|
|
44
|
+
constraints: string[] = [];
|
|
45
|
+
override get hashCode(): string {
|
|
46
|
+
return hashArray([
|
|
47
|
+
DATA_QUALITY_HASH_STRUCTURE.DATA_QUALITY_PROPERTY_GRAPH_FETCH_TREE,
|
|
48
|
+
hashArray(this.subTrees),
|
|
49
|
+
this.property.value.name,
|
|
50
|
+
this.alias ?? '',
|
|
51
|
+
this.subType?.valueForSerialization ?? '',
|
|
52
|
+
hashArray(this.constraints),
|
|
53
|
+
]);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
@@ -0,0 +1,107 @@
|
|
|
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 PackageableElementVisitor,
|
|
19
|
+
type GraphFetchTree,
|
|
20
|
+
type Mapping,
|
|
21
|
+
type PackageableElementReference,
|
|
22
|
+
type PackageableRuntime,
|
|
23
|
+
type RawLambda,
|
|
24
|
+
PackageableElement,
|
|
25
|
+
} from '@finos/legend-graph';
|
|
26
|
+
import { type Hashable, hashArray } from '@finos/legend-shared';
|
|
27
|
+
import { DATA_QUALITY_HASH_STRUCTURE } from '../../../DSL_DataQuality_HashUtils.js';
|
|
28
|
+
import type { DataSpace } from '@finos/legend-extension-dsl-data-space/graph';
|
|
29
|
+
import type { DataQualityRootGraphFetchTree } from './DataQualityGraphFetchTree.js';
|
|
30
|
+
|
|
31
|
+
export abstract class DataQualityExecutionContext implements Hashable {
|
|
32
|
+
abstract get hashCode(): string;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export class DataSpaceDataQualityExecutionContext extends DataQualityExecutionContext {
|
|
36
|
+
context!: string;
|
|
37
|
+
dataSpace!: PackageableElementReference<DataSpace>;
|
|
38
|
+
|
|
39
|
+
override get hashCode(): string {
|
|
40
|
+
return hashArray([
|
|
41
|
+
DATA_QUALITY_HASH_STRUCTURE.DATA_QUALTIY_DATASPACE_EXECUTION_CONTEXT,
|
|
42
|
+
this.context,
|
|
43
|
+
this.dataSpace.valueForSerialization ?? '',
|
|
44
|
+
]);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export class MappingAndRuntimeDataQualityExecutionContext extends DataQualityExecutionContext {
|
|
49
|
+
mapping!: PackageableElementReference<Mapping>;
|
|
50
|
+
runtime!: PackageableElementReference<PackageableRuntime>;
|
|
51
|
+
|
|
52
|
+
override get hashCode(): string {
|
|
53
|
+
return hashArray([
|
|
54
|
+
DATA_QUALITY_HASH_STRUCTURE.DATA_QUALITY_MAPPING_AND_RUNTIME_EXECUTION_CONTEXT,
|
|
55
|
+
this.mapping.valueForSerialization ?? '',
|
|
56
|
+
this.runtime.valueForSerialization ?? '',
|
|
57
|
+
]);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export class DataQualityClassValidationsConfiguration
|
|
62
|
+
extends PackageableElement
|
|
63
|
+
implements Hashable
|
|
64
|
+
{
|
|
65
|
+
context!: DataQualityExecutionContext;
|
|
66
|
+
dataQualityRootGraphFetchTree: DataQualityRootGraphFetchTree | undefined;
|
|
67
|
+
filter?: RawLambda | undefined;
|
|
68
|
+
|
|
69
|
+
protected override get _elementHashCode(): string {
|
|
70
|
+
return hashArray([
|
|
71
|
+
DATA_QUALITY_HASH_STRUCTURE.DATA_QUALITY_CONSTRAINTS_CONFIGURATION,
|
|
72
|
+
this.context,
|
|
73
|
+
this.filter ?? '',
|
|
74
|
+
this.dataQualityRootGraphFetchTree ?? '',
|
|
75
|
+
]);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
accept_PackageableElementVisitor<T>(
|
|
79
|
+
visitor: PackageableElementVisitor<T>,
|
|
80
|
+
): T {
|
|
81
|
+
return visitor.visit_PackageableElement(this);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
export class DataQualityServiceValidationConfiguration
|
|
86
|
+
extends PackageableElement
|
|
87
|
+
implements Hashable
|
|
88
|
+
{
|
|
89
|
+
serviceName: string | undefined;
|
|
90
|
+
contextName: string | undefined;
|
|
91
|
+
dataQualityRootGraphFetchTree: GraphFetchTree | undefined;
|
|
92
|
+
|
|
93
|
+
protected override get _elementHashCode(): string {
|
|
94
|
+
return hashArray([
|
|
95
|
+
DATA_QUALITY_HASH_STRUCTURE.DATA_QUALITY_SERVICE_VALIDATION_CONFIGURATION,
|
|
96
|
+
this.serviceName ?? '',
|
|
97
|
+
this.contextName ?? '',
|
|
98
|
+
this.dataQualityRootGraphFetchTree ?? '',
|
|
99
|
+
]);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
accept_PackageableElementVisitor<T>(
|
|
103
|
+
visitor: PackageableElementVisitor<T>,
|
|
104
|
+
): T {
|
|
105
|
+
return visitor.visit_PackageableElement(this);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
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 type { BasicModel } from '@finos/legend-graph';
|
|
18
|
+
import { guaranteeNonNullable } from '@finos/legend-shared';
|
|
19
|
+
import {
|
|
20
|
+
DataQualityClassValidationsConfiguration,
|
|
21
|
+
DataQualityServiceValidationConfiguration,
|
|
22
|
+
} from '../graph/metamodel/pure/packageableElements/data-quality/DataQualityValidationConfiguration.js';
|
|
23
|
+
|
|
24
|
+
export const getOwnDataQualityClassValidationsConfiguration = (
|
|
25
|
+
path: string,
|
|
26
|
+
graph: BasicModel,
|
|
27
|
+
): DataQualityClassValidationsConfiguration =>
|
|
28
|
+
guaranteeNonNullable(
|
|
29
|
+
graph.getOwnNullableExtensionElement(
|
|
30
|
+
path,
|
|
31
|
+
DataQualityClassValidationsConfiguration,
|
|
32
|
+
),
|
|
33
|
+
`Can't find data quality class validation element on '${path}'`,
|
|
34
|
+
);
|
|
35
|
+
|
|
36
|
+
export const getOwnDataQualityServiceValidationsConfiguration = (
|
|
37
|
+
path: string,
|
|
38
|
+
graph: BasicModel,
|
|
39
|
+
): DataQualityServiceValidationConfiguration =>
|
|
40
|
+
guaranteeNonNullable(
|
|
41
|
+
graph.getOwnNullableExtensionElement(
|
|
42
|
+
path,
|
|
43
|
+
DataQualityServiceValidationConfiguration,
|
|
44
|
+
),
|
|
45
|
+
`Can't find data quality service validation element on '${path}'`,
|
|
46
|
+
);
|
|
@@ -0,0 +1,31 @@
|
|
|
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 { AbstractPreset } from '@finos/legend-shared';
|
|
18
|
+
import packageJson from '../../package.json';
|
|
19
|
+
import { DSL_DataQuality_PureGraphPlugin } from '../graph/metamodel/DSL_DataQuality_PureGraphPlugin.js';
|
|
20
|
+
import { DSL_DataQuality_PureGraphManagerPlugin } from './DSL_DataQuality_PureGraphManagerPlugin.js';
|
|
21
|
+
import { DSL_DataQuality_PureProtocolProcessorPlugin } from './protocol/pure/DSL_DataQuality_PureProtocolProcessorPlugin.js';
|
|
22
|
+
|
|
23
|
+
export class DSL_DataQuality_GraphManagerPreset extends AbstractPreset {
|
|
24
|
+
constructor() {
|
|
25
|
+
super(packageJson.extensions.graphManagerPreset, packageJson.version, [
|
|
26
|
+
new DSL_DataQuality_PureGraphPlugin(),
|
|
27
|
+
new DSL_DataQuality_PureGraphManagerPlugin(),
|
|
28
|
+
new DSL_DataQuality_PureProtocolProcessorPlugin(),
|
|
29
|
+
]);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
@@ -0,0 +1,113 @@
|
|
|
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 { action } from 'mobx';
|
|
18
|
+
import {
|
|
19
|
+
type DataQualityClassValidationsConfiguration,
|
|
20
|
+
type DataQualityExecutionContext,
|
|
21
|
+
DataSpaceDataQualityExecutionContext,
|
|
22
|
+
MappingAndRuntimeDataQualityExecutionContext,
|
|
23
|
+
} from '../graph/metamodel/pure/packageableElements/data-quality/DataQualityValidationConfiguration.js';
|
|
24
|
+
import { DataQualityRootGraphFetchTree } from '../graph/metamodel/pure/packageableElements/data-quality/DataQualityGraphFetchTree.js';
|
|
25
|
+
import {
|
|
26
|
+
type GraphFetchTree,
|
|
27
|
+
type PackageableElementReference,
|
|
28
|
+
type PackageableRuntime,
|
|
29
|
+
type RawLambda,
|
|
30
|
+
type ObserverContext,
|
|
31
|
+
observe_PackageableRuntime,
|
|
32
|
+
observe_RawLambda,
|
|
33
|
+
PackageableElementExplicitReference,
|
|
34
|
+
} from '@finos/legend-graph';
|
|
35
|
+
import {
|
|
36
|
+
observe_DataQualityRootGraphFetchTree,
|
|
37
|
+
observe_DataSpaceDataQualityExecutionContext,
|
|
38
|
+
observe_MappingAndRuntimeDataQualityExecutionContext,
|
|
39
|
+
} from './action/changeDetection/DSL_DataQuality_ObserverHelper.js';
|
|
40
|
+
|
|
41
|
+
export const dataQualityClassValidation_setDataQualityGraphFetchTree = action(
|
|
42
|
+
(
|
|
43
|
+
element: DataQualityClassValidationsConfiguration,
|
|
44
|
+
val: DataQualityRootGraphFetchTree | undefined,
|
|
45
|
+
): void => {
|
|
46
|
+
element.dataQualityRootGraphFetchTree = val
|
|
47
|
+
? observe_DataQualityRootGraphFetchTree(val)
|
|
48
|
+
: val;
|
|
49
|
+
},
|
|
50
|
+
);
|
|
51
|
+
|
|
52
|
+
export const dataQualityClassValidation_setDataQualityContext = action(
|
|
53
|
+
(
|
|
54
|
+
element: DataQualityClassValidationsConfiguration,
|
|
55
|
+
val: DataQualityExecutionContext,
|
|
56
|
+
): void => {
|
|
57
|
+
if (val instanceof DataSpaceDataQualityExecutionContext) {
|
|
58
|
+
element.context = observe_DataSpaceDataQualityExecutionContext(val);
|
|
59
|
+
}
|
|
60
|
+
if (val instanceof MappingAndRuntimeDataQualityExecutionContext) {
|
|
61
|
+
element.context =
|
|
62
|
+
observe_MappingAndRuntimeDataQualityExecutionContext(val);
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
);
|
|
66
|
+
|
|
67
|
+
export const dataQualityClassValidation_setFilter = action(
|
|
68
|
+
(
|
|
69
|
+
element: DataQualityClassValidationsConfiguration,
|
|
70
|
+
val: RawLambda | undefined,
|
|
71
|
+
): void => {
|
|
72
|
+
element.filter = val ? observe_RawLambda(val) : val;
|
|
73
|
+
},
|
|
74
|
+
);
|
|
75
|
+
|
|
76
|
+
export const dataQualityClassValidation_setContextDataQualityContext = action(
|
|
77
|
+
(element: DataQualityClassValidationsConfiguration, val: string): void => {
|
|
78
|
+
if (element.context instanceof DataSpaceDataQualityExecutionContext) {
|
|
79
|
+
element.context.context = val;
|
|
80
|
+
element.context = observe_DataSpaceDataQualityExecutionContext(
|
|
81
|
+
element.context,
|
|
82
|
+
);
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
);
|
|
86
|
+
|
|
87
|
+
export const dataQualityClassValidation_setRuntimeDataQualityContext = action(
|
|
88
|
+
(
|
|
89
|
+
element: DataQualityClassValidationsConfiguration,
|
|
90
|
+
val: PackageableElementReference<PackageableRuntime>,
|
|
91
|
+
observerContext: ObserverContext,
|
|
92
|
+
): void => {
|
|
93
|
+
if (
|
|
94
|
+
element.context instanceof MappingAndRuntimeDataQualityExecutionContext
|
|
95
|
+
) {
|
|
96
|
+
element.context.runtime = PackageableElementExplicitReference.create(
|
|
97
|
+
observe_PackageableRuntime(val.value, observerContext),
|
|
98
|
+
);
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
);
|
|
102
|
+
export const graphFetchTree_removeAllSubTrees = action(
|
|
103
|
+
(target: GraphFetchTree): void => {
|
|
104
|
+
target.subTrees = [];
|
|
105
|
+
},
|
|
106
|
+
);
|
|
107
|
+
export const dataQualityGraphFetchTree_removeConstraints = action(
|
|
108
|
+
(target: GraphFetchTree): void => {
|
|
109
|
+
if (target instanceof DataQualityRootGraphFetchTree) {
|
|
110
|
+
target.constraints = [];
|
|
111
|
+
}
|
|
112
|
+
},
|
|
113
|
+
);
|
|
@@ -0,0 +1,59 @@
|
|
|
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
|
+
import packageJson from '../../package.json';
|
|
17
|
+
import {
|
|
18
|
+
type ElementObserver,
|
|
19
|
+
type PureGraphManagerExtensionBuilder,
|
|
20
|
+
type ObserverContext,
|
|
21
|
+
type PackageableElement,
|
|
22
|
+
PureGraphManagerPlugin,
|
|
23
|
+
} from '@finos/legend-graph';
|
|
24
|
+
import {
|
|
25
|
+
DataQualityClassValidationsConfiguration,
|
|
26
|
+
DataQualityServiceValidationConfiguration,
|
|
27
|
+
} from '../graph/metamodel/pure/packageableElements/data-quality/DataQualityValidationConfiguration.js';
|
|
28
|
+
import {
|
|
29
|
+
observe_DataQualityConstraintsConfiguration,
|
|
30
|
+
observe_DataQualityServiceValidationConfiguration,
|
|
31
|
+
} from './action/changeDetection/DSL_DataQuality_ObserverHelper.js';
|
|
32
|
+
import { DSL_DataQuality_buildGraphManagerExtension } from './protocol/pure/DSL_DataQuality_buildGraphManagerExtension.js';
|
|
33
|
+
|
|
34
|
+
export class DSL_DataQuality_PureGraphManagerPlugin extends PureGraphManagerPlugin {
|
|
35
|
+
constructor() {
|
|
36
|
+
super(packageJson.extensions.pureGraphManagerPlugin, packageJson.version);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
override getExtraElementObservers(): ElementObserver[] {
|
|
40
|
+
return [
|
|
41
|
+
(
|
|
42
|
+
element: PackageableElement,
|
|
43
|
+
context: ObserverContext,
|
|
44
|
+
): PackageableElement | undefined => {
|
|
45
|
+
if (element instanceof DataQualityClassValidationsConfiguration) {
|
|
46
|
+
return observe_DataQualityConstraintsConfiguration(element);
|
|
47
|
+
}
|
|
48
|
+
if (element instanceof DataQualityServiceValidationConfiguration) {
|
|
49
|
+
return observe_DataQualityServiceValidationConfiguration(element);
|
|
50
|
+
}
|
|
51
|
+
return undefined;
|
|
52
|
+
},
|
|
53
|
+
];
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
override getExtraPureGraphManagerExtensionBuilders(): PureGraphManagerExtensionBuilder[] {
|
|
57
|
+
return [DSL_DataQuality_buildGraphManagerExtension];
|
|
58
|
+
}
|
|
59
|
+
}
|
|
@@ -0,0 +1,153 @@
|
|
|
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
|
+
observe_Abstract_PackageableElement,
|
|
19
|
+
observe_Class,
|
|
20
|
+
observe_PackageableElementReference,
|
|
21
|
+
observe_PropertyReference,
|
|
22
|
+
observe_RawLambda,
|
|
23
|
+
skipObserved,
|
|
24
|
+
} from '@finos/legend-graph';
|
|
25
|
+
import { makeObservable, observable, override } from 'mobx';
|
|
26
|
+
import {
|
|
27
|
+
type DataQualityClassValidationsConfiguration,
|
|
28
|
+
type DataQualityServiceValidationConfiguration,
|
|
29
|
+
DataSpaceDataQualityExecutionContext,
|
|
30
|
+
MappingAndRuntimeDataQualityExecutionContext,
|
|
31
|
+
} from '../../../graph/metamodel/pure/packageableElements/data-quality/DataQualityValidationConfiguration.js';
|
|
32
|
+
import { observe_DataSpace } from '@finos/legend-extension-dsl-data-space/graph';
|
|
33
|
+
import {
|
|
34
|
+
type DataQualityRootGraphFetchTree,
|
|
35
|
+
DataQualityPropertyGraphFetchTree,
|
|
36
|
+
} from '../../../graph/metamodel/pure/packageableElements/data-quality/DataQualityGraphFetchTree.js';
|
|
37
|
+
|
|
38
|
+
export const observe_DataSpaceDataQualityExecutionContext = skipObserved(
|
|
39
|
+
(
|
|
40
|
+
metamodel: DataSpaceDataQualityExecutionContext,
|
|
41
|
+
): DataSpaceDataQualityExecutionContext => {
|
|
42
|
+
makeObservable<DataSpaceDataQualityExecutionContext>(metamodel, {
|
|
43
|
+
context: observable,
|
|
44
|
+
dataSpace: observable,
|
|
45
|
+
});
|
|
46
|
+
observe_DataSpace(metamodel.dataSpace.value);
|
|
47
|
+
return metamodel;
|
|
48
|
+
},
|
|
49
|
+
);
|
|
50
|
+
|
|
51
|
+
export const observe_MappingAndRuntimeDataQualityExecutionContext =
|
|
52
|
+
skipObserved(
|
|
53
|
+
(
|
|
54
|
+
metamodel: MappingAndRuntimeDataQualityExecutionContext,
|
|
55
|
+
): MappingAndRuntimeDataQualityExecutionContext => {
|
|
56
|
+
makeObservable<MappingAndRuntimeDataQualityExecutionContext>(metamodel, {
|
|
57
|
+
mapping: observable,
|
|
58
|
+
runtime: observable,
|
|
59
|
+
});
|
|
60
|
+
observe_PackageableElementReference(metamodel.mapping);
|
|
61
|
+
observe_PackageableElementReference(metamodel.runtime);
|
|
62
|
+
return metamodel;
|
|
63
|
+
},
|
|
64
|
+
);
|
|
65
|
+
|
|
66
|
+
export const observe_DataQualityPropertyGraphFetchTree = skipObserved(
|
|
67
|
+
(
|
|
68
|
+
metamodel: DataQualityPropertyGraphFetchTree,
|
|
69
|
+
): DataQualityPropertyGraphFetchTree => {
|
|
70
|
+
makeObservable<DataQualityPropertyGraphFetchTree>(metamodel, {
|
|
71
|
+
constraints: observable,
|
|
72
|
+
property: observable,
|
|
73
|
+
subTrees: observable,
|
|
74
|
+
});
|
|
75
|
+
observe_PropertyReference(metamodel.property);
|
|
76
|
+
metamodel.subTrees.forEach((subTree) => {
|
|
77
|
+
if (subTree instanceof DataQualityPropertyGraphFetchTree) {
|
|
78
|
+
observe_DataQualityPropertyGraphFetchTree(subTree);
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
return metamodel;
|
|
82
|
+
},
|
|
83
|
+
);
|
|
84
|
+
|
|
85
|
+
export const observe_DataQualityRootGraphFetchTree = skipObserved(
|
|
86
|
+
(metamodel: DataQualityRootGraphFetchTree): DataQualityRootGraphFetchTree => {
|
|
87
|
+
makeObservable<DataQualityRootGraphFetchTree>(metamodel, {
|
|
88
|
+
class: observable,
|
|
89
|
+
subTrees: observable,
|
|
90
|
+
constraints: observable,
|
|
91
|
+
});
|
|
92
|
+
observe_Class(metamodel.class.value);
|
|
93
|
+
metamodel.subTrees.forEach((subTree) => {
|
|
94
|
+
if (subTree instanceof DataQualityPropertyGraphFetchTree) {
|
|
95
|
+
observe_DataQualityPropertyGraphFetchTree(subTree);
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
return metamodel;
|
|
99
|
+
},
|
|
100
|
+
);
|
|
101
|
+
export const observe_DataQualityConstraintsConfiguration = skipObserved(
|
|
102
|
+
(
|
|
103
|
+
metamodel: DataQualityClassValidationsConfiguration,
|
|
104
|
+
): DataQualityClassValidationsConfiguration => {
|
|
105
|
+
observe_Abstract_PackageableElement(metamodel);
|
|
106
|
+
|
|
107
|
+
makeObservable<
|
|
108
|
+
DataQualityClassValidationsConfiguration,
|
|
109
|
+
'_elementHashCode'
|
|
110
|
+
>(metamodel, {
|
|
111
|
+
_elementHashCode: override,
|
|
112
|
+
context: observable,
|
|
113
|
+
filter: observable,
|
|
114
|
+
dataQualityRootGraphFetchTree: observable,
|
|
115
|
+
});
|
|
116
|
+
if (metamodel.context instanceof DataSpaceDataQualityExecutionContext) {
|
|
117
|
+
observe_DataSpaceDataQualityExecutionContext(metamodel.context);
|
|
118
|
+
}
|
|
119
|
+
if (
|
|
120
|
+
metamodel.context instanceof MappingAndRuntimeDataQualityExecutionContext
|
|
121
|
+
) {
|
|
122
|
+
observe_MappingAndRuntimeDataQualityExecutionContext(metamodel.context);
|
|
123
|
+
}
|
|
124
|
+
if (metamodel.filter) {
|
|
125
|
+
observe_RawLambda(metamodel.filter);
|
|
126
|
+
}
|
|
127
|
+
if (metamodel.dataQualityRootGraphFetchTree) {
|
|
128
|
+
observe_DataQualityRootGraphFetchTree(
|
|
129
|
+
metamodel.dataQualityRootGraphFetchTree,
|
|
130
|
+
);
|
|
131
|
+
}
|
|
132
|
+
return metamodel;
|
|
133
|
+
},
|
|
134
|
+
);
|
|
135
|
+
|
|
136
|
+
export const observe_DataQualityServiceValidationConfiguration = skipObserved(
|
|
137
|
+
(
|
|
138
|
+
metamodel: DataQualityServiceValidationConfiguration,
|
|
139
|
+
): DataQualityServiceValidationConfiguration => {
|
|
140
|
+
observe_Abstract_PackageableElement(metamodel);
|
|
141
|
+
|
|
142
|
+
makeObservable<
|
|
143
|
+
DataQualityServiceValidationConfiguration,
|
|
144
|
+
'_elementHashCode'
|
|
145
|
+
>(metamodel, {
|
|
146
|
+
_elementHashCode: override,
|
|
147
|
+
contextName: observable,
|
|
148
|
+
serviceName: observable,
|
|
149
|
+
dataQualityRootGraphFetchTree: observable,
|
|
150
|
+
});
|
|
151
|
+
return metamodel;
|
|
152
|
+
},
|
|
153
|
+
);
|
|
@@ -0,0 +1,19 @@
|
|
|
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
|
+
export * from './DSL_DataQuality_GraphManagerPreset.js';
|
|
18
|
+
export * from './protocol/pure/v1/transformation/V1_ValueSpecificationBuilderHelper.js';
|
|
19
|
+
export * from '../graph/metamodel/pure/packageableElements/data-quality/DataQualityGraphFetchTree.js';
|
|
@@ -0,0 +1,59 @@
|
|
|
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 AbstractPureGraphManager,
|
|
19
|
+
type RawExecutionPlan,
|
|
20
|
+
type ExecutionResult,
|
|
21
|
+
type PureModel,
|
|
22
|
+
type RootGraphFetchTree,
|
|
23
|
+
AbstractPureGraphManagerExtension,
|
|
24
|
+
} from '@finos/legend-graph';
|
|
25
|
+
import { guaranteeNonNullable } from '@finos/legend-shared';
|
|
26
|
+
|
|
27
|
+
export abstract class DSL_DataQuality_PureGraphManagerExtension extends AbstractPureGraphManagerExtension {
|
|
28
|
+
abstract generatePlan(
|
|
29
|
+
graph: PureModel,
|
|
30
|
+
packagePath: string,
|
|
31
|
+
): Promise<RawExecutionPlan>;
|
|
32
|
+
|
|
33
|
+
abstract execute(
|
|
34
|
+
graph: PureModel,
|
|
35
|
+
packagePath: string,
|
|
36
|
+
previewLimit: number,
|
|
37
|
+
): Promise<ExecutionResult>;
|
|
38
|
+
|
|
39
|
+
abstract debugExecutionPlanGeneration(
|
|
40
|
+
graph: PureModel,
|
|
41
|
+
packagePath: string,
|
|
42
|
+
): Promise<{ plan: RawExecutionPlan; debug: string }>;
|
|
43
|
+
|
|
44
|
+
abstract fetchStructuralValidations(
|
|
45
|
+
graph: PureModel,
|
|
46
|
+
packagePath: string,
|
|
47
|
+
): Promise<RootGraphFetchTree>;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export const getDataQualityPureGraphManagerExtension = (
|
|
51
|
+
graphManager: AbstractPureGraphManager,
|
|
52
|
+
): DSL_DataQuality_PureGraphManagerExtension =>
|
|
53
|
+
guaranteeNonNullable(
|
|
54
|
+
graphManager.extensions.find(
|
|
55
|
+
(extension) =>
|
|
56
|
+
extension instanceof DSL_DataQuality_PureGraphManagerExtension,
|
|
57
|
+
),
|
|
58
|
+
`Can't find Data Quality Pure graph manager extension`,
|
|
59
|
+
);
|