@finos/legend-graph 0.0.4 → 0.1.1

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 (217) hide show
  1. package/CHANGELOG.md +19 -1
  2. package/lib/DSLMapping_Exports.d.ts +4 -1
  3. package/lib/DSLMapping_Exports.d.ts.map +1 -1
  4. package/lib/DSLMapping_Exports.js +2 -1
  5. package/lib/DSLMapping_Exports.js.map +1 -1
  6. package/lib/MetaModelUtils.js +1 -1
  7. package/lib/MetaModelUtils.js.map +1 -1
  8. package/lib/graphManager/AbstractPureGraphManager.d.ts +8 -2
  9. package/lib/graphManager/AbstractPureGraphManager.d.ts.map +1 -1
  10. package/lib/graphManager/AbstractPureGraphManager.js.map +1 -1
  11. package/lib/graphManager/action/execution/ExecutionResult.d.ts +2 -2
  12. package/lib/graphManager/action/execution/ExecutionResult.d.ts.map +1 -1
  13. package/lib/graphManager/action/execution/ExecutionResult.js +2 -4
  14. package/lib/graphManager/action/execution/ExecutionResult.js.map +1 -1
  15. package/lib/graphManager/action/execution/ExecutionResultHelper.d.ts +18 -0
  16. package/lib/graphManager/action/execution/ExecutionResultHelper.d.ts.map +1 -0
  17. package/lib/graphManager/action/execution/ExecutionResultHelper.js +36 -0
  18. package/lib/graphManager/action/execution/ExecutionResultHelper.js.map +1 -0
  19. package/lib/helpers/MappingHelper.d.ts +4 -0
  20. package/lib/helpers/MappingHelper.d.ts.map +1 -1
  21. package/lib/helpers/MappingHelper.js +15 -3
  22. package/lib/helpers/MappingHelper.js.map +1 -1
  23. package/lib/helpers/MappingResolutionHelper.d.ts +7 -1
  24. package/lib/helpers/MappingResolutionHelper.d.ts.map +1 -1
  25. package/lib/helpers/MappingResolutionHelper.js +11 -5
  26. package/lib/helpers/MappingResolutionHelper.js.map +1 -1
  27. package/lib/index.d.ts +6 -0
  28. package/lib/index.d.ts.map +1 -1
  29. package/lib/index.js +6 -0
  30. package/lib/index.js.map +1 -1
  31. package/lib/models/metamodels/pure/packageableElements/connection/Connection.d.ts +1 -0
  32. package/lib/models/metamodels/pure/packageableElements/connection/Connection.d.ts.map +1 -1
  33. package/lib/models/metamodels/pure/packageableElements/connection/Connection.js.map +1 -1
  34. package/lib/models/metamodels/pure/packageableElements/domain/Multiplicity.d.ts +2 -0
  35. package/lib/models/metamodels/pure/packageableElements/domain/Multiplicity.d.ts.map +1 -1
  36. package/lib/models/metamodels/pure/packageableElements/domain/Multiplicity.js +9 -1
  37. package/lib/models/metamodels/pure/packageableElements/domain/Multiplicity.js.map +1 -1
  38. package/lib/models/metamodels/pure/packageableElements/mapping/Mapping.d.ts +2 -2
  39. package/lib/models/metamodels/pure/packageableElements/mapping/Mapping.d.ts.map +1 -1
  40. package/lib/models/metamodels/pure/packageableElements/mapping/Mapping.js +4 -6
  41. package/lib/models/metamodels/pure/packageableElements/mapping/Mapping.js.map +1 -1
  42. package/lib/models/metamodels/pure/packageableElements/mapping/PropertyMappingsImplementation.d.ts +1 -0
  43. package/lib/models/metamodels/pure/packageableElements/mapping/PropertyMappingsImplementation.d.ts.map +1 -1
  44. package/lib/models/metamodels/pure/packageableElements/service/Service.d.ts +4 -0
  45. package/lib/models/metamodels/pure/packageableElements/service/Service.d.ts.map +1 -1
  46. package/lib/models/metamodels/pure/packageableElements/service/Service.js +4 -0
  47. package/lib/models/metamodels/pure/packageableElements/service/Service.js.map +1 -1
  48. package/lib/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PureInstanceSetImplementation.d.ts +1 -0
  49. package/lib/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PureInstanceSetImplementation.d.ts.map +1 -1
  50. package/lib/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PureInstanceSetImplementation.js +4 -0
  51. package/lib/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PureInstanceSetImplementation.js.map +1 -1
  52. package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/RootRelationalInstanceSetImplementation.d.ts +2 -1
  53. package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/RootRelationalInstanceSetImplementation.d.ts.map +1 -1
  54. package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/RootRelationalInstanceSetImplementation.js +4 -1
  55. package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/RootRelationalInstanceSetImplementation.js.map +1 -1
  56. package/lib/models/metamodels/pure/valueSpecification/ValueSpecification.d.ts +1 -0
  57. package/lib/models/metamodels/pure/valueSpecification/ValueSpecification.d.ts.map +1 -1
  58. package/lib/models/metamodels/pure/valueSpecification/ValueSpecification.js +8 -0
  59. package/lib/models/metamodels/pure/valueSpecification/ValueSpecification.js.map +1 -1
  60. package/lib/models/metamodels/pure/valueSpecification/VariableExpression.d.ts +3 -1
  61. package/lib/models/metamodels/pure/valueSpecification/VariableExpression.d.ts.map +1 -1
  62. package/lib/models/metamodels/pure/valueSpecification/VariableExpression.js +11 -1
  63. package/lib/models/metamodels/pure/valueSpecification/VariableExpression.js.map +1 -1
  64. package/lib/models/protocols/pure/DSLMapping_PureProtocolProcessorPlugin_Extension.d.ts +34 -0
  65. package/lib/models/protocols/pure/DSLMapping_PureProtocolProcessorPlugin_Extension.d.ts.map +1 -0
  66. package/lib/models/protocols/pure/DSLMapping_PureProtocolProcessorPlugin_Extension.js +19 -0
  67. package/lib/models/protocols/pure/DSLMapping_PureProtocolProcessorPlugin_Extension.js.map +1 -0
  68. package/lib/models/protocols/pure/v1/V1_PureGraphManager.d.ts +8 -2
  69. package/lib/models/protocols/pure/v1/V1_PureGraphManager.d.ts.map +1 -1
  70. package/lib/models/protocols/pure/v1/V1_PureGraphManager.js +16 -9
  71. package/lib/models/protocols/pure/v1/V1_PureGraphManager.js.map +1 -1
  72. package/lib/models/protocols/pure/v1/engine/V1_Engine.d.ts +6 -1
  73. package/lib/models/protocols/pure/v1/engine/V1_Engine.d.ts.map +1 -1
  74. package/lib/models/protocols/pure/v1/engine/V1_Engine.js +4 -3
  75. package/lib/models/protocols/pure/v1/engine/V1_Engine.js.map +1 -1
  76. package/lib/models/protocols/pure/v1/engine/V1_EngineServerClient.d.ts +6 -1
  77. package/lib/models/protocols/pure/v1/engine/V1_EngineServerClient.d.ts.map +1 -1
  78. package/lib/models/protocols/pure/v1/engine/V1_EngineServerClient.js +5 -4
  79. package/lib/models/protocols/pure/v1/engine/V1_EngineServerClient.js.map +1 -1
  80. package/lib/models/protocols/pure/v1/engine/V1_ExecutionHelper.d.ts.map +1 -1
  81. package/lib/models/protocols/pure/v1/engine/V1_ExecutionHelper.js +1 -2
  82. package/lib/models/protocols/pure/v1/engine/V1_ExecutionHelper.js.map +1 -1
  83. package/lib/models/protocols/pure/v1/engine/generation/V1_DatabaseBuilderInput.d.ts +2 -1
  84. package/lib/models/protocols/pure/v1/engine/generation/V1_DatabaseBuilderInput.d.ts.map +1 -1
  85. package/lib/models/protocols/pure/v1/engine/generation/V1_DatabaseBuilderInput.js +6 -4
  86. package/lib/models/protocols/pure/v1/engine/generation/V1_DatabaseBuilderInput.js.map +1 -1
  87. package/lib/models/protocols/pure/v1/model/context/V1_AlloySdlc.d.ts +3 -2
  88. package/lib/models/protocols/pure/v1/model/context/V1_AlloySdlc.d.ts.map +1 -1
  89. package/lib/models/protocols/pure/v1/model/context/V1_AlloySdlc.js +5 -3
  90. package/lib/models/protocols/pure/v1/model/context/V1_AlloySdlc.js.map +1 -1
  91. package/lib/models/protocols/pure/v1/model/packageableElements/connection/V1_Connection.d.ts +1 -0
  92. package/lib/models/protocols/pure/v1/model/packageableElements/connection/V1_Connection.d.ts.map +1 -1
  93. package/lib/models/protocols/pure/v1/model/packageableElements/connection/V1_Connection.js.map +1 -1
  94. package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_ClassMapping.d.ts +1 -0
  95. package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_ClassMapping.d.ts.map +1 -1
  96. package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_ClassMapping.js +1 -0
  97. package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_ClassMapping.js.map +1 -1
  98. package/lib/models/protocols/pure/v1/model/packageableElements/service/V1_Service.d.ts +4 -0
  99. package/lib/models/protocols/pure/v1/model/packageableElements/service/V1_Service.d.ts.map +1 -1
  100. package/lib/models/protocols/pure/v1/model/packageableElements/service/V1_Service.js +4 -0
  101. package/lib/models/protocols/pure/v1/model/packageableElements/service/V1_Service.js.map +1 -1
  102. package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/mapping/V1_RootRelationalClassMapping.d.ts.map +1 -1
  103. package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/mapping/V1_RootRelationalClassMapping.js +1 -0
  104. package/lib/models/protocols/pure/v1/model/packageableElements/store/relational/mapping/V1_RootRelationalClassMapping.js.map +1 -1
  105. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_ConnectionTransformer.d.ts.map +1 -1
  106. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_ConnectionTransformer.js +10 -0
  107. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_ConnectionTransformer.js.map +1 -1
  108. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_DomainTransformer.d.ts +6 -0
  109. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_DomainTransformer.d.ts.map +1 -1
  110. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_DomainTransformer.js +16 -16
  111. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_DomainTransformer.js.map +1 -1
  112. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.d.ts.map +1 -1
  113. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.js +4 -1
  114. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.js.map +1 -1
  115. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_ServiceTransformer.d.ts.map +1 -1
  116. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_ServiceTransformer.js +3 -0
  117. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_ServiceTransformer.js.map +1 -1
  118. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_ValueSpecificationTransformer.d.ts +6 -33
  119. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_ValueSpecificationTransformer.d.ts.map +1 -1
  120. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_ValueSpecificationTransformer.js +22 -5
  121. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_ValueSpecificationTransformer.js.map +1 -1
  122. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingSecondPassBuilder.d.ts.map +1 -1
  123. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingSecondPassBuilder.js +17 -12
  124. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingSecondPassBuilder.js.map +1 -1
  125. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelConnectionBuilder.d.ts +2 -1
  126. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelConnectionBuilder.d.ts.map +1 -1
  127. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelConnectionBuilder.js +12 -1
  128. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelConnectionBuilder.js.map +1 -1
  129. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphSecondPassBuilder.d.ts.map +1 -1
  130. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphSecondPassBuilder.js +6 -0
  131. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphSecondPassBuilder.js.map +1 -1
  132. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_MappingBuilderHelper.d.ts.map +1 -1
  133. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_MappingBuilderHelper.js +5 -2
  134. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_MappingBuilderHelper.js.map +1 -1
  135. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RelationalClassMappingBuilderHelper.d.ts.map +1 -1
  136. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RelationalClassMappingBuilderHelper.js +4 -2
  137. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RelationalClassMappingBuilderHelper.js.map +1 -1
  138. package/lib/models/protocols/pure/v1/transformation/pureProtocol/V1_PackageableElementSerialization.d.ts +1 -0
  139. package/lib/models/protocols/pure/v1/transformation/pureProtocol/V1_PackageableElementSerialization.d.ts.map +1 -1
  140. package/lib/models/protocols/pure/v1/transformation/pureProtocol/V1_PackageableElementSerialization.js +4 -2
  141. package/lib/models/protocols/pure/v1/transformation/pureProtocol/V1_PackageableElementSerialization.js.map +1 -1
  142. package/lib/models/protocols/pure/v1/transformation/pureProtocol/V1_PureProtocolSerialization.d.ts.map +1 -1
  143. package/lib/models/protocols/pure/v1/transformation/pureProtocol/V1_PureProtocolSerialization.js +4 -3
  144. package/lib/models/protocols/pure/v1/transformation/pureProtocol/V1_PureProtocolSerialization.js.map +1 -1
  145. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ConnectionSerializationHelper.d.ts +9 -8
  146. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ConnectionSerializationHelper.d.ts.map +1 -1
  147. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ConnectionSerializationHelper.js +20 -5
  148. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ConnectionSerializationHelper.js.map +1 -1
  149. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_CoreSerializationHelper.d.ts +1 -1
  150. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_CoreSerializationHelper.d.ts.map +1 -1
  151. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_CoreSerializationHelper.js +1 -1
  152. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_CoreSerializationHelper.js.map +1 -1
  153. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_GenerationSpecificationSerializationHelper.js +2 -2
  154. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_GenerationSpecificationSerializationHelper.js.map +1 -1
  155. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_MappingSerializationHelper.d.ts.map +1 -1
  156. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_MappingSerializationHelper.js +4 -2
  157. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_MappingSerializationHelper.js.map +1 -1
  158. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_RuntimeSerializationHelper.d.ts +4 -5
  159. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_RuntimeSerializationHelper.d.ts.map +1 -1
  160. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_RuntimeSerializationHelper.js +26 -22
  161. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_RuntimeSerializationHelper.js.map +1 -1
  162. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ServiceSerializationHelper.d.ts.map +1 -1
  163. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ServiceSerializationHelper.js +8 -5
  164. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ServiceSerializationHelper.js.map +1 -1
  165. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ValueSpecificationSerializer.d.ts.map +1 -1
  166. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ValueSpecificationSerializer.js +3 -2
  167. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ValueSpecificationSerializer.js.map +1 -1
  168. package/package.json +6 -6
  169. package/src/DSLMapping_Exports.ts +4 -1
  170. package/src/MetaModelUtils.ts +1 -1
  171. package/src/graphManager/AbstractPureGraphManager.ts +9 -6
  172. package/src/graphManager/action/execution/ExecutionResult.ts +2 -4
  173. package/src/graphManager/action/execution/ExecutionResultHelper.ts +45 -0
  174. package/src/helpers/MappingHelper.ts +43 -3
  175. package/src/helpers/MappingResolutionHelper.ts +14 -5
  176. package/src/index.ts +12 -0
  177. package/src/models/metamodels/pure/packageableElements/connection/Connection.ts +1 -0
  178. package/src/models/metamodels/pure/packageableElements/domain/Multiplicity.ts +11 -1
  179. package/src/models/metamodels/pure/packageableElements/mapping/Mapping.ts +4 -6
  180. package/src/models/metamodels/pure/packageableElements/mapping/PropertyMappingsImplementation.ts +1 -0
  181. package/src/models/metamodels/pure/packageableElements/service/Service.ts +8 -0
  182. package/src/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PureInstanceSetImplementation.ts +4 -0
  183. package/src/models/metamodels/pure/packageableElements/store/relational/mapping/RootRelationalInstanceSetImplementation.ts +5 -2
  184. package/src/models/metamodels/pure/valueSpecification/ValueSpecification.ts +9 -0
  185. package/src/models/metamodels/pure/valueSpecification/VariableExpression.ts +17 -1
  186. package/src/models/protocols/pure/DSLMapping_PureProtocolProcessorPlugin_Extension.ts +53 -0
  187. package/src/models/protocols/pure/v1/V1_PureGraphManager.ts +32 -21
  188. package/src/models/protocols/pure/v1/engine/V1_Engine.ts +11 -13
  189. package/src/models/protocols/pure/v1/engine/V1_EngineServerClient.ts +10 -8
  190. package/src/models/protocols/pure/v1/engine/V1_ExecutionHelper.ts +1 -5
  191. package/src/models/protocols/pure/v1/engine/generation/V1_DatabaseBuilderInput.ts +14 -11
  192. package/src/models/protocols/pure/v1/model/context/V1_AlloySdlc.ts +9 -3
  193. package/src/models/protocols/pure/v1/model/packageableElements/connection/V1_Connection.ts +1 -0
  194. package/src/models/protocols/pure/v1/model/packageableElements/mapping/V1_ClassMapping.ts +1 -0
  195. package/src/models/protocols/pure/v1/model/packageableElements/service/V1_Service.ts +6 -0
  196. package/src/models/protocols/pure/v1/model/packageableElements/store/relational/mapping/V1_RootRelationalClassMapping.ts +1 -0
  197. package/src/models/protocols/pure/v1/transformation/pureGraph/from/V1_ConnectionTransformer.ts +20 -0
  198. package/src/models/protocols/pure/v1/transformation/pureGraph/from/V1_DomainTransformer.ts +20 -16
  199. package/src/models/protocols/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.ts +6 -3
  200. package/src/models/protocols/pure/v1/transformation/pureGraph/from/V1_ServiceTransformer.ts +6 -0
  201. package/src/models/protocols/pure/v1/transformation/pureGraph/from/V1_ValueSpecificationTransformer.ts +34 -10
  202. package/src/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingSecondPassBuilder.ts +21 -12
  203. package/src/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelConnectionBuilder.ts +26 -1
  204. package/src/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphSecondPassBuilder.ts +6 -0
  205. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_MappingBuilderHelper.ts +7 -2
  206. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RelationalClassMappingBuilderHelper.ts +4 -2
  207. package/src/models/protocols/pure/v1/transformation/pureProtocol/V1_PackageableElementSerialization.ts +7 -2
  208. package/src/models/protocols/pure/v1/transformation/pureProtocol/V1_PureProtocolSerialization.ts +4 -3
  209. package/src/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ConnectionSerializationHelper.ts +37 -8
  210. package/src/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_CoreSerializationHelper.ts +5 -3
  211. package/src/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_GenerationSpecificationSerializationHelper.ts +2 -2
  212. package/src/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_MappingSerializationHelper.ts +4 -2
  213. package/src/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_RuntimeSerializationHelper.ts +42 -38
  214. package/src/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ServiceSerializationHelper.ts +37 -6
  215. package/src/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ValueSpecificationSerializer.ts +3 -5
  216. package/tsconfig.json +2 -0
  217. package/tsconfig.package.json +40 -0
@@ -0,0 +1,45 @@
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 { UnsupportedOperationError } from '@finos/legend-shared';
18
+ import type { ExecutionResult } from './ExecutionResult';
19
+ import {
20
+ JsonExecutionResult,
21
+ TdsExecutionResult,
22
+ ClassExecutionResult,
23
+ INTERNAL__UnknownExecutionResult,
24
+ } from './ExecutionResult';
25
+
26
+ // Execution Results often wrap the result values with additional metadata.
27
+ // This method extracts the actual values from the execution result
28
+ export const extractExecutionResultValues = (
29
+ executionResult: ExecutionResult,
30
+ ): object => {
31
+ if (executionResult instanceof JsonExecutionResult) {
32
+ return executionResult.values;
33
+ } else if (executionResult instanceof TdsExecutionResult) {
34
+ // Note we need the result values in object format to run test results
35
+ return executionResult.result.rows.map((v) => ({ values: v.values }));
36
+ } else if (executionResult instanceof ClassExecutionResult) {
37
+ return executionResult.objects;
38
+ } else if (executionResult instanceof INTERNAL__UnknownExecutionResult) {
39
+ return executionResult.content;
40
+ }
41
+ throw new UnsupportedOperationError(
42
+ `Can't extract values from execution result`,
43
+ executionResult,
44
+ );
45
+ };
@@ -14,7 +14,7 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- import { guaranteeNonNullable } from '@finos/legend-shared';
17
+ import { guaranteeNonNullable, uniq } from '@finos/legend-shared';
18
18
  import type { EnumerationMapping } from '../models/metamodels/pure/packageableElements/mapping/EnumerationMapping';
19
19
  import type { SetImplementation } from '../models/metamodels/pure/packageableElements/mapping/SetImplementation';
20
20
  import type { Class } from '../models/metamodels/pure/packageableElements/domain/Class';
@@ -22,6 +22,24 @@ import type { Enumeration } from '../models/metamodels/pure/packageableElements/
22
22
  import type { Mapping } from '../models/metamodels/pure/packageableElements/mapping/Mapping';
23
23
  import { AggregationAwareSetImplementation } from '../models/metamodels/pure/packageableElements/mapping/aggregationAware/AggregationAwareSetImplementation';
24
24
 
25
+ export const getAllClassMappings = (mapping: Mapping): SetImplementation[] =>
26
+ uniq(
27
+ mapping.allOwnClassMappings.concat(
28
+ mapping.allIncludedMappings.map((e) => e.allOwnClassMappings).flat(),
29
+ ),
30
+ );
31
+
32
+ export const getAllEnumerationMappings = (
33
+ mapping: Mapping,
34
+ ): EnumerationMapping[] =>
35
+ uniq(
36
+ mapping.allOwnEnumerationMappings.concat(
37
+ mapping.allIncludedMappings
38
+ .map((e) => e.allOwnEnumerationMappings)
39
+ .flat(),
40
+ ),
41
+ );
42
+
25
43
  export const extractClassMappingsFromAggregationAwareClassMappings = (
26
44
  mapping: Mapping,
27
45
  ): SetImplementation[] => {
@@ -45,25 +63,47 @@ export const extractClassMappingsFromAggregationAwareClassMappings = (
45
63
  ];
46
64
  };
47
65
 
66
+ export const getOwnClassMappingById = (
67
+ mapping: Mapping,
68
+ id: string,
69
+ ): SetImplementation =>
70
+ guaranteeNonNullable(
71
+ [
72
+ ...mapping.allOwnClassMappings,
73
+ ...extractClassMappingsFromAggregationAwareClassMappings(mapping),
74
+ ].find((classMapping) => classMapping.id.value === id),
75
+ `Can't find class mapping with ID '${id}' in mapping '${mapping.path}'`,
76
+ );
77
+
48
78
  export const getClassMappingById = (
49
79
  mapping: Mapping,
50
80
  id: string,
51
81
  ): SetImplementation =>
52
82
  guaranteeNonNullable(
53
83
  [
54
- ...mapping.allClassMappings,
84
+ ...getAllClassMappings(mapping),
55
85
  ...extractClassMappingsFromAggregationAwareClassMappings(mapping),
56
86
  ].find((classMapping) => classMapping.id.value === id),
57
87
  `Can't find class mapping with ID '${id}' in mapping '${mapping.path}'`,
58
88
  );
59
89
 
90
+ export const getOwnClassMappingsByClass = (
91
+ mapping: Mapping,
92
+ _class: Class,
93
+ ): SetImplementation[] =>
94
+ // TODO: Add association property Mapping to class mappings, AggregationAwareSetImplementation, mappingClass
95
+ // NOTE: Add in the proper order so find root can resolve properly down the line
96
+ mapping.allOwnClassMappings.filter(
97
+ (classMapping) => classMapping.class.value === _class,
98
+ );
99
+
60
100
  export const getClassMappingsByClass = (
61
101
  mapping: Mapping,
62
102
  _class: Class,
63
103
  ): SetImplementation[] =>
64
104
  // TODO: Add association property Mapping to class mappings, AggregationAwareSetImplementation, mappingClass
65
105
  // NOTE: Add in the proper order so find root can resolve properly down the line
66
- mapping.allClassMappings.filter(
106
+ getAllClassMappings(mapping).filter(
67
107
  (classMapping) => classMapping.class.value === _class,
68
108
  );
69
109
 
@@ -22,17 +22,22 @@ import type { PropertyMapping } from '../models/metamodels/pure/packageableEleme
22
22
  import type { Property } from '../models/metamodels/pure/packageableElements/domain/Property';
23
23
  import type { Mapping } from '../models/metamodels/pure/packageableElements/mapping/Mapping';
24
24
  import type { Class } from '../models/metamodels/pure/packageableElements/domain/Class';
25
- import { getClassMappingsByClass } from './MappingHelper';
25
+ import {
26
+ getClassMappingsByClass,
27
+ getOwnClassMappingsByClass,
28
+ } from './MappingHelper';
26
29
 
27
30
  /**
28
31
  * If this is the only mapping element for the target class, automatically mark it as root,
29
32
  * otherwise, if there is another set implementation make it non-root,
30
- * otherwise, leave other set implementation root status as-is
33
+ * otherwise, leave other set implementation root status as-is.
34
+ * NOTE: use get `OWN` class mappings as we are smartly updating the current mapping in the form editor,
35
+ * which does not support `include` mappings as of now.
31
36
  */
32
37
  export const updateRootSetImplementationOnCreate = (
33
38
  setImp: SetImplementation,
34
39
  ): void => {
35
- const classMappingsWithSimilarTarget = getClassMappingsByClass(
40
+ const classMappingsWithSimilarTarget = getOwnClassMappingsByClass(
36
41
  setImp.parent,
37
42
  setImp.class.value,
38
43
  ).filter((si) => si !== setImp);
@@ -48,11 +53,13 @@ export const updateRootSetImplementationOnCreate = (
48
53
 
49
54
  /**
50
55
  * If only one set implementation remained, it will be nominated as the new root
56
+ * NOTE: use get `OWN` class mappings as we are smartly updating the current mapping in the form editor,
57
+ * which does not support `include` mappings as of now.
51
58
  */
52
59
  export const updateRootSetImplementationOnDelete = (
53
60
  setImp: SetImplementation,
54
61
  ): void => {
55
- const classMappingsWithSimilarTarget = getClassMappingsByClass(
62
+ const classMappingsWithSimilarTarget = getOwnClassMappingsByClass(
56
63
  setImp.parent,
57
64
  setImp.class.value,
58
65
  ).filter((si) => si !== setImp);
@@ -64,11 +71,13 @@ export const updateRootSetImplementationOnDelete = (
64
71
  /**
65
72
  * Make the nominated set implementation root and flip the root flag of all other
66
73
  * set implementations with the same target
74
+ * NOTE: use get `OWN` class mappings as we are smartly updating the current mapping in the form editor,
75
+ * which does not support `include` mappings as of now.
67
76
  */
68
77
  export const nominateRootSetImplementation = (
69
78
  setImp: SetImplementation,
70
79
  ): void => {
71
- const classMappingsWithSimilarTarget = getClassMappingsByClass(
80
+ const classMappingsWithSimilarTarget = getOwnClassMappingsByClass(
72
81
  setImp.parent,
73
82
  setImp.class.value,
74
83
  );
package/src/index.ts CHANGED
@@ -65,10 +65,15 @@ export {
65
65
  StereotypeReference,
66
66
  StereotypeExplicitReference,
67
67
  } from './models/metamodels/pure/packageableElements/domain/StereotypeReference';
68
+ export {
69
+ TagReference,
70
+ TagExplicitReference,
71
+ } from './models/metamodels/pure/packageableElements/domain/TagReference';
68
72
 
69
73
  // V1 protocols
70
74
  export * from './models/protocols/pure/v1/model/packageableElements/V1_PackageableElement';
71
75
  export { V1_StereotypePtr } from './models/protocols/pure/v1/model/packageableElements/domain/V1_StereotypePtr';
76
+ export { V1_TaggedValue } from './models/protocols/pure/v1/model/packageableElements/domain/V1_TaggedValue';
72
77
  export { V1_PropertyPointer } from './models/protocols/pure/v1/model/packageableElements/domain/V1_PropertyPointer';
73
78
 
74
79
  // --------------------------------------------- VALUE SPECIFICATION --------------------------------------------------
@@ -169,6 +174,7 @@ export {
169
174
  ExecutionResult,
170
175
  TdsExecutionResult,
171
176
  } from './graphManager/action/execution/ExecutionResult';
177
+ export * from './graphManager/action/execution/ExecutionResultHelper';
172
178
  export * from './graphManager/PureGraphManagerPlugin';
173
179
  export * from './graphManager/action/query/Query';
174
180
  export * from './graphManager/action/EngineError';
@@ -186,6 +192,11 @@ export { getGraphManager } from './models/protocols/pure/Pure';
186
192
  export * from './models/protocols/pure/PureProtocolProcessorPlugin';
187
193
 
188
194
  // V1 transformation
195
+ export {
196
+ V1_transformStereotype,
197
+ V1_transformTaggedValue,
198
+ } from './models/protocols/pure/v1/transformation/pureGraph/from/V1_DomainTransformer';
199
+ export { V1_buildTaggedValue } from './models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DomainBuilderHelper';
189
200
  export { V1_PureModelContextData } from './models/protocols/pure/v1/model/context/V1_PureModelContextData';
190
201
  export * from './models/protocols/pure/v1/transformation/pureGraph/to/V1_GraphBuilderContext';
191
202
  export * from './models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementBuilder';
@@ -212,6 +223,7 @@ export {
212
223
  V1_propertyPointerModelSchema,
213
224
  V1_stereotypePtrSchema,
214
225
  } from './models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DomainSerializationHelper';
226
+ export { V1_taggedValueSchema } from './models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DomainSerializationHelper';
215
227
  export { V1_serializeValueSpecification } from './models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ValueSpecificationSerializer';
216
228
  export { V1_deserializeRawValueSpecification } from './models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_RawValueSpecificationSerializationHelper';
217
229
  export { V1_serializeRawValueSpecification } from './models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_RawValueSpecificationSerializationHelper';
@@ -28,6 +28,7 @@ import type { PackageableElementReference } from '../PackageableElementReference
28
28
  import type { ModelChainConnection } from '../store/modelToModel/connection/ModelChainConnection';
29
29
 
30
30
  export interface ConnectionVisitor<T> {
31
+ visit_Connection(connection: Connection): T;
31
32
  visit_ConnectionPointer(connection: ConnectionPointer): T;
32
33
  visit_ModelChainConnection(connection: ModelChainConnection): T;
33
34
  visit_JsonModelConnection(connection: JsonModelConnection): T;
@@ -14,7 +14,7 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- import { observable, computed, makeObservable } from 'mobx';
17
+ import { observable, computed, makeObservable, action } from 'mobx';
18
18
  import { hashArray } from '@finos/legend-shared';
19
19
  import {
20
20
  CORE_HASH_STRUCTURE,
@@ -32,12 +32,22 @@ export class Multiplicity implements Hashable {
32
32
  upperBound: observable,
33
33
  str: computed,
34
34
  hashCode: computed,
35
+ setLowerBound: action,
36
+ setUpperBound: action,
35
37
  });
36
38
 
37
39
  this.lowerBound = lowerBound;
38
40
  this.upperBound = upperBound;
39
41
  }
40
42
 
43
+ setLowerBound(val: number): void {
44
+ this.lowerBound = val;
45
+ }
46
+
47
+ setUpperBound(val: number | undefined): void {
48
+ this.upperBound = val;
49
+ }
50
+
41
51
  get str(): string {
42
52
  if (this.lowerBound === this.upperBound) {
43
53
  return this.lowerBound.toString();
@@ -52,8 +52,8 @@ export class Mapping extends PackageableElement implements Hashable, Stubable {
52
52
  deleteAssociationMapping: action,
53
53
  deleteTest: action,
54
54
  addTest: action,
55
- allClassMappings: computed,
56
- allEnumerationMappings: computed,
55
+ allOwnClassMappings: computed,
56
+ allOwnEnumerationMappings: computed,
57
57
  allIncludedMappings: computed,
58
58
  isStub: computed,
59
59
  _elementHashCode: override,
@@ -92,13 +92,11 @@ export class Mapping extends PackageableElement implements Hashable, Stubable {
92
92
  addUniqueEntry(this.tests, val);
93
93
  }
94
94
 
95
- // TODO: account for mapping includes
96
- get allClassMappings(): SetImplementation[] {
95
+ get allOwnClassMappings(): SetImplementation[] {
97
96
  return this.classMappings;
98
97
  }
99
98
 
100
- // TODO: account for mapping includes
101
- get allEnumerationMappings(): EnumerationMapping[] {
99
+ get allOwnEnumerationMappings(): EnumerationMapping[] {
102
100
  return this.enumerationMappings;
103
101
  }
104
102
 
@@ -20,4 +20,5 @@ import type { PropertyMapping } from './PropertyMapping';
20
20
  export interface PropertyMappingsImplementation
21
21
  extends PropertyOwnerImplementation {
22
22
  propertyMappings: PropertyMapping[];
23
+ superSetImplementationId?: string | undefined;
23
24
  }
@@ -23,10 +23,14 @@ import type { ServiceTest } from './ServiceTest';
23
23
  import { SingleExecutionTest } from './ServiceTest';
24
24
  import type { PackageableElementVisitor } from '../PackageableElement';
25
25
  import { PackageableElement } from '../PackageableElement';
26
+ import type { StereotypeReference } from '../domain/StereotypeReference';
27
+ import type { TaggedValue } from '../domain/TaggedValue';
26
28
 
27
29
  export const DEFAULT_SERVICE_PATTERN = '/';
28
30
 
29
31
  export class Service extends PackageableElement implements Hashable {
32
+ stereotypes: StereotypeReference[] = [];
33
+ taggedValues: TaggedValue[] = [];
30
34
  pattern = '/';
31
35
  owners: string[] = [];
32
36
  documentation = '';
@@ -118,6 +122,10 @@ export class Service extends PackageableElement implements Hashable {
118
122
  protected override get _elementHashCode(): string {
119
123
  return hashArray([
120
124
  CORE_HASH_STRUCTURE.SERVICE,
125
+ hashArray(
126
+ this.stereotypes.map((stereotype) => stereotype.pointerHashCode),
127
+ ),
128
+ hashArray(this.taggedValues),
121
129
  this.path,
122
130
  this.pattern,
123
131
  hashArray(this.owners),
@@ -54,6 +54,7 @@ export class PureInstanceSetImplementation
54
54
  filter: observable,
55
55
  setPropertyMappings: action,
56
56
  setSrcClass: action,
57
+ setMappingFilter: action,
57
58
  isStub: computed,
58
59
  hashCode: computed,
59
60
  });
@@ -67,6 +68,9 @@ export class PureInstanceSetImplementation
67
68
  setSrcClass(value: Class | undefined): void {
68
69
  this.srcClass.setValue(value);
69
70
  }
71
+ setMappingFilter(value: RawLambda | undefined): void {
72
+ this.filter = value;
73
+ }
70
74
 
71
75
  findPropertyMapping(
72
76
  propertyName: string,
@@ -42,7 +42,8 @@ export class RootRelationalInstanceSetImplementation
42
42
  filter?: FilterMapping | undefined;
43
43
  distinct?: boolean | undefined;
44
44
  groupBy?: GroupByMapping | undefined;
45
- mainTableAlias!: TableAlias;
45
+ mainTableAlias?: TableAlias;
46
+ superSetImplementationId?: string | undefined;
46
47
 
47
48
  constructor(
48
49
  id: InferableMappingElementIdValue,
@@ -58,6 +59,7 @@ export class RootRelationalInstanceSetImplementation
58
59
  distinct: observable,
59
60
  groupBy: observable,
60
61
  mainTableAlias: observable,
62
+ superSetImplementationId: observable,
61
63
  setPropertyMappings: action,
62
64
  hashCode: computed,
63
65
  });
@@ -77,10 +79,11 @@ export class RootRelationalInstanceSetImplementation
77
79
  return hashArray([
78
80
  CORE_HASH_STRUCTURE.ROOT_RELATIONAL_INSTANCE_SET_IMPLEMENTATION,
79
81
  super.hashCode,
80
- this.mainTableAlias.relation.pointerHashCode,
82
+ this.mainTableAlias?.relation.pointerHashCode ?? '',
81
83
  this.distinct?.toString() ?? '',
82
84
  hashArray(this.groupBy?.columns ?? []),
83
85
  this.filter ?? '',
86
+ this.superSetImplementationId ?? '',
84
87
  ]);
85
88
  }
86
89
  }
@@ -39,6 +39,7 @@ import type {
39
39
  } from './SimpleFunctionExpression';
40
40
  import type { INTERNAL__UnknownValueSpecification } from './INTERNAL__UnknownValueSpecification';
41
41
  import type { VariableExpression } from './VariableExpression';
42
+ import { makeObservable, observable, action } from 'mobx';
42
43
 
43
44
  export interface ValueSpecificationVisitor<T> {
44
45
  visit_RootGraphFetchTreeInstanceValue(
@@ -83,10 +84,18 @@ export abstract class ValueSpecification {
83
84
  multiplicity: Multiplicity,
84
85
  genericTypeReference?: GenericTypeReference,
85
86
  ) {
87
+ makeObservable<ValueSpecification>(this, {
88
+ multiplicity: observable,
89
+ setMultiplicity: action,
90
+ });
86
91
  this.multiplicity = multiplicity;
87
92
  this.genericType = genericTypeReference;
88
93
  }
89
94
 
95
+ setMultiplicity(val: Multiplicity): void {
96
+ this.multiplicity = val;
97
+ }
98
+
90
99
  abstract accept_ValueSpecificationVisitor<T>(
91
100
  visitor: ValueSpecificationVisitor<T>,
92
101
  ): T;
@@ -14,6 +14,8 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
+ import { makeObservable, observable, action } from 'mobx';
18
+ import type { GenericTypeReference } from '../packageableElements/domain/GenericTypeReference';
17
19
  import type { Multiplicity } from '../packageableElements/domain/Multiplicity';
18
20
  import type { ValueSpecificationVisitor } from './ValueSpecification';
19
21
  import { ValueSpecification } from './ValueSpecification';
@@ -21,9 +23,23 @@ import { ValueSpecification } from './ValueSpecification';
21
23
  export class VariableExpression extends ValueSpecification {
22
24
  name: string;
23
25
 
24
- constructor(name: string, multiplicity: Multiplicity) {
26
+ constructor(
27
+ name: string,
28
+ multiplicity: Multiplicity,
29
+ genericType?: GenericTypeReference | undefined,
30
+ ) {
25
31
  super(multiplicity);
32
+ makeObservable<VariableExpression>(this, {
33
+ name: observable,
34
+ genericType: observable,
35
+ setName: action,
36
+ });
26
37
  this.name = name;
38
+ this.genericType = genericType;
39
+ }
40
+
41
+ setName(val: string): void {
42
+ this.name = val;
27
43
  }
28
44
 
29
45
  accept_ValueSpecificationVisitor<T>(
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ import type { PlainObject } from '@finos/legend-shared';
18
+ import type { Connection } from '../../metamodels/pure/packageableElements/connection/Connection';
19
+ import { PureProtocolProcessorPlugin } from './PureProtocolProcessorPlugin';
20
+ import type { V1_Connection } from '../pure/v1/model/packageableElements/connection/V1_Connection';
21
+ import type { V1_GraphTransformerContext } from './v1/transformation/pureGraph/from/V1_GraphTransformerContext';
22
+ import type { V1_GraphBuilderContext } from './v1/transformation/pureGraph/to/V1_GraphBuilderContext';
23
+ import type { Store } from '../../metamodels/pure/packageableElements/store/Store';
24
+ import type { PackageableElementReference } from '../../metamodels/pure/packageableElements/PackageableElementReference';
25
+
26
+ export type V1_ConnectionBuilder = (
27
+ connection: V1_Connection,
28
+ context: V1_GraphBuilderContext,
29
+ store?: PackageableElementReference<Store> | undefined,
30
+ ) => Connection | undefined;
31
+
32
+ export type V1_ConnectionTransformer = (
33
+ metamodel: Connection,
34
+ context: V1_GraphTransformerContext,
35
+ ) => V1_Connection | undefined;
36
+
37
+ export type V1_ConnectionProtocolSerializer = (
38
+ connection: V1_Connection,
39
+ ) => PlainObject<V1_Connection> | undefined;
40
+
41
+ export type V1_ConnectionProtocolDeserializer = (
42
+ json: PlainObject<V1_Connection>,
43
+ ) => V1_Connection | undefined;
44
+
45
+ export abstract class DSLMapping_PureProtocolProcessorPlugin_Extension extends PureProtocolProcessorPlugin {
46
+ V1_getExtraConnectionBuilders?(): V1_ConnectionBuilder[];
47
+
48
+ V1_getExtraConnectionTransformers?(): V1_ConnectionTransformer[];
49
+
50
+ V1_getExtraConnectionProtocolSerializers?(): V1_ConnectionProtocolSerializer[];
51
+
52
+ V1_getExtraConnectionProtocolDeserializers?(): V1_ConnectionProtocolDeserializer[];
53
+ }
@@ -119,7 +119,7 @@ import type { V1_RawLambda } from './model/rawValueSpecification/V1_RawLambda';
119
119
  import { V1_ExecuteInput } from './engine/execution/V1_ExecuteInput';
120
120
  import type { V1_PureModelContextGenerationInput } from './engine/import/V1_PureModelContextGenerationInput';
121
121
  import { V1_buildValueSpecification } from './transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper';
122
- import { V1_ValueSpecificationTransformer } from './transformation/pureGraph/from/V1_ValueSpecificationTransformer';
122
+ import { V1_transformRootValueSpecification } from './transformation/pureGraph/from/V1_ValueSpecificationTransformer';
123
123
  import { V1_Profile } from './model/packageableElements/domain/V1_Profile';
124
124
  import { V1_Class } from './model/packageableElements/domain/V1_Class';
125
125
  import { V1_Enumeration } from './model/packageableElements/domain/V1_Enumeration';
@@ -148,6 +148,7 @@ import {
148
148
  V1_DatabaseBuilderConfig,
149
149
  V1_DatabaseBuilderInput,
150
150
  V1_DatabasePattern,
151
+ V1_setupDatabaseBuilderInputSerialization,
151
152
  V1_TargetDatabase,
152
153
  } from './engine/generation/V1_DatabaseBuilderInput';
153
154
  import { V1_transformRelationalDatabaseConnection } from './transformation/pureGraph/from/V1_ConnectionTransformer';
@@ -157,6 +158,10 @@ import { V1_ServiceStore } from './model/packageableElements/store/relational/V1
157
158
  import type { V1_Multiplicity } from './model/packageableElements/domain/V1_Multiplicity';
158
159
  import type { V1_RawVariable } from './model/rawValueSpecification/V1_RawVariable';
159
160
  import { V1_setupDatabaseSerialization } from './transformation/pureProtocol/serializationHelpers/V1_DatabaseSerializationHelper';
161
+ import {
162
+ V1_setupEngineRuntimeSerialization,
163
+ V1_setupLegacyRuntimeSerialization,
164
+ } from './transformation/pureProtocol/serializationHelpers/V1_RuntimeSerializationHelper';
160
165
  import type { DSLGenerationSpecification_PureProtocolProcessorPlugin_Extension } from '../DSLGenerationSpecification_PureProtocolProcessorPlugin_Extension';
161
166
  import type { RawRelationalOperationElement } from '../../../metamodels/pure/packageableElements/store/relational/model/RawRelationalOperationElement';
162
167
  import { V1_GraphTransformerContextBuilder } from './transformation/pureGraph/from/V1_GraphTransformerContext';
@@ -379,13 +384,22 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
379
384
  this.extensions = new V1_GraphBuilderExtensions(
380
385
  this.pluginManager.getPureProtocolProcessorPlugins(),
381
386
  );
382
- // setup (de)serializer using plugins
387
+ // setup serialization plugins
383
388
  V1_setupPureModelContextDataSerialization(
384
389
  this.pluginManager.getPureProtocolProcessorPlugins(),
385
390
  );
386
391
  V1_setupDatabaseSerialization(
387
392
  this.pluginManager.getPureProtocolProcessorPlugins(),
388
393
  );
394
+ V1_setupEngineRuntimeSerialization(
395
+ this.pluginManager.getPureProtocolProcessorPlugins(),
396
+ );
397
+ V1_setupLegacyRuntimeSerialization(
398
+ this.pluginManager.getPureProtocolProcessorPlugins(),
399
+ );
400
+ V1_setupDatabaseBuilderInputSerialization(
401
+ this.pluginManager.getPureProtocolProcessorPlugins(),
402
+ );
389
403
  }
390
404
 
391
405
  TEMP__getEngineConfig(): TEMP__AbstractEngineConfig {
@@ -1661,14 +1675,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
1661
1675
  valueSpecification: ValueSpecification,
1662
1676
  ): Record<PropertyKey, unknown> {
1663
1677
  return V1_serializeValueSpecification(
1664
- valueSpecification.accept_ValueSpecificationVisitor(
1665
- new V1_ValueSpecificationTransformer(
1666
- [],
1667
- new Map<string, unknown[]>(),
1668
- true,
1669
- false,
1670
- ),
1671
- ),
1678
+ V1_transformRootValueSpecification(valueSpecification),
1672
1679
  ) as Record<PropertyKey, unknown>;
1673
1680
  }
1674
1681
 
@@ -1942,7 +1949,8 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
1942
1949
  async registerService(
1943
1950
  graph: PureModel,
1944
1951
  service: Service,
1945
- projectId: string,
1952
+ groupdId: string,
1953
+ artifactId: string,
1946
1954
  server: string,
1947
1955
  executionMode: ServiceExecutionMode,
1948
1956
  version: string | undefined,
@@ -1962,7 +1970,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
1962
1970
  break;
1963
1971
  }
1964
1972
  case ServiceExecutionMode.SEMI_INTERACTIVE: {
1965
- const sdlcInfo = new V1_AlloySdlc(projectId, version);
1973
+ const sdlcInfo = new V1_AlloySdlc(groupdId, artifactId, version);
1966
1974
  const pointer = new V1_PureModelContextPointer(protocol, sdlcInfo);
1967
1975
  // data
1968
1976
  const data = new V1_PureModelContextData();
@@ -1988,7 +1996,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
1988
1996
  break;
1989
1997
  }
1990
1998
  case ServiceExecutionMode.PROD: {
1991
- const sdlcInfo = new V1_AlloySdlc(projectId, version);
1999
+ const sdlcInfo = new V1_AlloySdlc(groupdId, artifactId, version);
1992
2000
  const pointer = new V1_PureModelContextPointer(protocol, sdlcInfo);
1993
2001
  sdlcInfo.packageableElementPointers = [
1994
2002
  new V1_PackageableElementPointer(
@@ -2047,14 +2055,13 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
2047
2055
 
2048
2056
  // --------------------------------------------- Query ---------------------------------------------
2049
2057
 
2050
- async getQueries(
2051
- search: string | undefined,
2052
- showCurrentUserQueriesOnly: boolean | undefined,
2053
- limit: number | undefined,
2054
- ): Promise<LightQuery[]> {
2055
- return (
2056
- await this.engine.getQueries(search, showCurrentUserQueriesOnly, limit)
2057
- ).map((protocol) =>
2058
+ async getQueries(options?: {
2059
+ search?: string | undefined;
2060
+ projectCoordinates?: string[] | undefined;
2061
+ showCurrentUserQueriesOnly?: boolean | undefined;
2062
+ limit?: number | undefined;
2063
+ }): Promise<LightQuery[]> {
2064
+ return (await this.engine.getQueries(options)).map((protocol) =>
2058
2065
  V1_buildLightQuery(
2059
2066
  protocol,
2060
2067
  this.engine.getEngineServerClient().currentUserId,
@@ -2077,6 +2084,10 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
2077
2084
  );
2078
2085
  }
2079
2086
 
2087
+ async getQueryContent(queryId: string): Promise<string> {
2088
+ return (await this.engine.getQuery(queryId)).content;
2089
+ }
2090
+
2080
2091
  async createQuery(query: Query, graph: PureModel): Promise<Query> {
2081
2092
  return V1_buildQuery(
2082
2093
  await this.engine.createQuery(V1_transformQuery(query)),