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 d0a06eb89b issue in FieldSplit transform
     new 45ed2cc853 Merge pull request #1642 from weiqingping/master
d0a06eb89b is described below

commit d0a06eb89bd2f671eecf6f3088e001f5d4896a36
Author: weiq <[email protected]>
AuthorDate: Thu Aug 18 16:01:04 2022 +0800

    issue in FieldSplit transform
---
 .../hop/pipeline/transforms/fieldsplitter/FieldSplitter.java   |  8 ++++++++
 .../pipeline/transforms/fieldsplitter/FieldSplitterDialog.java | 10 ++++++++++
 .../fieldsplitter/messages/messages_en_US.properties           |  2 ++
 .../fieldsplitter/messages/messages_zh_CN.properties           |  2 ++
 4 files changed, 22 insertions(+)

diff --git 
a/plugins/transforms/fieldsplitter/src/main/java/org/apache/hop/pipeline/transforms/fieldsplitter/FieldSplitter.java
 
b/plugins/transforms/fieldsplitter/src/main/java/org/apache/hop/pipeline/transforms/fieldsplitter/FieldSplitter.java
index 2992dad387..3af4d90006 100644
--- 
a/plugins/transforms/fieldsplitter/src/main/java/org/apache/hop/pipeline/transforms/fieldsplitter/FieldSplitter.java
+++ 
b/plugins/transforms/fieldsplitter/src/main/java/org/apache/hop/pipeline/transforms/fieldsplitter/FieldSplitter.java
@@ -64,6 +64,14 @@ public class FieldSplitter extends 
BaseTransform<FieldSplitterMeta, FieldSplitte
                 PKG, "FieldSplitter.Log.SplitFieldNotValid", 
meta.getSplitField())));
       }
 
+      //check if the new field is empty or not
+      int newFieldsCount = meta.getFieldsCount();
+
+      if (newFieldsCount <= 0) {
+        throw new HopValueException(
+                (BaseMessages.getString(
+                        PKG, "FieldSplitter.Log.SplitMetaNameNotValid")));
+      }
       // prepare the outputMeta
       //
       data.outputMeta = getInputRowMeta().clone();
diff --git 
a/plugins/transforms/fieldsplitter/src/main/java/org/apache/hop/pipeline/transforms/fieldsplitter/FieldSplitterDialog.java
 
b/plugins/transforms/fieldsplitter/src/main/java/org/apache/hop/pipeline/transforms/fieldsplitter/FieldSplitterDialog.java
index aa2cb307be..00be43026c 100644
--- 
a/plugins/transforms/fieldsplitter/src/main/java/org/apache/hop/pipeline/transforms/fieldsplitter/FieldSplitterDialog.java
+++ 
b/plugins/transforms/fieldsplitter/src/main/java/org/apache/hop/pipeline/transforms/fieldsplitter/FieldSplitterDialog.java
@@ -395,6 +395,16 @@ public class FieldSplitterDialog extends 
BaseTransformDialog implements ITransfo
 
     input.allocate(nrFields);
 
+    //check if the new field is empty or not
+
+    if (input.getFieldName().length <= 0) {
+      new ErrorDialog(
+              shell,
+              BaseMessages.getString(PKG, 
"FieldSplitterDialog.FailedToGetFields.DialogTitle"),
+              BaseMessages.getString(PKG, 
"FieldSplitter.Log.SplitMetaNameNotValid"),null);
+      return;
+    }
+
     // CHECKSTYLE:Indentation:OFF
     for (int i = 0; i < input.getFieldName().length; i++) {
       final TableItem ti = wFields.getNonEmpty(i);
diff --git 
a/plugins/transforms/fieldsplitter/src/main/resources/org/apache/hop/pipeline/transforms/fieldsplitter/messages/messages_en_US.properties
 
b/plugins/transforms/fieldsplitter/src/main/resources/org/apache/hop/pipeline/transforms/fieldsplitter/messages/messages_en_US.properties
index 5d513eac63..2b97204c55 100644
--- 
a/plugins/transforms/fieldsplitter/src/main/resources/org/apache/hop/pipeline/transforms/fieldsplitter/messages/messages_en_US.properties
+++ 
b/plugins/transforms/fieldsplitter/src/main/resources/org/apache/hop/pipeline/transforms/fieldsplitter/messages/messages_en_US.properties
@@ -73,3 +73,5 @@ FieldSplitter.Injection.NULL_IF=Value to convert to null
 FieldSplitter.Injection.DEFAULT=The default value in case of null
 FieldSplitter.Injection.TRIM_TYPE=The trim type (none, left, right, both)
 FieldSplitterMeta.keyword=field,splitter
+FieldSplitter.Log.SplitMetaNameNotValid=The new field's list can not be empty
+
diff --git 
a/plugins/transforms/fieldsplitter/src/main/resources/org/apache/hop/pipeline/transforms/fieldsplitter/messages/messages_zh_CN.properties
 
b/plugins/transforms/fieldsplitter/src/main/resources/org/apache/hop/pipeline/transforms/fieldsplitter/messages/messages_zh_CN.properties
index 3d10abdb77..a6972643b9 100644
--- 
a/plugins/transforms/fieldsplitter/src/main/resources/org/apache/hop/pipeline/transforms/fieldsplitter/messages/messages_zh_CN.properties
+++ 
b/plugins/transforms/fieldsplitter/src/main/resources/org/apache/hop/pipeline/transforms/fieldsplitter/messages/messages_zh_CN.properties
@@ -59,3 +59,5 @@ 
FieldSplitterMeta.Exception.UnableToLoadTransformMetaFromXML=Unable to load tran
 FieldSplitterMeta.keyword=field,splitter
 SplitFields.Description=\u8BE5 Transform 
\u5141\u8BB8\u60A8\u62C6\u5206\u5355\u4E2A\u5B57\u6BB5\u5230\u591A\u4E2A\u5B57\u6BB5\u4E2D
 SplitFields.Name=\u62C6\u5206\u5B57\u6BB5
+FieldSplitter.Log.SplitMetaNameNotValid=\u65b0\u5b57\u6bb5\u5217\u8868\u4e0d\u80fd\u4e3a\u7a7a
+

Reply via email to