@finos/legend-graph 1.1.2 → 1.3.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.
Files changed (363) hide show
  1. package/lib/GraphManagerState.d.ts +2 -2
  2. package/lib/GraphManagerState.d.ts.map +1 -1
  3. package/lib/GraphManagerState.js +2 -2
  4. package/lib/GraphManagerState.js.map +1 -1
  5. package/lib/GraphManagerStateProvider.js +1 -1
  6. package/lib/GraphManagerStateProvider.js.map +1 -1
  7. package/lib/GraphManagerTestUtils.d.ts +5 -2
  8. package/lib/GraphManagerTestUtils.d.ts.map +1 -1
  9. package/lib/GraphManagerTestUtils.js +11 -4
  10. package/lib/GraphManagerTestUtils.js.map +1 -1
  11. package/lib/MetaModelConst.d.ts +5 -3
  12. package/lib/MetaModelConst.d.ts.map +1 -1
  13. package/lib/MetaModelConst.js +4 -2
  14. package/lib/MetaModelConst.js.map +1 -1
  15. package/lib/graph/BasicModel.d.ts +1 -1
  16. package/lib/graph/BasicModel.d.ts.map +1 -1
  17. package/lib/graph/BasicModel.js +2 -2
  18. package/lib/graph/BasicModel.js.map +1 -1
  19. package/lib/graph/DSLExternalFormat_Extension.d.ts +22 -0
  20. package/lib/graph/DSLExternalFormat_Extension.d.ts.map +1 -0
  21. package/lib/graph/DSLExternalFormat_Extension.js +31 -0
  22. package/lib/graph/DSLExternalFormat_Extension.js.map +1 -0
  23. package/lib/graph/DSLExternalFormat_PureGraphPlugin.d.ts +23 -0
  24. package/lib/graph/DSLExternalFormat_PureGraphPlugin.d.ts.map +1 -0
  25. package/lib/graph/DSLExternalFormat_PureGraphPlugin.js +28 -0
  26. package/lib/graph/DSLExternalFormat_PureGraphPlugin.js.map +1 -0
  27. package/lib/graph/DependencyManager.d.ts +2 -0
  28. package/lib/graph/DependencyManager.d.ts.map +1 -1
  29. package/lib/graph/DependencyManager.js +4 -0
  30. package/lib/graph/DependencyManager.js.map +1 -1
  31. package/lib/graph/PureModel.d.ts.map +1 -1
  32. package/lib/graph/PureModel.js +6 -3
  33. package/lib/graph/PureModel.js.map +1 -1
  34. package/lib/graphManager/AbstractPureGraphManager.d.ts +8 -4
  35. package/lib/graphManager/AbstractPureGraphManager.d.ts.map +1 -1
  36. package/lib/graphManager/AbstractPureGraphManager.js.map +1 -1
  37. package/lib/graphManager/DSLExternalFormat_GraphManagerHelper.d.ts +21 -0
  38. package/lib/graphManager/DSLExternalFormat_GraphManagerHelper.d.ts.map +1 -0
  39. package/lib/graphManager/DSLExternalFormat_GraphManagerHelper.js +21 -0
  40. package/lib/graphManager/DSLExternalFormat_GraphManagerHelper.js.map +1 -0
  41. package/lib/graphManager/DSLExternalFormat_PureGraphManagerPlugin.d.ts +25 -0
  42. package/lib/graphManager/DSLExternalFormat_PureGraphManagerPlugin.d.ts.map +1 -0
  43. package/lib/graphManager/DSLExternalFormat_PureGraphManagerPlugin.js +67 -0
  44. package/lib/graphManager/DSLExternalFormat_PureGraphManagerPlugin.js.map +1 -0
  45. package/lib/graphManager/GraphBuilderReport.d.ts +18 -0
  46. package/lib/graphManager/GraphBuilderReport.d.ts.map +1 -0
  47. package/lib/graphManager/GraphBuilderReport.js +18 -0
  48. package/lib/graphManager/GraphBuilderReport.js.map +1 -0
  49. package/lib/graphManager/GraphManagerLogEvent.d.ts +1 -0
  50. package/lib/graphManager/GraphManagerLogEvent.d.ts.map +1 -1
  51. package/lib/graphManager/GraphManagerLogEvent.js +1 -0
  52. package/lib/graphManager/GraphManagerLogEvent.js.map +1 -1
  53. package/lib/graphManager/action/EngineError.d.ts +3 -0
  54. package/lib/graphManager/action/EngineError.d.ts.map +1 -1
  55. package/lib/graphManager/action/EngineError.js +3 -0
  56. package/lib/graphManager/action/EngineError.js.map +1 -1
  57. package/lib/graphManager/action/{TEMP__AbstractEngineConfig.d.ts → TEMPORARY__AbstractEngineConfig.d.ts} +2 -2
  58. package/lib/graphManager/action/TEMPORARY__AbstractEngineConfig.d.ts.map +1 -0
  59. package/lib/graphManager/action/{TEMP__AbstractEngineConfig.js → TEMPORARY__AbstractEngineConfig.js} +2 -2
  60. package/lib/graphManager/action/TEMPORARY__AbstractEngineConfig.js.map +1 -0
  61. package/lib/graphManager/action/externalFormat/ExternalFormatDescription.d.ts +26 -0
  62. package/lib/graphManager/action/externalFormat/ExternalFormatDescription.d.ts.map +1 -0
  63. package/lib/graphManager/action/externalFormat/ExternalFormatDescription.js +27 -0
  64. package/lib/graphManager/action/externalFormat/ExternalFormatDescription.js.map +1 -0
  65. package/lib/helpers/MappingHelper.d.ts.map +1 -1
  66. package/lib/helpers/MappingHelper.js +1 -4
  67. package/lib/helpers/MappingHelper.js.map +1 -1
  68. package/lib/helpers/PureLanguageHelper.d.ts +21 -0
  69. package/lib/helpers/PureLanguageHelper.d.ts.map +1 -0
  70. package/lib/helpers/PureLanguageHelper.js +73 -0
  71. package/lib/helpers/PureLanguageHelper.js.map +1 -0
  72. package/lib/index.d.ts +13 -1
  73. package/lib/index.d.ts.map +1 -1
  74. package/lib/index.js +14 -1
  75. package/lib/index.js.map +1 -1
  76. package/lib/models/DSLExternalFormat_ModelUtils.d.ts +24 -0
  77. package/lib/models/DSLExternalFormat_ModelUtils.d.ts.map +1 -0
  78. package/lib/models/DSLExternalFormat_ModelUtils.js +25 -0
  79. package/lib/models/DSLExternalFormat_ModelUtils.js.map +1 -0
  80. package/lib/models/metamodels/pure/packageableElements/PackageableElement.js +1 -1
  81. package/lib/models/metamodels/pure/packageableElements/PackageableElement.js.map +1 -1
  82. package/lib/models/metamodels/pure/packageableElements/domain/Package.d.ts.map +1 -1
  83. package/lib/models/metamodels/pure/packageableElements/domain/Package.js +4 -2
  84. package/lib/models/metamodels/pure/packageableElements/domain/Package.js.map +1 -1
  85. package/lib/models/metamodels/pure/packageableElements/externalFormat/connection/DSLExternalFormat_ExternalFormatConnection.d.ts +29 -0
  86. package/lib/models/metamodels/pure/packageableElements/externalFormat/connection/DSLExternalFormat_ExternalFormatConnection.d.ts.map +1 -0
  87. package/lib/models/metamodels/pure/packageableElements/externalFormat/connection/DSLExternalFormat_ExternalFormatConnection.js +45 -0
  88. package/lib/models/metamodels/pure/packageableElements/externalFormat/connection/DSLExternalFormat_ExternalFormatConnection.js.map +1 -0
  89. package/lib/models/metamodels/pure/packageableElements/externalFormat/connection/DSLExternalFormat_UrlStream.d.ts +23 -0
  90. package/lib/models/metamodels/pure/packageableElements/externalFormat/connection/DSLExternalFormat_UrlStream.d.ts.map +1 -0
  91. package/lib/models/metamodels/pure/packageableElements/externalFormat/connection/DSLExternalFormat_UrlStream.js +35 -0
  92. package/lib/models/metamodels/pure/packageableElements/externalFormat/connection/DSLExternalFormat_UrlStream.js.map +1 -0
  93. package/lib/models/metamodels/pure/packageableElements/externalFormat/schemaSet/DSLExternalFormat_Schema.d.ts +28 -0
  94. package/lib/models/metamodels/pure/packageableElements/externalFormat/schemaSet/DSLExternalFormat_Schema.d.ts.map +1 -0
  95. package/lib/models/metamodels/pure/packageableElements/externalFormat/schemaSet/DSLExternalFormat_Schema.js +53 -0
  96. package/lib/models/metamodels/pure/packageableElements/externalFormat/schemaSet/DSLExternalFormat_Schema.js.map +1 -0
  97. package/lib/models/metamodels/pure/packageableElements/externalFormat/schemaSet/DSLExternalFormat_SchemaSet.d.ts +29 -0
  98. package/lib/models/metamodels/pure/packageableElements/externalFormat/schemaSet/DSLExternalFormat_SchemaSet.d.ts.map +1 -0
  99. package/lib/models/metamodels/pure/packageableElements/externalFormat/schemaSet/DSLExternalFormat_SchemaSet.js +55 -0
  100. package/lib/models/metamodels/pure/packageableElements/externalFormat/schemaSet/DSLExternalFormat_SchemaSet.js.map +1 -0
  101. package/lib/models/metamodels/pure/packageableElements/externalFormat/store/BindingTransformer.d.ts +25 -0
  102. package/lib/models/metamodels/pure/packageableElements/externalFormat/store/BindingTransformer.d.ts.map +1 -0
  103. package/lib/models/metamodels/pure/packageableElements/externalFormat/store/BindingTransformer.js +38 -0
  104. package/lib/models/metamodels/pure/packageableElements/externalFormat/store/BindingTransformer.js.map +1 -0
  105. package/lib/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_Binding.d.ts +35 -0
  106. package/lib/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_Binding.d.ts.map +1 -0
  107. package/lib/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_Binding.js +65 -0
  108. package/lib/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_Binding.js.map +1 -0
  109. package/lib/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_ModelUnit.d.ts +31 -0
  110. package/lib/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_ModelUnit.d.ts.map +1 -0
  111. package/lib/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_ModelUnit.js +61 -0
  112. package/lib/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_ModelUnit.js.map +1 -0
  113. package/lib/models/metamodels/pure/packageableElements/mapping/MergeOperationSetImplementation.d.ts +33 -0
  114. package/lib/models/metamodels/pure/packageableElements/mapping/MergeOperationSetImplementation.d.ts.map +1 -0
  115. package/lib/models/metamodels/pure/packageableElements/mapping/MergeOperationSetImplementation.js +46 -0
  116. package/lib/models/metamodels/pure/packageableElements/mapping/MergeOperationSetImplementation.js.map +1 -0
  117. package/lib/models/metamodels/pure/packageableElements/mapping/OperationSetImplementation.d.ts +2 -1
  118. package/lib/models/metamodels/pure/packageableElements/mapping/OperationSetImplementation.d.ts.map +1 -1
  119. package/lib/models/metamodels/pure/packageableElements/mapping/OperationSetImplementation.js +1 -1
  120. package/lib/models/metamodels/pure/packageableElements/mapping/OperationSetImplementation.js.map +1 -1
  121. package/lib/models/metamodels/pure/packageableElements/mapping/SetImplementation.d.ts +3 -0
  122. package/lib/models/metamodels/pure/packageableElements/mapping/SetImplementation.d.ts.map +1 -1
  123. package/lib/models/metamodels/pure/packageableElements/mapping/SetImplementation.js +1 -0
  124. package/lib/models/metamodels/pure/packageableElements/mapping/SetImplementation.js.map +1 -1
  125. package/lib/models/metamodels/pure/packageableElements/store/relational/connection/AuthenticationStrategy.d.ts +4 -10
  126. package/lib/models/metamodels/pure/packageableElements/store/relational/connection/AuthenticationStrategy.d.ts.map +1 -1
  127. package/lib/models/metamodels/pure/packageableElements/store/relational/connection/AuthenticationStrategy.js +11 -32
  128. package/lib/models/metamodels/pure/packageableElements/store/relational/connection/AuthenticationStrategy.js.map +1 -1
  129. package/lib/models/metamodels/pure/packageableElements/store/relational/connection/DatasourceSpecification.d.ts +21 -3
  130. package/lib/models/metamodels/pure/packageableElements/store/relational/connection/DatasourceSpecification.d.ts.map +1 -1
  131. package/lib/models/metamodels/pure/packageableElements/store/relational/connection/DatasourceSpecification.js +73 -8
  132. package/lib/models/metamodels/pure/packageableElements/store/relational/connection/DatasourceSpecification.js.map +1 -1
  133. package/lib/models/metamodels/pure/packageableElements/store/relational/connection/RelationalDatabaseConnection.d.ts +1 -0
  134. package/lib/models/metamodels/pure/packageableElements/store/relational/connection/RelationalDatabaseConnection.d.ts.map +1 -1
  135. package/lib/models/metamodels/pure/packageableElements/store/relational/connection/RelationalDatabaseConnection.js +1 -0
  136. package/lib/models/metamodels/pure/packageableElements/store/relational/connection/RelationalDatabaseConnection.js.map +1 -1
  137. package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/RelationalPropertyMapping.d.ts +3 -0
  138. package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/RelationalPropertyMapping.d.ts.map +1 -1
  139. package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/RelationalPropertyMapping.js +7 -0
  140. package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/RelationalPropertyMapping.js.map +1 -1
  141. package/lib/models/metamodels/pure/packageableElements/store/relational/model/RelationalDataType.d.ts +4 -0
  142. package/lib/models/metamodels/pure/packageableElements/store/relational/model/RelationalDataType.d.ts.map +1 -1
  143. package/lib/models/metamodels/pure/packageableElements/store/relational/model/RelationalDataType.js +11 -0
  144. package/lib/models/metamodels/pure/packageableElements/store/relational/model/RelationalDataType.js.map +1 -1
  145. package/lib/models/protocols/pure/DSLExternalFormat_PureProtocolProcessorPlugin.d.ts +34 -0
  146. package/lib/models/protocols/pure/DSLExternalFormat_PureProtocolProcessorPlugin.d.ts.map +1 -0
  147. package/lib/models/protocols/pure/DSLExternalFormat_PureProtocolProcessorPlugin.js +253 -0
  148. package/lib/models/protocols/pure/DSLExternalFormat_PureProtocolProcessorPlugin.js.map +1 -0
  149. package/lib/models/protocols/pure/v1/V1_Core_SystemModels.json +2248 -0
  150. package/lib/models/protocols/pure/v1/V1_PureGraphManager.d.ts +8 -4
  151. package/lib/models/protocols/pure/v1/V1_PureGraphManager.d.ts.map +1 -1
  152. package/lib/models/protocols/pure/v1/V1_PureGraphManager.js +25 -6
  153. package/lib/models/protocols/pure/v1/V1_PureGraphManager.js.map +1 -1
  154. package/lib/models/protocols/pure/v1/engine/V1_Engine.d.ts +6 -2
  155. package/lib/models/protocols/pure/v1/engine/V1_Engine.d.ts.map +1 -1
  156. package/lib/models/protocols/pure/v1/engine/V1_Engine.js +17 -3
  157. package/lib/models/protocols/pure/v1/engine/V1_Engine.js.map +1 -1
  158. package/lib/models/protocols/pure/v1/engine/V1_EngineHelper.d.ts +6 -2
  159. package/lib/models/protocols/pure/v1/engine/V1_EngineHelper.d.ts.map +1 -1
  160. package/lib/models/protocols/pure/v1/engine/V1_EngineHelper.js +31 -16
  161. package/lib/models/protocols/pure/v1/engine/V1_EngineHelper.js.map +1 -1
  162. package/lib/models/protocols/pure/v1/engine/V1_EngineServerClient.d.ts +10 -0
  163. package/lib/models/protocols/pure/v1/engine/V1_EngineServerClient.d.ts.map +1 -1
  164. package/lib/models/protocols/pure/v1/engine/V1_EngineServerClient.js +10 -0
  165. package/lib/models/protocols/pure/v1/engine/V1_EngineServerClient.js.map +1 -1
  166. package/lib/models/protocols/pure/v1/engine/externalFormat/V1_ExternalFormatDescription.d.ts +28 -0
  167. package/lib/models/protocols/pure/v1/engine/externalFormat/V1_ExternalFormatDescription.d.ts.map +1 -0
  168. package/lib/models/protocols/pure/v1/engine/externalFormat/V1_ExternalFormatDescription.js +38 -0
  169. package/lib/models/protocols/pure/v1/engine/externalFormat/V1_ExternalFormatDescription.js.map +1 -0
  170. package/lib/models/protocols/pure/v1/engine/externalFormat/V1_ExternalFormatModelGeneration.d.ts +25 -0
  171. package/lib/models/protocols/pure/v1/engine/externalFormat/V1_ExternalFormatModelGeneration.d.ts.map +1 -0
  172. package/lib/models/protocols/pure/v1/engine/externalFormat/V1_ExternalFormatModelGeneration.js +35 -0
  173. package/lib/models/protocols/pure/v1/engine/externalFormat/V1_ExternalFormatModelGeneration.js.map +1 -0
  174. package/lib/models/protocols/pure/v1/model/context/V1_PureModelContextData.d.ts +0 -2
  175. package/lib/models/protocols/pure/v1/model/context/V1_PureModelContextData.d.ts.map +1 -1
  176. package/lib/models/protocols/pure/v1/model/context/V1_PureModelContextData.js +0 -3
  177. package/lib/models/protocols/pure/v1/model/context/V1_PureModelContextData.js.map +1 -1
  178. package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/connection/V1_DSLExternalFormat_ExternalFormatConnection.d.ts +24 -0
  179. package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/connection/V1_DSLExternalFormat_ExternalFormatConnection.d.ts.map +1 -0
  180. package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/connection/V1_DSLExternalFormat_ExternalFormatConnection.js +32 -0
  181. package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/connection/V1_DSLExternalFormat_ExternalFormatConnection.js.map +1 -0
  182. package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/connection/V1_DSLExternalFormat_UrlStream.d.ts +21 -0
  183. package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/connection/V1_DSLExternalFormat_UrlStream.d.ts.map +1 -0
  184. package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/connection/V1_DSLExternalFormat_UrlStream.js +24 -0
  185. package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/connection/V1_DSLExternalFormat_UrlStream.js.map +1 -0
  186. package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/schemaSet/V1_DSLExternalFormat_Schema.d.ts +23 -0
  187. package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/schemaSet/V1_DSLExternalFormat_Schema.d.ts.map +1 -0
  188. package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/schemaSet/V1_DSLExternalFormat_Schema.js +31 -0
  189. package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/schemaSet/V1_DSLExternalFormat_Schema.js.map +1 -0
  190. package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/schemaSet/V1_DSLExternalFormat_SchemaSet.d.ts +25 -0
  191. package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/schemaSet/V1_DSLExternalFormat_SchemaSet.d.ts.map +1 -0
  192. package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/schemaSet/V1_DSLExternalFormat_SchemaSet.js +34 -0
  193. package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/schemaSet/V1_DSLExternalFormat_SchemaSet.js.map +1 -0
  194. package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/store/V1_BindingTransformer.d.ts +21 -0
  195. package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/store/V1_BindingTransformer.d.ts.map +1 -0
  196. package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/store/V1_BindingTransformer.js +24 -0
  197. package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/store/V1_BindingTransformer.js.map +1 -0
  198. package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/store/V1_DSLExternalFormat_Binding.d.ts +28 -0
  199. package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/store/V1_DSLExternalFormat_Binding.d.ts.map +1 -0
  200. package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/store/V1_DSLExternalFormat_Binding.js +38 -0
  201. package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/store/V1_DSLExternalFormat_Binding.js.map +1 -0
  202. package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/store/V1_DSLExternalFormat_ModelUnit.d.ts +22 -0
  203. package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/store/V1_DSLExternalFormat_ModelUnit.d.ts.map +1 -0
  204. package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/store/V1_DSLExternalFormat_ModelUnit.js +29 -0
  205. package/lib/models/protocols/pure/v1/model/packageableElements/externalFormat/store/V1_DSLExternalFormat_ModelUnit.js.map +1 -0
  206. package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_ClassMapping.d.ts +2 -0
  207. package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_ClassMapping.d.ts.map +1 -1
  208. package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_ClassMapping.js.map +1 -1
  209. package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_MergeOperationClassMapping.d.ts +25 -0
  210. package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_MergeOperationClassMapping.d.ts.map +1 -0
  211. package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_MergeOperationClassMapping.js +34 -0
  212. package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_MergeOperationClassMapping.js.map +1 -0
  213. package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_OperationClassMapping.d.ts +2 -1
  214. package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_OperationClassMapping.d.ts.map +1 -1
  215. package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_OperationClassMapping.js +1 -1
  216. package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_OperationClassMapping.js.map +1 -1
  217. package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/connection/V1_AuthenticationStrategy.d.ts +4 -8
  218. package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/connection/V1_AuthenticationStrategy.d.ts.map +1 -1
  219. package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/connection/V1_AuthenticationStrategy.js +9 -18
  220. package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/connection/V1_AuthenticationStrategy.js.map +1 -1
  221. package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/connection/V1_DatasourceSpecification.d.ts +13 -2
  222. package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/connection/V1_DatasourceSpecification.d.ts.map +1 -1
  223. package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/connection/V1_DatasourceSpecification.js +24 -2
  224. package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/connection/V1_DatasourceSpecification.js.map +1 -1
  225. package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/connection/V1_RelationalDatabaseConnection.d.ts +1 -0
  226. package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/connection/V1_RelationalDatabaseConnection.d.ts.map +1 -1
  227. package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/connection/V1_RelationalDatabaseConnection.js +1 -0
  228. package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/connection/V1_RelationalDatabaseConnection.js.map +1 -1
  229. package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/mapping/V1_RelationalPropertyMapping.d.ts +2 -0
  230. package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/mapping/V1_RelationalPropertyMapping.d.ts.map +1 -1
  231. package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/mapping/V1_RelationalPropertyMapping.js +2 -0
  232. package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/mapping/V1_RelationalPropertyMapping.js.map +1 -1
  233. package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/model/V1_RelationalDataType.d.ts +3 -0
  234. package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/model/V1_RelationalDataType.d.ts.map +1 -1
  235. package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/model/V1_RelationalDataType.js +5 -0
  236. package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/model/V1_RelationalDataType.js.map +1 -1
  237. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_ConnectionTransformer.d.ts.map +1 -1
  238. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_ConnectionTransformer.js +24 -14
  239. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_ConnectionTransformer.js.map +1 -1
  240. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_DatabaseTransformer.d.ts.map +1 -1
  241. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_DatabaseTransformer.js +5 -2
  242. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_DatabaseTransformer.js.map +1 -1
  243. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.d.ts +2 -0
  244. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.d.ts.map +1 -1
  245. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.js +34 -2
  246. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.js.map +1 -1
  247. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_DSLExternalFormat_GraphBuilderHelper.d.ts +22 -0
  248. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_DSLExternalFormat_GraphBuilderHelper.d.ts.map +1 -0
  249. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_DSLExternalFormat_GraphBuilderHelper.js +19 -0
  250. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_DSLExternalFormat_GraphBuilderHelper.js.map +1 -0
  251. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingFirstPassBuilder.d.ts +2 -0
  252. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingFirstPassBuilder.d.ts.map +1 -1
  253. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingFirstPassBuilder.js +8 -0
  254. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingFirstPassBuilder.js.map +1 -1
  255. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingSecondPassBuilder.d.ts +2 -0
  256. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingSecondPassBuilder.d.ts.map +1 -1
  257. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingSecondPassBuilder.js +3 -0
  258. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingSecondPassBuilder.js.map +1 -1
  259. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelPropertyMappingBuilder.d.ts.map +1 -1
  260. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelPropertyMappingBuilder.js +8 -0
  261. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelPropertyMappingBuilder.js.map +1 -1
  262. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DatabaseBuilderHelper.d.ts.map +1 -1
  263. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DatabaseBuilderHelper.js +5 -2
  264. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DatabaseBuilderHelper.js.map +1 -1
  265. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RelationalConnectionBuilderHelper.d.ts.map +1 -1
  266. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RelationalConnectionBuilderHelper.js +21 -15
  267. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RelationalConnectionBuilderHelper.js.map +1 -1
  268. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.d.ts.map +1 -1
  269. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.js.map +1 -1
  270. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ConnectionSerializationHelper.d.ts.map +1 -1
  271. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ConnectionSerializationHelper.js +28 -20
  272. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ConnectionSerializationHelper.js.map +1 -1
  273. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DSLExternalFormat_ProtocolHelper.d.ts +25 -0
  274. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DSLExternalFormat_ProtocolHelper.d.ts.map +1 -0
  275. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DSLExternalFormat_ProtocolHelper.js +62 -0
  276. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DSLExternalFormat_ProtocolHelper.js.map +1 -0
  277. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DatabaseSerializationHelper.d.ts.map +1 -1
  278. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DatabaseSerializationHelper.js +10 -1
  279. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DatabaseSerializationHelper.js.map +1 -1
  280. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_MappingSerializationHelper.d.ts.map +1 -1
  281. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_MappingSerializationHelper.js +23 -2
  282. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_MappingSerializationHelper.js.map +1 -1
  283. package/lib/package.json +68 -0
  284. package/package.json +17 -12
  285. package/src/GraphManagerState.ts +10 -3
  286. package/src/GraphManagerTestUtils.tsx +17 -3
  287. package/src/MetaModelConst.ts +4 -2
  288. package/src/graph/BasicModel.ts +2 -2
  289. package/src/graph/DSLExternalFormat_Extension.ts +37 -0
  290. package/src/graph/DSLExternalFormat_PureGraphPlugin.ts +35 -0
  291. package/src/graph/DependencyManager.ts +5 -0
  292. package/src/graph/PureModel.ts +8 -2
  293. package/src/graphManager/AbstractPureGraphManager.ts +17 -4
  294. package/src/graphManager/DSLExternalFormat_GraphManagerHelper.ts +30 -0
  295. package/src/graphManager/DSLExternalFormat_PureGraphManagerPlugin.ts +86 -0
  296. package/src/graphManager/GraphBuilderReport.ts +17 -0
  297. package/src/graphManager/GraphManagerLogEvent.ts +1 -1
  298. package/src/graphManager/action/EngineError.ts +3 -0
  299. package/src/graphManager/action/{TEMP__AbstractEngineConfig.ts → TEMPORARY__AbstractEngineConfig.ts} +1 -1
  300. package/src/graphManager/action/externalFormat/ExternalFormatDescription.ts +30 -0
  301. package/src/helpers/MappingHelper.ts +1 -3
  302. package/src/helpers/PureLanguageHelper.ts +86 -0
  303. package/src/index.ts +17 -2
  304. package/src/models/DSLExternalFormat_ModelUtils.ts +24 -0
  305. package/src/models/metamodels/pure/packageableElements/PackageableElement.ts +1 -1
  306. package/src/models/metamodels/pure/packageableElements/domain/Package.ts +3 -2
  307. package/src/models/metamodels/pure/packageableElements/externalFormat/connection/DSLExternalFormat_ExternalFormatConnection.ts +57 -0
  308. package/src/models/metamodels/pure/packageableElements/externalFormat/connection/DSLExternalFormat_UrlStream.ts +39 -0
  309. package/src/models/metamodels/pure/packageableElements/externalFormat/schemaSet/DSLExternalFormat_Schema.ts +59 -0
  310. package/src/models/metamodels/pure/packageableElements/externalFormat/schemaSet/DSLExternalFormat_SchemaSet.ts +74 -0
  311. package/src/models/metamodels/pure/packageableElements/externalFormat/store/BindingTransformer.ts +44 -0
  312. package/src/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_Binding.ts +80 -0
  313. package/src/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_ModelUnit.ts +98 -0
  314. package/src/models/metamodels/pure/packageableElements/mapping/MergeOperationSetImplementation.ts +81 -0
  315. package/src/models/metamodels/pure/packageableElements/mapping/OperationSetImplementation.ts +1 -1
  316. package/src/models/metamodels/pure/packageableElements/mapping/SetImplementation.ts +5 -0
  317. package/src/models/metamodels/pure/packageableElements/store/relational/connection/AuthenticationStrategy.ts +16 -44
  318. package/src/models/metamodels/pure/packageableElements/store/relational/connection/DatasourceSpecification.ts +97 -9
  319. package/src/models/metamodels/pure/packageableElements/store/relational/connection/RelationalDatabaseConnection.ts +1 -0
  320. package/src/models/metamodels/pure/packageableElements/store/relational/mapping/RelationalPropertyMapping.ts +9 -0
  321. package/src/models/metamodels/pure/packageableElements/store/relational/model/RelationalDataType.ts +14 -0
  322. package/src/models/protocols/pure/DSLExternalFormat_PureProtocolProcessorPlugin.ts +417 -0
  323. package/src/models/protocols/pure/v1/V1_Core_SystemModels.json +2248 -0
  324. package/src/models/protocols/pure/v1/V1_PureGraphManager.ts +51 -8
  325. package/src/models/protocols/pure/v1/engine/V1_Engine.ts +34 -2
  326. package/src/models/protocols/pure/v1/engine/V1_EngineHelper.ts +59 -29
  327. package/src/models/protocols/pure/v1/engine/V1_EngineServerClient.ts +28 -0
  328. package/src/models/protocols/pure/v1/engine/externalFormat/V1_ExternalFormatDescription.ts +46 -0
  329. package/src/models/protocols/pure/v1/engine/externalFormat/V1_ExternalFormatModelGeneration.ts +44 -0
  330. package/src/models/protocols/pure/v1/model/context/V1_PureModelContextData.ts +0 -9
  331. package/src/models/protocols/pure/v1/model/packageableElements/externalFormat/connection/V1_DSLExternalFormat_ExternalFormatConnection.ts +42 -0
  332. package/src/models/protocols/pure/v1/model/packageableElements/externalFormat/connection/V1_DSLExternalFormat_UrlStream.ts +26 -0
  333. package/src/models/protocols/pure/v1/model/packageableElements/externalFormat/schemaSet/V1_DSLExternalFormat_Schema.ts +33 -0
  334. package/src/models/protocols/pure/v1/model/packageableElements/externalFormat/schemaSet/V1_DSLExternalFormat_SchemaSet.ts +43 -0
  335. package/src/models/protocols/pure/v1/model/packageableElements/externalFormat/store/V1_BindingTransformer.ts +26 -0
  336. package/src/models/protocols/pure/v1/model/packageableElements/externalFormat/store/V1_DSLExternalFormat_Binding.ts +45 -0
  337. package/src/models/protocols/pure/v1/model/packageableElements/externalFormat/store/V1_DSLExternalFormat_ModelUnit.ts +31 -0
  338. package/src/models/protocols/pure/v1/model/packageableElements/mapping/V1_ClassMapping.ts +4 -0
  339. package/src/models/protocols/pure/v1/model/packageableElements/mapping/V1_MergeOperationClassMapping.ts +46 -0
  340. package/src/models/protocols/pure/v1/model/packageableElements/mapping/V1_OperationClassMapping.ts +1 -1
  341. package/src/models/protocols/pure/v1/model/packageableElements/store/relational/connection/V1_AuthenticationStrategy.ts +12 -25
  342. package/src/models/protocols/pure/v1/model/packageableElements/store/relational/connection/V1_DatasourceSpecification.ts +29 -2
  343. package/src/models/protocols/pure/v1/model/packageableElements/store/relational/connection/V1_RelationalDatabaseConnection.ts +1 -0
  344. package/src/models/protocols/pure/v1/model/packageableElements/store/relational/mapping/V1_RelationalPropertyMapping.ts +3 -0
  345. package/src/models/protocols/pure/v1/model/packageableElements/store/relational/model/V1_RelationalDataType.ts +9 -0
  346. package/src/models/protocols/pure/v1/transformation/pureGraph/from/V1_ConnectionTransformer.ts +25 -12
  347. package/src/models/protocols/pure/v1/transformation/pureGraph/from/V1_DatabaseTransformer.ts +4 -0
  348. package/src/models/protocols/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.ts +53 -1
  349. package/src/models/protocols/pure/v1/transformation/pureGraph/to/V1_DSLExternalFormat_GraphBuilderHelper.ts +40 -0
  350. package/src/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingFirstPassBuilder.ts +32 -0
  351. package/src/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingSecondPassBuilder.ts +7 -0
  352. package/src/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelPropertyMappingBuilder.ts +11 -0
  353. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DatabaseBuilderHelper.ts +4 -0
  354. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RelationalConnectionBuilderHelper.ts +49 -24
  355. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.ts +1 -2
  356. package/src/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ConnectionSerializationHelper.ts +33 -39
  357. package/src/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DSLExternalFormat_ProtocolHelper.ts +90 -0
  358. package/src/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DatabaseSerializationHelper.ts +13 -0
  359. package/src/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_MappingSerializationHelper.ts +30 -1
  360. package/tsconfig.json +31 -1
  361. package/CHANGELOG.md +0 -209
  362. package/lib/graphManager/action/TEMP__AbstractEngineConfig.d.ts.map +0 -1
  363. package/lib/graphManager/action/TEMP__AbstractEngineConfig.js.map +0 -1
@@ -71,6 +71,63 @@ export class StaticDatasourceSpecification
71
71
  }
72
72
  }
73
73
 
74
+ export class DatabricksDatasourceSpecification
75
+ extends DatasourceSpecification
76
+ implements Hashable
77
+ {
78
+ hostname: string;
79
+ port: string;
80
+ protocol: string;
81
+ httpPath: string;
82
+
83
+ constructor(
84
+ hostname: string,
85
+ port: string,
86
+ protocol: string,
87
+ httpPath: string,
88
+ ) {
89
+ super();
90
+
91
+ makeObservable(this, {
92
+ hostname: observable,
93
+ port: observable,
94
+ protocol: observable,
95
+ httpPath: observable,
96
+ hashCode: computed,
97
+ });
98
+ this.hostname = hostname;
99
+ this.port = port;
100
+ this.protocol = protocol;
101
+ this.httpPath = httpPath;
102
+ }
103
+
104
+ get hashCode(): string {
105
+ return hashArray([
106
+ CORE_HASH_STRUCTURE.DATABRICKS_DATASOURCE_SPECIFICATION,
107
+ this.hostname,
108
+ this.port,
109
+ this.protocol,
110
+ this.httpPath,
111
+ ]);
112
+ }
113
+
114
+ setHostName(val: string): void {
115
+ this.hostname = val;
116
+ }
117
+
118
+ setPort(val: string): void {
119
+ this.port = val;
120
+ }
121
+
122
+ setProtocol(val: string): void {
123
+ this.protocol = val;
124
+ }
125
+
126
+ setHttpPath(val: string): void {
127
+ this.httpPath = val;
128
+ }
129
+ }
130
+
74
131
  export class EmbeddedH2DatasourceSpecification
75
132
  extends DatasourceSpecification
76
133
  implements Hashable
@@ -288,25 +345,43 @@ export class RedshiftDatasourceSpecification
288
345
  extends DatasourceSpecification
289
346
  implements Hashable
290
347
  {
348
+ clusterID: string;
291
349
  databaseName: string;
292
- endpoint: string;
350
+ host: string;
293
351
  port: number;
352
+ region: string;
353
+ endpointURL: string;
294
354
 
295
- constructor(databaseName: string, endpoint: string, port: number) {
355
+ constructor(
356
+ databaseName: string,
357
+ endpointURL: string,
358
+ port: number,
359
+ host: string,
360
+ clusterID: string,
361
+ region: string,
362
+ ) {
296
363
  super();
297
364
 
298
365
  makeObservable(this, {
299
366
  databaseName: observable,
300
- endpoint: observable,
367
+ endpointURL: observable,
301
368
  port: observable,
369
+ region: observable,
370
+ clusterID: observable,
371
+ host: observable,
302
372
  hashCode: computed,
303
373
  setDatabaseName: action,
304
- setEndpoint: action,
374
+ setEndpointURL: action,
305
375
  setPort: action,
376
+ setRegion: action,
377
+ setClusterID: action,
378
+ setHost: action,
306
379
  });
307
-
380
+ this.clusterID = clusterID;
381
+ this.region = region;
382
+ this.host = host;
308
383
  this.databaseName = databaseName;
309
- this.endpoint = endpoint;
384
+ this.endpointURL = endpointURL;
310
385
  this.port = port;
311
386
  }
312
387
 
@@ -314,20 +389,33 @@ export class RedshiftDatasourceSpecification
314
389
  this.databaseName = val;
315
390
  }
316
391
 
317
- setEndpoint(val: string): void {
318
- this.endpoint = val;
392
+ setEndpointURL(val: string): void {
393
+ this.endpointURL = val;
319
394
  }
320
395
 
321
396
  setPort(val: number): void {
322
397
  this.port = val;
323
398
  }
399
+ setRegion(val: string): void {
400
+ this.region = val;
401
+ }
324
402
 
403
+ setHost(val: string): void {
404
+ this.host = val;
405
+ }
406
+
407
+ setClusterID(val: string): void {
408
+ this.clusterID = val;
409
+ }
325
410
  get hashCode(): string {
326
411
  return hashArray([
327
412
  CORE_HASH_STRUCTURE.REDSHIFT_DATASOURCE_SPECIFICATION,
328
413
  this.databaseName,
329
- this.endpoint,
414
+ this.endpointURL,
330
415
  this.port.toString(),
416
+ this.clusterID,
417
+ this.host,
418
+ this.region,
331
419
  ]);
332
420
  }
333
421
  }
@@ -38,6 +38,7 @@ export enum DatabaseType {
38
38
  SqlServer = 'SqlServer',
39
39
  Hive = 'Hive',
40
40
  Snowflake = 'Snowflake',
41
+ Databricks = 'Databricks',
41
42
  Presto = 'Presto',
42
43
  Redshift = 'Redshift',
43
44
  BigQuery = 'BigQuery',
@@ -30,6 +30,7 @@ import {
30
30
  isStubRelationalOperationElement,
31
31
  type RawRelationalOperationElement,
32
32
  } from '../model/RawRelationalOperationElement';
33
+ import type { BindingTransformer } from '../../../externalFormat/store/BindingTransformer';
33
34
 
34
35
  export class RelationalPropertyMapping
35
36
  extends PropertyMapping
@@ -37,6 +38,7 @@ export class RelationalPropertyMapping
37
38
  {
38
39
  transformer?: EnumerationMapping | undefined;
39
40
  relationalOperation!: RawRelationalOperationElement; // @MARKER GENERATED MODEL DISCREPANCY --- Studio does not process relational operation element
41
+ bindingTransformer?: BindingTransformer | undefined;
40
42
 
41
43
  constructor(
42
44
  owner: PropertyMappingsImplementation,
@@ -49,6 +51,8 @@ export class RelationalPropertyMapping
49
51
  makeObservable(this, {
50
52
  transformer: observable,
51
53
  relationalOperation: observable.ref,
54
+ bindingTransformer: observable,
55
+ setBindingTransformer: action,
52
56
  setTransformer: action,
53
57
  hashCode: computed,
54
58
  });
@@ -58,6 +62,10 @@ export class RelationalPropertyMapping
58
62
  this.transformer = value;
59
63
  }
60
64
 
65
+ setBindingTransformer(value: BindingTransformer | undefined): void {
66
+ this.bindingTransformer = value;
67
+ }
68
+
61
69
  accept_PropertyMappingVisitor<T>(visitor: PropertyMappingVisitor<T>): T {
62
70
  return visitor.visit_RelationalPropertyMapping(this);
63
71
  }
@@ -71,6 +79,7 @@ export class RelationalPropertyMapping
71
79
  CORE_HASH_STRUCTURE.REALTIONAL_PROPERTY_MAPPING,
72
80
  super.hashCode,
73
81
  this.transformer?.id.value ?? '',
82
+ this.bindingTransformer ?? '',
74
83
  hashObjectWithoutSourceInformation(this.relationalOperation),
75
84
  ]);
76
85
  }
@@ -315,3 +315,17 @@ export class Real extends RelationalDataType {
315
315
  return hashArray([CORE_HASH_STRUCTURE.RELATIONAL_DATATYPE_REAL]);
316
316
  }
317
317
  }
318
+
319
+ export class SemiStructured extends RelationalDataType {
320
+ constructor() {
321
+ super();
322
+
323
+ makeObservable(this, {
324
+ hashCode: computed,
325
+ });
326
+ }
327
+
328
+ get hashCode(): string {
329
+ return hashArray([CORE_HASH_STRUCTURE.RELATIONAL_DATATYPE_SEMISTRUCTURED]);
330
+ }
331
+ }
@@ -0,0 +1,417 @@
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 packageJson from '../../../../package.json';
18
+ import {
19
+ type PlainObject,
20
+ assertType,
21
+ guaranteeNonEmptyString,
22
+ assertNonNullable,
23
+ guaranteeNonNullable,
24
+ } from '@finos/legend-shared';
25
+ import { deserialize, serialize } from 'serializr';
26
+ import type { PureModel } from '../../../graph/PureModel';
27
+ import {
28
+ getBinding,
29
+ getSchemaSet,
30
+ } from '../../../graphManager/DSLExternalFormat_GraphManagerHelper';
31
+ import type { Connection } from '../../metamodels/pure/packageableElements/connection/Connection';
32
+ import type { Mapping } from '../../metamodels/pure/packageableElements/mapping/Mapping';
33
+ import type { PackageableElement } from '../../metamodels/pure/packageableElements/PackageableElement';
34
+ import {
35
+ PackageableElementReference,
36
+ toOptionalPackageableElementReference,
37
+ } from '../../metamodels/pure/packageableElements/PackageableElementReference';
38
+ import type { Runtime } from '../../metamodels/pure/packageableElements/runtime/Runtime';
39
+ import { ExternalFormatConnection } from '../../metamodels/pure/packageableElements/externalFormat/connection/DSLExternalFormat_ExternalFormatConnection';
40
+ import { UrlStream } from '../../metamodels/pure/packageableElements/externalFormat/connection/DSLExternalFormat_UrlStream';
41
+ import { Schema } from '../../metamodels/pure/packageableElements/externalFormat/schemaSet/DSLExternalFormat_Schema';
42
+ import { SchemaSet } from '../../metamodels/pure/packageableElements/externalFormat/schemaSet/DSLExternalFormat_SchemaSet';
43
+ import { Binding } from '../../metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_Binding';
44
+ import { ModelUnit } from '../../metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_ModelUnit';
45
+ import type { Store } from '../../metamodels/pure/packageableElements/store/Store';
46
+ import type {
47
+ DSLMapping_PureProtocolProcessorPlugin_Extension,
48
+ V1_ConnectionBuilder,
49
+ V1_ConnectionProtocolDeserializer,
50
+ V1_ConnectionProtocolSerializer,
51
+ V1_ConnectionTransformer,
52
+ } from './DSLMapping_PureProtocolProcessorPlugin_Extension';
53
+ import {
54
+ type V1_ElementProtocolClassifierPathGetter,
55
+ type V1_ElementProtocolDeserializer,
56
+ type V1_ElementProtocolSerializer,
57
+ type V1_ElementTransformer,
58
+ type V1_ExecutionInputGetter,
59
+ PureProtocolProcessorPlugin,
60
+ } from './PureProtocolProcessorPlugin';
61
+ import type { V1_PureModelContextData } from './v1/model/context/V1_PureModelContextData';
62
+ import type { V1_Connection } from './v1/model/packageableElements/connection/V1_Connection';
63
+ import { V1_ExternalFormatConnection } from './v1/model/packageableElements/externalFormat/connection/V1_DSLExternalFormat_ExternalFormatConnection';
64
+ import { V1_UrlStream } from './v1/model/packageableElements/externalFormat/connection/V1_DSLExternalFormat_UrlStream';
65
+ import { V1_Schema } from './v1/model/packageableElements/externalFormat/schemaSet/V1_DSLExternalFormat_Schema';
66
+ import { V1_SchemaSet } from './v1/model/packageableElements/externalFormat/schemaSet/V1_DSLExternalFormat_SchemaSet';
67
+ import { V1_Binding } from './v1/model/packageableElements/externalFormat/store/V1_DSLExternalFormat_Binding';
68
+ import { V1_ModelUnit } from './v1/model/packageableElements/externalFormat/store/V1_DSLExternalFormat_ModelUnit';
69
+ import type { V1_PackageableElement } from './v1/model/packageableElements/V1_PackageableElement';
70
+ import {
71
+ V1_initPackageableElement,
72
+ V1_transformElementReference,
73
+ } from './v1/transformation/pureGraph/from/V1_CoreTransformerHelper';
74
+ import type { V1_GraphTransformerContext } from './v1/transformation/pureGraph/from/V1_GraphTransformerContext';
75
+ import {
76
+ V1_resolveBinding,
77
+ V1_resolveSchemaSet,
78
+ } from './v1/transformation/pureGraph/to/V1_DSLExternalFormat_GraphBuilderHelper';
79
+ import { V1_ElementBuilder } from './v1/transformation/pureGraph/to/V1_ElementBuilder';
80
+ import type { V1_GraphBuilderContext } from './v1/transformation/pureGraph/to/V1_GraphBuilderContext';
81
+ import {
82
+ V1_bindingModelSchema,
83
+ V1_BINDING_ELEMENT_PROTOCOL_TYPE,
84
+ V1_externalFormatConnectionModelSchema,
85
+ V1_EXTERNAL_FORMAT_CONNECTION_ELEMENT_PROTOCOL_TYPE,
86
+ V1_schemaSetModelSchema,
87
+ V1_SCHEMA_SET_ELEMENT_PROTOCOL_TYPE,
88
+ } from './v1/transformation/pureProtocol/serializationHelpers/V1_DSLExternalFormat_ProtocolHelper';
89
+
90
+ const BINDING_ELEMENT_CLASSIFIER_PATH =
91
+ 'meta::external::shared::format::binding::Binding';
92
+ const SCHEMA_SET_ELEMENT_CLASSIFIER_PATH =
93
+ 'meta::external::shared::format::metamodel::SchemaSet';
94
+
95
+ export class DSLExternalFormat_PureProtocolProcessorPlugin
96
+ extends PureProtocolProcessorPlugin
97
+ implements DSLMapping_PureProtocolProcessorPlugin_Extension
98
+ {
99
+ constructor() {
100
+ super(
101
+ packageJson.extensions.dsl_external_format_pureProtocolProcessorPlugin,
102
+ packageJson.version,
103
+ );
104
+ }
105
+
106
+ override V1_getExtraElementBuilders(): V1_ElementBuilder<V1_PackageableElement>[] {
107
+ return [
108
+ new V1_ElementBuilder<V1_Binding>({
109
+ elementClassName: Binding.name,
110
+ _class: V1_Binding,
111
+ firstPass: (
112
+ elementProtocol: V1_PackageableElement,
113
+ context: V1_GraphBuilderContext,
114
+ ): PackageableElement => {
115
+ assertType(elementProtocol, V1_Binding);
116
+ const element = new Binding(elementProtocol.name);
117
+ const path = context.currentSubGraph.buildPath(
118
+ elementProtocol.package,
119
+ elementProtocol.name,
120
+ );
121
+ context.currentSubGraph
122
+ .getOrCreatePackage(elementProtocol.package)
123
+ .addElement(element);
124
+ context.currentSubGraph.setOwnStore(path, element);
125
+ return element;
126
+ },
127
+ secondPass: (
128
+ elementProtocol: V1_PackageableElement,
129
+ context: V1_GraphBuilderContext,
130
+ ): void => {
131
+ assertType(elementProtocol, V1_Binding);
132
+ const path = context.graph.buildPath(
133
+ elementProtocol.package,
134
+ elementProtocol.name,
135
+ );
136
+ const element = getBinding(path, context.graph);
137
+ const schemaSet = elementProtocol.schemaSet
138
+ ? V1_resolveSchemaSet(elementProtocol.schemaSet, context)
139
+ : undefined;
140
+ element.schemaId = elementProtocol.schemaId;
141
+ element.schemaSet = toOptionalPackageableElementReference(schemaSet);
142
+
143
+ element.contentType = guaranteeNonEmptyString(
144
+ elementProtocol.contentType,
145
+ `Binding 'contentType' '${elementProtocol.contentType}' is not supported`,
146
+ );
147
+ assertNonNullable(
148
+ elementProtocol.modelUnit,
149
+ `Binding 'modelUnit' field is missing`,
150
+ );
151
+ const modelUnit = new ModelUnit();
152
+ modelUnit.packageableElementIncludes =
153
+ elementProtocol.modelUnit.packageableElementIncludes.map((e) =>
154
+ context.resolveElement(e, true),
155
+ );
156
+ modelUnit.packageableElementExcludes =
157
+ elementProtocol.modelUnit.packageableElementExcludes.map((e) =>
158
+ context.resolveElement(e, true),
159
+ );
160
+ element.modelUnit = modelUnit;
161
+ },
162
+ }),
163
+ new V1_ElementBuilder<V1_SchemaSet>({
164
+ elementClassName: SchemaSet.name,
165
+ _class: V1_SchemaSet,
166
+ firstPass: (
167
+ elementProtocol: V1_PackageableElement,
168
+ context: V1_GraphBuilderContext,
169
+ ): PackageableElement => {
170
+ assertType(elementProtocol, V1_SchemaSet);
171
+ const element = new SchemaSet(elementProtocol.name);
172
+ const path = context.currentSubGraph.buildPath(
173
+ elementProtocol.package,
174
+ elementProtocol.name,
175
+ );
176
+ context.currentSubGraph.setOwnElementInExtension(
177
+ path,
178
+ element,
179
+ SchemaSet,
180
+ );
181
+ return element;
182
+ },
183
+ secondPass: (
184
+ elementProtocol: V1_PackageableElement,
185
+ context: V1_GraphBuilderContext,
186
+ ): void => {
187
+ assertType(elementProtocol, V1_SchemaSet);
188
+ const path = context.graph.buildPath(
189
+ elementProtocol.package,
190
+ elementProtocol.name,
191
+ );
192
+ const element = getSchemaSet(path, context.graph);
193
+ element.format = guaranteeNonEmptyString(elementProtocol.format);
194
+ element.schemas = elementProtocol.schemas.map((schema) => {
195
+ const schemaElement = new Schema();
196
+ schemaElement.setContent(
197
+ guaranteeNonEmptyString(
198
+ schema.content,
199
+ `Schema 'content' field is missing or empty`,
200
+ ),
201
+ );
202
+ schemaElement.id = schema.id;
203
+ schemaElement.location = schema.location;
204
+ return schemaElement;
205
+ });
206
+ },
207
+ }),
208
+ ];
209
+ }
210
+
211
+ override V1_getExtraElementClassifierPathGetters(): V1_ElementProtocolClassifierPathGetter[] {
212
+ return [
213
+ (elementProtocol: V1_PackageableElement): string | undefined => {
214
+ if (elementProtocol instanceof V1_Binding) {
215
+ return BINDING_ELEMENT_CLASSIFIER_PATH;
216
+ } else if (elementProtocol instanceof V1_SchemaSet) {
217
+ return SCHEMA_SET_ELEMENT_CLASSIFIER_PATH;
218
+ }
219
+ return undefined;
220
+ },
221
+ ];
222
+ }
223
+
224
+ override V1_getExtraElementProtocolSerializers(): V1_ElementProtocolSerializer[] {
225
+ return [
226
+ (
227
+ elementProtocol: V1_PackageableElement,
228
+ plugins: PureProtocolProcessorPlugin[],
229
+ ): PlainObject<V1_PackageableElement> | undefined => {
230
+ if (elementProtocol instanceof V1_Binding) {
231
+ return serialize(V1_bindingModelSchema, elementProtocol);
232
+ } else if (elementProtocol instanceof V1_SchemaSet) {
233
+ return serialize(V1_schemaSetModelSchema, elementProtocol);
234
+ }
235
+ return undefined;
236
+ },
237
+ ];
238
+ }
239
+
240
+ override V1_getExtraElementProtocolDeserializers(): V1_ElementProtocolDeserializer[] {
241
+ return [
242
+ (
243
+ json: PlainObject<V1_PackageableElement>,
244
+ plugins: PureProtocolProcessorPlugin[],
245
+ ): V1_PackageableElement | undefined => {
246
+ if (json._type === V1_BINDING_ELEMENT_PROTOCOL_TYPE) {
247
+ return deserialize(V1_bindingModelSchema, json);
248
+ } else if (json._type === V1_SCHEMA_SET_ELEMENT_PROTOCOL_TYPE) {
249
+ return deserialize(V1_schemaSetModelSchema, json);
250
+ }
251
+ return undefined;
252
+ },
253
+ ];
254
+ }
255
+
256
+ override V1_getExtraElementTransformers(): V1_ElementTransformer[] {
257
+ return [
258
+ (
259
+ metamodel: PackageableElement,
260
+ context: V1_GraphTransformerContext,
261
+ ): V1_PackageableElement | undefined => {
262
+ if (metamodel instanceof Binding) {
263
+ const protocol = new V1_Binding();
264
+ V1_initPackageableElement(protocol, metamodel);
265
+ protocol.name = metamodel.name;
266
+ protocol.package = metamodel.package?.fullPath ?? '';
267
+ protocol.schemaId = metamodel.schemaId;
268
+ protocol.schemaSet = metamodel.schemaSet.valueForSerialization;
269
+ protocol.contentType = metamodel.contentType;
270
+ const modelUnit = new V1_ModelUnit();
271
+ modelUnit.packageableElementExcludes =
272
+ metamodel.modelUnit.packageableElementExcludes.map((path) =>
273
+ path instanceof PackageableElementReference
274
+ ? path.valueForSerialization ?? ''
275
+ : path,
276
+ );
277
+ modelUnit.packageableElementIncludes =
278
+ metamodel.modelUnit.packageableElementIncludes.map((path) =>
279
+ path instanceof PackageableElementReference
280
+ ? path.valueForSerialization ?? ''
281
+ : path,
282
+ );
283
+ protocol.modelUnit = modelUnit;
284
+ protocol.includedStores = [];
285
+ return protocol;
286
+ } else if (metamodel instanceof SchemaSet) {
287
+ const protocol = new V1_SchemaSet();
288
+ V1_initPackageableElement(protocol, metamodel);
289
+ protocol.name = metamodel.name;
290
+ protocol.package = metamodel.package?.fullPath ?? '';
291
+ protocol.format = metamodel.format;
292
+ protocol.schemas = metamodel.schemas.map((schema) => {
293
+ const schemaProtocol = new V1_Schema();
294
+ schemaProtocol.content = schema.content;
295
+ schemaProtocol.id = schema.id;
296
+ schemaProtocol.location = schema.location;
297
+ return schemaProtocol;
298
+ });
299
+ return protocol;
300
+ }
301
+ return undefined;
302
+ },
303
+ ];
304
+ }
305
+
306
+ override V1_getExtraExecutionInputGetters(): V1_ExecutionInputGetter[] {
307
+ return [
308
+ (
309
+ graph: PureModel,
310
+ mapping: Mapping,
311
+ runtime: Runtime,
312
+ protocolGraph: V1_PureModelContextData,
313
+ ): V1_PackageableElement[] =>
314
+ protocolGraph.elements.filter(
315
+ (element) => element instanceof V1_SchemaSet,
316
+ ),
317
+ ];
318
+ }
319
+
320
+ override V1_getExtraSourceInformationKeys(): string[] {
321
+ return ['contentSourceInformation'];
322
+ }
323
+
324
+ V1_getExtraConnectionBuilders(): V1_ConnectionBuilder[] {
325
+ return [
326
+ (
327
+ connection: V1_Connection,
328
+ context: V1_GraphBuilderContext,
329
+ store?: PackageableElementReference<Store> | undefined,
330
+ ): Connection | undefined => {
331
+ if (connection instanceof V1_ExternalFormatConnection) {
332
+ const Store = !store
333
+ ? V1_resolveBinding(
334
+ guaranteeNonNullable(
335
+ connection.store,
336
+ `External format connection 'store' field is missing`,
337
+ ),
338
+ context,
339
+ )
340
+ : connection.store
341
+ ? V1_resolveBinding(connection.store, context)
342
+ : ((): PackageableElementReference<Binding> => {
343
+ assertType(
344
+ store.value,
345
+ Binding,
346
+ `External format connection store must be a Binding`,
347
+ );
348
+ return store as PackageableElementReference<Binding>;
349
+ })();
350
+ const externalFormatConnection = new ExternalFormatConnection(Store);
351
+ assertNonNullable(
352
+ connection.externalSource,
353
+ `External format connection 'externalSource' field is missing`,
354
+ );
355
+ const urlStream = new UrlStream();
356
+ urlStream.setUrl(
357
+ guaranteeNonEmptyString(
358
+ connection.externalSource.url,
359
+ `URL stream 'url' field is missing or empty`,
360
+ ),
361
+ );
362
+ externalFormatConnection.externalSource = urlStream;
363
+ return externalFormatConnection;
364
+ }
365
+ return undefined;
366
+ },
367
+ ];
368
+ }
369
+
370
+ V1_getExtraConnectionTransformers(): V1_ConnectionTransformer[] {
371
+ return [
372
+ (
373
+ metamodel: Connection,
374
+ context: V1_GraphTransformerContext,
375
+ ): V1_Connection | undefined => {
376
+ if (metamodel instanceof ExternalFormatConnection) {
377
+ const connection = new V1_ExternalFormatConnection();
378
+ connection.store = V1_transformElementReference(metamodel.store);
379
+ const urlStream = new V1_UrlStream();
380
+ urlStream.url = metamodel.externalSource.url;
381
+ connection.externalSource = urlStream;
382
+ return connection;
383
+ }
384
+ return undefined;
385
+ },
386
+ ];
387
+ }
388
+
389
+ V1_getExtraConnectionProtocolSerializers(): V1_ConnectionProtocolSerializer[] {
390
+ return [
391
+ (
392
+ connectionProtocol: V1_Connection,
393
+ ): PlainObject<V1_Connection> | undefined => {
394
+ if (connectionProtocol instanceof V1_ExternalFormatConnection) {
395
+ return serialize(
396
+ V1_externalFormatConnectionModelSchema,
397
+ connectionProtocol,
398
+ );
399
+ }
400
+ return undefined;
401
+ },
402
+ ];
403
+ }
404
+
405
+ V1_getExtraConnectionProtocolDeserializers(): V1_ConnectionProtocolDeserializer[] {
406
+ return [
407
+ (json: PlainObject<V1_Connection>): V1_Connection | undefined => {
408
+ if (
409
+ json._type === V1_EXTERNAL_FORMAT_CONNECTION_ELEMENT_PROTOCOL_TYPE
410
+ ) {
411
+ return deserialize(V1_externalFormatConnectionModelSchema, json);
412
+ }
413
+ return undefined;
414
+ },
415
+ ];
416
+ }
417
+ }