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/01/10 14:18:37 UTC

[hop] branch master updated: HOP-3586 Unable to remove "Insert data from transform" from TableInput - Fix update of TransformIOMeta - Remove unused method: checkCancel and variable: changedInDialog

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 16e93b0  HOP-3586 Unable to remove "Insert data from transform" from TableInput - Fix update of TransformIOMeta - Remove unused method: checkCancel and variable: changedInDialog
     new d1bb46c  Merge pull request #1264 from nadment/HOP-3586
16e93b0 is described below

commit 16e93b000be1eb1d0b3984f38047fa69063ab3c6
Author: Nicolas Adment <na...@gmail.com>
AuthorDate: Sun Jan 9 20:28:15 2022 +0100

    HOP-3586 Unable to remove "Insert data from transform" from TableInput
    - Fix update of TransformIOMeta
    - Remove unused method: checkCancel and variable: changedInDialog
---
 .../transforms/tableinput/TableInputDialog.java    | 61 ++++++----------------
 .../transforms/tableinput/TableInputMeta.java      | 27 +---------
 2 files changed, 19 insertions(+), 69 deletions(-)

diff --git a/plugins/transforms/tableinput/src/main/java/org/apache/hop/pipeline/transforms/tableinput/TableInputDialog.java b/plugins/transforms/tableinput/src/main/java/org/apache/hop/pipeline/transforms/tableinput/TableInputDialog.java
index 4d97ef5..48517cb 100644
--- a/plugins/transforms/tableinput/src/main/java/org/apache/hop/pipeline/transforms/tableinput/TableInputDialog.java
+++ b/plugins/transforms/tableinput/src/main/java/org/apache/hop/pipeline/transforms/tableinput/TableInputDialog.java
@@ -33,7 +33,6 @@ import org.apache.hop.pipeline.PipelinePreviewFactory;
 import org.apache.hop.pipeline.transform.BaseTransformMeta;
 import org.apache.hop.pipeline.transform.ITransformDialog;
 import org.apache.hop.pipeline.transform.TransformMeta;
-import org.apache.hop.pipeline.transform.errorhandling.IStream;
 import org.apache.hop.ui.core.database.dialog.DatabaseExplorerDialog;
 import org.apache.hop.ui.core.dialog.BaseDialog;
 import org.apache.hop.ui.core.dialog.EnterNumberDialog;
@@ -42,7 +41,6 @@ import org.apache.hop.ui.core.dialog.PreviewRowsDialog;
 import org.apache.hop.ui.core.widget.MetaSelectionLine;
 import org.apache.hop.ui.core.widget.StyledTextComp;
 import org.apache.hop.ui.core.widget.TextVar;
-import org.apache.hop.ui.hopgui.file.workflow.HopGuiWorkflowGraph;
 import org.apache.hop.ui.pipeline.dialog.PipelinePreviewProgressDialog;
 import org.apache.hop.ui.pipeline.transform.BaseTransformDialog;
 import org.eclipse.swt.SWT;
@@ -62,7 +60,7 @@ public class TableInputDialog extends BaseTransformDialog implements ITransformD
 
   private StyledTextComp wSql;
 
-  private CCombo wDatefrom;
+  private CCombo wDataFrom;
 
   private TextVar wLimit;
 
@@ -72,7 +70,6 @@ public class TableInputDialog extends BaseTransformDialog implements ITransformD
   private Button wVariables;
 
   private final TableInputMeta input;
-  private boolean changedInDialog;
 
   private Label wlPosition;
 
@@ -92,7 +89,6 @@ public class TableInputDialog extends BaseTransformDialog implements ITransformD
 
     ModifyListener lsMod =
         e -> {
-          changedInDialog = false; // for prompting if dialog is simply closed
           input.setChanged();
         };
     changed = input.hasChanged();
@@ -193,21 +189,21 @@ public class TableInputDialog extends BaseTransformDialog implements ITransformD
     fdlDatefrom.right = new FormAttachment(middle, -margin);
     fdlDatefrom.bottom = new FormAttachment(wlEachRow, -margin);
     wlDatefrom.setLayoutData(fdlDatefrom);
-    wDatefrom = new CCombo(shell, SWT.BORDER);
-    props.setLook(wDatefrom);
+    wDataFrom = new CCombo(shell, SWT.BORDER);
+    props.setLook(wDataFrom);
 
     List<TransformMeta> previousTransforms =
         pipelineMeta.findPreviousTransforms(pipelineMeta.findTransform(transformName));
     for (TransformMeta transformMeta : previousTransforms) {
-      wDatefrom.add(transformMeta.getName());
+      wDataFrom.add(transformMeta.getName());
     }
 
-    wDatefrom.addModifyListener(lsMod);
+    wDataFrom.addModifyListener(lsMod);
     FormData fdDatefrom = new FormData();
     fdDatefrom.left = new FormAttachment(middle, 0);
     fdDatefrom.right = new FormAttachment(100, 0);
     fdDatefrom.bottom = new FormAttachment(wlDatefrom, 0, SWT.CENTER);
-    wDatefrom.setLayoutData(fdDatefrom);
+    wDataFrom.setLayoutData(fdDatefrom);
 
     // Replace variables in SQL?
     //
@@ -324,11 +320,10 @@ public class TableInputDialog extends BaseTransformDialog implements ITransformD
     wPreview.addListener(SWT.Selection, e -> preview());
     wOk.addListener(SWT.Selection, e -> ok());
     wbTable.addListener(SWT.Selection, e -> getSql());
-    wDatefrom.addListener(SWT.Selection, e -> setFlags());
-    wDatefrom.addListener(SWT.FocusOut, e -> setFlags());
+    wDataFrom.addListener(SWT.Selection, e -> setFlags());
+    wDataFrom.addListener(SWT.FocusOut, e -> setFlags());
 
     getData();
-    changedInDialog = false; // for prompting if dialog is simply closed
     input.setChanged(changed);
 
     BaseDialog.defaultShellHandling(shell, c -> ok(), c -> cancel());
@@ -361,17 +356,8 @@ public class TableInputDialog extends BaseTransformDialog implements ITransformD
     }
 
     wLimit.setText(Const.NVL(input.getRowLimit(), ""));
-
-    IStream infoStream = input.getTransformIOMeta().getInfoStreams().get(0);
-    infoStream.setSubject(input.getLookup());
-    if (infoStream.getTransformMeta() != null) {
-      wDatefrom.setText(infoStream.getTransformName());
-      wEachRow.setSelection(input.isExecuteEachInputRow());
-    } else {
-      wEachRow.setEnabled(false);
-      wlEachRow.setEnabled(false);
-    }
-
+    wDataFrom.setText(Const.NVL(input.getLookup(), ""));
+    wEachRow.setSelection(input.isExecuteEachInputRow());
     wVariables.setSelection(input.isVariableReplacementActive());
 
     setSqlToolTip();
@@ -381,21 +367,6 @@ public class TableInputDialog extends BaseTransformDialog implements ITransformD
     wTransformName.setFocus();
   }
 
-  private void checkCancel(ShellEvent e) {
-    if (changedInDialog) {
-      int save = HopGuiWorkflowGraph.showChangedWarning(shell, wTransformName.getText());
-      if (save == SWT.CANCEL) {
-        e.doit = false;
-      } else if (save == SWT.YES) {
-        ok();
-      } else {
-        cancel();
-      }
-    } else {
-      cancel();
-    }
-  }
-
   private void cancel() {
     transformName = null;
     input.setChanged(changed);
@@ -411,12 +382,14 @@ public class TableInputDialog extends BaseTransformDialog implements ITransformD
             ? wSql.getSelectionText()
             : wSql.getText());
 
-    meta.setRowLimit(wLimit.getText());
-    IStream infoStream = meta.getTransformIOMeta().getInfoStreams().get(0);
-    infoStream.setTransformMeta(pipelineMeta.findTransform(wDatefrom.getText()));
-    meta.setLookup(infoStream.getTransformName());
+    meta.setRowLimit(wLimit.getText());  
     meta.setExecuteEachInputRow(wEachRow.getSelection());
     meta.setVariableReplacementActive(wVariables.getSelection());
+    meta.setLookup(wDataFrom.getText());
+    
+    // Force recreate TransformIOMeta and update info stream
+    meta.resetTransformIoMeta();
+    meta.searchInfoAndTargetTransforms(pipelineMeta.getTransforms());
   }
 
   private void ok() {
@@ -522,7 +495,7 @@ public class TableInputDialog extends BaseTransformDialog implements ITransformD
   }
 
   private void setFlags() {
-    if (!Utils.isEmpty(wDatefrom.getText())) {
+    if (!Utils.isEmpty(wDataFrom.getText())) {
       // The foreach check box...
       wEachRow.setEnabled(true);
       wlEachRow.setEnabled(true);
diff --git a/plugins/transforms/tableinput/src/main/java/org/apache/hop/pipeline/transforms/tableinput/TableInputMeta.java b/plugins/transforms/tableinput/src/main/java/org/apache/hop/pipeline/transforms/tableinput/TableInputMeta.java
index 84f2ba1..0ad8081 100644
--- a/plugins/transforms/tableinput/src/main/java/org/apache/hop/pipeline/transforms/tableinput/TableInputMeta.java
+++ b/plugins/transforms/tableinput/src/main/java/org/apache/hop/pipeline/transforms/tableinput/TableInputMeta.java
@@ -416,7 +416,7 @@ public class TableInputMeta extends BaseTransformMeta
     List<IStream> infoStreams = getTransformIOMeta().getInfoStreams();
     for (IStream stream : infoStreams) {
       stream.setTransformMeta(
-          TransformMeta.findTransform(transforms, (String) stream.getSubject()));
+          TransformMeta.findTransform(transforms, stream.getSubject()));
     }
   }
 
@@ -510,34 +510,11 @@ public class TableInputMeta extends BaseTransformMeta
               null,
               BaseMessages.getString(PKG, "TableInputMeta.InfoStream.Description"),
               StreamIcon.INFO,
-              null);
+              lookup);
       ioMeta.addStream(stream);
       setTransformIOMeta(ioMeta);
     }
 
     return ioMeta;
   }
-
-  @Override
-  public void resetTransformIoMeta() {
-    // Do nothing, don't reset as there is no need to do this.
-  }
-
-  /**
-   * For compatibility, wraps around the standard transform IO metadata
-   *
-   * @param transformMeta The transform where you read lookup data from
-   */
-  public void setLookupFromTransform(TransformMeta transformMeta) {
-    getTransformIOMeta().getInfoStreams().get(0).setTransformMeta(transformMeta);
-  }
-
-  /**
-   * For compatibility, wraps around the standard transform IO metadata
-   *
-   * @return The transform where you read lookup data from
-   */
-  public TransformMeta getLookupFromTransform() {
-    return getTransformIOMeta().getInfoStreams().get(0).getTransformMeta();
-  }
 }