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();

Reply via email to