@finos/legend-extension-dsl-data-quality 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (260) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +1 -0
  3. package/lib/components/DSL_DataQuality_ClassElementDriver.d.ts +46 -0
  4. package/lib/components/DSL_DataQuality_ClassElementDriver.d.ts.map +1 -0
  5. package/lib/components/DSL_DataQuality_ClassElementDriver.js +116 -0
  6. package/lib/components/DSL_DataQuality_ClassElementDriver.js.map +1 -0
  7. package/lib/components/DSL_DataQuality_LegendStudioApplicationPlugin.d.ts +30 -0
  8. package/lib/components/DSL_DataQuality_LegendStudioApplicationPlugin.d.ts.map +1 -0
  9. package/lib/components/DSL_DataQuality_LegendStudioApplicationPlugin.js +161 -0
  10. package/lib/components/DSL_DataQuality_LegendStudioApplicationPlugin.js.map +1 -0
  11. package/lib/components/DSL_DataQuality_LegendStudioPlugin_Extension.d.ts +25 -0
  12. package/lib/components/DSL_DataQuality_LegendStudioPlugin_Extension.d.ts.map +1 -0
  13. package/lib/components/DSL_DataQuality_LegendStudioPlugin_Extension.js +2 -0
  14. package/lib/components/DSL_DataQuality_LegendStudioPlugin_Extension.js.map +1 -0
  15. package/lib/components/DSL_DataQuality_ServiceElementDriver.d.ts +27 -0
  16. package/lib/components/DSL_DataQuality_ServiceElementDriver.d.ts.map +1 -0
  17. package/lib/components/DSL_DataQuality_ServiceElementDriver.js +41 -0
  18. package/lib/components/DSL_DataQuality_ServiceElementDriver.js.map +1 -0
  19. package/lib/components/DSL_NewDataQualityClassValidationElement.d.ts +19 -0
  20. package/lib/components/DSL_NewDataQualityClassValidationElement.d.ts.map +1 -0
  21. package/lib/components/DSL_NewDataQualityClassValidationElement.js +64 -0
  22. package/lib/components/DSL_NewDataQualityClassValidationElement.js.map +1 -0
  23. package/lib/components/DSL_NewDataQualityServiceValidationElement.d.ts +19 -0
  24. package/lib/components/DSL_NewDataQualityServiceValidationElement.d.ts.map +1 -0
  25. package/lib/components/DSL_NewDataQualityServiceValidationElement.js +41 -0
  26. package/lib/components/DSL_NewDataQualityServiceValidationElement.js.map +1 -0
  27. package/lib/components/DataQualityClassValidationEditor.d.ts +19 -0
  28. package/lib/components/DataQualityClassValidationEditor.d.ts.map +1 -0
  29. package/lib/components/DataQualityClassValidationEditor.js +29 -0
  30. package/lib/components/DataQualityClassValidationEditor.js.map +1 -0
  31. package/lib/components/DataQualityConstraintsSelection.d.ts +39 -0
  32. package/lib/components/DataQualityConstraintsSelection.d.ts.map +1 -0
  33. package/lib/components/DataQualityConstraintsSelection.js +133 -0
  34. package/lib/components/DataQualityConstraintsSelection.js.map +1 -0
  35. package/lib/components/DataQualityDataSpaceBuilder.d.ts +22 -0
  36. package/lib/components/DataQualityDataSpaceBuilder.d.ts.map +1 -0
  37. package/lib/components/DataQualityDataSpaceBuilder.js +101 -0
  38. package/lib/components/DataQualityDataSpaceBuilder.js.map +1 -0
  39. package/lib/components/DataQualityExplorerPanel.d.ts +29 -0
  40. package/lib/components/DataQualityExplorerPanel.d.ts.map +1 -0
  41. package/lib/components/DataQualityExplorerPanel.js +185 -0
  42. package/lib/components/DataQualityExplorerPanel.js.map +1 -0
  43. package/lib/components/DataQualityFilterPanel.d.ts +24 -0
  44. package/lib/components/DataQualityFilterPanel.d.ts.map +1 -0
  45. package/lib/components/DataQualityFilterPanel.js +32 -0
  46. package/lib/components/DataQualityFilterPanel.js.map +1 -0
  47. package/lib/components/DataQualityMappingAndRuntimeBuilder.d.ts +22 -0
  48. package/lib/components/DataQualityMappingAndRuntimeBuilder.d.ts.map +1 -0
  49. package/lib/components/DataQualityMappingAndRuntimeBuilder.js +98 -0
  50. package/lib/components/DataQualityMappingAndRuntimeBuilder.js.map +1 -0
  51. package/lib/components/DataQualityResultPanel.d.ts +22 -0
  52. package/lib/components/DataQualityResultPanel.d.ts.map +1 -0
  53. package/lib/components/DataQualityResultPanel.js +110 -0
  54. package/lib/components/DataQualityResultPanel.js.map +1 -0
  55. package/lib/components/DataQualityResultValues.d.ts +24 -0
  56. package/lib/components/DataQualityResultValues.d.ts.map +1 -0
  57. package/lib/components/DataQualityResultValues.js +31 -0
  58. package/lib/components/DataQualityResultValues.js.map +1 -0
  59. package/lib/components/DataQualityServiceValidationEditor.d.ts +19 -0
  60. package/lib/components/DataQualityServiceValidationEditor.d.ts.map +1 -0
  61. package/lib/components/DataQualityServiceValidationEditor.js +29 -0
  62. package/lib/components/DataQualityServiceValidationEditor.js.map +1 -0
  63. package/lib/components/DataQualitySideBar.d.ts +40 -0
  64. package/lib/components/DataQualitySideBar.d.ts.map +1 -0
  65. package/lib/components/DataQualitySideBar.js +78 -0
  66. package/lib/components/DataQualitySideBar.js.map +1 -0
  67. package/lib/components/DataQualityStructuralValidationsPanel.d.ts +22 -0
  68. package/lib/components/DataQualityStructuralValidationsPanel.d.ts.map +1 -0
  69. package/lib/components/DataQualityStructuralValidationsPanel.js +50 -0
  70. package/lib/components/DataQualityStructuralValidationsPanel.js.map +1 -0
  71. package/lib/components/DataQualityTabs.d.ts +22 -0
  72. package/lib/components/DataQualityTabs.d.ts.map +1 -0
  73. package/lib/components/DataQualityTabs.js +58 -0
  74. package/lib/components/DataQualityTabs.js.map +1 -0
  75. package/lib/components/DataQualityValidationEditor.d.ts +23 -0
  76. package/lib/components/DataQualityValidationEditor.d.ts.map +1 -0
  77. package/lib/components/DataQualityValidationEditor.js +24 -0
  78. package/lib/components/DataQualityValidationEditor.js.map +1 -0
  79. package/lib/components/constants/DataQualityConstants.d.ts +24 -0
  80. package/lib/components/constants/DataQualityConstants.d.ts.map +1 -0
  81. package/lib/components/constants/DataQualityConstants.js +25 -0
  82. package/lib/components/constants/DataQualityConstants.js.map +1 -0
  83. package/lib/components/index.d.ts +19 -0
  84. package/lib/components/index.d.ts.map +1 -0
  85. package/lib/components/index.js +19 -0
  86. package/lib/components/index.js.map +1 -0
  87. package/lib/components/states/ConstraintState.d.ts +30 -0
  88. package/lib/components/states/ConstraintState.d.ts.map +1 -0
  89. package/lib/components/states/ConstraintState.js +55 -0
  90. package/lib/components/states/ConstraintState.js.map +1 -0
  91. package/lib/components/states/DataQualityClassValidationState.d.ts +43 -0
  92. package/lib/components/states/DataQualityClassValidationState.d.ts.map +1 -0
  93. package/lib/components/states/DataQualityClassValidationState.js +162 -0
  94. package/lib/components/states/DataQualityClassValidationState.js.map +1 -0
  95. package/lib/components/states/DataQualityGraphFetchTreeState.d.ts +34 -0
  96. package/lib/components/states/DataQualityGraphFetchTreeState.d.ts.map +1 -0
  97. package/lib/components/states/DataQualityGraphFetchTreeState.js +70 -0
  98. package/lib/components/states/DataQualityGraphFetchTreeState.js.map +1 -0
  99. package/lib/components/states/DataQualityQueryBuilderState.d.ts +19 -0
  100. package/lib/components/states/DataQualityQueryBuilderState.d.ts.map +1 -0
  101. package/lib/components/states/DataQualityQueryBuilderState.js +19 -0
  102. package/lib/components/states/DataQualityQueryBuilderState.js.map +1 -0
  103. package/lib/components/states/DataQualityResultState.d.ts +44 -0
  104. package/lib/components/states/DataQualityResultState.d.ts.map +1 -0
  105. package/lib/components/states/DataQualityResultState.js +154 -0
  106. package/lib/components/states/DataQualityResultState.js.map +1 -0
  107. package/lib/components/states/DataQualityServiceValidationState.d.ts +25 -0
  108. package/lib/components/states/DataQualityServiceValidationState.d.ts.map +1 -0
  109. package/lib/components/states/DataQualityServiceValidationState.js +33 -0
  110. package/lib/components/states/DataQualityServiceValidationState.js.map +1 -0
  111. package/lib/components/states/DataQualityState.d.ts +67 -0
  112. package/lib/components/states/DataQualityState.d.ts.map +1 -0
  113. package/lib/components/states/DataQualityState.js +204 -0
  114. package/lib/components/states/DataQualityState.js.map +1 -0
  115. package/lib/components/utils/DataQualityGraphFetchTreeUtil.d.ts +51 -0
  116. package/lib/components/utils/DataQualityGraphFetchTreeUtil.d.ts.map +1 -0
  117. package/lib/components/utils/DataQualityGraphFetchTreeUtil.js +321 -0
  118. package/lib/components/utils/DataQualityGraphFetchTreeUtil.js.map +1 -0
  119. package/lib/graph/metamodel/DSL_DataQuality_HashUtils.d.ts +29 -0
  120. package/lib/graph/metamodel/DSL_DataQuality_HashUtils.d.ts.map +1 -0
  121. package/lib/graph/metamodel/DSL_DataQuality_HashUtils.js +30 -0
  122. package/lib/graph/metamodel/DSL_DataQuality_HashUtils.js.map +1 -0
  123. package/lib/graph/metamodel/DSL_DataQuality_PureGraphPlugin.d.ts +22 -0
  124. package/lib/graph/metamodel/DSL_DataQuality_PureGraphPlugin.d.ts.map +1 -0
  125. package/lib/graph/metamodel/DSL_DataQuality_PureGraphPlugin.js +31 -0
  126. package/lib/graph/metamodel/DSL_DataQuality_PureGraphPlugin.js.map +1 -0
  127. package/lib/graph/metamodel/pure/packageableElements/data-quality/DataQualityGraphFetchTree.d.ts +26 -0
  128. package/lib/graph/metamodel/pure/packageableElements/data-quality/DataQualityGraphFetchTree.d.ts.map +1 -0
  129. package/lib/graph/metamodel/pure/packageableElements/data-quality/DataQualityGraphFetchTree.js +44 -0
  130. package/lib/graph/metamodel/pure/packageableElements/data-quality/DataQualityGraphFetchTree.js.map +1 -0
  131. package/lib/graph/metamodel/pure/packageableElements/data-quality/DataQualityValidationConfiguration.d.ts +47 -0
  132. package/lib/graph/metamodel/pure/packageableElements/data-quality/DataQualityValidationConfiguration.d.ts.map +1 -0
  133. package/lib/graph/metamodel/pure/packageableElements/data-quality/DataQualityValidationConfiguration.js +75 -0
  134. package/lib/graph/metamodel/pure/packageableElements/data-quality/DataQualityValidationConfiguration.js.map +1 -0
  135. package/lib/graph-manager/DSL_DataQuality_GraphManagerHelper.d.ts +20 -0
  136. package/lib/graph-manager/DSL_DataQuality_GraphManagerHelper.d.ts.map +1 -0
  137. package/lib/graph-manager/DSL_DataQuality_GraphManagerHelper.js +20 -0
  138. package/lib/graph-manager/DSL_DataQuality_GraphManagerHelper.js.map +1 -0
  139. package/lib/graph-manager/DSL_DataQuality_GraphManagerPreset.d.ts +20 -0
  140. package/lib/graph-manager/DSL_DataQuality_GraphManagerPreset.d.ts.map +1 -0
  141. package/lib/graph-manager/DSL_DataQuality_GraphManagerPreset.js +30 -0
  142. package/lib/graph-manager/DSL_DataQuality_GraphManagerPreset.js.map +1 -0
  143. package/lib/graph-manager/DSL_DataQuality_GraphModifierHelper.d.ts +26 -0
  144. package/lib/graph-manager/DSL_DataQuality_GraphModifierHelper.d.ts.map +1 -0
  145. package/lib/graph-manager/DSL_DataQuality_GraphModifierHelper.js +57 -0
  146. package/lib/graph-manager/DSL_DataQuality_GraphModifierHelper.js.map +1 -0
  147. package/lib/graph-manager/DSL_DataQuality_PureGraphManagerPlugin.d.ts +7 -0
  148. package/lib/graph-manager/DSL_DataQuality_PureGraphManagerPlugin.d.ts.map +1 -0
  149. package/lib/graph-manager/DSL_DataQuality_PureGraphManagerPlugin.js +42 -0
  150. package/lib/graph-manager/DSL_DataQuality_PureGraphManagerPlugin.js.map +1 -0
  151. package/lib/graph-manager/action/changeDetection/DSL_DataQuality_ObserverHelper.d.ts +24 -0
  152. package/lib/graph-manager/action/changeDetection/DSL_DataQuality_ObserverHelper.d.ts.map +1 -0
  153. package/lib/graph-manager/action/changeDetection/DSL_DataQuality_ObserverHelper.js +98 -0
  154. package/lib/graph-manager/action/changeDetection/DSL_DataQuality_ObserverHelper.js.map +1 -0
  155. package/lib/graph-manager/index.d.ts +19 -0
  156. package/lib/graph-manager/index.d.ts.map +1 -0
  157. package/lib/graph-manager/index.js +19 -0
  158. package/lib/graph-manager/index.js.map +1 -0
  159. package/lib/graph-manager/protocol/pure/DSL_DataQuality_PureGraphManagerExtension.d.ts +27 -0
  160. package/lib/graph-manager/protocol/pure/DSL_DataQuality_PureGraphManagerExtension.d.ts.map +1 -0
  161. package/lib/graph-manager/protocol/pure/DSL_DataQuality_PureGraphManagerExtension.js +21 -0
  162. package/lib/graph-manager/protocol/pure/DSL_DataQuality_PureGraphManagerExtension.js.map +1 -0
  163. package/lib/graph-manager/protocol/pure/DSL_DataQuality_PureProtocolProcessorPlugin.d.ts +25 -0
  164. package/lib/graph-manager/protocol/pure/DSL_DataQuality_PureProtocolProcessorPlugin.d.ts.map +1 -0
  165. package/lib/graph-manager/protocol/pure/DSL_DataQuality_PureProtocolProcessorPlugin.js +140 -0
  166. package/lib/graph-manager/protocol/pure/DSL_DataQuality_PureProtocolProcessorPlugin.js.map +1 -0
  167. package/lib/graph-manager/protocol/pure/DSL_DataQuality_buildGraphManagerExtension.d.ts +18 -0
  168. package/lib/graph-manager/protocol/pure/DSL_DataQuality_buildGraphManagerExtension.d.ts.map +1 -0
  169. package/lib/graph-manager/protocol/pure/DSL_DataQuality_buildGraphManagerExtension.js +20 -0
  170. package/lib/graph-manager/protocol/pure/DSL_DataQuality_buildGraphManagerExtension.js.map +1 -0
  171. package/lib/graph-manager/protocol/pure/v1/V1_DSL_Data_Quality_PureGraphManagerExtension.d.ts +41 -0
  172. package/lib/graph-manager/protocol/pure/v1/V1_DSL_Data_Quality_PureGraphManagerExtension.d.ts.map +1 -0
  173. package/lib/graph-manager/protocol/pure/v1/V1_DSL_Data_Quality_PureGraphManagerExtension.js +95 -0
  174. package/lib/graph-manager/protocol/pure/v1/V1_DSL_Data_Quality_PureGraphManagerExtension.js.map +1 -0
  175. package/lib/graph-manager/protocol/pure/v1/V1_DataQualityConstraintsConfiguration.d.ts +46 -0
  176. package/lib/graph-manager/protocol/pure/v1/V1_DataQualityConstraintsConfiguration.d.ts.map +1 -0
  177. package/lib/graph-manager/protocol/pure/v1/V1_DataQualityConstraintsConfiguration.js +76 -0
  178. package/lib/graph-manager/protocol/pure/v1/V1_DataQualityConstraintsConfiguration.js.map +1 -0
  179. package/lib/graph-manager/protocol/pure/v1/model/graphFetch/V1_DataQualityPropertyGraphFetchTree.d.ts +22 -0
  180. package/lib/graph-manager/protocol/pure/v1/model/graphFetch/V1_DataQualityPropertyGraphFetchTree.d.ts.map +1 -0
  181. package/lib/graph-manager/protocol/pure/v1/model/graphFetch/V1_DataQualityPropertyGraphFetchTree.js +32 -0
  182. package/lib/graph-manager/protocol/pure/v1/model/graphFetch/V1_DataQualityPropertyGraphFetchTree.js.map +1 -0
  183. package/lib/graph-manager/protocol/pure/v1/model/graphFetch/V1_DataQualityRootGraphFetchTree.d.ts +22 -0
  184. package/lib/graph-manager/protocol/pure/v1/model/graphFetch/V1_DataQualityRootGraphFetchTree.d.ts.map +1 -0
  185. package/lib/graph-manager/protocol/pure/v1/model/graphFetch/V1_DataQualityRootGraphFetchTree.js +31 -0
  186. package/lib/graph-manager/protocol/pure/v1/model/graphFetch/V1_DataQualityRootGraphFetchTree.js.map +1 -0
  187. package/lib/graph-manager/protocol/pure/v1/transformation/V1_ValueSpecificationBuilderHelper.d.ts +24 -0
  188. package/lib/graph-manager/protocol/pure/v1/transformation/V1_ValueSpecificationBuilderHelper.d.ts.map +1 -0
  189. package/lib/graph-manager/protocol/pure/v1/transformation/V1_ValueSpecificationBuilderHelper.js +92 -0
  190. package/lib/graph-manager/protocol/pure/v1/transformation/V1_ValueSpecificationBuilderHelper.js.map +1 -0
  191. package/lib/graph-manager/protocol/pure/v1/transformation/V1_ValueSpecificationSerializer.d.ts +20 -0
  192. package/lib/graph-manager/protocol/pure/v1/transformation/V1_ValueSpecificationSerializer.d.ts.map +1 -0
  193. package/lib/graph-manager/protocol/pure/v1/transformation/V1_ValueSpecificationSerializer.js +56 -0
  194. package/lib/graph-manager/protocol/pure/v1/transformation/V1_ValueSpecificationSerializer.js.map +1 -0
  195. package/lib/graph-manager/protocol/pure/v1/transformation/V1_ValueSpecificationTransformer.d.ts +22 -0
  196. package/lib/graph-manager/protocol/pure/v1/transformation/V1_ValueSpecificationTransformer.d.ts.map +1 -0
  197. package/lib/graph-manager/protocol/pure/v1/transformation/V1_ValueSpecificationTransformer.js +70 -0
  198. package/lib/graph-manager/protocol/pure/v1/transformation/V1_ValueSpecificationTransformer.js.map +1 -0
  199. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_DSL_DataQuality_ProtocolHelper.d.ts +29 -0
  200. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_DSL_DataQuality_ProtocolHelper.d.ts.map +1 -0
  201. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_DSL_DataQuality_ProtocolHelper.js +80 -0
  202. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_DSL_DataQuality_ProtocolHelper.js.map +1 -0
  203. package/lib/index.css +17 -0
  204. package/lib/index.css.map +1 -0
  205. package/lib/package.json +87 -0
  206. package/package.json +87 -0
  207. package/src/components/DSL_DataQuality_ClassElementDriver.tsx +175 -0
  208. package/src/components/DSL_DataQuality_LegendStudioApplicationPlugin.tsx +220 -0
  209. package/src/components/DSL_DataQuality_LegendStudioPlugin_Extension.ts +39 -0
  210. package/src/components/DSL_DataQuality_ServiceElementDriver.tsx +57 -0
  211. package/src/components/DSL_NewDataQualityClassValidationElement.tsx +156 -0
  212. package/src/components/DSL_NewDataQualityServiceValidationElement.tsx +74 -0
  213. package/src/components/DataQualityClassValidationEditor.tsx +49 -0
  214. package/src/components/DataQualityConstraintsSelection.tsx +376 -0
  215. package/src/components/DataQualityDataSpaceBuilder.tsx +274 -0
  216. package/src/components/DataQualityExplorerPanel.tsx +584 -0
  217. package/src/components/DataQualityFilterPanel.tsx +50 -0
  218. package/src/components/DataQualityMappingAndRuntimeBuilder.tsx +224 -0
  219. package/src/components/DataQualityResultPanel.tsx +335 -0
  220. package/src/components/DataQualityResultValues.tsx +61 -0
  221. package/src/components/DataQualityServiceValidationEditor.tsx +49 -0
  222. package/src/components/DataQualitySideBar.tsx +216 -0
  223. package/src/components/DataQualityStructuralValidationsPanel.tsx +105 -0
  224. package/src/components/DataQualityTabs.tsx +104 -0
  225. package/src/components/DataQualityValidationEditor.tsx +52 -0
  226. package/src/components/constants/DataQualityConstants.ts +24 -0
  227. package/src/components/index.ts +19 -0
  228. package/src/components/states/ConstraintState.ts +70 -0
  229. package/src/components/states/DataQualityClassValidationState.ts +308 -0
  230. package/src/components/states/DataQualityGraphFetchTreeState.ts +125 -0
  231. package/src/components/states/DataQualityQueryBuilderState.ts +19 -0
  232. package/src/components/states/DataQualityResultState.ts +217 -0
  233. package/src/components/states/DataQualityServiceValidationState.ts +56 -0
  234. package/src/components/states/DataQualityState.ts +354 -0
  235. package/src/components/utils/DataQualityGraphFetchTreeUtil.ts +592 -0
  236. package/src/graph/metamodel/DSL_DataQuality_HashUtils.ts +29 -0
  237. package/src/graph/metamodel/DSL_DataQuality_PureGraphPlugin.ts +36 -0
  238. package/src/graph/metamodel/pure/packageableElements/data-quality/DataQualityGraphFetchTree.ts +55 -0
  239. package/src/graph/metamodel/pure/packageableElements/data-quality/DataQualityValidationConfiguration.ts +107 -0
  240. package/src/graph-manager/DSL_DataQuality_GraphManagerHelper.ts +46 -0
  241. package/src/graph-manager/DSL_DataQuality_GraphManagerPreset.ts +31 -0
  242. package/src/graph-manager/DSL_DataQuality_GraphModifierHelper.ts +113 -0
  243. package/src/graph-manager/DSL_DataQuality_PureGraphManagerPlugin.ts +59 -0
  244. package/src/graph-manager/action/changeDetection/DSL_DataQuality_ObserverHelper.ts +153 -0
  245. package/src/graph-manager/index.ts +19 -0
  246. package/src/graph-manager/protocol/pure/DSL_DataQuality_PureGraphManagerExtension.ts +59 -0
  247. package/src/graph-manager/protocol/pure/DSL_DataQuality_PureProtocolProcessorPlugin.ts +283 -0
  248. package/src/graph-manager/protocol/pure/DSL_DataQuality_buildGraphManagerExtension.ts +27 -0
  249. package/src/graph-manager/protocol/pure/v1/V1_DSL_Data_Quality_PureGraphManagerExtension.ts +246 -0
  250. package/src/graph-manager/protocol/pure/v1/V1_DataQualityConstraintsConfiguration.ts +103 -0
  251. package/src/graph-manager/protocol/pure/v1/model/graphFetch/V1_DataQualityPropertyGraphFetchTree.ts +37 -0
  252. package/src/graph-manager/protocol/pure/v1/model/graphFetch/V1_DataQualityRootGraphFetchTree.ts +36 -0
  253. package/src/graph-manager/protocol/pure/v1/transformation/V1_ValueSpecificationBuilderHelper.ts +241 -0
  254. package/src/graph-manager/protocol/pure/v1/transformation/V1_ValueSpecificationSerializer.ts +113 -0
  255. package/src/graph-manager/protocol/pure/v1/transformation/V1_ValueSpecificationTransformer.ts +139 -0
  256. package/src/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_DSL_DataQuality_ProtocolHelper.ts +186 -0
  257. package/style/_data-quality-validation-builder.scss +1660 -0
  258. package/style/index.scss +67 -0
  259. package/tsconfig.json +137 -0
  260. package/tsconfig.package.json +9 -0
@@ -0,0 +1,56 @@
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 { makeObservable } from 'mobx';
18
+ import { DataQualityServiceValidationConfiguration } from '../../graph/metamodel/pure/packageableElements/data-quality/DataQualityValidationConfiguration.js';
19
+ import { DataQualityState } from './DataQualityState.js';
20
+ import type { PackageableElement } from '@finos/legend-graph';
21
+ import type {
22
+ EditorStore,
23
+ ElementEditorState,
24
+ } from '@finos/legend-application-studio';
25
+ import { guaranteeType } from '@finos/legend-shared';
26
+
27
+ export class DataQualityServiceValidationState extends DataQualityState {
28
+ constructor(
29
+ editorStore: EditorStore,
30
+ element: DataQualityServiceValidationConfiguration,
31
+ ) {
32
+ super(editorStore, element);
33
+ makeObservable(this, {});
34
+ }
35
+
36
+ reprocess(
37
+ newElement: PackageableElement,
38
+ editorStore: EditorStore,
39
+ ): ElementEditorState {
40
+ const element = guaranteeType(
41
+ newElement,
42
+ DataQualityServiceValidationConfiguration,
43
+ 'Element inside data quality service validation editor state must be a service validation element',
44
+ );
45
+
46
+ return new DataQualityServiceValidationState(editorStore, element);
47
+ }
48
+
49
+ override get constraintsConfigurationElement(): DataQualityServiceValidationConfiguration {
50
+ return guaranteeType(
51
+ this.element,
52
+ DataQualityServiceValidationConfiguration,
53
+ 'Element inside data quality service validation state must be a data quality service validation configuration element',
54
+ );
55
+ }
56
+ }
@@ -0,0 +1,354 @@
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, computed, flow, makeObservable, observable } from 'mobx';
18
+ import {
19
+ type GraphManagerState,
20
+ type Runtime,
21
+ type RawLambda,
22
+ type RootGraphFetchTree,
23
+ type PackageableElement,
24
+ type Class,
25
+ buildRawLambdaFromLambdaFunction,
26
+ CORE_PURE_PATH,
27
+ FunctionType,
28
+ GenericType,
29
+ GenericTypeExplicitReference,
30
+ LambdaFunction,
31
+ LambdaFunctionInstanceValue,
32
+ Multiplicity,
33
+ observe_ValueSpecification,
34
+ PackageableElementExplicitReference,
35
+ VariableExpression,
36
+ } from '@finos/legend-graph';
37
+ import {
38
+ type EditorExtensionState,
39
+ type EditorStore,
40
+ ElementEditorState,
41
+ } from '@finos/legend-application-studio';
42
+ import type { DataSpaceExecutionContext } from '@finos/legend-extension-dsl-data-space/graph';
43
+ import { DataQualityGraphFetchTreeState } from './DataQualityGraphFetchTreeState.js';
44
+ import { DataQualityRootGraphFetchTree } from '../../graph/metamodel/pure/packageableElements/data-quality/DataQualityGraphFetchTree.js';
45
+ import { buildGraphFetchTreeData } from '../utils/DataQualityGraphFetchTreeUtil.js';
46
+ import {
47
+ type GeneratorFn,
48
+ ActionState,
49
+ guaranteeNonNullable,
50
+ guaranteeType,
51
+ hashArray,
52
+ isNonNullable,
53
+ } from '@finos/legend-shared';
54
+ import { type GenericLegendApplicationStore } from '@finos/legend-application';
55
+ import { DataQualityResultState } from './DataQualityResultState.js';
56
+ import { DATA_QUALITY_HASH_STRUCTURE } from '../../graph/metamodel/DSL_DataQuality_HashUtils.js';
57
+ import {
58
+ buildFilterConditionExpression,
59
+ processFilterLambda,
60
+ QueryBuilderAdvancedWorkflowState,
61
+ } from '@finos/legend-query-builder';
62
+ import { DataQualityQueryBuilderState } from './DataQualityQueryBuilderState.js';
63
+ import { getDataQualityPureGraphManagerExtension } from '../../graph-manager/protocol/pure/DSL_DataQuality_PureGraphManagerExtension.js';
64
+ import {
65
+ dataQualityClassValidation_setDataQualityGraphFetchTree,
66
+ dataQualityClassValidation_setFilter,
67
+ } from '../../graph-manager/DSL_DataQuality_GraphModifierHelper.js';
68
+ import type { DataQualityClassValidationsConfiguration } from '../../graph/metamodel/pure/packageableElements/data-quality/DataQualityValidationConfiguration.js';
69
+ import { type DSL_DataQuality_LegendStudioPlugin_Extension } from '../DSL_DataQuality_LegendStudioPlugin_Extension.js';
70
+
71
+ export enum DATA_QUALITY_TAB {
72
+ FILTER = 'Filter ',
73
+ CONSTRAINTS_SELECTION = 'Constraints Selection',
74
+ TRIAL_RUNS = 'Trial Runs',
75
+ }
76
+ export function buildExtensionState(
77
+ editorStore: EditorStore,
78
+ dataQualityState: DataQualityState,
79
+ ): EditorExtensionState | undefined {
80
+ const extensionStateBuilders = editorStore.pluginManager
81
+ .getApplicationPlugins()
82
+ .flatMap(
83
+ (plugin) =>
84
+ (
85
+ plugin as DSL_DataQuality_LegendStudioPlugin_Extension
86
+ ).getExtensionStates?.() ?? [],
87
+ );
88
+ for (const stateBuilder of extensionStateBuilders) {
89
+ const state = stateBuilder(editorStore, dataQualityState);
90
+ if (state) {
91
+ return state;
92
+ }
93
+ }
94
+ return undefined;
95
+ }
96
+
97
+ export abstract class DataQualityState extends ElementEditorState {
98
+ readonly applicationStore: GenericLegendApplicationStore;
99
+ readonly graphManagerState: GraphManagerState;
100
+ readonly loadDataSpacesState = ActionState.create();
101
+ readonly onExecutionContextChange?:
102
+ | ((val: DataSpaceExecutionContext) => void)
103
+ | undefined;
104
+ readonly onRuntimeChange?: ((val: Runtime) => void) | undefined;
105
+ readonly extensionState: EditorExtensionState | undefined;
106
+ selectedTab: string;
107
+ executionContext!: DataSpaceExecutionContext;
108
+ dataQualityGraphFetchTreeState: DataQualityGraphFetchTreeState;
109
+ structuralValidationsGraphFetchTreeState: DataQualityGraphFetchTreeState;
110
+ showRuntimeSelector = false;
111
+ dataQualityQueryBuilderState: DataQualityQueryBuilderState;
112
+ resultState: DataQualityResultState;
113
+ showStructuralValidations = false;
114
+
115
+ constructor(editorStore: EditorStore, element: PackageableElement) {
116
+ super(editorStore, element);
117
+ makeObservable(this, {
118
+ selectedTab: observable,
119
+ showRuntimeSelector: observable,
120
+ dataQualityGraphFetchTreeState: observable,
121
+ structuralValidationsGraphFetchTreeState: observable,
122
+ dataQualityQueryBuilderState: observable,
123
+ showStructuralValidations: observable,
124
+ constraintsConfigurationElement: computed,
125
+ setSelectedTab: action,
126
+ setExecutionContext: action,
127
+ setShowRuntimeSelector: action,
128
+ initializeGraphFetchTreeState: action,
129
+ initialGraphFetchTreeFromClass: action,
130
+ initializeStructuralValidationsGraphFetchTreeState: action,
131
+ setShowStructuralValidations: action,
132
+ updateElementOnClassChange: action,
133
+ fetchStructuralValidations: flow,
134
+ tabsToShow: computed,
135
+ hashCode: computed,
136
+ });
137
+ this.applicationStore = this.editorStore.applicationStore;
138
+ this.graphManagerState = this.editorStore.graphManagerState;
139
+ this.dataQualityQueryBuilderState = new DataQualityQueryBuilderState(
140
+ this.editorStore.applicationStore,
141
+ this.editorStore.graphManagerState,
142
+ QueryBuilderAdvancedWorkflowState.INSTANCE,
143
+ this.editorStore.applicationStore.config.options.queryBuilderConfig,
144
+ undefined,
145
+ );
146
+ this.selectedTab = DATA_QUALITY_TAB.CONSTRAINTS_SELECTION;
147
+ this.dataQualityGraphFetchTreeState = new DataQualityGraphFetchTreeState(
148
+ this,
149
+ );
150
+ this.structuralValidationsGraphFetchTreeState =
151
+ new DataQualityGraphFetchTreeState(this);
152
+ this.resultState = new DataQualityResultState(this);
153
+ this.extensionState = buildExtensionState(this.editorStore, this);
154
+ }
155
+
156
+ abstract get constraintsConfigurationElement(): PackageableElement;
157
+
158
+ setShowStructuralValidations(val: boolean): void {
159
+ this.showStructuralValidations = val;
160
+ }
161
+
162
+ get tabsToShow(): string[] {
163
+ const tabs: string[] = Object.values(DATA_QUALITY_TAB);
164
+ const extensionTabGetters = this.editorStore.pluginManager
165
+ .getApplicationPlugins()
166
+ .flatMap(
167
+ (plugin) =>
168
+ (
169
+ plugin as DSL_DataQuality_LegendStudioPlugin_Extension
170
+ ).getAllTabs?.() ?? [],
171
+ );
172
+ for (const tabGetter of extensionTabGetters) {
173
+ tabs.push(...tabGetter());
174
+ }
175
+ return tabs;
176
+ }
177
+
178
+ *fetchStructuralValidations(): GeneratorFn<void> {
179
+ const packagePath = this.constraintsConfigurationElement.path;
180
+ const model = this.graphManagerState.graph;
181
+ const rootGraphFetchTree = (yield getDataQualityPureGraphManagerExtension(
182
+ this.graphManagerState.graphManager,
183
+ ).fetchStructuralValidations(model, packagePath)) as RootGraphFetchTree;
184
+ this.initializeStructuralValidationsGraphFetchTreeState(
185
+ rootGraphFetchTree as DataQualityRootGraphFetchTree,
186
+ );
187
+ }
188
+
189
+ initialGraphFetchTreeFromClass(
190
+ rootClass: Class,
191
+ ): DataQualityRootGraphFetchTree {
192
+ return new DataQualityRootGraphFetchTree(
193
+ PackageableElementExplicitReference.create(rootClass),
194
+ );
195
+ }
196
+
197
+ initializeFilterState(filterLambda: RawLambda | undefined) {
198
+ if (!filterLambda) {
199
+ return;
200
+ }
201
+ const filterSpec = observe_ValueSpecification(
202
+ this.graphManagerState.graphManager.buildValueSpecification(
203
+ this.graphManagerState.graphManager.serializeRawValueSpecification(
204
+ filterLambda,
205
+ ),
206
+ this.graphManagerState.graph,
207
+ ),
208
+ this.dataQualityQueryBuilderState.observerContext,
209
+ );
210
+ const compiledValueSpecification = guaranteeType(
211
+ filterSpec,
212
+ LambdaFunctionInstanceValue,
213
+ `Can't build filter state: data quality filter only support lambda`,
214
+ );
215
+ processFilterLambda(
216
+ compiledValueSpecification.values[0]!,
217
+ this.dataQualityQueryBuilderState,
218
+ );
219
+ }
220
+
221
+ initializeGraphFetchTreeState(
222
+ tree: DataQualityRootGraphFetchTree | undefined,
223
+ ) {
224
+ if (!tree) {
225
+ return;
226
+ }
227
+ this.dataQualityGraphFetchTreeState.treeData = buildGraphFetchTreeData(
228
+ this.editorStore,
229
+ tree,
230
+ true,
231
+ true,
232
+ false,
233
+ );
234
+ }
235
+
236
+ updateFilterElement = (): void => {
237
+ const { filterState } = this.dataQualityQueryBuilderState;
238
+ const filterConditionExpressions = filterState.rootIds
239
+ .map((e) => guaranteeNonNullable(filterState.nodes.get(e)))
240
+ .map((e) => buildFilterConditionExpression(filterState, e))
241
+ .filter(isNonNullable);
242
+ if (!filterConditionExpressions.length) {
243
+ dataQualityClassValidation_setFilter(
244
+ this
245
+ .constraintsConfigurationElement as DataQualityClassValidationsConfiguration,
246
+ undefined,
247
+ );
248
+ return;
249
+ }
250
+ const genericType = new GenericType(
251
+ this.dataQualityQueryBuilderState.class!,
252
+ );
253
+ const genericTypeReference =
254
+ GenericTypeExplicitReference.create(genericType);
255
+
256
+ const functionType = new FunctionType(
257
+ PackageableElementExplicitReference.create(
258
+ this.dataQualityQueryBuilderState.graphManagerState.graph.getType(
259
+ CORE_PURE_PATH.ANY,
260
+ ),
261
+ ),
262
+ Multiplicity.ONE,
263
+ );
264
+ functionType.parameters.push(
265
+ new VariableExpression(
266
+ filterState.lambdaParameterName,
267
+ Multiplicity.ONE,
268
+ genericTypeReference,
269
+ ),
270
+ );
271
+
272
+ const lambdaFunction = new LambdaFunction(functionType);
273
+ lambdaFunction.expressionSequence = filterConditionExpressions;
274
+ dataQualityClassValidation_setFilter(
275
+ this
276
+ .constraintsConfigurationElement as DataQualityClassValidationsConfiguration,
277
+ buildRawLambdaFromLambdaFunction(
278
+ lambdaFunction,
279
+ this.dataQualityQueryBuilderState.graphManagerState,
280
+ ),
281
+ );
282
+ };
283
+
284
+ initializeStructuralValidationsGraphFetchTreeState(
285
+ tree: DataQualityRootGraphFetchTree | undefined,
286
+ ) {
287
+ if (!tree) {
288
+ return;
289
+ }
290
+ this.structuralValidationsGraphFetchTreeState.treeData =
291
+ buildGraphFetchTreeData(this.editorStore, tree, true, true, true);
292
+ }
293
+
294
+ get sideBarClassName(): string | undefined {
295
+ return this.showRuntimeSelector
296
+ ? 'data-quality-validation__setup__data-space--with-runtime'
297
+ : 'data-quality-validation__setup__data-space';
298
+ }
299
+
300
+ changeClass(val: Class): void {
301
+ this.dataQualityQueryBuilderState.changeClass(val);
302
+ this.dataQualityGraphFetchTreeState.onClassChange(val);
303
+ this.structuralValidationsGraphFetchTreeState =
304
+ new DataQualityGraphFetchTreeState(this);
305
+ this.resultState = new DataQualityResultState(this);
306
+ this.updateElementOnClassChange();
307
+ }
308
+
309
+ updateElementOnClassChange() {
310
+ dataQualityClassValidation_setDataQualityGraphFetchTree(
311
+ this
312
+ .constraintsConfigurationElement as DataQualityClassValidationsConfiguration,
313
+ this.initialGraphFetchTreeFromClass(
314
+ this.dataQualityQueryBuilderState.class!,
315
+ ),
316
+ );
317
+ dataQualityClassValidation_setFilter(
318
+ this
319
+ .constraintsConfigurationElement as DataQualityClassValidationsConfiguration,
320
+ undefined,
321
+ );
322
+ }
323
+
324
+ setExecutionContext(val: DataSpaceExecutionContext): void {
325
+ this.executionContext = val;
326
+ }
327
+
328
+ get isMappingReadOnly(): boolean {
329
+ return false;
330
+ }
331
+
332
+ get isRuntimeReadOnly(): boolean {
333
+ return false;
334
+ }
335
+
336
+ get isQuerySupported(): boolean {
337
+ return true;
338
+ }
339
+
340
+ setSelectedTab(tab: string): void {
341
+ this.selectedTab = tab;
342
+ }
343
+
344
+ setShowRuntimeSelector(val: boolean): void {
345
+ this.showRuntimeSelector = val;
346
+ }
347
+ get hashCode(): string {
348
+ return hashArray([
349
+ DATA_QUALITY_HASH_STRUCTURE.DATA_QUALITY_STATE,
350
+ this.dataQualityGraphFetchTreeState,
351
+ this.dataQualityQueryBuilderState.filterState,
352
+ ]);
353
+ }
354
+ }