You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by ch...@apache.org on 2005/03/10 12:12:33 UTC

svn commit: r156942 - in webservices/axis/trunk/java: etc/project.xml modules/om/src/java/org/apache/axis/om/impl/llom/builder/StAXSOAPModelBuilder.java modules/om/src/test/org/apache/axis/om/impl/serializer/NoNamespaceSerializerTest.java project.properties xdocs/navigation.xml

Author: chinthaka
Date: Thu Mar 10 03:12:29 2005
New Revision: 156942

URL: http://svn.apache.org/viewcvs?view=rev&rev=156942
Log:
-- Adding site specific information
-- finishing default namespace handling fix

Modified:
    webservices/axis/trunk/java/etc/project.xml
    webservices/axis/trunk/java/modules/om/src/java/org/apache/axis/om/impl/llom/builder/StAXSOAPModelBuilder.java
    webservices/axis/trunk/java/modules/om/src/test/org/apache/axis/om/impl/serializer/NoNamespaceSerializerTest.java
    webservices/axis/trunk/java/project.properties
    webservices/axis/trunk/java/xdocs/navigation.xml

Modified: webservices/axis/trunk/java/etc/project.xml
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/etc/project.xml?view=diff&r1=156941&r2=156942
==============================================================================
--- webservices/axis/trunk/java/etc/project.xml (original)
+++ webservices/axis/trunk/java/etc/project.xml Thu Mar 10 03:12:29 2005
@@ -37,11 +37,14 @@
       <name>Axis Developer List</name>
       <subscribe>axis-dev-subscribe@ws.apache.org</subscribe>
       <unsubscribe>axis-dev-unsubscribe@ws.apache.org</unsubscribe>
+        <archive>http://marc.theaimsgroup.com/?l=axis-dev&amp;r=1&amp;w=2</archive>
+
     </mailingList>
     <mailingList>
       <name>Axis User List</name>
       <subscribe>axis-user-subscribe@ws.apache.org</subscribe>
       <unsubscribe>axis-user-unsubscribe@ws.apache.org</unsubscribe>
+        <archive>http://marc.theaimsgroup.com/?l=axis-user&amp;r=1&amp;w=2</archive>
     </mailingList>
   </mailingLists>
 
@@ -85,14 +88,14 @@
       <id>hemapani</id>
       <email>hemapani@apache.org</email>
       <organization>Lanka Software Foundation</organization>
-      <url>www.apache.org/~hemapani</url>
+      <url>http://www.apache.org/~hemapani</url>
      </developer>
     <developer>
       <name>Eran Chinthaka</name>
       <id>chinthaka</id>
       <email>chinthaka@apache.org</email>
       <organization>Lanka Software Foundation / Eurocenter DDC</organization>
-      <url>www.apache.org/~chinthaka</url>
+      <url>http://www.apache.org/~chinthaka</url>
     </developer>
     <developer>
       <name>Dasarath Weerathunga</name>
@@ -105,7 +108,7 @@
       <id>jaliya</id>
       <email>jaliya@opensource.lk</email>
       <organization>Virtusa / Lanka Software Foundation</organization>
-      <url>www.apache.org/~jaliya</url>
+      <url>http://www.apache.org/~jaliya</url>
     </developer>
     <developer>
       <name>Chathura Herath</name>
@@ -119,12 +122,16 @@
       <id>deepal</id>
       <email>deepal@apache.org</email>
       <organization>Lanka Software Foundation</organization>
+        <url>http://www.apache.org/~deepal</url>
+
     </developer>
     <developer>
       <name>Ajith Ranabahu</name>
       <id>ajith</id>
       <email>ajith@apache.org</email>
       <organization>Lanka Software Foundation / Eurocenter DDC</organization>
+        <url>http://www.apache.org/~ajith</url>
+
     </developer>
     <developer>
       <name>Changshin Lee</name>
@@ -203,16 +210,16 @@
     <!-- Reports -->
     <!-- ======= -->
 
-    <!-- reports>
-        <report>maven-license-plugin</report>
+    <reports>
+        <!-- report>maven-license-plugin</report>
         <report>maven-checkstyle-plugin</report>
         <report>maven-pmd-plugin</report>
         <report>maven-jdepend-plugin</report>
         <report>maven-jxr-plugin</report>
         <report>maven-javadoc-plugin</report>
-        <report>maven-junit-report-plugin</report>
+        <report>maven-junit-report-plugin</report -->
         <report>maven-clover-plugin</report>
-    </reports -->
+    </reports>
     
 </project>
 

Modified: webservices/axis/trunk/java/modules/om/src/java/org/apache/axis/om/impl/llom/builder/StAXSOAPModelBuilder.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/om/src/java/org/apache/axis/om/impl/llom/builder/StAXSOAPModelBuilder.java?view=diff&r1=156941&r2=156942
==============================================================================
--- webservices/axis/trunk/java/modules/om/src/java/org/apache/axis/om/impl/llom/builder/StAXSOAPModelBuilder.java (original)
+++ webservices/axis/trunk/java/modules/om/src/java/org/apache/axis/om/impl/llom/builder/StAXSOAPModelBuilder.java Thu Mar 10 03:12:29 2005
@@ -15,14 +15,7 @@
  */
 package org.apache.axis.om.impl.llom.builder;
 
-import org.apache.axis.om.OMConstants;
-import org.apache.axis.om.OMElement;
-import org.apache.axis.om.OMException;
-import org.apache.axis.om.OMFactory;
-import org.apache.axis.om.OMNamespace;
-import org.apache.axis.om.OMNode;
-import org.apache.axis.om.SOAPBody;
-import org.apache.axis.om.SOAPEnvelope;
+import org.apache.axis.om.*;
 import org.apache.axis.om.impl.llom.OMElementImpl;
 import org.apache.axis.om.impl.llom.SOAPEnvelopeImpl;
 import org.apache.axis.om.impl.llom.exception.OMBuilderException;
@@ -57,8 +50,7 @@
     private Log log = LogFactory.getLog(getClass());
 
     /**
-     * element level 1 = envelope level
-     * element level 2 = Header or Body level
+     * element level 1 = envelope level element level 2 = Header or Body level
      * element level 3 = HeaderElement or BodyElement level
      */
     private int elementLevel = 0;
@@ -120,7 +112,7 @@
         // fill in the attributes
         processAttributes(node);
         log.info("Build the OMElelment {" + node.getNamespaceName() + '}'
-                        + node.getLocalName() + "By the StaxSOAPModelBuilder");
+                + node.getLocalName() + "By the StaxSOAPModelBuilder");
         return node;
     }
 
@@ -136,15 +128,13 @@
                                     boolean isEnvelope) {
         OMElement element = null;
         if (isEnvelope) {
-            if (!elementName.equalsIgnoreCase(
-                    OMConstants.SOAPENVELOPE_LOCAL_NAME)) {
-                throw new OMException(
-                        "First Element must contain the local name, "
-                                + OMConstants.SOAPENVELOPE_LOCAL_NAME);
+            if (!elementName.equalsIgnoreCase(OMConstants.SOAPENVELOPE_LOCAL_NAME)) {
+                throw new OMException("First Element must contain the local name, "
+                        + OMConstants.SOAPENVELOPE_LOCAL_NAME);
             }
             envelope =
-            (SOAPEnvelopeImpl) ombuilderFactory.createSOAPEnvelope(null,
-                    this);
+                    (SOAPEnvelopeImpl) ombuilderFactory.createSOAPEnvelope(null,
+                            this);
             element = (OMElementImpl) envelope;
             processNamespaceData(element, true);
         } else if (elementLevel == 2) {
@@ -152,47 +142,41 @@
             // this is either a header or a body
             if (elementName.equals(OMConstants.HEADER_LOCAL_NAME)) {
                 if (headerPresent) {
-                    throw new OMBuilderException(
-                            "Multiple headers encountered!");
+                    throw new OMBuilderException("Multiple headers encountered!");
                 }
                 if (bodyPresent) {
                     throw new OMBuilderException("Header Body wrong order!");
                 }
                 headerPresent = true;
                 element =
-                ombuilderFactory.createSOAPHeader((SOAPEnvelope) parent,
-                        this);
+                        ombuilderFactory.createSOAPHeader((SOAPEnvelope) parent,
+                                this);
 
                 // envelope.setHeader((SOAPHeader)element);
                 processNamespaceData(element, true);
             } else if (elementName.equals(OMConstants.BODY_LOCAL_NAME)) {
                 if (bodyPresent) {
-                    throw new OMBuilderException(
-                            "Multiple body elements encountered");
+                    throw new OMBuilderException("Multiple body elements encountered");
                 }
                 bodyPresent = true;
                 element =
-                ombuilderFactory.createSOAPBody((SOAPEnvelope) parent,
-                        this);
+                        ombuilderFactory.createSOAPBody((SOAPEnvelope) parent,
+                                this);
 
                 // envelope.setBody((SOAPBody)element);
                 processNamespaceData(element, true);
             } else {
-                throw new OMBuilderException(
-                        elementName
-                                + " is not supported here. Envelope can not have elements other than Header and Body.");
+                throw new OMBuilderException(elementName
+                        + " is not supported here. Envelope can not have elements other than Header and Body.");
             }
         } else if ((elementLevel == 3)
-                && parent.getLocalName().equalsIgnoreCase(
-                        OMConstants.HEADER_LOCAL_NAME)) {
+                && parent.getLocalName().equalsIgnoreCase(OMConstants.HEADER_LOCAL_NAME)) {
 
             // this is a headerblock
             element = ombuilderFactory.createSOAPHeaderBlock(elementName, null,
                     parent, this);
             processNamespaceData(element, false);
-        } else if ((elementLevel == 3) && parent.getLocalName().equalsIgnoreCase(
-                        OMConstants.BODY_LOCAL_NAME) && elementName.equalsIgnoreCase(
-                        OMConstants.BODY_FAULT_LOCAL_NAME)) {
+        } else if ((elementLevel == 3) && parent.getLocalName().equalsIgnoreCase(OMConstants.BODY_LOCAL_NAME) && elementName.equalsIgnoreCase(OMConstants.BODY_FAULT_LOCAL_NAME)) {
 
             // this is a headerblock
             element = ombuilderFactory.createSOAPFault(null, (SOAPBody) parent,
@@ -285,16 +269,19 @@
         String namespaceURI = parser.getNamespaceURI();
         String prefix = parser.getPrefix();
         OMNamespace namespace = null;
-        if(!"".equals(namespaceURI)){
-             if("".equals(prefix)){
-               // this means, this elements has a default namespace
-                  namespace = node.declareNamespace(namespaceURI, "");
-             }else{
-                 namespace = node.findInScopeNamespace(namespaceURI, prefix);
-              }
+        if (!"".equals(namespaceURI)) {
+            if (prefix == null) {
+                // this means, this elements has a default namespace or it has inherited a default namespace from its parent
+                namespace = node.findDeclaredNamespace(namespaceURI, "");
+                if (namespace == null) {
+                    namespace = node.declareNamespace(namespaceURI, "");
+                }
+            } else {
+                namespace = node.findInScopeNamespace(namespaceURI, prefix);
+            }
             node.setNamespace(namespace);
-        }else{
-            
+        } else {
+
         }
 
 
@@ -305,8 +292,7 @@
         // throw new OMException("All elements must be namespace qualified!");
         // }
         if (isSOAPElement) {
-            if (node.getNamespace() != null && !node.getNamespace().getName().equals(
-                    OMConstants.SOAP_ENVELOPE_NAMESPACE_URI)) {
+            if (node.getNamespace() != null && !node.getNamespace().getName().equals(OMConstants.SOAP_ENVELOPE_NAMESPACE_URI)) {
                 throw new OMBuilderException("invalid SOAP namespace URI");
             }
         }

Modified: webservices/axis/trunk/java/modules/om/src/test/org/apache/axis/om/impl/serializer/NoNamespaceSerializerTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/om/src/test/org/apache/axis/om/impl/serializer/NoNamespaceSerializerTest.java?view=diff&r1=156941&r2=156942
==============================================================================
--- webservices/axis/trunk/java/modules/om/src/test/org/apache/axis/om/impl/serializer/NoNamespaceSerializerTest.java (original)
+++ webservices/axis/trunk/java/modules/om/src/test/org/apache/axis/om/impl/serializer/NoNamespaceSerializerTest.java Thu Mar 10 03:12:29 2005
@@ -1,22 +1,18 @@
 package org.apache.axis.om.impl.serializer;
 
-import org.apache.axis.om.OMXMLParserWrapper;
+import junit.framework.TestCase;
+import org.apache.axis.om.OMElement;
 import org.apache.axis.om.OMFactory;
+import org.apache.axis.om.OMXMLParserWrapper;
 import org.apache.axis.om.SOAPEnvelope;
 import org.apache.axis.om.impl.llom.factory.OMXMLBuilderFactory;
-import org.apache.axis.om.impl.llom.builder.StAXSOAPModelBuilder;
 
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
 import javax.xml.stream.XMLInputFactory;
 import javax.xml.stream.XMLOutputFactory;
-import java.io.File;
-import java.io.FileReader;
-import java.io.FileOutputStream;
-import java.io.InputStreamReader;
+import javax.xml.stream.XMLStreamReader;
+import javax.xml.stream.XMLStreamWriter;
 import java.io.ByteArrayInputStream;
-
-import junit.framework.TestCase;
+import java.io.InputStreamReader;
 
 /*
  * Copyright 2004,2005 The Apache Software Foundation.
@@ -35,43 +31,66 @@
  *
  * 
  */
-public class NoNamespaceSerializerTest extends TestCase{
 
-    private String xmlText = "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\">" +
+public class NoNamespaceSerializerTest extends TestCase {
+
+    private String xmlTextOne = "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\">" +
             "<soapenv:Body>\n" +
             "   <ns1:getBalance xmlns:ns1=\"http://localhost:8081/axis/services/BankPort/\">\n" +
             "      <accountNo href=\"#id0\"/>\n" +
             "   </ns1:getBalance>\n" +
             " </soapenv:Body></soapenv:Envelope>";
 
-    private XMLStreamReader reader;
+    private String xmlTextTwo = "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\">" +
+            "<soapenv:Body>\n" +
+            "   <getBalance xmlns=\"http://localhost:8081/axis/services/BankPort/\">\n" +
+            "      <accountNo href=\"#id0\"/>\n" +
+            "   </getBalance>\n" +
+            " </soapenv:Body></soapenv:Envelope>";
+
+    private XMLStreamReader readerOne;
+    private XMLStreamReader readerTwo;
     private XMLStreamWriter writer;
-    private OMXMLParserWrapper builder;
-   // private File tempFile;
+    private OMXMLParserWrapper builderOne;
+    private OMXMLParserWrapper builderTwo;
+    // private File tempFile;
 
 
     protected void setUp() throws Exception {
-        reader = XMLInputFactory.newInstance().
-                createXMLStreamReader(new InputStreamReader(new ByteArrayInputStream(xmlText.getBytes())));
+        readerOne = XMLInputFactory.newInstance().
+                createXMLStreamReader(new InputStreamReader(new ByteArrayInputStream(xmlTextOne.getBytes())));
+        readerTwo = XMLInputFactory.newInstance().
+                createXMLStreamReader(new InputStreamReader(new ByteArrayInputStream(xmlTextTwo.getBytes())));
         writer = XMLOutputFactory.newInstance().
                 createXMLStreamWriter(System.out);
-        builder = OMXMLBuilderFactory.createStAXSOAPModelBuilder(OMFactory.newInstance(), reader);
-    }
-
-    public void testSerilizationWithCacheOff() throws Exception{
-       SOAPEnvelope env = (SOAPEnvelope) builder.getDocumentElement();
-       env.serialize(writer,false);
-       writer.flush();
-
-
+        builderOne = OMXMLBuilderFactory.createStAXSOAPModelBuilder(OMFactory.newInstance(), readerOne);
+        builderTwo = OMXMLBuilderFactory.createStAXSOAPModelBuilder(OMFactory.newInstance(), readerTwo);
     }
 
-    public void testSerilizationWithCacheOn() throws Exception{
-       SOAPEnvelope env = (SOAPEnvelope) builder.getDocumentElement();
-       env.serialize(writer,true);
-       writer.flush();
+//    public void testSerilizationWithCacheOff() throws Exception {
+//        SOAPEnvelope env = (SOAPEnvelope) builderOne.getDocumentElement();
+//        env.serialize(writer, false);
+//        writer.flush();
+//
+//
+//    }
+//
+//    public void testSerilizationWithCacheOn() throws Exception {
+//        SOAPEnvelope env = (SOAPEnvelope) builderOne.getDocumentElement();
+//        env.serialize(writer, true);
+//        writer.flush();
+//    }
+
+    public void testSerilizationWithDefaultNamespaces() throws Exception {
+        SOAPEnvelope env = (SOAPEnvelope) builderTwo.getDocumentElement();
+        env.serialize(writer, true);
+        OMElement balanceElement = env.getBody().getFirstElement();
+        assertEquals("Deafualt namespace has not been set properly", balanceElement.getNamespaceName(), "http://localhost:8081/axis/services/BankPort/");
 
+        OMElement accountNo = balanceElement.getFirstElement();
+        assertEquals("Deafualt namespace of children has not been set properly", accountNo.getNamespaceName(), "http://localhost:8081/axis/services/BankPort/");
 
+        writer.flush();
     }
 
 

Modified: webservices/axis/trunk/java/project.properties
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/project.properties?view=diff&r1=156941&r2=156942
==============================================================================
--- webservices/axis/trunk/java/project.properties (original)
+++ webservices/axis/trunk/java/project.properties Thu Mar 10 03:12:29 2005
@@ -12,5 +12,6 @@
 
 maven.html2xdoc.enabled=false
 maven.html2xdoc.dir=./xdocs
+maven.xdoc.includeProjectDocumentation=no
 
 maven.pdf.navigationFile=navigation-pdf.xml

Modified: webservices/axis/trunk/java/xdocs/navigation.xml
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/xdocs/navigation.xml?view=diff&r1=156941&r2=156942
==============================================================================
--- webservices/axis/trunk/java/xdocs/navigation.xml (original)
+++ webservices/axis/trunk/java/xdocs/navigation.xml Thu Mar 10 03:12:29 2005
@@ -4,7 +4,7 @@
   <body>
      
     <menu name="Axis 2.0">
-           
+       <item name="Home" href="index.html"/>    
       <item name="Get Invloved">
       	<item name="Overview" href="overview.html"/>
       	<item name="SVN Repository" href="svn.html"/>