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) {