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 45c6e68d2c fix(salesforce): correct inverted input check in Salesforce 
output transforms (#8025)
45c6e68d2c is described below

commit 45c6e68d2c02524e364a8f4e04090e0619f59e1c
Author: budaykiran94 <[email protected]>
AuthorDate: Thu Aug 20 03:14:53 2026 -0500

    fix(salesforce): correct inverted input check in Salesforce output 
transforms (#8025)
    
    The check() method in SalesforceInsertMeta, SalesforceUpdateMeta, 
SalesforceUpsertMeta and SalesforceDeleteMeta reported an error when the 
transform had incoming hops and OK when it had none. All four are 
Output-category transforms that consume rows via getRow(), so they require 
input.
    
    Aligns the check with the convention used by TableOutputMeta, using the 
ExpectedInputOk / ExpectedInputError message keys. Only en_US messages are 
updated; translated locales are left to the i18n process.
    
    The testCheck assertions in the four corresponding test classes encoded the 
same inverted expectation and now pass an input array when checking a fully 
configured transform.
    
    SalesforceInputMeta is unchanged, as its check is correct for an input 
transform.
    
    Fixes #8024
    
    Co-authored-by: Uday Bheemarpu <budaykrian.94.com>
---
 .../transforms/salesforcedelete/SalesforceDeleteMeta.java      | 10 +++++-----
 .../transforms/salesforceinsert/SalesforceInsertMeta.java      | 10 +++++-----
 .../transforms/salesforceupdate/SalesforceUpdateMeta.java      | 10 +++++-----
 .../transforms/salesforceupsert/SalesforceUpsertMeta.java      | 10 +++++-----
 .../salesforcedelete/messages/messages_en_US.properties        |  4 ++--
 .../salesforceinsert/messages/messages_en_US.properties        |  4 ++--
 .../salesforceupdate/messages/messages_en_US.properties        |  4 ++--
 .../salesforceupsert/messages/messages_en_US.properties        |  4 ++--
 .../transforms/salesforcedelete/SalesforceDeleteMetaTest.java  |  3 ++-
 .../transforms/salesforceinsert/SalesforceInsertMetaTest.java  |  3 ++-
 .../transforms/salesforceupdate/SalesforceUpdateMetaTest.java  |  4 +++-
 .../transforms/salesforceupsert/SalesforceUpsertMetaTest.java  |  4 +++-
 12 files changed, 38 insertions(+), 32 deletions(-)

diff --git 
a/plugins/tech/salesforce/src/main/java/org/apache/hop/pipeline/transforms/salesforcedelete/SalesforceDeleteMeta.java
 
b/plugins/tech/salesforce/src/main/java/org/apache/hop/pipeline/transforms/salesforcedelete/SalesforceDeleteMeta.java
index f8bff831c6..a9151db73d 100644
--- 
a/plugins/tech/salesforce/src/main/java/org/apache/hop/pipeline/transforms/salesforcedelete/SalesforceDeleteMeta.java
+++ 
b/plugins/tech/salesforce/src/main/java/org/apache/hop/pipeline/transforms/salesforcedelete/SalesforceDeleteMeta.java
@@ -161,18 +161,18 @@ public class SalesforceDeleteMeta
         metadataProvider);
     CheckResult cr;
 
-    // See if we get input...
+    // See if we have input streams leading to this transform!
     if (input != null && input.length > 0) {
       cr =
           new CheckResult(
-              ICheckResult.TYPE_RESULT_ERROR,
-              BaseMessages.getString(PKG, 
"SalesforceDeleteMeta.CheckResult.NoInputExpected"),
+              ICheckResult.TYPE_RESULT_OK,
+              BaseMessages.getString(PKG, 
"SalesforceDeleteMeta.CheckResult.ExpectedInputOk"),
               transformMeta);
     } else {
       cr =
           new CheckResult(
-              ICheckResult.TYPE_RESULT_OK,
-              BaseMessages.getString(PKG, 
"SalesforceDeleteMeta.CheckResult.NoInput"),
+              ICheckResult.TYPE_RESULT_ERROR,
+              BaseMessages.getString(PKG, 
"SalesforceDeleteMeta.CheckResult.ExpectedInputError"),
               transformMeta);
     }
     remarks.add(cr);
diff --git 
a/plugins/tech/salesforce/src/main/java/org/apache/hop/pipeline/transforms/salesforceinsert/SalesforceInsertMeta.java
 
b/plugins/tech/salesforce/src/main/java/org/apache/hop/pipeline/transforms/salesforceinsert/SalesforceInsertMeta.java
index bfeb5f5841..82ffb49518 100644
--- 
a/plugins/tech/salesforce/src/main/java/org/apache/hop/pipeline/transforms/salesforceinsert/SalesforceInsertMeta.java
+++ 
b/plugins/tech/salesforce/src/main/java/org/apache/hop/pipeline/transforms/salesforceinsert/SalesforceInsertMeta.java
@@ -142,18 +142,18 @@ public class SalesforceInsertMeta
 
     CheckResult cr;
 
-    // See if we get input...
+    // See if we have input streams leading to this transform!
     if (input != null && input.length > 0) {
       cr =
           new CheckResult(
-              ICheckResult.TYPE_RESULT_ERROR,
-              BaseMessages.getString(PKG, 
"SalesforceInsertMeta.CheckResult.NoInputExpected"),
+              ICheckResult.TYPE_RESULT_OK,
+              BaseMessages.getString(PKG, 
"SalesforceInsertMeta.CheckResult.ExpectedInputOk"),
               transformMeta);
     } else {
       cr =
           new CheckResult(
-              ICheckResult.TYPE_RESULT_OK,
-              BaseMessages.getString(PKG, 
"SalesforceInsertMeta.CheckResult.NoInput"),
+              ICheckResult.TYPE_RESULT_ERROR,
+              BaseMessages.getString(PKG, 
"SalesforceInsertMeta.CheckResult.ExpectedInputError"),
               transformMeta);
     }
     remarks.add(cr);
diff --git 
a/plugins/tech/salesforce/src/main/java/org/apache/hop/pipeline/transforms/salesforceupdate/SalesforceUpdateMeta.java
 
b/plugins/tech/salesforce/src/main/java/org/apache/hop/pipeline/transforms/salesforceupdate/SalesforceUpdateMeta.java
index 46faa60d33..50d7704462 100644
--- 
a/plugins/tech/salesforce/src/main/java/org/apache/hop/pipeline/transforms/salesforceupdate/SalesforceUpdateMeta.java
+++ 
b/plugins/tech/salesforce/src/main/java/org/apache/hop/pipeline/transforms/salesforceupdate/SalesforceUpdateMeta.java
@@ -131,18 +131,18 @@ public class SalesforceUpdateMeta
 
     CheckResult cr;
 
-    // See if we get input...
+    // See if we have input streams leading to this transform!
     if (input != null && input.length > 0) {
       cr =
           new CheckResult(
-              ICheckResult.TYPE_RESULT_ERROR,
-              BaseMessages.getString(PKG, 
"SalesforceUpdateMeta.CheckResult.NoInputExpected"),
+              ICheckResult.TYPE_RESULT_OK,
+              BaseMessages.getString(PKG, 
"SalesforceUpdateMeta.CheckResult.ExpectedInputOk"),
               transformMeta);
     } else {
       cr =
           new CheckResult(
-              ICheckResult.TYPE_RESULT_OK,
-              BaseMessages.getString(PKG, 
"SalesforceUpdateMeta.CheckResult.NoInput"),
+              ICheckResult.TYPE_RESULT_ERROR,
+              BaseMessages.getString(PKG, 
"SalesforceUpdateMeta.CheckResult.ExpectedInputError"),
               transformMeta);
     }
     remarks.add(cr);
diff --git 
a/plugins/tech/salesforce/src/main/java/org/apache/hop/pipeline/transforms/salesforceupsert/SalesforceUpsertMeta.java
 
b/plugins/tech/salesforce/src/main/java/org/apache/hop/pipeline/transforms/salesforceupsert/SalesforceUpsertMeta.java
index d2a0966417..b4c07793af 100644
--- 
a/plugins/tech/salesforce/src/main/java/org/apache/hop/pipeline/transforms/salesforceupsert/SalesforceUpsertMeta.java
+++ 
b/plugins/tech/salesforce/src/main/java/org/apache/hop/pipeline/transforms/salesforceupsert/SalesforceUpsertMeta.java
@@ -148,18 +148,18 @@ public class SalesforceUpsertMeta
 
     CheckResult cr;
 
-    // See if we get input...
+    // See if we have input streams leading to this transform!
     if (input != null && input.length > 0) {
       cr =
           new CheckResult(
-              ICheckResult.TYPE_RESULT_ERROR,
-              BaseMessages.getString(PKG, 
"SalesforceUpsertMeta.CheckResult.NoInputExpected"),
+              ICheckResult.TYPE_RESULT_OK,
+              BaseMessages.getString(PKG, 
"SalesforceUpsertMeta.CheckResult.ExpectedInputOk"),
               transformMeta);
     } else {
       cr =
           new CheckResult(
-              ICheckResult.TYPE_RESULT_OK,
-              BaseMessages.getString(PKG, 
"SalesforceUpsertMeta.CheckResult.NoInput"),
+              ICheckResult.TYPE_RESULT_ERROR,
+              BaseMessages.getString(PKG, 
"SalesforceUpsertMeta.CheckResult.ExpectedInputError"),
               transformMeta);
     }
     remarks.add(cr);
diff --git 
a/plugins/tech/salesforce/src/main/resources/org/apache/hop/pipeline/transforms/salesforcedelete/messages/messages_en_US.properties
 
b/plugins/tech/salesforce/src/main/resources/org/apache/hop/pipeline/transforms/salesforcedelete/messages/messages_en_US.properties
index 40d277252c..9eeeb23de5 100644
--- 
a/plugins/tech/salesforce/src/main/resources/org/apache/hop/pipeline/transforms/salesforcedelete/messages/messages_en_US.properties
+++ 
b/plugins/tech/salesforce/src/main/resources/org/apache/hop/pipeline/transforms/salesforcedelete/messages/messages_en_US.properties
@@ -58,7 +58,7 @@ SalesforceDeleteDialog.UseCompression.Label=Use compression
 SalesforceDeleteDialog.UseCompression.Tooltip=Use compression
 SalesforceDeleteDialog.User.Label=Username
 SalesforceDeleteDialog.User.Tooltip=Username
-SalesforceDeleteMeta.CheckResult.NoInput=Not receiving any input from other 
transforms.
-SalesforceDeleteMeta.CheckResult.NoInputExpected=This transform is not 
expecting nor reading any input
+SalesforceDeleteMeta.CheckResult.ExpectedInputError=No input received from 
other transforms\!
+SalesforceDeleteMeta.CheckResult.ExpectedInputOk=Transform is receiving info 
from other transforms.
 SalesforceDeleteMeta.keyword=salesforce,delete,crm,remove,soap
 SalesforceInputMeta.CheckResult.NoInputExpected=This transform is receiving 
information from previous transforms.
diff --git 
a/plugins/tech/salesforce/src/main/resources/org/apache/hop/pipeline/transforms/salesforceinsert/messages/messages_en_US.properties
 
b/plugins/tech/salesforce/src/main/resources/org/apache/hop/pipeline/transforms/salesforceinsert/messages/messages_en_US.properties
index 211ce0c264..b207a15e1c 100644
--- 
a/plugins/tech/salesforce/src/main/resources/org/apache/hop/pipeline/transforms/salesforceinsert/messages/messages_en_US.properties
+++ 
b/plugins/tech/salesforce/src/main/resources/org/apache/hop/pipeline/transforms/salesforceinsert/messages/messages_en_US.properties
@@ -85,6 +85,6 @@ SalesforceInsertDialog.User.Tooltip=Username
 SalesforceInsertDialog.UsernameMissing.DialogMessage=Username is missing\! 
This field is mandatory.
 SalesforceInsertMeta.CheckResult.FieldsOk=At least one field is specified in 
the returning grid fields.
 SalesforceInsertMeta.CheckResult.NoFields=The returning fields grid is empty\!
-SalesforceInsertMeta.CheckResult.NoInput=Not receiving any input from other 
transforms.
-SalesforceInsertMeta.CheckResult.NoInputExpected=This transform is not 
expecting nor reading any input
+SalesforceInsertMeta.CheckResult.ExpectedInputError=No input received from 
other transforms\!
+SalesforceInsertMeta.CheckResult.ExpectedInputOk=Transform is receiving info 
from other transforms.
 SalesforceInsertMeta.keyword=salesforce,insert,crm,soap,api
diff --git 
a/plugins/tech/salesforce/src/main/resources/org/apache/hop/pipeline/transforms/salesforceupdate/messages/messages_en_US.properties
 
b/plugins/tech/salesforce/src/main/resources/org/apache/hop/pipeline/transforms/salesforceupdate/messages/messages_en_US.properties
index e183e5b0c1..602f3ac18d 100644
--- 
a/plugins/tech/salesforce/src/main/resources/org/apache/hop/pipeline/transforms/salesforceupdate/messages/messages_en_US.properties
+++ 
b/plugins/tech/salesforce/src/main/resources/org/apache/hop/pipeline/transforms/salesforceupdate/messages/messages_en_US.properties
@@ -70,6 +70,6 @@ SalesforceUpdateDialog.User.Tooltip=Username
 SalesforceUpdateDialog.UsernameMissing.DialogMessage=Username is missing\! 
This field is mandatory.
 SalesforceUpdateMeta.CheckResult.FieldsOk=At least one field is specified in 
the update grid fields.
 SalesforceUpdateMeta.CheckResult.NoFields=The fields to update grid is empty\!
-SalesforceUpdateMeta.CheckResult.NoInput=Not receiving any input from other 
transforms.
-SalesforceUpdateMeta.CheckResult.NoInputExpected=This transform is not 
expecting nor reading any input
+SalesforceUpdateMeta.CheckResult.ExpectedInputError=No input received from 
other transforms\!
+SalesforceUpdateMeta.CheckResult.ExpectedInputOk=Transform is receiving info 
from other transforms.
 SalesforceUpdateMeta.keyword=salesforce,crm,update,soap,api
diff --git 
a/plugins/tech/salesforce/src/main/resources/org/apache/hop/pipeline/transforms/salesforceupsert/messages/messages_en_US.properties
 
b/plugins/tech/salesforce/src/main/resources/org/apache/hop/pipeline/transforms/salesforceupsert/messages/messages_en_US.properties
index ec82e86237..4689a36003 100644
--- 
a/plugins/tech/salesforce/src/main/resources/org/apache/hop/pipeline/transforms/salesforceupsert/messages/messages_en_US.properties
+++ 
b/plugins/tech/salesforce/src/main/resources/org/apache/hop/pipeline/transforms/salesforceupsert/messages/messages_en_US.properties
@@ -86,6 +86,6 @@ SalesforceUpsertDialog.User.Tooltip=Username
 SalesforceUpsertDialog.UsernameMissing.DialogMessage=Username is missing\! 
This field is mandatory.
 SalesforceUpsertMeta.CheckResult.FieldsOk=At least one field is specified in 
the returning grid fields.
 SalesforceUpsertMeta.CheckResult.NoFields=The returning fields grid is empty\!
-SalesforceUpsertMeta.CheckResult.NoInput=Not receiving any input from other 
transforms.
-SalesforceUpsertMeta.CheckResult.NoInputExpected=This transform is not 
expecting nor reading any input
+SalesforceUpsertMeta.CheckResult.ExpectedInputError=No input received from 
other transforms\!
+SalesforceUpsertMeta.CheckResult.ExpectedInputOk=Transform is receiving info 
from other transforms.
 SalesforceUpsertMeta.keyword=salesforce,upsert,crm,soap,update
diff --git 
a/plugins/tech/salesforce/src/test/java/org/apache/hop/pipeline/transforms/salesforcedelete/SalesforceDeleteMetaTest.java
 
b/plugins/tech/salesforce/src/test/java/org/apache/hop/pipeline/transforms/salesforcedelete/SalesforceDeleteMetaTest.java
index 845c5709eb..a87b3b631b 100644
--- 
a/plugins/tech/salesforce/src/test/java/org/apache/hop/pipeline/transforms/salesforcedelete/SalesforceDeleteMetaTest.java
+++ 
b/plugins/tech/salesforce/src/test/java/org/apache/hop/pipeline/transforms/salesforcedelete/SalesforceDeleteMetaTest.java
@@ -118,7 +118,8 @@ class SalesforceDeleteMetaTest {
     remarks.clear();
     meta.setDefault();
     meta.setUsername("user");
-    meta.check(remarks, null, null, null, null, null, null, null, null);
+    meta.check(
+        remarks, null, null, null, new String[] {"previousTransform"}, null, 
null, null, null);
     hasError = false;
     for (ICheckResult cr : remarks) {
       if (cr.getType() == ICheckResult.TYPE_RESULT_ERROR) {
diff --git 
a/plugins/tech/salesforce/src/test/java/org/apache/hop/pipeline/transforms/salesforceinsert/SalesforceInsertMetaTest.java
 
b/plugins/tech/salesforce/src/test/java/org/apache/hop/pipeline/transforms/salesforceinsert/SalesforceInsertMetaTest.java
index 22bbd2f9f8..ac4c4a5594 100644
--- 
a/plugins/tech/salesforce/src/test/java/org/apache/hop/pipeline/transforms/salesforceinsert/SalesforceInsertMetaTest.java
+++ 
b/plugins/tech/salesforce/src/test/java/org/apache/hop/pipeline/transforms/salesforceinsert/SalesforceInsertMetaTest.java
@@ -113,7 +113,8 @@ class SalesforceInsertMetaTest {
     //    meta.setUpdateLookup(new String[] {"SalesforceField"});
     //    meta.setUpdateStream(new String[] {"StreamField"});
     //    meta.setUseExternalId(new Boolean[] {false});
-    meta.check(remarks, null, null, null, null, null, null, null, null);
+    meta.check(
+        remarks, null, null, null, new String[] {"previousTransform"}, null, 
null, null, null);
     hasError = false;
     for (ICheckResult cr : remarks) {
       if (cr.getType() == ICheckResult.TYPE_RESULT_ERROR) {
diff --git 
a/plugins/tech/salesforce/src/test/java/org/apache/hop/pipeline/transforms/salesforceupdate/SalesforceUpdateMetaTest.java
 
b/plugins/tech/salesforce/src/test/java/org/apache/hop/pipeline/transforms/salesforceupdate/SalesforceUpdateMetaTest.java
index 4594cb7f0a..c234f9c957 100644
--- 
a/plugins/tech/salesforce/src/test/java/org/apache/hop/pipeline/transforms/salesforceupdate/SalesforceUpdateMetaTest.java
+++ 
b/plugins/tech/salesforce/src/test/java/org/apache/hop/pipeline/transforms/salesforceupdate/SalesforceUpdateMetaTest.java
@@ -131,7 +131,9 @@ class SalesforceUpdateMetaTest {
     //    meta.setUpdateLookup(new String[] {"SalesforceField"});
     //    meta.setUpdateStream(new String[] {"StreamField"});
     //    meta.setUseExternalId(new Boolean[] {false});
-    meta.check(remarks, null, null, null, null, null, null, null, null);
+    meta.check(
+        remarks, null, null, null, new String[] {"previousTransform"}, null, 
null, null, null);
+    hasError = false;
     hasError = false;
     for (ICheckResult cr : remarks) {
       if (cr.getType() == ICheckResult.TYPE_RESULT_ERROR) {
diff --git 
a/plugins/tech/salesforce/src/test/java/org/apache/hop/pipeline/transforms/salesforceupsert/SalesforceUpsertMetaTest.java
 
b/plugins/tech/salesforce/src/test/java/org/apache/hop/pipeline/transforms/salesforceupsert/SalesforceUpsertMetaTest.java
index a9c4f6fc73..91b1fb55e8 100644
--- 
a/plugins/tech/salesforce/src/test/java/org/apache/hop/pipeline/transforms/salesforceupsert/SalesforceUpsertMetaTest.java
+++ 
b/plugins/tech/salesforce/src/test/java/org/apache/hop/pipeline/transforms/salesforceupsert/SalesforceUpsertMetaTest.java
@@ -126,7 +126,9 @@ class SalesforceUpsertMetaTest {
     //    meta.setUpdateLookup(new String[] {"SalesforceField"});
     //    meta.setUpdateStream(new String[] {"StreamField"});
     //    meta.setUseExternalId(new Boolean[] {false});
-    meta.check(remarks, null, null, null, null, null, null, null, null);
+    meta.check(
+        remarks, null, null, null, new String[] {"previousTransform"}, null, 
null, null, null);
+    hasError = false;
     hasError = false;
     for (ICheckResult cr : remarks) {
       if (cr.getType() == ICheckResult.TYPE_RESULT_ERROR) {

Reply via email to