You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ws.apache.org by ve...@apache.org on 2016/03/05 18:56:26 UTC

svn commit: r1733745 - in /webservices/axiom/branches/1.2.x: ./ implementations/axiom-dom/src/test/java/org/apache/axiom/om/impl/dom/ implementations/axiom-impl/src/test/java/org/apache/axiom/om/impl/llom/ testing/ testing/axiom-testsuite/src/main/java...

Author: veithen
Date: Sat Mar  5 17:56:25 2016
New Revision: 1733745

URL: http://svn.apache.org/viewvc?rev=1733745&view=rev
Log:
Merge r1733743 to the 1.2 branch.

Modified:
    webservices/axiom/branches/1.2.x/   (props changed)
    webservices/axiom/branches/1.2.x/implementations/axiom-dom/src/test/java/org/apache/axiom/om/impl/dom/OMImplementationTest.java
    webservices/axiom/branches/1.2.x/implementations/axiom-impl/src/test/java/org/apache/axiom/om/impl/llom/OMImplementationTest.java
    webservices/axiom/branches/1.2.x/testing/   (props changed)
    webservices/axiom/branches/1.2.x/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/OMTestSuiteBuilder.java
    webservices/axiom/branches/1.2.x/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/element/TestGetXMLStreamReaderWithPreserveNamespaceContext.java

Propchange: webservices/axiom/branches/1.2.x/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Mar  5 17:56:25 2016
@@ -14,4 +14,4 @@
 /webservices/axiom/branches/maven-site-plugin-3.5:1731125-1732708
 /webservices/axiom/branches/namespaceURIInterning:1293148-1293587
 /webservices/axiom/branches/osgi-redesign:1180368-1180596
-/webservices/axiom/trunk:1726096,1726101,1726419,1726474-1726475,1726489,1727220,1727422,1727435,1727496,1727541,1727549,1727640,1727660,1727688,1727743,1727755,1727758,1727761,1728022,1728240,1728929,1730261,1730278,1731157,1731314-1731315,1731373,1731376,1731378,1731406,1731522,1731541,1732710
+/webservices/axiom/trunk:1726096,1726101,1726419,1726474-1726475,1726489,1727220,1727422,1727435,1727496,1727541,1727549,1727640,1727660,1727688,1727743,1727755,1727758,1727761,1728022,1728240,1728929,1730261,1730278,1731157,1731314-1731315,1731373,1731376,1731378,1731406,1731522,1731541,1732710,1733743

Modified: webservices/axiom/branches/1.2.x/implementations/axiom-dom/src/test/java/org/apache/axiom/om/impl/dom/OMImplementationTest.java
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/1.2.x/implementations/axiom-dom/src/test/java/org/apache/axiom/om/impl/dom/OMImplementationTest.java?rev=1733745&r1=1733744&r2=1733745&view=diff
==============================================================================
--- webservices/axiom/branches/1.2.x/implementations/axiom-dom/src/test/java/org/apache/axiom/om/impl/dom/OMImplementationTest.java (original)
+++ webservices/axiom/branches/1.2.x/implementations/axiom-dom/src/test/java/org/apache/axiom/om/impl/dom/OMImplementationTest.java Sat Mar  5 17:56:25 2016
@@ -28,6 +28,7 @@ import org.apache.axiom.ts.om.container.
 import org.apache.axiom.ts.om.document.TestClone;
 import org.apache.axiom.ts.om.document.TestDigest;
 import org.apache.axiom.ts.om.element.TestGetChildrenWithName4;
+import org.apache.axiom.ts.om.element.TestGetXMLStreamReaderWithPreserveNamespaceContext;
 import org.apache.axiom.ts.om.element.sr.TestClose;
 import org.apache.axiom.ts.om.node.TestInsertSiblingAfterOnChild;
 import org.apache.axiom.ts.om.node.TestInsertSiblingBeforeOnChild;
@@ -59,6 +60,9 @@ public class OMImplementationTest extend
         // TODO: test case needing review
         builder.exclude(TestClose.class);
         
+        // TODO: the namespace context is different when cache=false
+        builder.exclude(TestGetXMLStreamReaderWithPreserveNamespaceContext.class, "(cache=false)");
+        
         return builder.build();
     }
 }

Modified: webservices/axiom/branches/1.2.x/implementations/axiom-impl/src/test/java/org/apache/axiom/om/impl/llom/OMImplementationTest.java
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/1.2.x/implementations/axiom-impl/src/test/java/org/apache/axiom/om/impl/llom/OMImplementationTest.java?rev=1733745&r1=1733744&r2=1733745&view=diff
==============================================================================
--- webservices/axiom/branches/1.2.x/implementations/axiom-impl/src/test/java/org/apache/axiom/om/impl/llom/OMImplementationTest.java (original)
+++ webservices/axiom/branches/1.2.x/implementations/axiom-impl/src/test/java/org/apache/axiom/om/impl/llom/OMImplementationTest.java Sat Mar  5 17:56:25 2016
@@ -27,6 +27,7 @@ import org.apache.axiom.ts.om.builder.Te
 import org.apache.axiom.ts.om.container.TestSerialize;
 import org.apache.axiom.ts.om.document.TestClone;
 import org.apache.axiom.ts.om.document.TestDigest;
+import org.apache.axiom.ts.om.element.TestGetXMLStreamReaderWithPreserveNamespaceContext;
 import org.apache.axiom.ts.om.element.sr.TestClose;
 import org.apache.axiom.ts.om.node.TestInsertSiblingAfterOnChild;
 import org.apache.axiom.ts.om.node.TestInsertSiblingBeforeOnChild;
@@ -54,6 +55,9 @@ public class OMImplementationTest extend
         // TODO: test case needing review
         builder.exclude(TestClose.class);
         
+        // TODO: the namespace context is different when cache=false
+        builder.exclude(TestGetXMLStreamReaderWithPreserveNamespaceContext.class, "(cache=false)");
+        
         return builder.build();
     }
 }

Propchange: webservices/axiom/branches/1.2.x/testing/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Mar  5 17:56:25 2016
@@ -12,4 +12,4 @@
 /webservices/axiom/branches/attrs-aspects/testing:1685218-1686663
 /webservices/axiom/branches/namespaceURIInterning/testing:1293148-1293587
 /webservices/axiom/branches/osgi-redesign/testing:1180368-1180596
-/webservices/axiom/trunk/testing:1726096,1726101,1726474-1726475,1726489,1727220,1727422,1727435,1727496,1727513,1727529,1727549,1727660,1727688,1728022,1728240,1728929,1731373,1731376,1731378,1731406,1731522,1731541,1732710
+/webservices/axiom/trunk/testing:1726096,1726101,1726474-1726475,1726489,1727220,1727422,1727435,1727496,1727513,1727529,1727549,1727660,1727688,1728022,1728240,1728929,1731373,1731376,1731378,1731406,1731522,1731541,1732710,1733743

Modified: webservices/axiom/branches/1.2.x/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/OMTestSuiteBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/1.2.x/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/OMTestSuiteBuilder.java?rev=1733745&r1=1733744&r2=1733745&view=diff
==============================================================================
--- webservices/axiom/branches/1.2.x/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/OMTestSuiteBuilder.java (original)
+++ webservices/axiom/branches/1.2.x/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/OMTestSuiteBuilder.java Sat Mar  5 17:56:25 2016
@@ -349,7 +349,10 @@ public class OMTestSuiteBuilder extends
         addTest(new org.apache.axiom.ts.om.element.TestGetXMLStreamReaderWithNamespaceURIInterning(metaFactory));
         addTest(new org.apache.axiom.ts.om.element.TestGetXMLStreamReaderWithoutCachingPartiallyBuilt(metaFactory));
         addTest(new org.apache.axiom.ts.om.element.TestGetXMLStreamReaderWithoutCachingPartiallyBuiltModified(metaFactory));
-        addTest(new org.apache.axiom.ts.om.element.TestGetXMLStreamReaderWithPreserveNamespaceContext(metaFactory));
+        addTest(new org.apache.axiom.ts.om.element.TestGetXMLStreamReaderWithPreserveNamespaceContext(metaFactory, true, true));
+        addTest(new org.apache.axiom.ts.om.element.TestGetXMLStreamReaderWithPreserveNamespaceContext(metaFactory, true, false));
+        addTest(new org.apache.axiom.ts.om.element.TestGetXMLStreamReaderWithPreserveNamespaceContext(metaFactory, false, true));
+        addTest(new org.apache.axiom.ts.om.element.TestGetXMLStreamReaderWithPreserveNamespaceContext(metaFactory, false, false));
         addTest(new org.apache.axiom.ts.om.element.TestHasNameWithNamespace(metaFactory));
         addTest(new org.apache.axiom.ts.om.element.TestHasNameWithoutNamespace(metaFactory));
         addTest(new org.apache.axiom.ts.om.element.TestIsCompleteAfterAddingIncompleteChild(metaFactory));

Modified: webservices/axiom/branches/1.2.x/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/element/TestGetXMLStreamReaderWithPreserveNamespaceContext.java
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/1.2.x/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/element/TestGetXMLStreamReaderWithPreserveNamespaceContext.java?rev=1733745&r1=1733744&r2=1733745&view=diff
==============================================================================
--- webservices/axiom/branches/1.2.x/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/element/TestGetXMLStreamReaderWithPreserveNamespaceContext.java (original)
+++ webservices/axiom/branches/1.2.x/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/element/TestGetXMLStreamReaderWithPreserveNamespaceContext.java Sat Mar  5 17:56:25 2016
@@ -18,11 +18,13 @@
  */
 package org.apache.axiom.ts.om.element;
 
+import static com.google.common.truth.Truth.assertThat;
+
 import java.io.InputStream;
-import java.util.Arrays;
 import java.util.HashSet;
 import java.util.Set;
 
+import javax.xml.namespace.NamespaceContext;
 import javax.xml.stream.XMLStreamReader;
 
 import org.apache.axiom.om.OMElement;
@@ -33,26 +35,46 @@ import org.apache.axiom.ts.AxiomTestCase
 
 /**
  * Tests the behavior of
- * {@link OMElement#getXMLStreamReader(boolean, OMXMLStreamReaderConfiguration)} with
- * {@link OMXMLStreamReaderConfiguration#isPreserveNamespaceContext()} set to <code>true</code>.
+ * {@link OMElement#getXMLStreamReader(boolean, OMXMLStreamReaderConfiguration)} in conjunction with
+ * {@link OMXMLStreamReaderConfiguration#isPreserveNamespaceContext()}.
  */
 public class TestGetXMLStreamReaderWithPreserveNamespaceContext extends AxiomTestCase {
-    public TestGetXMLStreamReaderWithPreserveNamespaceContext(OMMetaFactory metaFactory) {
+    private final boolean preserveNamespaceContext;
+    private final boolean cache;
+
+    public TestGetXMLStreamReaderWithPreserveNamespaceContext(OMMetaFactory metaFactory, boolean preserveNamespaceContext, boolean cache) {
         super(metaFactory);
+        this.preserveNamespaceContext = preserveNamespaceContext;
+        addTestParameter("preserveNamespaceContext", preserveNamespaceContext);
+        this.cache = cache;
+        addTestParameter("cache", cache);
     }
 
     protected void runTest() throws Throwable {
         InputStream in = TestGetXMLStreamReaderWithPreserveNamespaceContext.class.getResourceAsStream("AXIOM-114.xml");
         OMElement root = OMXMLBuilderFactory.createOMBuilder(metaFactory.getOMFactory(), in).getDocumentElement();
+        root.declareNamespace("http://example.org", "p");
         OMXMLStreamReaderConfiguration configuration = new OMXMLStreamReaderConfiguration();
-        configuration.setPreserveNamespaceContext(true);
-        XMLStreamReader reader = root.getFirstElement().getFirstElement().getXMLStreamReader(true, configuration);
-        assertEquals(XMLStreamReader.START_ELEMENT, reader.next());
-        assertEquals(4, reader.getNamespaceCount());
+        configuration.setPreserveNamespaceContext(preserveNamespaceContext);
+        XMLStreamReader reader = root.getFirstElement().getFirstElement().getXMLStreamReader(cache, configuration);
+        assertThat(reader.next()).isEqualTo(XMLStreamReader.START_ELEMENT);
         Set<String> prefixes = new HashSet<>();
-        for (int i=0; i<4; i++) {
+        for (int i=0; i<reader.getNamespaceCount(); i++) {
             prefixes.add(reader.getNamespacePrefix(i));
         }
-        assertEquals(new HashSet<>(Arrays.asList(new String[] { "soapenv", "xsd", "xsi", "ns"} )), prefixes);
+        if (preserveNamespaceContext) {
+            assertThat(prefixes).containsExactly("soapenv", "xsd", "xsi", "ns", "p");
+        } else {
+            assertThat(prefixes).containsExactly("ns");
+        }
+        // Make sure that we start pulling events directly from the underlying parser.
+        reader.nextTag();
+        // The following assertions are true irrespective of the value of preserveNamespaceContext.
+        assertThat(reader.getNamespaceURI("xsd")).isEqualTo("http://www.w3.org/2001/XMLSchema");
+        // Namespace declarations added programmatically on an ancestor should also be visible.
+        assertThat(reader.getNamespaceURI("p")).isEqualTo("http://example.org");
+        NamespaceContext nc = reader.getNamespaceContext();
+        assertThat(nc.getPrefix("http://www.w3.org/2001/XMLSchema")).isEqualTo("xsd");
+        assertThat(nc.getPrefix("http://example.org")).isEqualTo("p");
     }
 }