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();
});
}