This is an automated email from the ASF dual-hosted git repository.

veithen pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ws-axiom.git


The following commit(s) were added to refs/heads/master by this push:
     new c259c5812 Refactor SetNamespace tests to use records for test 
parameters
c259c5812 is described below

commit c259c5812fe33a84cb7d22b2fa78374d63ddfff1
Author: Andreas Veithen-Knowles <[email protected]>
AuthorDate: Sat Mar 21 11:01:35 2026 +0000

    Refactor SetNamespace tests to use records for test parameters
    
    Add a Params interface to SetNamespaceTestCase declaring accessors for
    the 6 common test parameters. Each TestSetNamespace subclass (attribute
    and element) defines a nested Params record implementing this interface,
    with additional subclass-specific fields (declare/owner for attribute,
    declare for element).
    
    This replaces long positional constructor parameter lists with
    self-documenting record types.
---
 .../org/apache/axiom/ts/om/OMTestSuiteBuilder.java | 175 ++++++++++-----------
 .../apache/axiom/ts/om/SetNamespaceTestCase.java   | 128 ++++++++-------
 .../axiom/ts/om/attribute/TestSetNamespace.java    |  51 ++----
 .../axiom/ts/om/element/TestSetNamespace.java      |  35 ++---
 4 files changed, 190 insertions(+), 199 deletions(-)

diff --git 
a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/OMTestSuiteBuilder.java
 
b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/OMTestSuiteBuilder.java
index 2a7d0b46f..f2dc41865 100644
--- 
a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/OMTestSuiteBuilder.java
+++ 
b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/OMTestSuiteBuilder.java
@@ -88,87 +88,82 @@ public class OMTestSuiteBuilder extends 
MatrixTestSuiteBuilder {
             addTest(
                     new org.apache.axiom.ts.om.attribute.TestSetNamespace(
                             metaFactory,
-                            "urn:test",
-                            "p",
-                            declare,
-                            owner,
-                            null,
-                            false,
-                            "p",
-                            declare && owner));
+                            new 
org.apache.axiom.ts.om.attribute.TestSetNamespace.Params(
+                                    "urn:test",
+                                    "p",
+                                    declare,
+                                    owner,
+                                    null,
+                                    false,
+                                    "p",
+                                    declare && owner)));
             addTest(
                     new org.apache.axiom.ts.om.attribute.TestSetNamespace(
                             metaFactory,
-                            "urn:test",
-                            null,
-                            declare,
-                            owner,
-                            null,
-                            false,
-                            null,
-                            declare && owner));
+                            new 
org.apache.axiom.ts.om.attribute.TestSetNamespace.Params(
+                                    "urn:test",
+                                    null,
+                                    declare,
+                                    owner,
+                                    null,
+                                    false,
+                                    null,
+                                    declare && owner)));
             if (owner) {
                 addTest(
                         new org.apache.axiom.ts.om.attribute.TestSetNamespace(
                                 metaFactory,
-                                "urn:test",
-                                "p",
-                                declare,
-                                true,
-                                "p",
-                                false,
-                                "p",
-                                false));
+                                new 
org.apache.axiom.ts.om.attribute.TestSetNamespace.Params(
+                                        "urn:test", "p", declare, true, "p", 
false, "p", false)));
                 addTest(
                         new org.apache.axiom.ts.om.attribute.TestSetNamespace(
                                 metaFactory,
-                                "urn:test",
-                                "p",
-                                declare,
-                                true,
-                                "q",
-                                false,
-                                "p",
-                                declare));
+                                new 
org.apache.axiom.ts.om.attribute.TestSetNamespace.Params(
+                                        "urn:test", "p", declare, true, "q", 
false, "p", declare)));
                 addTest(
                         new org.apache.axiom.ts.om.attribute.TestSetNamespace(
                                 metaFactory,
-                                "urn:test",
-                                null,
-                                declare,
-                                true,
-                                "p",
-                                false,
-                                "p",
-                                false));
+                                new 
org.apache.axiom.ts.om.attribute.TestSetNamespace.Params(
+                                        "urn:test", null, declare, true, "p", 
false, "p", false)));
                 addTest(
                         new org.apache.axiom.ts.om.attribute.TestSetNamespace(
                                 metaFactory,
-                                "urn:test",
-                                null,
-                                declare,
-                                true,
-                                "",
-                                false,
-                                null,
-                                declare));
+                                new 
org.apache.axiom.ts.om.attribute.TestSetNamespace.Params(
+                                        "urn:test",
+                                        null,
+                                        declare,
+                                        true,
+                                        "",
+                                        false,
+                                        null,
+                                        declare)));
             }
             addTest(
                     new org.apache.axiom.ts.om.attribute.TestSetNamespace(
-                            metaFactory, "", "", declare, owner, null, false, 
"", false));
+                            metaFactory,
+                            new 
org.apache.axiom.ts.om.attribute.TestSetNamespace.Params(
+                                    "", "", declare, owner, null, false, "", 
false)));
             addTest(
                     new org.apache.axiom.ts.om.attribute.TestSetNamespace(
-                            metaFactory, "", null, declare, owner, null, 
false, "", false));
+                            metaFactory,
+                            new 
org.apache.axiom.ts.om.attribute.TestSetNamespace.Params(
+                                    "", null, declare, owner, null, false, "", 
false)));
             addTest(
                     new org.apache.axiom.ts.om.attribute.TestSetNamespace(
-                            metaFactory, null, null, declare, owner, null, 
false, "", false));
+                            metaFactory,
+                            new 
org.apache.axiom.ts.om.attribute.TestSetNamespace.Params(
+                                    null, null, declare, owner, null, false, 
"", false)));
             // Invalid
             addTest(
                     new org.apache.axiom.ts.om.attribute.TestSetNamespace(
-                            metaFactory, "urn:test", "", declare, owner, null, 
true, null, false));
+                            metaFactory,
+                            new 
org.apache.axiom.ts.om.attribute.TestSetNamespace.Params(
+                                    "urn:test", "", declare, owner, null, 
true, null, false)));
             addTest(
                     new org.apache.axiom.ts.om.attribute.TestSetNamespace(
-                            metaFactory, "", "p", declare, owner, null, true, 
null, false));
+                            metaFactory,
+                            new 
org.apache.axiom.ts.om.attribute.TestSetNamespace.Params(
+                                    "", "p", declare, owner, null, true, null, 
false)));
         }
         for (StreamType streamType : Multiton.getInstances(StreamType.class)) {
             addTest(
@@ -773,68 +768,70 @@ public class OMTestSuiteBuilder extends 
MatrixTestSuiteBuilder {
             addTest(
                     new org.apache.axiom.ts.om.element.TestSetNamespace(
                             metaFactory,
-                            "urn:test",
-                            "p",
-                            declare,
-                            null,
-                            false,
-                            "p",
-                            implicitDeclare));
+                            new 
org.apache.axiom.ts.om.element.TestSetNamespace.Params(
+                                    "urn:test", "p", declare, null, false, 
"p", implicitDeclare)));
             addTest(
                     new org.apache.axiom.ts.om.element.TestSetNamespace(
                             metaFactory,
-                            "urn:test",
-                            null,
-                            declare,
-                            null,
-                            false,
-                            null,
-                            implicitDeclare));
+                            new 
org.apache.axiom.ts.om.element.TestSetNamespace.Params(
+                                    "urn:test",
+                                    null,
+                                    declare,
+                                    null,
+                                    false,
+                                    null,
+                                    implicitDeclare)));
             addTest(
                     new org.apache.axiom.ts.om.element.TestSetNamespace(
-                            metaFactory, "urn:test", "p", declare, "p", false, 
"p", false));
+                            metaFactory,
+                            new 
org.apache.axiom.ts.om.element.TestSetNamespace.Params(
+                                    "urn:test", "p", declare, "p", false, "p", 
false)));
             addTest(
                     new org.apache.axiom.ts.om.element.TestSetNamespace(
                             metaFactory,
-                            "urn:test",
-                            "p",
-                            declare,
-                            "q",
-                            false,
-                            "p",
-                            implicitDeclare));
+                            new 
org.apache.axiom.ts.om.element.TestSetNamespace.Params(
+                                    "urn:test", "p", declare, "q", false, "p", 
implicitDeclare)));
             addTest(
                     new org.apache.axiom.ts.om.element.TestSetNamespace(
-                            metaFactory, "urn:test", null, declare, "p", 
false, "p", false));
+                            metaFactory,
+                            new 
org.apache.axiom.ts.om.element.TestSetNamespace.Params(
+                                    "urn:test", null, declare, "p", false, 
"p", false)));
             addTest(
                     new org.apache.axiom.ts.om.element.TestSetNamespace(
-                            metaFactory, "urn:test", null, declare, "", false, 
"", false));
+                            metaFactory,
+                            new 
org.apache.axiom.ts.om.element.TestSetNamespace.Params(
+                                    "urn:test", null, declare, "", false, "", 
false)));
             addTest(
                     new org.apache.axiom.ts.om.element.TestSetNamespace(
                             metaFactory,
-                            "urn:test",
-                            "",
-                            declare,
-                            null,
-                            false,
-                            "",
-                            implicitDeclare));
+                            new 
org.apache.axiom.ts.om.element.TestSetNamespace.Params(
+                                    "urn:test", "", declare, null, false, "", 
implicitDeclare)));
             addTest(
                     new org.apache.axiom.ts.om.element.TestSetNamespace(
-                            metaFactory, "urn:test", "", declare, "", false, 
"", false));
+                            metaFactory,
+                            new 
org.apache.axiom.ts.om.element.TestSetNamespace.Params(
+                                    "urn:test", "", declare, "", false, "", 
false)));
             addTest(
                     new org.apache.axiom.ts.om.element.TestSetNamespace(
-                            metaFactory, "", "", declare, null, false, "", 
false));
+                            metaFactory,
+                            new 
org.apache.axiom.ts.om.element.TestSetNamespace.Params(
+                                    "", "", declare, null, false, "", false)));
             addTest(
                     new org.apache.axiom.ts.om.element.TestSetNamespace(
-                            metaFactory, "", null, declare, null, false, "", 
false));
+                            metaFactory,
+                            new 
org.apache.axiom.ts.om.element.TestSetNamespace.Params(
+                                    "", null, declare, null, false, "", 
false)));
             addTest(
                     new org.apache.axiom.ts.om.element.TestSetNamespace(
-                            metaFactory, null, null, declare, null, false, "", 
false));
+                            metaFactory,
+                            new 
org.apache.axiom.ts.om.element.TestSetNamespace.Params(
+                                    null, null, declare, null, false, "", 
false)));
             // Invalid
             addTest(
                     new org.apache.axiom.ts.om.element.TestSetNamespace(
-                            metaFactory, "", "p", declare, null, true, null, 
false));
+                            metaFactory,
+                            new 
org.apache.axiom.ts.om.element.TestSetNamespace.Params(
+                                    "", "p", declare, null, true, null, 
false)));
         }
         addTest(new org.apache.axiom.ts.om.element.TestSetText(metaFactory));
         addTest(new 
org.apache.axiom.ts.om.element.TestSetTextEmptyString(metaFactory));
diff --git 
a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/SetNamespaceTestCase.java
 
b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/SetNamespaceTestCase.java
index 585ce9457..6e5ce6248 100644
--- 
a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/SetNamespaceTestCase.java
+++ 
b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/SetNamespaceTestCase.java
@@ -30,56 +30,66 @@ import org.apache.axiom.om.OMNamespace;
 import org.apache.axiom.ts.AxiomTestCase;
 
 public abstract class SetNamespaceTestCase extends AxiomTestCase {
-    private final String namespaceURI;
-    private final String prefix;
-    private final String prefixInScope;
-    private final boolean invalid;
-    private final String expectedPrefix;
-    private final boolean expectNSDecl;
+    /**
+     * Common test parameters for {@link SetNamespaceTestCase} subclasses.
+     *
+     * @see OMNamedInformationItem#setNamespace(OMNamespace, boolean)
+     */
+    public interface Params {
+        /** The namespace URI to set or {@code null} to set a {@code null} 
{@link OMNamespace}. */
+        String namespaceURI();
+
+        /** The prefix to set or {@code null} to generate a prefix. */
+        String prefix();
+
+        /**
+         * The prefix of an existing namespace declaration in scope for the 
given namespace URI, or
+         * {@code null} if no matching namespace declaration is in scope.
+         */
+        String prefixInScope();
+
+        /**
+         * Flag indicating whether the namespace is invalid and {@link
+         * OMNamedInformationItem#setNamespace(OMNamespace, boolean)} is 
expected to throw an {@link
+         * IllegalArgumentException}.
+         */
+        boolean invalid();
+
+        /**
+         * The expected prefix of the attribute after the invocation of {@link
+         * OMNamedInformationItem#setNamespace(OMNamespace, boolean)}, or null 
if the method is
+         * expected to generate a prefix.
+         */
+        String expectedPrefix();
+
+        /**
+         * Indicates whether {@link 
OMNamedInformationItem#setNamespace(OMNamespace, boolean)} is
+         * expected to generate a namespace declaration on the owner element.
+         */
+        boolean expectNSDecl();
+    }
+
+    private final Params params;
 
     /**
      * Constructor.
      *
      * @param metaFactory the meta factory
-     * @param namespaceURI the namespace URI to set or <code>null</code> to 
set a <code>null</code>
-     *     {@link OMNamespace}
-     * @param prefix the prefix to set or <code>null</code> to generate a 
prefix
-     * @param prefixInScope the prefix of an existing namespace declaration in 
scope for the given
-     *     namespace URI, or <code>null</code> if no matching namespace 
declaration is in scope
-     * @param invalid flag indicating whether the namespace is invalid and 
{@link
-     *     OMNamedInformationItem#setNamespace(OMNamespace, boolean)} is 
expected to throw an {@link
-     *     IllegalArgumentException}
-     * @param expectedPrefix the expected prefix of the attribute after the 
invocation of {@link
-     *     OMNamedInformationItem#setNamespace(OMNamespace, boolean)}, or null 
if the method is
-     *     expected to generate a prefix
-     * @param expectNSDecl indicates whether {@link 
OMNamedInformationItem#setNamespace(OMNamespace,
-     *     boolean)} is expected to generate a namespace declaration on the 
owner element
+     * @param params the test parameters
      */
-    public SetNamespaceTestCase(
-            OMMetaFactory metaFactory,
-            String namespaceURI,
-            String prefix,
-            String prefixInScope,
-            boolean invalid,
-            String expectedPrefix,
-            boolean expectNSDecl) {
+    public SetNamespaceTestCase(OMMetaFactory metaFactory, Params params) {
         super(metaFactory);
-        this.namespaceURI = namespaceURI;
-        this.prefix = prefix;
-        this.prefixInScope = prefixInScope;
-        this.invalid = invalid;
-        this.expectedPrefix = expectedPrefix;
-        this.expectNSDecl = expectNSDecl;
-        if (namespaceURI != null) {
-            addTestParameter("uri", namespaceURI);
+        this.params = params;
+        if (params.namespaceURI() != null) {
+            addTestParameter("uri", params.namespaceURI());
         }
-        if (prefix != null) {
-            addTestParameter("prefix", prefix);
+        if (params.prefix() != null) {
+            addTestParameter("prefix", params.prefix());
         }
-        if (prefixInScope != null) {
-            addTestParameter("prefixInScope", prefixInScope);
+        if (params.prefixInScope() != null) {
+            addTestParameter("prefixInScope", params.prefixInScope());
         }
-        addTestParameter("invalid", invalid);
+        addTestParameter("invalid", params.invalid());
     }
 
     protected abstract boolean context();
@@ -98,11 +108,11 @@ public abstract class SetNamespaceTestCase extends 
AxiomTestCase {
             OMNamespace dummyNS = factory.createOMNamespace("__dummy__", 
"__dummy__");
             OMElement parent = factory.createOMElement("parent", dummyNS);
             element = factory.createOMElement("test", dummyNS, parent);
-            if (prefixInScope != null) {
-                if (prefixInScope.length() == 0) {
-                    parent.declareDefaultNamespace(namespaceURI);
+            if (params.prefixInScope() != null) {
+                if (params.prefixInScope().length() == 0) {
+                    parent.declareDefaultNamespace(params.namespaceURI());
                 } else {
-                    parent.declareNamespace(namespaceURI, prefixInScope);
+                    parent.declareNamespace(params.namespaceURI(), 
params.prefixInScope());
                 }
             }
         } else {
@@ -110,54 +120,60 @@ public abstract class SetNamespaceTestCase extends 
AxiomTestCase {
         }
         node = node(factory, element);
         OMNamespace ns =
-                namespaceURI == null ? null : 
factory.createOMNamespace(namespaceURI, prefix);
+                params.namespaceURI() == null
+                        ? null
+                        : factory.createOMNamespace(params.namespaceURI(), 
params.prefix());
         try {
             setNamespace(node, ns);
-            if (invalid) {
+            if (params.invalid()) {
                 fail("Expected IllegalArgumentException");
             }
         } catch (IllegalArgumentException ex) {
-            if (invalid) {
+            if (params.invalid()) {
                 return;
             } else {
                 throw ex;
             }
         }
         String expectedPrefix;
-        if (this.expectedPrefix == null) {
+        if (params.expectedPrefix() == null) {
             expectedPrefix = node.getPrefix();
             assertNotNull(expectedPrefix);
             assertFalse(expectedPrefix.length() == 0);
         } else {
-            expectedPrefix = this.expectedPrefix;
+            expectedPrefix = params.expectedPrefix();
             if (expectedPrefix.length() == 0) {
                 assertNull(node.getPrefix());
             } else {
                 assertEquals(expectedPrefix, node.getPrefix());
             }
         }
-        if (namespaceURI == null || namespaceURI.length() == 0) {
+        if (params.namespaceURI() == null || params.namespaceURI().length() == 
0) {
             assertNull(node.getNamespace());
         } else {
             OMNamespace actualNS = node.getNamespace();
             assertEquals(expectedPrefix, actualNS.getPrefix());
-            assertEquals(namespaceURI, actualNS.getNamespaceURI());
+            assertEquals(params.namespaceURI(), actualNS.getNamespaceURI());
         }
-        if (namespaceURI == null || namespaceURI.length() == 0) {
+        if (params.namespaceURI() == null || params.namespaceURI().length() == 
0) {
             assertNull(node.getNamespaceURI());
         } else {
-            assertEquals(namespaceURI, node.getNamespaceURI());
+            assertEquals(params.namespaceURI(), node.getNamespaceURI());
         }
         QName qname = node.getQName();
         assertEquals(expectedPrefix, qname.getPrefix());
-        assertEquals(namespaceURI == null ? "" : namespaceURI, 
qname.getNamespaceURI());
+        assertEquals(
+                params.namespaceURI() == null ? "" : params.namespaceURI(),
+                qname.getNamespaceURI());
         if (element != null) {
             Iterator<OMNamespace> it = element.getAllDeclaredNamespaces();
-            if (expectNSDecl) {
+            if (params.expectNSDecl()) {
                 assertTrue(it.hasNext());
                 OMNamespace decl = it.next();
                 assertEquals(expectedPrefix, decl.getPrefix());
-                assertEquals(namespaceURI == null ? "" : namespaceURI, 
decl.getNamespaceURI());
+                assertEquals(
+                        params.namespaceURI() == null ? "" : 
params.namespaceURI(),
+                        decl.getNamespaceURI());
             }
             assertFalse(it.hasNext());
         }
diff --git 
a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/attribute/TestSetNamespace.java
 
b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/attribute/TestSetNamespace.java
index 6217c452b..d1fef9b39 100644
--- 
a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/attribute/TestSetNamespace.java
+++ 
b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/attribute/TestSetNamespace.java
@@ -31,31 +31,13 @@ import org.apache.axiom.ts.om.SetNamespaceTestCase;
  * {@link OMAttribute}.
  */
 public class TestSetNamespace extends SetNamespaceTestCase {
-    private final boolean declare;
-    private final boolean owner;
-
     /**
-     * Constructor.
+     * Test parameters for {@link TestSetNamespace}.
      *
-     * @param metaFactory the meta factory
-     * @param namespaceURI the namespace URI to set or <code>null</code> to 
set a <code>null</code>
-     *     {@link OMNamespace}
-     * @param prefix the prefix to set or <code>null</code> to generate a 
prefix
-     * @param declare the value of the <code>declare</code> argument
+     * @param declare the value of the {@code declare} argument
      * @param owner flag indicating whether the attribute should have an owner 
element
-     * @param prefixInScope the prefix of an existing namespace declaration in 
scope for the given
-     *     namespace URI, or <code>null</code> if no matching namespace 
declaration is in scope
-     * @param invalid flag indicating whether the namespace is invalid and 
{@link
-     *     OMNamedInformationItem#setNamespace(OMNamespace, boolean)} is 
expected to throw an {@link
-     *     IllegalArgumentException}
-     * @param expectedPrefix the expected prefix of the attribute after the 
invocation of {@link
-     *     OMNamedInformationItem#setNamespace(OMNamespace, boolean)}, or null 
if the method is
-     *     expected to generate a prefix
-     * @param expectNSDecl indicates whether {@link 
OMNamedInformationItem#setNamespace(OMNamespace,
-     *     boolean)} is expected to generate a namespace declaration on the 
owner element
      */
-    public TestSetNamespace(
-            OMMetaFactory metaFactory,
+    public record Params(
             String namespaceURI,
             String prefix,
             boolean declare,
@@ -63,24 +45,21 @@ public class TestSetNamespace extends SetNamespaceTestCase {
             String prefixInScope,
             boolean invalid,
             String expectedPrefix,
-            boolean expectNSDecl) {
-        super(
-                metaFactory,
-                namespaceURI,
-                prefix,
-                prefixInScope,
-                invalid,
-                expectedPrefix,
-                expectNSDecl);
-        this.declare = declare;
-        this.owner = owner;
-        addTestParameter("declare", declare);
-        addTestParameter("owner", owner);
+            boolean expectNSDecl)
+            implements SetNamespaceTestCase.Params {}
+
+    private final Params params;
+
+    public TestSetNamespace(OMMetaFactory metaFactory, Params params) {
+        super(metaFactory, params);
+        this.params = params;
+        addTestParameter("declare", params.declare());
+        addTestParameter("owner", params.owner());
     }
 
     @Override
     protected boolean context() {
-        return owner;
+        return params.owner();
     }
 
     @Override
@@ -94,6 +73,6 @@ public class TestSetNamespace extends SetNamespaceTestCase {
 
     @Override
     protected void setNamespace(OMNamedInformationItem node, OMNamespace ns) {
-        node.setNamespace(ns, declare);
+        node.setNamespace(ns, params.declare());
     }
 }
diff --git 
a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/element/TestSetNamespace.java
 
b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/element/TestSetNamespace.java
index 95238ec62..e704c5513 100644
--- 
a/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/element/TestSetNamespace.java
+++ 
b/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/element/TestSetNamespace.java
@@ -30,28 +30,27 @@ import org.apache.axiom.ts.om.SetNamespaceTestCase;
  * OMNamedInformationItem#setNamespace(OMNamespace, boolean)}.
  */
 public class TestSetNamespace extends SetNamespaceTestCase {
-    private final Boolean declare;
-
-    public TestSetNamespace(
-            OMMetaFactory metaFactory,
+    /**
+     * @param declare the value of the {@code declare} argument, or {@code 
null} to use the 1-arg
+     *     overload
+     */
+    public record Params(
             String namespaceURI,
             String prefix,
             Boolean declare,
             String prefixInScope,
             boolean invalid,
             String expectedPrefix,
-            boolean expectNSDecl) {
-        super(
-                metaFactory,
-                namespaceURI,
-                prefix,
-                prefixInScope,
-                invalid,
-                expectedPrefix,
-                expectNSDecl);
-        this.declare = declare;
-        if (declare != null) {
-            addTestParameter("declare", declare.booleanValue());
+            boolean expectNSDecl)
+            implements SetNamespaceTestCase.Params {}
+
+    private final Params params;
+
+    public TestSetNamespace(OMMetaFactory metaFactory, Params params) {
+        super(metaFactory, params);
+        this.params = params;
+        if (params.declare() != null) {
+            addTestParameter("declare", params.declare().booleanValue());
         }
     }
 
@@ -67,10 +66,10 @@ public class TestSetNamespace extends SetNamespaceTestCase {
 
     @Override
     protected void setNamespace(OMNamedInformationItem node, OMNamespace ns) {
-        if (declare == null) {
+        if (params.declare() == null) {
             ((OMElement) node).setNamespace(ns);
         } else {
-            node.setNamespace(ns, declare.booleanValue());
+            node.setNamespace(ns, params.declare().booleanValue());
         }
     }
 }

Reply via email to