You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hop.apache.org by ha...@apache.org on 2022/02/01 14:33:15 UTC

[hop] branch master updated: HOP-3719 Fix Multiway Merge Join transforms fail select keys

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

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


The following commit(s) were added to refs/heads/master by this push:
     new c1c6350  HOP-3719 Fix Multiway Merge Join transforms fail select keys
     new d6ce40e  Merge pull request #1318 from nadment/HOP-3719
c1c6350 is described below

commit c1c6350c42560b7c8ba6d500f295c160818b12cc
Author: Nicolas Adment <na...@gmail.com>
AuthorDate: Mon Jan 31 23:02:56 2022 +0100

    HOP-3719 Fix Multiway Merge Join transforms fail select keys
---
 .../multimerge/MultiMergeJoinDialog.java           | 65 ++++++++++------------
 .../org/apache/hop/ui/core/dialog/BaseDialog.java  |  2 +-
 2 files changed, 31 insertions(+), 36 deletions(-)

diff --git a/plugins/transforms/multimerge/src/main/java/org/apache/hop/pipeline/transforms/multimerge/MultiMergeJoinDialog.java b/plugins/transforms/multimerge/src/main/java/org/apache/hop/pipeline/transforms/multimerge/MultiMergeJoinDialog.java
index d5e8674..943737d 100644
--- a/plugins/transforms/multimerge/src/main/java/org/apache/hop/pipeline/transforms/multimerge/MultiMergeJoinDialog.java
+++ b/plugins/transforms/multimerge/src/main/java/org/apache/hop/pipeline/transforms/multimerge/MultiMergeJoinDialog.java
@@ -41,8 +41,6 @@ import org.apache.hop.ui.pipeline.transform.BaseTransformDialog;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.custom.CCombo;
 import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
 import org.eclipse.swt.layout.FormAttachment;
 import org.eclipse.swt.layout.FormData;
 import org.eclipse.swt.layout.FormLayout;
@@ -309,9 +307,10 @@ public class MultiMergeJoinDialog extends BaseTransformDialog implements ITransf
     formLayout.marginWidth = 5;
     formLayout.marginHeight = 5;
     subShell.setLayout(formLayout);
-    subShell.setSize(200, 150);
+    subShell.setMinimumSize(300, 300);
+    subShell.setSize(400, 300);
     subShell.setText(BaseMessages.getString(PKG, "MultiMergeJoinMeta.JoinKeys"));
-    subShell.setImage(GuiResource.getInstance().getImagePipeline());
+    subShell.setImage(GuiResource.getInstance().getImageHop());
     Label wlKeys = new Label(subShell, SWT.NONE);
     wlKeys.setText(BaseMessages.getString(PKG, "MultiMergeJoinDialog.Keys"));
     FormData fdlKeys = new FormData();
@@ -381,47 +380,43 @@ public class MultiMergeJoinDialog extends BaseTransformDialog implements ITransf
     fdbKeys.left = new FormAttachment(0, 0);
     fdbKeys.right = new FormAttachment(100, -margin);
     getKeyButton.setLayoutData(fdbKeys);
-    getKeyButton.addSelectionListener(
-        new SelectionAdapter() {
-
-          @Override
-          public void widgetSelected(SelectionEvent e) {
+    getKeyButton.addListener(SWT.Selection, e -> {
             BaseTransformDialog.getFieldsFromPrevious(
                 prev, wKeys, 1, new int[] {1}, new int[] {}, -1, -1, null);
-          }
-        });
+    });
+    
+    Listener onOk = (e) ->  {
+      int nrKeys = wKeys.nrNonEmpty();
+      StringBuilder sb = new StringBuilder();
+      for (int i = 0; i < nrKeys; i++) {
+        TableItem item = wKeys.getNonEmpty(i);
+        sb.append(item.getText(1));
+        if (nrKeys > 1 && i != nrKeys - 1) {
+          sb.append(",");
+        }
+      }
+      keyValTextBox.setText(sb.toString());
+      subShell.close();
+    }; 
+    
     // Some buttons
     Button okButton = new Button(subShell, SWT.PUSH);
     okButton.setText(BaseMessages.getString(PKG, "System.Button.OK"));
-
-    setButtonPositions(new Button[] {okButton}, margin, getKeyButton);
-
-    okButton.addSelectionListener(
-        new SelectionAdapter() {
-          @Override
-          public void widgetSelected(SelectionEvent e) {
-            int nrKeys = wKeys.nrNonEmpty();
-            StringBuilder sb = new StringBuilder();
-            for (int i = 0; i < nrKeys; i++) {
-              TableItem item = wKeys.getNonEmpty(i);
-              sb.append(item.getText(1));
-              if (nrKeys > 1 && i != nrKeys - 1) {
-                sb.append(",");
-              }
-            }
-            keyValTextBox.setText(sb.toString());
-            subShell.close();
-          }
-        });
-
+    okButton.addListener(SWT.Selection, onOk);
+    Button cancelButton = new Button(subShell, SWT.PUSH);
+    cancelButton.setText(BaseMessages.getString(PKG, "System.Button.Cancel"));
+    cancelButton.addListener(SWT.Selection, e -> subShell.close());
+       
+    this.setButtonPositions(new Button[] {okButton, cancelButton}, margin, null);
+    
     for (int i = 0; i < keys.length; i++) {
       TableItem item = wKeys.table.getItem(i);
       if (keys[i] != null) {
         item.setText(1, keys[i]);
       }
-    }
-
-    BaseDialog.defaultShellHandling(subShell, c -> ok(), c -> cancel());
+    }    
+    
+    BaseDialog.defaultShellHandling(subShell, x-> onOk.handleEvent(null), x -> {});
   }
 
   protected void setComboBoxes() {
diff --git a/ui/src/main/java/org/apache/hop/ui/core/dialog/BaseDialog.java b/ui/src/main/java/org/apache/hop/ui/core/dialog/BaseDialog.java
index 5a94ea0..cf824c9 100644
--- a/ui/src/main/java/org/apache/hop/ui/core/dialog/BaseDialog.java
+++ b/ui/src/main/java/org/apache/hop/ui/core/dialog/BaseDialog.java
@@ -69,7 +69,7 @@ public abstract class BaseDialog extends Dialog {
   public static final int VAR_ICON_HEIGHT =
       GuiResource.getInstance().getImageVariable().getBounds().height;
 
-  protected Map<String, Listener> buttons = new HashMap();
+  protected Map<String, Listener> buttons = new HashMap<>();
 
   protected Shell shell;