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 51b7485df0 "compatible" field default is missing, fixes #7237 (#7238)
51b7485df0 is described below
commit 51b7485df0492433588bd62a31f448061112ca01
Author: Hans Van Akelyen <[email protected]>
AuthorDate: Sun Jun 7 20:38:44 2026 +0200
"compatible" field default is missing, fixes #7237 (#7238)
---
.../transforms/webservices/WebServiceMeta.java | 2 +-
.../transforms/webservices/WebServiceMetaTest.java | 25 ++++++++++++++++++++++
2 files changed, 26 insertions(+), 1 deletion(-)
diff --git
a/plugins/transforms/webservices/src/main/java/org/apache/hop/pipeline/transforms/webservices/WebServiceMeta.java
b/plugins/transforms/webservices/src/main/java/org/apache/hop/pipeline/transforms/webservices/WebServiceMeta.java
index ac8cce35ea..508b339631 100644
---
a/plugins/transforms/webservices/src/main/java/org/apache/hop/pipeline/transforms/webservices/WebServiceMeta.java
+++
b/plugins/transforms/webservices/src/main/java/org/apache/hop/pipeline/transforms/webservices/WebServiceMeta.java
@@ -118,7 +118,7 @@ public class WebServiceMeta extends
BaseTransformMeta<WebService, WebServiceData
private int callTransform;
/** Use the 2.5/3.0 parsing logic (available for compatibility reasons) */
- @HopMetadataProperty(key = "compatible")
+ @HopMetadataProperty(key = "compatible", defaultBoolean = true)
private boolean compatible;
/** The name of the repeating element name. Empty = a single row return */
diff --git
a/plugins/transforms/webservices/src/test/java/org/apache/hop/pipeline/transforms/webservices/WebServiceMetaTest.java
b/plugins/transforms/webservices/src/test/java/org/apache/hop/pipeline/transforms/webservices/WebServiceMetaTest.java
index cd039c2bb8..e47825ad99 100644
---
a/plugins/transforms/webservices/src/test/java/org/apache/hop/pipeline/transforms/webservices/WebServiceMetaTest.java
+++
b/plugins/transforms/webservices/src/test/java/org/apache/hop/pipeline/transforms/webservices/WebServiceMetaTest.java
@@ -18,12 +18,18 @@
package org.apache.hop.pipeline.transforms.webservices;
import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertTrue;
import org.apache.hop.core.HopClientEnvironment;
+import org.apache.hop.core.xml.XmlHandler;
+import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider;
+import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil;
import org.apache.hop.pipeline.transform.TransformSerializationTestUtil;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
+import org.w3c.dom.Document;
+import org.w3c.dom.Node;
class WebServiceMetaTest {
@@ -60,6 +66,25 @@ class WebServiceMetaTest {
validateFieldsOut(meta);
}
+ @Test
+ void testLegacyPipelineWithoutCompatibleElementDefaultsToTrue() throws
Exception {
+ assertTrue(fromXml("<wsURL>url</wsURL>").isCompatible());
+ }
+
+ /** An explicit value must always win over the default. */
+ @Test
+ void testExplicitCompatibleFlagIsRespected() throws Exception {
+ assertTrue(fromXml("<compatible>Y</compatible>").isCompatible());
+ assertFalse(fromXml("<compatible>N</compatible>").isCompatible());
+ }
+
+ private static WebServiceMeta fromXml(String innerXml) throws Exception {
+ Document document = XmlHandler.loadXmlString("<transform>" + innerXml +
"</transform>");
+ Node node = XmlHandler.getSubNode(document, "transform");
+ return XmlMetadataUtil.deSerializeFromXml(
+ node, WebServiceMeta.class, new MemoryMetadataProvider());
+ }
+
private static void validateFieldsOut(WebServiceMeta meta) {
assertEquals(3, meta.getFieldsOut().size());
WebServiceField o = meta.getFieldsOut().getFirst();