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 928196b56b convert binary data when copying field, fixes #2140 (#5818)
928196b56b is described below
commit 928196b56b32794833635a9edb231eba672bdec2
Author: Alex Mueller <[email protected]>
AuthorDate: Wed Oct 15 09:12:45 2025 +0200
convert binary data when copying field, fixes #2140 (#5818)
---
.../pipeline/transforms/calculator/calculations/CopyField.java | 8 +++++++-
.../hop/pipeline/transforms/calculator/CalculatorMetaTest.java | 3 ++-
2 files changed, 9 insertions(+), 2 deletions(-)
diff --git
a/plugins/transforms/calculator/src/main/java/org/apache/hop/pipeline/transforms/calculator/calculations/CopyField.java
b/plugins/transforms/calculator/src/main/java/org/apache/hop/pipeline/transforms/calculator/calculations/CopyField.java
index c748266474..ef9590e5cc 100644
---
a/plugins/transforms/calculator/src/main/java/org/apache/hop/pipeline/transforms/calculator/calculations/CopyField.java
+++
b/plugins/transforms/calculator/src/main/java/org/apache/hop/pipeline/transforms/calculator/calculations/CopyField.java
@@ -17,6 +17,7 @@
package org.apache.hop.pipeline.transforms.calculator.calculations;
+import org.apache.hop.core.exception.HopValueException;
import org.apache.hop.core.row.IValueMeta;
import org.apache.hop.i18n.BaseMessages;
import org.apache.hop.pipeline.transforms.calculator.CalculationInput;
@@ -43,7 +44,12 @@ public class CopyField implements ICalculation {
}
@Override
- public CalculationOutput calculate(CalculationInput in) {
+ public CalculationOutput calculate(CalculationInput in) throws
HopValueException {
+ if (in.dataA instanceof byte[] && in.metaA != null) {
+ Object convertedData = in.metaA.convertBinaryStringToNativeType((byte[])
in.dataA);
+ return new CalculationOutput(in.metaA.getType(), convertedData);
+ }
+
return new CalculationOutput(ICalculation.getResultType(in.metaA),
in.dataA);
}
}
diff --git
a/plugins/transforms/calculator/src/test/java/org/apache/hop/pipeline/transforms/calculator/CalculatorMetaTest.java
b/plugins/transforms/calculator/src/test/java/org/apache/hop/pipeline/transforms/calculator/CalculatorMetaTest.java
index d6192ed05d..a73176e0c3 100644
---
a/plugins/transforms/calculator/src/test/java/org/apache/hop/pipeline/transforms/calculator/CalculatorMetaTest.java
+++
b/plugins/transforms/calculator/src/test/java/org/apache/hop/pipeline/transforms/calculator/CalculatorMetaTest.java
@@ -18,6 +18,7 @@ package org.apache.hop.pipeline.transforms.calculator;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import java.util.Random;
import java.util.UUID;
@@ -53,7 +54,7 @@ class CalculatorMetaTest {
for (int i = 0; i < meta.getFunctions().size(); i++) {
CalculatorMetaFunction function = meta.getFunctions().get(i);
CalculatorMetaFunction function2 = meta2.getFunctions().get(i);
- assertEquals(function, function2);
+ assertTrue(function.equals(function2));
}
}