Author: jkaputin
Date: Thu Jan 10 19:18:02 2008
New Revision: 611032

URL: http://svn.apache.org/viewvc?rev=611032&view=rev
Log:
WODEN-193
Fix to ensure a no namespace documentation extension element will not cause a 
NPE and will be reported as a WSDL520 error.

Modified:
    
webservices/woden/trunk/java/src/org/apache/woden/internal/BaseWSDLReader.java
    
webservices/woden/trunk/java/src/org/apache/woden/internal/DOMXMLElement.java
    webservices/woden/trunk/java/src/org/apache/woden/internal/OMXMLElement.java

Modified: 
webservices/woden/trunk/java/src/org/apache/woden/internal/BaseWSDLReader.java
URL: 
http://svn.apache.org/viewvc/webservices/woden/trunk/java/src/org/apache/woden/internal/BaseWSDLReader.java?rev=611032&r1=611031&r2=611032&view=diff
==============================================================================
--- 
webservices/woden/trunk/java/src/org/apache/woden/internal/BaseWSDLReader.java 
(original)
+++ 
webservices/woden/trunk/java/src/org/apache/woden/internal/BaseWSDLReader.java 
Thu Jan 10 19:18:02 2008
@@ -80,6 +80,7 @@
  */
 public abstract class BaseWSDLReader implements WSDLReader {
        
+    private static final String emptyString = "".intern();
        private final String 
DEFAULT_RESOLVER_PROPERTY="org.apache.woden.resolver.default";
     
     private String fFactoryImplName = null; //TODO deprecate/remove?
@@ -1529,11 +1530,12 @@
             throws WSDLException {
 
         QName elementType = el.getQName();
-        String namespaceURI = (el.getNamespaceURI()).toString();
+        URI namespaceURI = el.getNamespaceURI();
 
         try
         {
-            if (namespaceURI == null || 
namespaceURI.equals(Constants.NS_STRING_WSDL20))
+            //check that ext element is not in the WSDL 2.0 namespace.
+            if (Constants.NS_URI_WSDL20.equals(namespaceURI))
             {
                 getErrorReporter().reportError(
                         new ErrorLocatorImpl(),  //TODO line&col nos.

Modified: 
webservices/woden/trunk/java/src/org/apache/woden/internal/DOMXMLElement.java
URL: 
http://svn.apache.org/viewvc/webservices/woden/trunk/java/src/org/apache/woden/internal/DOMXMLElement.java?rev=611032&r1=611031&r2=611032&view=diff
==============================================================================
--- 
webservices/woden/trunk/java/src/org/apache/woden/internal/DOMXMLElement.java 
(original)
+++ 
webservices/woden/trunk/java/src/org/apache/woden/internal/DOMXMLElement.java 
Thu Jan 10 19:18:02 2008
@@ -36,6 +36,8 @@
 
 public class DOMXMLElement extends BaseXMLElement{
 
+    private static final String emptyString = "".intern();
+    
     public DOMXMLElement(ErrorReporter errorReporter) {
         super(errorReporter);
     }
@@ -97,16 +99,15 @@
        String nsStr =  el.getNamespaceURI();
        URI uri = null;
        
-       try {
-               uri = new URI(nsStr);
-       } catch (URISyntaxException e) {
-               String msg = fErrorReporter.getFormattedMessage(
-                                                       "WSDL506", 
-                                                       new Object[] {nsStr});
-               throw new WSDLException(WSDLException.INVALID_WSDL, msg, e);
-       }
-       
-       return uri;
+       if (nsStr != null) {
+            try {
+                uri = new URI(nsStr);
+            } catch (URISyntaxException e) {
+                String msg = fErrorReporter.getFormattedMessage("WSDL506", new 
Object[] { nsStr });
+                throw new WSDLException(WSDLException.INVALID_WSDL, msg, e);
+            }
+        }
+        return uri;
     }
 
     protected String doGetLocalName() {
@@ -143,7 +144,7 @@
             throw wsdlExc;
         }
         
-        return new QName(namespaceURI, localPart, (prefix != null ? prefix : 
""));
+        return new QName(namespaceURI, localPart, (prefix != null ? prefix : 
emptyString));
     }
 
     protected XMLElement doGetFirstChildElement() {

Modified: 
webservices/woden/trunk/java/src/org/apache/woden/internal/OMXMLElement.java
URL: 
http://svn.apache.org/viewvc/webservices/woden/trunk/java/src/org/apache/woden/internal/OMXMLElement.java?rev=611032&r1=611031&r2=611032&view=diff
==============================================================================
--- 
webservices/woden/trunk/java/src/org/apache/woden/internal/OMXMLElement.java 
(original)
+++ 
webservices/woden/trunk/java/src/org/apache/woden/internal/OMXMLElement.java 
Thu Jan 10 19:18:02 2008
@@ -33,6 +33,8 @@
 
 public class OMXMLElement extends BaseXMLElement{
 
+    private static final String emptyString = "".intern();
+    
     public OMXMLElement(ErrorReporter errorReporter) {
         super(errorReporter);
     }
@@ -88,13 +90,13 @@
         OMElement elem = (OMElement)fSource;
         String nsStr =  elem.getNamespace().getNamespaceURI();
         URI uri = null;
-        try {
-            uri = new URI(nsStr);
-        } catch (URISyntaxException e) {
-            String msg = fErrorReporter.getFormattedMessage(
-                                            "WSDL506", 
-                                            new Object[] {nsStr});
-            throw new WSDLException(WSDLException.INVALID_WSDL, msg, e);
+        if (nsStr != null) {
+            try {
+                uri = new URI(nsStr);
+            } catch (URISyntaxException e) {
+                String msg = fErrorReporter.getFormattedMessage("WSDL506", new 
Object[] { nsStr });
+                throw new WSDLException(WSDLException.INVALID_WSDL, msg, e);
+            }
         }
         return uri;
     }
@@ -131,7 +133,7 @@
             throw wsdlExc;
         }
         
-        return new QName(namespaceURI, localPart, (prefix != null ? prefix : 
""));
+        return new QName(namespaceURI, localPart, (prefix != null ? prefix : 
emptyString));
     }
 
     protected XMLElement doGetFirstChildElement() {



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to