@finos/legend-application-studio 22.4.7 → 22.5.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 (353) hide show
  1. package/lib/components/EditorComponentTestUtils.d.ts.map +1 -1
  2. package/lib/components/EditorComponentTestUtils.js +2 -1
  3. package/lib/components/EditorComponentTestUtils.js.map +1 -1
  4. package/lib/components/LegendStudioAppInfo.d.ts.map +1 -1
  5. package/lib/components/LegendStudioAppInfo.js +2 -2
  6. package/lib/components/LegendStudioAppInfo.js.map +1 -1
  7. package/lib/components/LegendStudioApplication.d.ts.map +1 -1
  8. package/lib/components/LegendStudioApplication.js +3 -3
  9. package/lib/components/LegendStudioApplication.js.map +1 -1
  10. package/lib/components/LegendStudioTestID.d.ts +1 -1
  11. package/lib/components/LegendStudioTestID.d.ts.map +1 -1
  12. package/lib/components/LegendStudioTestID.js +1 -1
  13. package/lib/components/LegendStudioTestID.js.map +1 -1
  14. package/lib/components/editor/ActivityBar.d.ts.map +1 -1
  15. package/lib/components/editor/ActivityBar.js +3 -3
  16. package/lib/components/editor/ActivityBar.js.map +1 -1
  17. package/lib/components/editor/Editor.js +4 -4
  18. package/lib/components/editor/Editor.js.map +1 -1
  19. package/lib/components/editor/StatusBar.js +1 -1
  20. package/lib/components/editor/StatusBar.js.map +1 -1
  21. package/lib/components/editor/aux-panel/DevTool.d.ts.map +1 -1
  22. package/lib/components/editor/aux-panel/DevTool.js +5 -1
  23. package/lib/components/editor/aux-panel/DevTool.js.map +1 -1
  24. package/lib/components/editor/command/project-search.css +1 -1
  25. package/lib/components/editor/command/project-search.css.map +1 -1
  26. package/lib/components/editor/command-center/ProjectSearchCommand.d.ts.map +1 -1
  27. package/lib/components/editor/command-center/ProjectSearchCommand.js +2 -2
  28. package/lib/components/editor/command-center/ProjectSearchCommand.js.map +1 -1
  29. package/lib/components/editor/edit-panel/FunctionEditor.js +1 -1
  30. package/lib/components/editor/edit-panel/FunctionEditor.js.map +1 -1
  31. package/lib/components/editor/edit-panel/GrammarTextEditor.d.ts.map +1 -1
  32. package/lib/components/editor/edit-panel/GrammarTextEditor.js +5 -1
  33. package/lib/components/editor/edit-panel/GrammarTextEditor.js.map +1 -1
  34. package/lib/components/editor/edit-panel/RuntimeEditor.js +1 -1
  35. package/lib/components/editor/edit-panel/RuntimeEditor.js.map +1 -1
  36. package/lib/components/editor/edit-panel/connection-editor/RelationalDatabaseConnectionEditor.d.ts.map +1 -1
  37. package/lib/components/editor/edit-panel/connection-editor/RelationalDatabaseConnectionEditor.js +9 -2
  38. package/lib/components/editor/edit-panel/connection-editor/RelationalDatabaseConnectionEditor.js.map +1 -1
  39. package/lib/components/editor/edit-panel/mapping-editor/InstanceSetImplementationEditor.js +4 -4
  40. package/lib/components/editor/edit-panel/mapping-editor/InstanceSetImplementationEditor.js.map +1 -1
  41. package/lib/components/editor/edit-panel/mapping-editor/MappingExecutionBuilder.js +4 -4
  42. package/lib/components/editor/edit-panel/mapping-editor/MappingExecutionBuilder.js.map +1 -1
  43. package/lib/components/editor/edit-panel/mapping-editor/MappingExecutionQueryBuilder.d.ts.map +1 -1
  44. package/lib/components/editor/edit-panel/mapping-editor/MappingExecutionQueryBuilder.js +3 -2
  45. package/lib/components/editor/edit-panel/mapping-editor/MappingExecutionQueryBuilder.js.map +1 -1
  46. package/lib/components/editor/edit-panel/mapping-editor/MappingTestEditor.js +3 -3
  47. package/lib/components/editor/edit-panel/mapping-editor/MappingTestEditor.js.map +1 -1
  48. package/lib/components/editor/edit-panel/mapping-editor/PropertyMappingsEditor.js +1 -1
  49. package/lib/components/editor/edit-panel/mapping-editor/PropertyMappingsEditor.js.map +1 -1
  50. package/lib/components/editor/edit-panel/project-configuration-editor/ProjectConfigurationEditor.d.ts.map +1 -1
  51. package/lib/components/editor/edit-panel/project-configuration-editor/ProjectConfigurationEditor.js +62 -8
  52. package/lib/components/editor/edit-panel/project-configuration-editor/ProjectConfigurationEditor.js.map +1 -1
  53. package/lib/components/editor/edit-panel/project-configuration-editor/ProjectDependencyEditor.d.ts.map +1 -1
  54. package/lib/components/editor/edit-panel/project-configuration-editor/ProjectDependencyEditor.js +5 -5
  55. package/lib/components/editor/edit-panel/project-configuration-editor/ProjectDependencyEditor.js.map +1 -1
  56. package/lib/components/editor/edit-panel/service-editor/ServiceEditor.d.ts.map +1 -1
  57. package/lib/components/editor/edit-panel/service-editor/ServiceEditor.js +2 -1
  58. package/lib/components/editor/edit-panel/service-editor/ServiceEditor.js.map +1 -1
  59. package/lib/components/editor/edit-panel/service-editor/ServiceExecutionQueryEditor.js +6 -6
  60. package/lib/components/editor/edit-panel/service-editor/ServiceExecutionQueryEditor.js.map +1 -1
  61. package/lib/components/editor/edit-panel/service-editor/testable/ServiceTestDataEditor.js +1 -1
  62. package/lib/components/editor/edit-panel/service-editor/testable/ServiceTestDataEditor.js.map +1 -1
  63. package/lib/components/editor/edit-panel/uml-editor/ClassEditor.js +1 -1
  64. package/lib/components/editor/edit-panel/uml-editor/ClassEditor.js.map +1 -1
  65. package/lib/components/editor/edit-panel/uml-editor/ClassQueryBuilder.d.ts.map +1 -1
  66. package/lib/components/editor/edit-panel/uml-editor/ClassQueryBuilder.js +2 -2
  67. package/lib/components/editor/edit-panel/uml-editor/ClassQueryBuilder.js.map +1 -1
  68. package/lib/components/editor/side-bar/Explorer.d.ts.map +1 -1
  69. package/lib/components/editor/side-bar/Explorer.js +103 -16
  70. package/lib/components/editor/side-bar/Explorer.js.map +1 -1
  71. package/lib/components/editor/side-bar/ProjectDependantsEditor.js +3 -3
  72. package/lib/components/editor/side-bar/ProjectDependantsEditor.js.map +1 -1
  73. package/lib/components/editor/side-bar/ProjectOverview.js +8 -8
  74. package/lib/components/editor/side-bar/ProjectOverview.js.map +1 -1
  75. package/lib/components/editor/side-bar/WorkflowManager.d.ts.map +1 -1
  76. package/lib/components/editor/side-bar/WorkflowManager.js +2 -2
  77. package/lib/components/editor/side-bar/WorkflowManager.js.map +1 -1
  78. package/lib/components/editor/side-bar/WorkspaceReview.js +1 -1
  79. package/lib/components/editor/side-bar/WorkspaceReview.js.map +1 -1
  80. package/lib/components/editor/side-bar/WorkspaceUpdater.js +1 -1
  81. package/lib/components/editor/side-bar/WorkspaceUpdater.js.map +1 -1
  82. package/lib/components/editor/side-bar/testable/GlobalTestRunner.d.ts.map +1 -1
  83. package/lib/components/editor/side-bar/testable/GlobalTestRunner.js +38 -6
  84. package/lib/components/editor/side-bar/testable/GlobalTestRunner.js.map +1 -1
  85. package/lib/components/project-viewer/ProjectViewer.js +1 -1
  86. package/lib/components/project-viewer/ProjectViewer.js.map +1 -1
  87. package/lib/components/shared/ProjectSelectorUtils.d.ts.map +1 -1
  88. package/lib/components/shared/ProjectSelectorUtils.js +4 -4
  89. package/lib/components/shared/ProjectSelectorUtils.js.map +1 -1
  90. package/lib/components/workspace-review/WorkspaceReview.js +1 -1
  91. package/lib/components/workspace-review/WorkspaceReview.js.map +1 -1
  92. package/lib/components/workspace-setup/CreateProjectModal.js +1 -1
  93. package/lib/components/workspace-setup/CreateProjectModal.js.map +1 -1
  94. package/lib/components/workspace-setup/WorkspaceSetup.js +2 -2
  95. package/lib/components/workspace-setup/WorkspaceSetup.js.map +1 -1
  96. package/lib/index.css +2 -2
  97. package/lib/index.css.map +1 -1
  98. package/lib/package.json +9 -7
  99. package/lib/stores/ChangeDetectionState.js +12 -12
  100. package/lib/stores/ChangeDetectionState.js.map +1 -1
  101. package/lib/stores/DependencyProjectViewerHelper.js +1 -1
  102. package/lib/stores/DependencyProjectViewerHelper.js.map +1 -1
  103. package/lib/stores/EditorConfig.d.ts +3 -0
  104. package/lib/stores/EditorConfig.d.ts.map +1 -1
  105. package/lib/stores/EditorConfig.js +4 -0
  106. package/lib/stores/EditorConfig.js.map +1 -1
  107. package/lib/stores/EditorGraphState.d.ts +1 -1
  108. package/lib/stores/EditorGraphState.d.ts.map +1 -1
  109. package/lib/stores/EditorGraphState.js +73 -72
  110. package/lib/stores/EditorGraphState.js.map +1 -1
  111. package/lib/stores/EditorSDLCState.d.ts.map +1 -1
  112. package/lib/stores/EditorSDLCState.js +21 -21
  113. package/lib/stores/EditorSDLCState.js.map +1 -1
  114. package/lib/stores/EditorStore.js +39 -39
  115. package/lib/stores/EditorStore.js.map +1 -1
  116. package/lib/stores/EditorTabManagerState.js +1 -1
  117. package/lib/stores/EditorTabManagerState.js.map +1 -1
  118. package/lib/stores/EmbeddedQueryBuilderState.d.ts.map +1 -1
  119. package/lib/stores/EmbeddedQueryBuilderState.js +8 -8
  120. package/lib/stores/EmbeddedQueryBuilderState.js.map +1 -1
  121. package/lib/stores/ExplorerTreeState.d.ts +5 -3
  122. package/lib/stores/ExplorerTreeState.d.ts.map +1 -1
  123. package/lib/stores/ExplorerTreeState.js +11 -5
  124. package/lib/stores/ExplorerTreeState.js.map +1 -1
  125. package/lib/stores/LegendStudioBaseStore.d.ts.map +1 -1
  126. package/lib/stores/LegendStudioBaseStore.js +16 -29
  127. package/lib/stores/LegendStudioBaseStore.js.map +1 -1
  128. package/lib/stores/LegendStudioDocumentation.d.ts +1 -0
  129. package/lib/stores/LegendStudioDocumentation.d.ts.map +1 -1
  130. package/lib/stores/LegendStudioDocumentation.js +1 -0
  131. package/lib/stores/LegendStudioDocumentation.js.map +1 -1
  132. package/lib/stores/LegendStudioStorage.d.ts +20 -0
  133. package/lib/stores/LegendStudioStorage.d.ts.map +1 -0
  134. package/lib/stores/LegendStudioStorage.js +21 -0
  135. package/lib/stores/LegendStudioStorage.js.map +1 -0
  136. package/lib/stores/LegendStudioTelemetry.d.ts +1 -1
  137. package/lib/stores/LegendStudioTelemetry.d.ts.map +1 -1
  138. package/lib/stores/STO_ProjectOverview_LegendStudioApplicationPlugin_Extension.d.ts +31 -0
  139. package/lib/stores/STO_ProjectOverview_LegendStudioApplicationPlugin_Extension.d.ts.map +1 -0
  140. package/lib/stores/STO_ProjectOverview_LegendStudioApplicationPlugin_Extension.js +17 -0
  141. package/lib/stores/STO_ProjectOverview_LegendStudioApplicationPlugin_Extension.js.map +1 -0
  142. package/lib/stores/editor-state/ExternalFormatState.js +2 -2
  143. package/lib/stores/editor-state/ExternalFormatState.js.map +1 -1
  144. package/lib/stores/editor-state/FileGenerationState.js +3 -3
  145. package/lib/stores/editor-state/FileGenerationState.js.map +1 -1
  146. package/lib/stores/editor-state/GrammarTextEditorState.d.ts.map +1 -1
  147. package/lib/stores/editor-state/GrammarTextEditorState.js +4 -1
  148. package/lib/stores/editor-state/GrammarTextEditorState.js.map +1 -1
  149. package/lib/stores/editor-state/GraphGenerationState.js +9 -9
  150. package/lib/stores/editor-state/GraphGenerationState.js.map +1 -1
  151. package/lib/stores/editor-state/ModelImporterState.d.ts.map +1 -1
  152. package/lib/stores/editor-state/ModelImporterState.js +9 -9
  153. package/lib/stores/editor-state/ModelImporterState.js.map +1 -1
  154. package/lib/stores/editor-state/element-editor-state/ClassEditorState.js +1 -1
  155. package/lib/stores/editor-state/element-editor-state/ClassEditorState.js.map +1 -1
  156. package/lib/stores/editor-state/element-editor-state/ClassState.js +6 -6
  157. package/lib/stores/editor-state/element-editor-state/ClassState.js.map +1 -1
  158. package/lib/stores/editor-state/element-editor-state/ElementEditorState.js +2 -2
  159. package/lib/stores/editor-state/element-editor-state/ElementEditorState.js.map +1 -1
  160. package/lib/stores/editor-state/element-editor-state/ElementExternalFormatGenerationState.js +2 -2
  161. package/lib/stores/editor-state/element-editor-state/ElementExternalFormatGenerationState.js.map +1 -1
  162. package/lib/stores/editor-state/element-editor-state/FunctionEditorState.js +3 -3
  163. package/lib/stores/editor-state/element-editor-state/FunctionEditorState.js.map +1 -1
  164. package/lib/stores/editor-state/element-editor-state/RuntimeEditorState.d.ts.map +1 -1
  165. package/lib/stores/editor-state/element-editor-state/RuntimeEditorState.js +1 -1
  166. package/lib/stores/editor-state/element-editor-state/RuntimeEditorState.js.map +1 -1
  167. package/lib/stores/editor-state/element-editor-state/connection/ConnectionEditorState.d.ts +2 -1
  168. package/lib/stores/editor-state/element-editor-state/connection/ConnectionEditorState.d.ts.map +1 -1
  169. package/lib/stores/editor-state/element-editor-state/connection/ConnectionEditorState.js +9 -1
  170. package/lib/stores/editor-state/element-editor-state/connection/ConnectionEditorState.js.map +1 -1
  171. package/lib/stores/editor-state/element-editor-state/connection/DatabaseBuilderState.js +11 -11
  172. package/lib/stores/editor-state/element-editor-state/connection/DatabaseBuilderState.js.map +1 -1
  173. package/lib/stores/editor-state/element-editor-state/external-format/DSL_ExternalFormat_SchemaSetEditorState.d.ts.map +1 -1
  174. package/lib/stores/editor-state/element-editor-state/external-format/DSL_ExternalFormat_SchemaSetEditorState.js +10 -10
  175. package/lib/stores/editor-state/element-editor-state/external-format/DSL_ExternalFormat_SchemaSetEditorState.js.map +1 -1
  176. package/lib/stores/editor-state/element-editor-state/mapping/FlatDataInstanceSetImplementationState.js +3 -3
  177. package/lib/stores/editor-state/element-editor-state/mapping/FlatDataInstanceSetImplementationState.js.map +1 -1
  178. package/lib/stores/editor-state/element-editor-state/mapping/MappingEditorState.js +3 -3
  179. package/lib/stores/editor-state/element-editor-state/mapping/MappingEditorState.js.map +1 -1
  180. package/lib/stores/editor-state/element-editor-state/mapping/MappingExecutionState.d.ts.map +1 -1
  181. package/lib/stores/editor-state/element-editor-state/mapping/MappingExecutionState.js +18 -21
  182. package/lib/stores/editor-state/element-editor-state/mapping/MappingExecutionState.js.map +1 -1
  183. package/lib/stores/editor-state/element-editor-state/mapping/MappingTestState.d.ts.map +1 -1
  184. package/lib/stores/editor-state/element-editor-state/mapping/MappingTestState.js +15 -17
  185. package/lib/stores/editor-state/element-editor-state/mapping/MappingTestState.js.map +1 -1
  186. package/lib/stores/editor-state/element-editor-state/mapping/PureInstanceSetImplementationState.js +6 -6
  187. package/lib/stores/editor-state/element-editor-state/mapping/PureInstanceSetImplementationState.js.map +1 -1
  188. package/lib/stores/editor-state/element-editor-state/mapping/relational/RelationalInstanceSetImplementationState.js +3 -3
  189. package/lib/stores/editor-state/element-editor-state/mapping/relational/RelationalInstanceSetImplementationState.js.map +1 -1
  190. package/lib/stores/editor-state/element-editor-state/service/ServiceEditorState.js +1 -1
  191. package/lib/stores/editor-state/element-editor-state/service/ServiceEditorState.js.map +1 -1
  192. package/lib/stores/editor-state/element-editor-state/service/ServiceExecutionState.d.ts.map +1 -1
  193. package/lib/stores/editor-state/element-editor-state/service/ServiceExecutionState.js +14 -17
  194. package/lib/stores/editor-state/element-editor-state/service/ServiceExecutionState.js.map +1 -1
  195. package/lib/stores/editor-state/element-editor-state/service/ServiceRegistrationState.js +4 -4
  196. package/lib/stores/editor-state/element-editor-state/service/ServiceRegistrationState.js.map +1 -1
  197. package/lib/stores/editor-state/element-editor-state/service/testable/ServiceTestDataState.js +1 -1
  198. package/lib/stores/editor-state/element-editor-state/service/testable/ServiceTestDataState.js.map +1 -1
  199. package/lib/stores/editor-state/element-editor-state/service/testable/ServiceTestEditorState.js +3 -3
  200. package/lib/stores/editor-state/element-editor-state/service/testable/ServiceTestEditorState.js.map +1 -1
  201. package/lib/stores/editor-state/element-editor-state/service/testable/ServiceTestableState.js +2 -2
  202. package/lib/stores/editor-state/element-editor-state/service/testable/ServiceTestableState.js.map +1 -1
  203. package/lib/stores/editor-state/element-editor-state/testable/TestAssertionState.js +1 -1
  204. package/lib/stores/editor-state/element-editor-state/testable/TestAssertionState.js.map +1 -1
  205. package/lib/stores/editor-state/element-editor-state/testable/TestableEditorState.js +1 -1
  206. package/lib/stores/editor-state/element-editor-state/testable/TestableEditorState.js.map +1 -1
  207. package/lib/stores/editor-state/entity-diff-editor-state/EntityChangeConflictEditorState.js +2 -2
  208. package/lib/stores/editor-state/entity-diff-editor-state/EntityChangeConflictEditorState.js.map +1 -1
  209. package/lib/stores/editor-state/entity-diff-editor-state/EntityDiffViewState.js +2 -2
  210. package/lib/stores/editor-state/entity-diff-editor-state/EntityDiffViewState.js.map +1 -1
  211. package/lib/stores/editor-state/project-configuration-editor-state/ProjectConfigurationEditorState.d.ts +2 -0
  212. package/lib/stores/editor-state/project-configuration-editor-state/ProjectConfigurationEditorState.d.ts.map +1 -1
  213. package/lib/stores/editor-state/project-configuration-editor-state/ProjectConfigurationEditorState.js +22 -12
  214. package/lib/stores/editor-state/project-configuration-editor-state/ProjectConfigurationEditorState.js.map +1 -1
  215. package/lib/stores/editor-state/project-configuration-editor-state/ProjectDependencyEditorState.js +2 -2
  216. package/lib/stores/editor-state/project-configuration-editor-state/ProjectDependencyEditorState.js.map +1 -1
  217. package/lib/stores/project-viewer/ProjectViewerStore.d.ts.map +1 -1
  218. package/lib/stores/project-viewer/ProjectViewerStore.js +17 -19
  219. package/lib/stores/project-viewer/ProjectViewerStore.js.map +1 -1
  220. package/lib/stores/shared/MockDataUtils.d.ts +6 -0
  221. package/lib/stores/shared/MockDataUtils.d.ts.map +1 -1
  222. package/lib/stores/shared/MockDataUtils.js +32 -3
  223. package/lib/stores/shared/MockDataUtils.js.map +1 -1
  224. package/lib/stores/shared/modifier/STO_Relational_GraphModifierHelper.d.ts +6 -1
  225. package/lib/stores/shared/modifier/STO_Relational_GraphModifierHelper.d.ts.map +1 -1
  226. package/lib/stores/shared/modifier/STO_Relational_GraphModifierHelper.js +15 -1
  227. package/lib/stores/shared/modifier/STO_Relational_GraphModifierHelper.js.map +1 -1
  228. package/lib/stores/sidebar-state/LocalChangesState.d.ts.map +1 -1
  229. package/lib/stores/sidebar-state/LocalChangesState.js +19 -19
  230. package/lib/stores/sidebar-state/LocalChangesState.js.map +1 -1
  231. package/lib/stores/sidebar-state/ProjectOverviewState.js +11 -11
  232. package/lib/stores/sidebar-state/ProjectOverviewState.js.map +1 -1
  233. package/lib/stores/sidebar-state/WorkflowManagerState.js +12 -12
  234. package/lib/stores/sidebar-state/WorkflowManagerState.js.map +1 -1
  235. package/lib/stores/sidebar-state/WorkspaceReviewState.d.ts.map +1 -1
  236. package/lib/stores/sidebar-state/WorkspaceReviewState.js +23 -23
  237. package/lib/stores/sidebar-state/WorkspaceReviewState.js.map +1 -1
  238. package/lib/stores/sidebar-state/WorkspaceSyncState.d.ts.map +1 -1
  239. package/lib/stores/sidebar-state/WorkspaceSyncState.js +10 -10
  240. package/lib/stores/sidebar-state/WorkspaceSyncState.js.map +1 -1
  241. package/lib/stores/sidebar-state/WorkspaceUpdateConflictResolutionState.d.ts.map +1 -1
  242. package/lib/stores/sidebar-state/WorkspaceUpdateConflictResolutionState.js +33 -33
  243. package/lib/stores/sidebar-state/WorkspaceUpdateConflictResolutionState.js.map +1 -1
  244. package/lib/stores/sidebar-state/WorkspaceUpdaterState.d.ts.map +1 -1
  245. package/lib/stores/sidebar-state/WorkspaceUpdaterState.js +16 -16
  246. package/lib/stores/sidebar-state/WorkspaceUpdaterState.js.map +1 -1
  247. package/lib/stores/sidebar-state/testable/GlobalTestRunnerState.js +3 -3
  248. package/lib/stores/sidebar-state/testable/GlobalTestRunnerState.js.map +1 -1
  249. package/lib/stores/workspace-review/WorkspaceReviewStore.js +16 -16
  250. package/lib/stores/workspace-review/WorkspaceReviewStore.js.map +1 -1
  251. package/lib/stores/workspace-setup/ProjectConfigurationStatus.js +1 -1
  252. package/lib/stores/workspace-setup/ProjectConfigurationStatus.js.map +1 -1
  253. package/lib/stores/workspace-setup/WorkspaceSetupStore.js +17 -17
  254. package/lib/stores/workspace-setup/WorkspaceSetupStore.js.map +1 -1
  255. package/package.json +18 -16
  256. package/src/components/EditorComponentTestUtils.tsx +3 -2
  257. package/src/components/LegendStudioAppInfo.tsx +4 -2
  258. package/src/components/LegendStudioApplication.tsx +6 -3
  259. package/src/components/LegendStudioTestID.ts +1 -1
  260. package/src/components/editor/ActivityBar.tsx +6 -4
  261. package/src/components/editor/Editor.tsx +4 -4
  262. package/src/components/editor/StatusBar.tsx +4 -4
  263. package/src/components/editor/aux-panel/DevTool.tsx +7 -1
  264. package/src/components/editor/command-center/ProjectSearchCommand.tsx +8 -6
  265. package/src/components/editor/edit-panel/FunctionEditor.tsx +1 -1
  266. package/src/components/editor/edit-panel/GrammarTextEditor.tsx +7 -1
  267. package/src/components/editor/edit-panel/RuntimeEditor.tsx +1 -1
  268. package/src/components/editor/edit-panel/connection-editor/RelationalDatabaseConnectionEditor.tsx +77 -1
  269. package/src/components/editor/edit-panel/mapping-editor/InstanceSetImplementationEditor.tsx +4 -4
  270. package/src/components/editor/edit-panel/mapping-editor/MappingExecutionBuilder.tsx +4 -4
  271. package/src/components/editor/edit-panel/mapping-editor/MappingExecutionQueryBuilder.tsx +6 -2
  272. package/src/components/editor/edit-panel/mapping-editor/MappingTestEditor.tsx +3 -3
  273. package/src/components/editor/edit-panel/mapping-editor/PropertyMappingsEditor.tsx +1 -1
  274. package/src/components/editor/edit-panel/project-configuration-editor/ProjectConfigurationEditor.tsx +164 -26
  275. package/src/components/editor/edit-panel/project-configuration-editor/ProjectDependencyEditor.tsx +13 -9
  276. package/src/components/editor/edit-panel/service-editor/ServiceEditor.tsx +4 -1
  277. package/src/components/editor/edit-panel/service-editor/ServiceExecutionQueryEditor.tsx +7 -7
  278. package/src/components/editor/edit-panel/service-editor/testable/ServiceTestDataEditor.tsx +1 -1
  279. package/src/components/editor/edit-panel/uml-editor/ClassEditor.tsx +1 -1
  280. package/src/components/editor/edit-panel/uml-editor/ClassQueryBuilder.tsx +4 -2
  281. package/src/components/editor/side-bar/Explorer.tsx +268 -40
  282. package/src/components/editor/side-bar/ProjectDependantsEditor.tsx +5 -5
  283. package/src/components/editor/side-bar/ProjectOverview.tsx +13 -13
  284. package/src/components/editor/side-bar/WorkflowManager.tsx +6 -2
  285. package/src/components/editor/side-bar/WorkspaceReview.tsx +2 -2
  286. package/src/components/editor/side-bar/WorkspaceUpdater.tsx +2 -2
  287. package/src/components/editor/side-bar/testable/GlobalTestRunner.tsx +150 -60
  288. package/src/components/project-viewer/ProjectViewer.tsx +2 -2
  289. package/src/components/shared/ProjectSelectorUtils.tsx +7 -5
  290. package/src/components/workspace-review/WorkspaceReview.tsx +4 -4
  291. package/src/components/workspace-setup/CreateProjectModal.tsx +1 -1
  292. package/src/components/workspace-setup/WorkspaceSetup.tsx +2 -2
  293. package/src/stores/ChangeDetectionState.ts +12 -12
  294. package/src/stores/DependencyProjectViewerHelper.ts +2 -2
  295. package/src/stores/EditorConfig.ts +4 -0
  296. package/src/stores/EditorGraphState.ts +99 -75
  297. package/src/stores/EditorSDLCState.ts +25 -21
  298. package/src/stores/EditorStore.ts +39 -39
  299. package/src/stores/EditorTabManagerState.ts +1 -1
  300. package/src/stores/EmbeddedQueryBuilderState.ts +14 -8
  301. package/src/stores/ExplorerTreeState.ts +16 -6
  302. package/src/stores/LegendStudioBaseStore.ts +30 -36
  303. package/src/stores/LegendStudioDocumentation.ts +1 -0
  304. package/src/stores/LegendStudioStorage.ts +20 -0
  305. package/src/stores/LegendStudioTelemetry.ts +1 -1
  306. package/src/stores/STO_ProjectOverview_LegendStudioApplicationPlugin_Extension.ts +40 -0
  307. package/src/stores/editor-state/ExternalFormatState.ts +2 -2
  308. package/src/stores/editor-state/FileGenerationState.ts +3 -3
  309. package/src/stores/editor-state/GrammarTextEditorState.ts +7 -1
  310. package/src/stores/editor-state/GraphGenerationState.ts +9 -9
  311. package/src/stores/editor-state/ModelImporterState.ts +13 -9
  312. package/src/stores/editor-state/element-editor-state/ClassEditorState.ts +1 -1
  313. package/src/stores/editor-state/element-editor-state/ClassState.ts +6 -6
  314. package/src/stores/editor-state/element-editor-state/ElementEditorState.ts +2 -2
  315. package/src/stores/editor-state/element-editor-state/ElementExternalFormatGenerationState.ts +2 -2
  316. package/src/stores/editor-state/element-editor-state/FunctionEditorState.ts +3 -3
  317. package/src/stores/editor-state/element-editor-state/RuntimeEditorState.ts +3 -1
  318. package/src/stores/editor-state/element-editor-state/connection/ConnectionEditorState.ts +8 -0
  319. package/src/stores/editor-state/element-editor-state/connection/DatabaseBuilderState.ts +11 -11
  320. package/src/stores/editor-state/element-editor-state/external-format/DSL_ExternalFormat_SchemaSetEditorState.ts +12 -10
  321. package/src/stores/editor-state/element-editor-state/mapping/FlatDataInstanceSetImplementationState.ts +3 -3
  322. package/src/stores/editor-state/element-editor-state/mapping/MappingEditorState.ts +3 -3
  323. package/src/stores/editor-state/element-editor-state/mapping/MappingExecutionState.ts +24 -21
  324. package/src/stores/editor-state/element-editor-state/mapping/MappingTestState.ts +18 -17
  325. package/src/stores/editor-state/element-editor-state/mapping/PureInstanceSetImplementationState.ts +6 -6
  326. package/src/stores/editor-state/element-editor-state/mapping/relational/RelationalInstanceSetImplementationState.ts +3 -3
  327. package/src/stores/editor-state/element-editor-state/service/ServiceEditorState.ts +1 -1
  328. package/src/stores/editor-state/element-editor-state/service/ServiceExecutionState.ts +24 -17
  329. package/src/stores/editor-state/element-editor-state/service/ServiceRegistrationState.ts +4 -4
  330. package/src/stores/editor-state/element-editor-state/service/testable/ServiceTestDataState.ts +1 -1
  331. package/src/stores/editor-state/element-editor-state/service/testable/ServiceTestEditorState.ts +3 -3
  332. package/src/stores/editor-state/element-editor-state/service/testable/ServiceTestableState.ts +2 -2
  333. package/src/stores/editor-state/element-editor-state/testable/TestAssertionState.ts +1 -1
  334. package/src/stores/editor-state/element-editor-state/testable/TestableEditorState.ts +1 -1
  335. package/src/stores/editor-state/entity-diff-editor-state/EntityChangeConflictEditorState.ts +2 -2
  336. package/src/stores/editor-state/entity-diff-editor-state/EntityDiffViewState.ts +2 -2
  337. package/src/stores/editor-state/project-configuration-editor-state/ProjectConfigurationEditorState.ts +33 -12
  338. package/src/stores/editor-state/project-configuration-editor-state/ProjectDependencyEditorState.ts +2 -2
  339. package/src/stores/project-viewer/ProjectViewerStore.ts +23 -22
  340. package/src/stores/shared/MockDataUtils.ts +44 -3
  341. package/src/stores/shared/modifier/STO_Relational_GraphModifierHelper.ts +26 -1
  342. package/src/stores/sidebar-state/LocalChangesState.ts +21 -19
  343. package/src/stores/sidebar-state/ProjectOverviewState.ts +11 -11
  344. package/src/stores/sidebar-state/WorkflowManagerState.ts +12 -12
  345. package/src/stores/sidebar-state/WorkspaceReviewState.ts +27 -23
  346. package/src/stores/sidebar-state/WorkspaceSyncState.ts +16 -10
  347. package/src/stores/sidebar-state/WorkspaceUpdateConflictResolutionState.ts +35 -33
  348. package/src/stores/sidebar-state/WorkspaceUpdaterState.ts +18 -16
  349. package/src/stores/sidebar-state/testable/GlobalTestRunnerState.ts +3 -3
  350. package/src/stores/workspace-review/WorkspaceReviewStore.ts +16 -16
  351. package/src/stores/workspace-setup/ProjectConfigurationStatus.ts +1 -1
  352. package/src/stores/workspace-setup/WorkspaceSetupStore.ts +17 -17
  353. package/tsconfig.json +2 -0
@@ -195,7 +195,7 @@ export class ConnectionTestDataState {
195
195
  this.generatingTestDataSate.pass();
196
196
  } catch (error) {
197
197
  assertErrorThrown(error);
198
- this.editorStore.applicationStore.notifyError(
198
+ this.editorStore.applicationStore.notificationService.notifyError(
199
199
  `Unable to generate test data: ${error.message}`,
200
200
  );
201
201
  this.generatingTestDataSate.fail();
@@ -282,7 +282,7 @@ export class ServiceTestSetupState {
282
282
  this.addExpressionParameterValue(expression);
283
283
  } catch (error) {
284
284
  assertErrorThrown(error);
285
- this.editorStore.applicationStore.notifyError(error);
285
+ this.editorStore.applicationStore.notificationService.notifyError(error);
286
286
  } finally {
287
287
  this.setShowNewParameterModal(false);
288
288
  }
@@ -316,7 +316,7 @@ export class ServiceTestSetupState {
316
316
  this.parameterValueStates.push(paramValueState);
317
317
  } catch (error) {
318
318
  assertErrorThrown(error);
319
- this.editorStore.applicationStore.notifyError(error);
319
+ this.editorStore.applicationStore.notificationService.notifyError(error);
320
320
  }
321
321
  }
322
322
 
@@ -406,7 +406,7 @@ export class ServiceTestSetupState {
406
406
  this.parameterValueStates = parameterValueStates;
407
407
  } catch (error) {
408
408
  assertErrorThrown(error);
409
- this.editorStore.applicationStore.notifyError(
409
+ this.editorStore.applicationStore.notificationService.notifyError(
410
410
  `Unable to generate param values: ${error.message}`,
411
411
  );
412
412
  }
@@ -160,7 +160,7 @@ export class ServiceTestSuiteState {
160
160
  this.isRunningTest.complete();
161
161
  } catch (error) {
162
162
  assertErrorThrown(error);
163
- this.editorStore.applicationStore.notifyError(error);
163
+ this.editorStore.applicationStore.notificationService.notifyError(error);
164
164
  this.isRunningTest.fail();
165
165
  } finally {
166
166
  this.testStates.forEach((t) => t.runningTestAction.complete());
@@ -198,7 +198,7 @@ export class ServiceTestSuiteState {
198
198
  this.isRunningTest.complete();
199
199
  } catch (error) {
200
200
  assertErrorThrown(error);
201
- this.editorStore.applicationStore.notifyError(error);
201
+ this.editorStore.applicationStore.notificationService.notifyError(error);
202
202
  this.isRunningTest.fail();
203
203
  } finally {
204
204
  this.testStates.forEach((t) => t.runningTestAction.complete());
@@ -314,7 +314,7 @@ export class TestAssertionEditorState {
314
314
  this.generatingExpectedAction.complete();
315
315
  } catch (error) {
316
316
  assertErrorThrown(error);
317
- this.editorStore.applicationStore.notifyError(
317
+ this.editorStore.applicationStore.notificationService.notifyError(
318
318
  `Error generating expected result: ${error.message}`,
319
319
  );
320
320
  this.generatingExpectedAction.fail();
@@ -159,7 +159,7 @@ export class TestableTestEditorState {
159
159
  this.runningTestAction.complete();
160
160
  } catch (error) {
161
161
  assertErrorThrown(error);
162
- this.editorStore.applicationStore.notifyError(
162
+ this.editorStore.applicationStore.notificationService.notifyError(
163
163
  `Error running test: ${error.message}`,
164
164
  );
165
165
  this.runningTestAction.fail();
@@ -450,7 +450,7 @@ export class EntityChangeConflictEditorState extends EntityDiffViewerState {
450
450
  ),
451
451
  );
452
452
  } else {
453
- this.editorStore.applicationStore.notifyWarning(
453
+ this.editorStore.applicationStore.notificationService.notifyWarning(
454
454
  `Can't mark conflict as resolved: more than one element found in parsed text`,
455
455
  );
456
456
  return;
@@ -459,7 +459,7 @@ export class EntityChangeConflictEditorState extends EntityDiffViewerState {
459
459
  assertErrorThrown(error);
460
460
  if (error instanceof ParserError) {
461
461
  this.mergeEditorParserError = error;
462
- this.editorStore.applicationStore.notifyWarning(
462
+ this.editorStore.applicationStore.notificationService.notifyWarning(
463
463
  `Can't mark conflict as resolved. Parsing error: ${this.mergeEditorParserError.message}`,
464
464
  );
465
465
  }
@@ -209,7 +209,7 @@ export class EntityDiffViewState extends EntityDiffViewerState {
209
209
  this.setFromGrammarText(
210
210
  '/* Failed to transform grammar text, see JSON diff instead */',
211
211
  );
212
- this.editorStore.applicationStore.log.error(
212
+ this.editorStore.applicationStore.logService.error(
213
213
  LogEvent.create(LEGEND_STUDIO_APP_EVENT.SDLC_MANAGER_FAILURE),
214
214
  error,
215
215
  );
@@ -232,7 +232,7 @@ export class EntityDiffViewState extends EntityDiffViewerState {
232
232
  this.setFromGrammarText(
233
233
  '/* Failed to transform grammar text, see JSON diff instead */',
234
234
  );
235
- this.editorStore.applicationStore.log.error(
235
+ this.editorStore.applicationStore.logService.error(
236
236
  LogEvent.create(LEGEND_STUDIO_APP_EVENT.SDLC_MANAGER_FAILURE),
237
237
  error,
238
238
  );
@@ -81,6 +81,9 @@ export class ProjectConfigurationEditorState extends EditorState {
81
81
  latestProjectStructureVersion: observable,
82
82
  projectDependencyEditorState: observable,
83
83
  originalConfig: computed,
84
+ isGroupIdChanged: computed,
85
+ isArtifactIdChanged: computed,
86
+
84
87
  setOriginalProjectConfiguration: action,
85
88
  setProjectConfiguration: action,
86
89
  setSelectedTab: action,
@@ -136,6 +139,20 @@ export class ProjectConfigurationEditorState extends EditorState {
136
139
  );
137
140
  }
138
141
 
142
+ get isGroupIdChanged(): boolean {
143
+ return (
144
+ this.currentProjectConfiguration.groupId !==
145
+ this.originalProjectConfiguration?.groupId
146
+ );
147
+ }
148
+
149
+ get isArtifactIdChanged(): boolean {
150
+ return (
151
+ this.currentProjectConfiguration.artifactId !==
152
+ this.originalProjectConfiguration?.artifactId
153
+ );
154
+ }
155
+
139
156
  get containsSnapshotDependencies(): boolean {
140
157
  return Boolean(
141
158
  this.originalProjectConfiguration?.projectDependencies.some(
@@ -173,11 +190,11 @@ export class ProjectConfigurationEditorState extends EditorState {
173
190
  this.associatedProjectsAndVersionsFetched = true;
174
191
  } catch (error) {
175
192
  assertErrorThrown(error);
176
- this.editorStore.applicationStore.log.error(
193
+ this.editorStore.applicationStore.logService.error(
177
194
  LogEvent.create(LEGEND_STUDIO_APP_EVENT.SDLC_MANAGER_FAILURE),
178
195
  error,
179
196
  );
180
- this.editorStore.applicationStore.notifyError(
197
+ this.editorStore.applicationStore.notificationService.notifyError(
181
198
  `Can't get project dependencies data. Error:\n${error.message}`,
182
199
  );
183
200
  } finally {
@@ -218,11 +235,11 @@ export class ProjectConfigurationEditorState extends EditorState {
218
235
  );
219
236
  } catch (error) {
220
237
  assertErrorThrown(error);
221
- this.editorStore.applicationStore.log.error(
238
+ this.editorStore.applicationStore.logService.error(
222
239
  LogEvent.create(LEGEND_STUDIO_APP_EVENT.SDLC_MANAGER_FAILURE),
223
240
  error,
224
241
  );
225
- this.editorStore.applicationStore.notifyError(error);
242
+ this.editorStore.applicationStore.notificationService.notifyError(error);
226
243
  } finally {
227
244
  this.updatingConfigurationState.complete();
228
245
  }
@@ -240,11 +257,13 @@ export class ProjectConfigurationEditorState extends EditorState {
240
257
  yield flowResult(this.updateProjectConfiguration(updateCommand));
241
258
  } catch (error) {
242
259
  assertErrorThrown(error);
243
- this.editorStore.applicationStore.log.error(
260
+ this.editorStore.applicationStore.logService.error(
244
261
  LogEvent.create(LEGEND_STUDIO_APP_EVENT.SDLC_MANAGER_FAILURE),
245
262
  error,
246
263
  );
247
- this.editorStore.applicationStore.notifyError(error);
264
+ this.editorStore.applicationStore.notificationService.notifyError(
265
+ error,
266
+ );
248
267
  }
249
268
  }
250
269
  }
@@ -253,7 +272,7 @@ export class ProjectConfigurationEditorState extends EditorState {
253
272
  // See https://github.com/finos/legend-studio/issues/952
254
273
  *updateConfigs(): GeneratorFn<void> {
255
274
  this.updatingConfigurationState.inProgress();
256
- this.editorStore.applicationStore.setBlockingAlert({
275
+ this.editorStore.applicationStore.alertService.setBlockingAlert({
257
276
  message: `Updating project configuration...`,
258
277
  prompt: `Please do not reload the application`,
259
278
  showLoading: true,
@@ -296,14 +315,16 @@ export class ProjectConfigurationEditorState extends EditorState {
296
315
  );
297
316
  } catch (error) {
298
317
  assertErrorThrown(error);
299
- this.editorStore.applicationStore.log.error(
318
+ this.editorStore.applicationStore.logService.error(
300
319
  LogEvent.create(LEGEND_STUDIO_APP_EVENT.SDLC_MANAGER_FAILURE),
301
320
  error,
302
321
  );
303
- this.editorStore.applicationStore.notifyError(error);
322
+ this.editorStore.applicationStore.notificationService.notifyError(error);
304
323
  } finally {
305
324
  this.updatingConfigurationState.complete();
306
- this.editorStore.applicationStore.setBlockingAlert(undefined);
325
+ this.editorStore.applicationStore.alertService.setBlockingAlert(
326
+ undefined,
327
+ );
307
328
  }
308
329
  }
309
330
 
@@ -315,11 +336,11 @@ export class ProjectConfigurationEditorState extends EditorState {
315
336
  );
316
337
  } catch (error) {
317
338
  assertErrorThrown(error);
318
- this.editorStore.applicationStore.log.error(
339
+ this.editorStore.applicationStore.logService.error(
319
340
  LogEvent.create(LEGEND_STUDIO_APP_EVENT.SDLC_MANAGER_FAILURE),
320
341
  error,
321
342
  );
322
- this.editorStore.applicationStore.notifyError(error);
343
+ this.editorStore.applicationStore.notificationService.notifyError(error);
323
344
  }
324
345
  }
325
346
  }
@@ -412,7 +412,7 @@ export class ProjectDependencyEditorState {
412
412
  assertErrorThrown(error);
413
413
  this.fetchingDependencyInfoState.fail();
414
414
  this.dependencyReport = undefined;
415
- this.editorStore.applicationStore.log.error(
415
+ this.editorStore.applicationStore.logService.error(
416
416
  LogEvent.create(LEGEND_STUDIO_APP_EVENT.DEPOT_MANAGER_FAILURE),
417
417
  error,
418
418
  );
@@ -436,7 +436,7 @@ export class ProjectDependencyEditorState {
436
436
  assertErrorThrown(error);
437
437
  this.setConflictStates([]);
438
438
  this.buildConflictPathState.fail();
439
- this.editorStore.applicationStore.notifyError(
439
+ this.editorStore.applicationStore.notificationService.notifyError(
440
440
  `Unable to build conflict paths ${error.message}`,
441
441
  );
442
442
  }
@@ -47,7 +47,7 @@ import {
47
47
  Workspace,
48
48
  } from '@finos/legend-server-sdlc';
49
49
  import { LEGEND_STUDIO_APP_EVENT } from '../LegendStudioAppEvent.js';
50
- import { TAB_SIZE } from '@finos/legend-application';
50
+ import { ApplicationTelemetry, TAB_SIZE } from '@finos/legend-application';
51
51
  import { ProjectData, resolveVersion } from '@finos/legend-server-depot';
52
52
  import {
53
53
  type WorkflowManagerState,
@@ -55,7 +55,6 @@ import {
55
55
  ProjectWorkflowManagerState,
56
56
  } from '../sidebar-state/WorkflowManagerState.js';
57
57
  import {
58
- GraphManagerTelemetry,
59
58
  GRAPH_MANAGER_EVENT,
60
59
  DependencyGraphBuilderError,
61
60
  GraphDataDeserializationError,
@@ -127,7 +126,7 @@ export class ProjectViewerStore {
127
126
  if (entityPath) {
128
127
  this.initialEntityPath = entityPath;
129
128
  if (projectId) {
130
- this.editorStore.applicationStore.navigator.updateCurrentLocation(
129
+ this.editorStore.applicationStore.navigationService.navigator.updateCurrentLocation(
131
130
  versionId
132
131
  ? generateViewVersionRoute(projectId, versionId)
133
132
  : revisionId
@@ -140,7 +139,7 @@ export class ProjectViewerStore {
140
139
  artifactId,
141
140
  versionId: _versionId,
142
141
  } = parseGAVCoordinates(gav);
143
- this.editorStore.applicationStore.navigator.updateCurrentLocation(
142
+ this.editorStore.applicationStore.navigationService.navigator.updateCurrentLocation(
144
143
  generateViewProjectByGAVRoute(groupId, artifactId, _versionId),
145
144
  );
146
145
  }
@@ -412,23 +411,23 @@ export class ProjectViewerStore {
412
411
  // report
413
412
  stopWatch.record(GRAPH_MANAGER_EVENT.INITIALIZE_GRAPH__SUCCESS);
414
413
  const graphBuilderReportData = {
415
- timings: {
416
- [GRAPH_MANAGER_EVENT.INITIALIZE_GRAPH__SUCCESS]: stopWatch.getRecord(
417
- GRAPH_MANAGER_EVENT.INITIALIZE_GRAPH__SUCCESS,
414
+ timings:
415
+ this.editorStore.applicationStore.timeService.finalizeTimingsRecord(
416
+ stopWatch,
418
417
  ),
419
- },
420
418
  dependencies: dependency_buildReport,
421
419
  dependenciesCount:
422
420
  this.editorStore.graphManagerState.graph.dependencyManager
423
421
  .numberOfDependencies,
424
422
  graph: graph_buildReport,
425
423
  };
426
- this.editorStore.applicationStore.log.info(
427
- LogEvent.create(GRAPH_MANAGER_EVENT.INITIALIZE_GRAPH__SUCCESS),
424
+ ApplicationTelemetry.logEvent_GraphInitializationSucceeded(
425
+ this.editorStore.applicationStore.telemetryService,
428
426
  graphBuilderReportData,
429
427
  );
430
- GraphManagerTelemetry.logEvent_GraphInitializationSucceeded(
431
- this.editorStore.applicationStore.telemetryService,
428
+
429
+ this.editorStore.applicationStore.logService.info(
430
+ LogEvent.create(GRAPH_MANAGER_EVENT.INITIALIZE_GRAPH__SUCCESS),
432
431
  graphBuilderReportData,
433
432
  );
434
433
 
@@ -445,32 +444,32 @@ export class ProjectViewerStore {
445
444
  assertErrorThrown(error);
446
445
 
447
446
  // if graph builder fails, we fall back to text-mode
448
- this.editorStore.applicationStore.log.error(
447
+ this.editorStore.applicationStore.logService.error(
449
448
  LogEvent.create(GRAPH_MANAGER_EVENT.GRAPH_BUILDER_FAILURE),
450
449
  error,
451
450
  );
452
451
  if (error instanceof DependencyGraphBuilderError) {
453
452
  // no recovery if dependency models cannot be built, this makes assumption that all dependencies models are compiled successfully
454
453
  // TODO: we might want to handle this more gracefully when we can show people the dependency model element in the future
455
- this.editorStore.applicationStore.notifyError(
454
+ this.editorStore.applicationStore.notificationService.notifyError(
456
455
  `Can't initialize dependency models. Error: ${error.message}`,
457
456
  );
458
- this.editorStore.applicationStore.setBlockingAlert({
457
+ this.editorStore.applicationStore.alertService.setBlockingAlert({
459
458
  message: `Can't initialize dependencies`,
460
459
  prompt: 'Please use editor to better invesigate the issue',
461
460
  });
462
461
  } else if (error instanceof GraphDataDeserializationError) {
463
462
  // if something goes wrong with de-serialization, we can't really do anything but to alert
464
- this.editorStore.applicationStore.notifyError(
463
+ this.editorStore.applicationStore.notificationService.notifyError(
465
464
  `Can't deserialize graph. Error: ${error.message}`,
466
465
  );
467
- this.editorStore.applicationStore.setBlockingAlert({
466
+ this.editorStore.applicationStore.alertService.setBlockingAlert({
468
467
  message: `Can't deserialize graph`,
469
468
  prompt: 'Please use editor to better invesigate the issue',
470
469
  });
471
470
  } else if (error instanceof GraphBuilderError) {
472
471
  // TODO: we should split this into 2 notifications when we support multiple notifications
473
- this.editorStore.applicationStore.notifyError(
472
+ this.editorStore.applicationStore.notificationService.notifyError(
474
473
  `Can't build graph. Redirected to text mode for debugging. Error: ${error.message}`,
475
474
  );
476
475
  try {
@@ -485,7 +484,7 @@ export class ProjectViewerStore {
485
484
  );
486
485
  } catch {
487
486
  // nothing we can do here so we will just block the user
488
- this.editorStore.applicationStore.setBlockingAlert({
487
+ this.editorStore.applicationStore.alertService.setBlockingAlert({
489
488
  message: `Can't compose Pure code from graph models`,
490
489
  prompt: 'Please use editor to better invesigate the issue',
491
490
  });
@@ -501,7 +500,9 @@ export class ProjectViewerStore {
501
500
  }),
502
501
  );
503
502
  } else {
504
- this.editorStore.applicationStore.notifyError(error);
503
+ this.editorStore.applicationStore.notificationService.notifyError(
504
+ error,
505
+ );
505
506
  }
506
507
  return false;
507
508
  }
@@ -613,11 +614,11 @@ export class ProjectViewerStore {
613
614
  onLeave(true);
614
615
  } catch (error) {
615
616
  assertErrorThrown(error);
616
- this.editorStore.applicationStore.log.error(
617
+ this.editorStore.applicationStore.logService.error(
617
618
  LogEvent.create(LEGEND_STUDIO_APP_EVENT.SDLC_MANAGER_FAILURE),
618
619
  error,
619
620
  );
620
- this.editorStore.applicationStore.notifyError(error);
621
+ this.editorStore.applicationStore.notificationService.notifyError(error);
621
622
  onLeave(false);
622
623
  }
623
624
  }
@@ -37,6 +37,9 @@ import {
37
37
  getClassPropertyType,
38
38
  } from './ModelClassifierUtils.js';
39
39
  import type { MappingElementSource } from '../editor-state/element-editor-state/mapping/MappingEditorState.js';
40
+ import { TAB_SIZE } from '@finos/legend-application';
41
+ import { XMLBuilder } from 'fast-xml-parser';
42
+ import { stringify as YAML_stringify } from 'yaml';
40
43
 
41
44
  export const createMockPrimitiveProperty = (
42
45
  primitiveType: PrimitiveType,
@@ -166,22 +169,60 @@ export const createMockDataForClass = (
166
169
  return createMockClassInstance(element, true, depth);
167
170
  };
168
171
 
172
+ export enum CLASS_MOCK_DATA_GENERATION_FORMAT {
173
+ JSON = 'JSON',
174
+ XML = 'XML',
175
+ YAML = 'YAML',
176
+ }
177
+
178
+ export const createMockDataForClassWithFormat = (
179
+ element: Class,
180
+ format: CLASS_MOCK_DATA_GENERATION_FORMAT,
181
+ maxDepth = 100,
182
+ depthForCycle = 3,
183
+ ): string => {
184
+ const depth = classHasCycle(element, true, new Set<string>())
185
+ ? Math.max(depthForCycle, 0)
186
+ : Math.max(maxDepth, 0);
187
+ const obj = createMockClassInstance(element, true, depth);
188
+ switch (format) {
189
+ case CLASS_MOCK_DATA_GENERATION_FORMAT.JSON:
190
+ return JSON.stringify(obj, undefined, TAB_SIZE);
191
+ case CLASS_MOCK_DATA_GENERATION_FORMAT.XML: {
192
+ return new XMLBuilder({
193
+ indentBy: ' '.repeat(TAB_SIZE),
194
+ format: true,
195
+ }).build(obj);
196
+ }
197
+ case CLASS_MOCK_DATA_GENERATION_FORMAT.YAML:
198
+ return YAML_stringify(obj, { indent: TAB_SIZE });
199
+ default:
200
+ throw new UnsupportedOperationError(
201
+ `Can't create mock data for class with format '${format}'`,
202
+ );
203
+ }
204
+ };
205
+
169
206
  export const createMockDataForMappingElementSource = (
170
207
  srcElement: MappingElementSource,
171
208
  editorStore: EditorStore,
172
209
  ): string => {
173
210
  if (srcElement instanceof Class) {
174
211
  try {
175
- return JSON.stringify(createMockDataForClass(srcElement), undefined, 2);
212
+ return JSON.stringify(
213
+ createMockDataForClass(srcElement),
214
+ undefined,
215
+ TAB_SIZE,
216
+ );
176
217
  } catch (error) {
177
218
  assertErrorThrown(error);
178
- editorStore.applicationStore.notifyWarning(
219
+ editorStore.applicationStore.notificationService.notifyWarning(
179
220
  `Can't generate test data for class '${srcElement}'. Error:\n${error.message}`,
180
221
  );
181
222
  return '';
182
223
  }
183
224
  }
184
- editorStore.applicationStore.notifyWarning(
225
+ editorStore.applicationStore.notificationService.notifyWarning(
185
226
  new UnsupportedOperationError(
186
227
  `Can't generate test data for mapping source`,
187
228
  srcElement,
@@ -44,6 +44,7 @@ import {
44
44
  type TableAlias,
45
45
  type Mapper,
46
46
  type PostProcessor,
47
+ type SpannerDatasourceSpecification,
47
48
  getRelationalInputType,
48
49
  observe_DatasourceSpecification,
49
50
  observe_AuthenticationStrategy,
@@ -377,7 +378,31 @@ export const bigQueryDatasourceSpecification_setProxyPort = action(
377
378
  spec.proxyPort = val;
378
379
  },
379
380
  );
380
- //
381
+ export const spannerDatasourceSpecification_setProjectId = action(
382
+ (spec: SpannerDatasourceSpecification, val: string): void => {
383
+ spec.projectId = val;
384
+ },
385
+ );
386
+ export const spannerDatasourceSpecification_setInstanceId = action(
387
+ (spec: SpannerDatasourceSpecification, val: string): void => {
388
+ spec.instanceId = val;
389
+ },
390
+ );
391
+ export const spannerDatasourceSpecification_setDatabaseId = action(
392
+ (spec: SpannerDatasourceSpecification, val: string): void => {
393
+ spec.databaseId = val;
394
+ },
395
+ );
396
+ export const spannerDatasourceSpecification_setProxyHost = action(
397
+ (spec: SpannerDatasourceSpecification, val: string | undefined): void => {
398
+ spec.proxyHost = val;
399
+ },
400
+ );
401
+ export const spannerDatasourceSpecification_setProxyPort = action(
402
+ (spec: SpannerDatasourceSpecification, val: string | undefined): void => {
403
+ spec.proxyPort = val;
404
+ },
405
+ );
381
406
 
382
407
  export const relationalInputData_setData = action(
383
408
  (input: RelationalInputData, value: string): void => {
@@ -147,7 +147,7 @@ class PatchLoaderState {
147
147
  } catch (error) {
148
148
  assertErrorThrown(error);
149
149
  this.setIsValidPatch(false);
150
- this.editorStore.applicationStore.notifyError(
150
+ this.editorStore.applicationStore.notificationService.notifyError(
151
151
  `Can't load patch: Error: ${error.message}`,
152
152
  );
153
153
  }
@@ -166,7 +166,7 @@ class PatchLoaderState {
166
166
  );
167
167
  } catch (error) {
168
168
  assertErrorThrown(error);
169
- this.editorStore.applicationStore.notifyError(
169
+ this.editorStore.applicationStore.notificationService.notifyError(
170
170
  `Can't apply patch changes: Error: ${error.message}`,
171
171
  );
172
172
  }
@@ -224,7 +224,7 @@ export abstract class LocalChangesState {
224
224
 
225
225
  alertUnsavedChanges(onProceed: () => void): void {
226
226
  if (this.hasUnpushedChanges) {
227
- this.editorStore.applicationStore.setActionAlertInfo({
227
+ this.editorStore.applicationStore.alertService.setActionAlertInfo({
228
228
  message:
229
229
  'Unsaved changes to your query will be lost if you continue. Do you still want to proceed?',
230
230
  type: ActionAlertType.CAUTION,
@@ -297,7 +297,7 @@ export abstract class LocalChangesState {
297
297
  }
298
298
  } catch (error) {
299
299
  assertErrorThrown(error);
300
- this.editorStore.applicationStore.log.error(
300
+ this.editorStore.applicationStore.logService.error(
301
301
  LogEvent.create(LEGEND_STUDIO_APP_EVENT.SDLC_MANAGER_FAILURE),
302
302
  error,
303
303
  );
@@ -363,7 +363,7 @@ export abstract class LocalChangesState {
363
363
  yield flowResult(
364
364
  this.editorStore.changeDetectionState.computeAggregatedWorkspaceRemoteChanges(),
365
365
  );
366
- this.editorStore.applicationStore.setActionAlertInfo({
366
+ this.editorStore.applicationStore.alertService.setActionAlertInfo({
367
367
  message: 'Local workspace is out-of-sync',
368
368
  prompt: 'Please pull remote changes before pushing your local changes',
369
369
  type: ActionAlertType.CAUTION,
@@ -418,7 +418,7 @@ export abstract class LocalChangesState {
418
418
  this.sdlcState.setWorkspaceLatestRevision(latestRevision);
419
419
  const syncFinishedTime = Date.now();
420
420
 
421
- this.editorStore.applicationStore.log.info(
421
+ this.editorStore.applicationStore.logService.info(
422
422
  LogEvent.create(LEGEND_STUDIO_APP_EVENT.PUSH_LOCAL_CHANGES__SUCCESS),
423
423
  syncFinishedTime - startTime,
424
424
  'ms',
@@ -462,13 +462,13 @@ export abstract class LocalChangesState {
462
462
  */
463
463
  if (error instanceof NetworkClientError) {
464
464
  if (error.response.status === HttpStatus.NOT_FOUND) {
465
- this.editorStore.applicationStore.log.error(
465
+ this.editorStore.applicationStore.logService.error(
466
466
  LogEvent.create(LEGEND_STUDIO_APP_EVENT.SDLC_MANAGER_FAILURE),
467
467
  `Can't fetch entities for the latest workspace revision immediately after syncing`,
468
468
  error,
469
469
  );
470
470
  }
471
- this.editorStore.applicationStore.setActionAlertInfo({
471
+ this.editorStore.applicationStore.alertService.setActionAlertInfo({
472
472
  message: `Change detection engine failed to build hashes index for workspace after syncing`,
473
473
  prompt:
474
474
  'To fix this, you can either try to keep refreshing local changes until success or trust and reuse current workspace hashes index',
@@ -501,7 +501,7 @@ export abstract class LocalChangesState {
501
501
  }
502
502
  }
503
503
  yield flowResult(this.restartChangeDetection());
504
- this.editorStore.applicationStore.log.info(
504
+ this.editorStore.applicationStore.logService.info(
505
505
  LogEvent.create(
506
506
  CHANGE_DETECTION_EVENT.CHANGE_DETECTION_RESTART__SUCCESS,
507
507
  ),
@@ -511,7 +511,7 @@ export abstract class LocalChangesState {
511
511
  // ======= FINISHED (RE)START CHANGE DETECTION =======
512
512
  } catch (error) {
513
513
  assertErrorThrown(error);
514
- this.editorStore.applicationStore.log.error(
514
+ this.editorStore.applicationStore.logService.error(
515
515
  LogEvent.create(LEGEND_STUDIO_APP_EVENT.SDLC_MANAGER_FAILURE),
516
516
  error,
517
517
  );
@@ -521,12 +521,14 @@ export abstract class LocalChangesState {
521
521
  ) {
522
522
  // NOTE: a confict here indicates that the reference revision ID sent along with update call
523
523
  // does not match the HEAD of the workspace, therefore, we need to prompt user to refresh the application
524
- this.editorStore.applicationStore.notifyWarning(
524
+ this.editorStore.applicationStore.notificationService.notifyWarning(
525
525
  'Syncing failed. Current workspace revision is not the latest. Please backup your work and refresh the application',
526
526
  );
527
527
  // TODO: maybe we should do more here, e.g. prompt the user to download the patch, but that is for later
528
528
  } else {
529
- this.editorStore.applicationStore.notifyError(error);
529
+ this.editorStore.applicationStore.notificationService.notifyError(
530
+ error,
531
+ );
530
532
  }
531
533
  } finally {
532
534
  this.pushChangesState.complete();
@@ -705,7 +707,7 @@ export class FormLocalChangesState extends LocalChangesState {
705
707
  this.editorStore.changeDetectionState.preComputeGraphElementHashes(),
706
708
  ]);
707
709
  this.editorStore.changeDetectionState.start();
708
- this.editorStore.applicationStore.log.info(
710
+ this.editorStore.applicationStore.logService.info(
709
711
  LogEvent.create(
710
712
  CHANGE_DETECTION_EVENT.CHANGE_DETECTION_RESTART__SUCCESS,
711
713
  ),
@@ -715,11 +717,11 @@ export class FormLocalChangesState extends LocalChangesState {
715
717
  // ======= FINISHED (RE)START CHANGE DETECTION =======
716
718
  } catch (error) {
717
719
  assertErrorThrown(error);
718
- this.editorStore.applicationStore.log.error(
720
+ this.editorStore.applicationStore.logService.error(
719
721
  LogEvent.create(LEGEND_STUDIO_APP_EVENT.SDLC_MANAGER_FAILURE),
720
722
  error,
721
723
  );
722
- this.editorStore.applicationStore.notifyError(error);
724
+ this.editorStore.applicationStore.notificationService.notifyError(error);
723
725
  this.sdlcState.handleChangeDetectionRefreshIssue(error);
724
726
  } finally {
725
727
  this.refreshLocalChangesDetectorState.complete();
@@ -732,7 +734,7 @@ export class FormLocalChangesState extends LocalChangesState {
732
734
  this.sdlcState.checkIfCurrentWorkspaceIsInConflictResolutionMode(),
733
735
  )) as boolean;
734
736
  if (isInConflictResolutionMode) {
735
- this.editorStore.applicationStore.setBlockingAlert({
737
+ this.editorStore.applicationStore.alertService.setBlockingAlert({
736
738
  message: 'Workspace is in conflict resolution mode',
737
739
  prompt: 'Please refresh the application',
738
740
  });
@@ -740,7 +742,7 @@ export class FormLocalChangesState extends LocalChangesState {
740
742
  }
741
743
  } catch (error) {
742
744
  assertErrorThrown(error);
743
- this.editorStore.applicationStore.notifyWarning(
745
+ this.editorStore.applicationStore.notificationService.notifyWarning(
744
746
  'Failed to check if current workspace is in conflict resolution mode',
745
747
  );
746
748
  return;
@@ -797,11 +799,11 @@ export class TextLocalChangesState extends LocalChangesState {
797
799
  );
798
800
  } catch (error) {
799
801
  assertErrorThrown(error);
800
- this.editorStore.applicationStore.log.error(
802
+ this.editorStore.applicationStore.logService.error(
801
803
  LogEvent.create(LEGEND_STUDIO_APP_EVENT.SDLC_MANAGER_FAILURE),
802
804
  error,
803
805
  );
804
- this.editorStore.applicationStore.notifyError(error);
806
+ this.editorStore.applicationStore.notificationService.notifyError(error);
805
807
  this.sdlcState.handleChangeDetectionRefreshIssue(error);
806
808
  } finally {
807
809
  this.refreshLocalChangesDetectorState.complete();