This is an automated email from the ASF dual-hosted git repository.

hansva pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/hop.git


The following commit(s) were added to refs/heads/main by this push:
     new d8b73b551e Add HopGuiWorkflowGraphUpdateGui hook to Apache Hop to 
expose GUI update events for workflows (#5916)
d8b73b551e is described below

commit d8b73b551ed214a0900856b41d49c7bccdc20722
Author: kxs-mtalbi <[email protected]>
AuthorDate: Tue Oct 28 06:17:24 2025 -0400

    Add HopGuiWorkflowGraphUpdateGui hook to Apache Hop to expose GUI update 
events for workflows (#5916)
---
 .../org/apache/hop/ui/hopgui/HopGuiExtensionPoint.java     |  4 ++++
 .../hop/ui/hopgui/file/workflow/HopGuiWorkflowGraph.java   | 14 +++++++++++++-
 2 files changed, 17 insertions(+), 1 deletion(-)

diff --git 
a/ui/src/main/java/org/apache/hop/ui/hopgui/HopGuiExtensionPoint.java 
b/ui/src/main/java/org/apache/hop/ui/hopgui/HopGuiExtensionPoint.java
index 8b8cbd10a5..89644871d4 100644
--- a/ui/src/main/java/org/apache/hop/ui/hopgui/HopGuiExtensionPoint.java
+++ b/ui/src/main/java/org/apache/hop/ui/hopgui/HopGuiExtensionPoint.java
@@ -22,6 +22,7 @@ import 
org.apache.hop.ui.hopgui.delegates.HopGuiFileDialogExtension;
 import org.apache.hop.ui.hopgui.delegates.HopGuiFileOpenedExtension;
 import org.apache.hop.ui.hopgui.file.pipeline.HopGuiPipelineGraph;
 import 
org.apache.hop.ui.hopgui.file.pipeline.extension.HopGuiPipelineFinishedExtension;
+import org.apache.hop.ui.hopgui.file.workflow.HopGuiWorkflowGraph;
 import 
org.apache.hop.ui.hopgui.file.workflow.delegates.HopGuiWorkflowClipboardExtension;
 import org.apache.hop.ui.hopgui.perspective.execution.PipelineExecutionViewer;
 import org.apache.hop.ui.hopgui.perspective.explorer.ExplorerPerspective;
@@ -52,6 +53,9 @@ public enum HopGuiExtensionPoint {
   HopGuiWorkflowClipboardFilePaste(
       "A filename is pasted into a workflow", 
HopGuiWorkflowClipboardExtension.class),
 
+  HopGuiWorkflowGraphUpdateGui(
+      "Triggered when the Hop GUI workflow graph refreshes", 
HopGuiWorkflowGraph.class),
+
   HopGuiPipelineFinished("A pipeline finished in the GUI", 
HopGuiPipelineFinishedExtension.class),
 
   HopGuiPipelineGraphUpdateGui(
diff --git 
a/ui/src/main/java/org/apache/hop/ui/hopgui/file/workflow/HopGuiWorkflowGraph.java
 
b/ui/src/main/java/org/apache/hop/ui/hopgui/file/workflow/HopGuiWorkflowGraph.java
index 5b2c7aa877..6741c18029 100644
--- 
a/ui/src/main/java/org/apache/hop/ui/hopgui/file/workflow/HopGuiWorkflowGraph.java
+++ 
b/ui/src/main/java/org/apache/hop/ui/hopgui/file/workflow/HopGuiWorkflowGraph.java
@@ -108,6 +108,7 @@ import org.apache.hop.ui.core.gui.HopNamespace;
 import org.apache.hop.ui.hopgui.CanvasFacade;
 import org.apache.hop.ui.hopgui.CanvasListener;
 import org.apache.hop.ui.hopgui.HopGui;
+import org.apache.hop.ui.hopgui.HopGuiExtensionPoint;
 import org.apache.hop.ui.hopgui.ServerPushSessionFacade;
 import org.apache.hop.ui.hopgui.context.GuiContextUtil;
 import org.apache.hop.ui.hopgui.context.IGuiContextHandler;
@@ -314,7 +315,7 @@ public class HopGuiWorkflowGraph extends HopGuiAbstractGraph
   public CTabFolder extraViewTabFolder;
 
   private ToolBar toolBar;
-  private GuiToolbarWidgets toolBarWidgets;
+  @Getter private GuiToolbarWidgets toolBarWidgets;
 
   private boolean halting;
 
@@ -3266,6 +3267,17 @@ public class HopGuiWorkflowGraph extends 
HopGuiAbstractGraph
               super.enableSnapAlignDistributeMenuItems(
                   fileType, !workflowMeta.getSelectedActions().isEmpty());
 
+              try {
+                ExtensionPointHandler.callExtensionPoint(
+                    LogChannel.UI,
+                    variables,
+                    HopGuiExtensionPoint.HopGuiWorkflowGraphUpdateGui.id,
+                    this);
+              } catch (Exception xe) {
+                LogChannel.UI.logError(
+                    "Error handling extension point 
'HopGuiWorkflowGraphUpdateGui'", xe);
+              }
+
               HopGuiWorkflowGraph.super.redraw();
             });
   }

Reply via email to