Author: gnodet
Date: Fri Jul 18 07:53:37 2008
New Revision: 677921

URL: http://svn.apache.org/viewvc?rev=677921&view=rev
Log:
Avoid unneeded QName creations, avoid possible NPE

Modified:
    
servicemix/components/shared-libraries/trunk/servicemix-soap2/src/main/java/org/apache/servicemix/soap/interceptors/jbi/JbiInWsdl1Interceptor.java
    
servicemix/components/shared-libraries/trunk/servicemix-soap2/src/main/java/org/apache/servicemix/soap/util/stax/StaxSource.java

Modified: 
servicemix/components/shared-libraries/trunk/servicemix-soap2/src/main/java/org/apache/servicemix/soap/interceptors/jbi/JbiInWsdl1Interceptor.java
URL: 
http://svn.apache.org/viewvc/servicemix/components/shared-libraries/trunk/servicemix-soap2/src/main/java/org/apache/servicemix/soap/interceptors/jbi/JbiInWsdl1Interceptor.java?rev=677921&r1=677920&r2=677921&view=diff
==============================================================================
--- 
servicemix/components/shared-libraries/trunk/servicemix-soap2/src/main/java/org/apache/servicemix/soap/interceptors/jbi/JbiInWsdl1Interceptor.java
 (original)
+++ 
servicemix/components/shared-libraries/trunk/servicemix-soap2/src/main/java/org/apache/servicemix/soap/interceptors/jbi/JbiInWsdl1Interceptor.java
 Fri Jul 18 07:53:37 2008
@@ -319,15 +319,46 @@
         }
 
         public String getLocalName() {
-            return getName().getLocalPart();
+            switch (state) {
+                case STATE_START_ELEMENT_WRAPPER:
+                case STATE_END_ELEMENT_WRAPPER:
+                    return JbiConstants.WSDL11_WRAPPER_MESSAGE_LOCALNAME;
+                case STATE_START_ELEMENT_PART:
+                case STATE_END_ELEMENT_PART:
+                    return JbiConstants.WSDL11_WRAPPER_PART_LOCALNAME;
+                case STATE_RUN_PART:
+                    return parts.get(part).get(reader).getLocalName();
+                default:
+                    throw new IllegalStateException();
+            }
         }
 
         public String getNamespaceURI() {
-            return getName().getNamespaceURI();
+            switch (state) {
+                case STATE_START_ELEMENT_WRAPPER:
+                case STATE_END_ELEMENT_WRAPPER:
+                case STATE_START_ELEMENT_PART:
+                case STATE_END_ELEMENT_PART:
+                    return JbiConstants.WSDL11_WRAPPER_NAMESPACE;
+                case STATE_RUN_PART:
+                    return parts.get(part).get(reader).getNamespaceURI();
+                default:
+                    throw new IllegalStateException();
+            }
         }
 
         public String getPrefix() {
-            return getName().getPrefix();
+            switch (state) {
+                case STATE_START_ELEMENT_WRAPPER:
+                case STATE_END_ELEMENT_WRAPPER:
+                case STATE_START_ELEMENT_PART:
+                case STATE_END_ELEMENT_PART:
+                    return JbiConstants.WSDL11_WRAPPER_PREFIX;
+                case STATE_RUN_PART:
+                    return parts.get(part).get(reader).getPrefix();
+                default:
+                    throw new IllegalStateException();
+            }
         }
 
         public boolean hasName() {
@@ -420,15 +451,54 @@
         }
 
         public String getAttributeNamespace(int i) {
-            return getAttributeName(i).getNamespaceURI();
+            switch (state) {
+                case STATE_START_ELEMENT_WRAPPER:
+                    switch (i) {
+                        case 0: return XMLConstants.XMLNS_ATTRIBUTE_NS_URI;
+                        case 1:
+                        case 2:
+                        case 3: return XMLConstants.NULL_NS_URI;
+                        default: throw new IllegalStateException();
+                    }
+                case STATE_RUN_PART:
+                    return 
parts.get(part).get(reader).getAttributeNamespace(i);
+                default:
+                    throw new IllegalStateException();
+            }
         }
 
         public String getAttributeLocalName(int i) {
-            return getAttributeName(i).getLocalPart();
+            switch (state) {
+                case STATE_START_ELEMENT_WRAPPER:
+                    switch (i) {
+                        case 0: return 
JbiConstants.WSDL11_WRAPPER_MESSAGE_PREFIX;
+                        case 1: return JbiConstants.WSDL11_WRAPPER_TYPE;
+                        case 2: return JbiConstants.WSDL11_WRAPPER_NAME;
+                        case 3: return JbiConstants.WSDL11_WRAPPER_VERSION;
+                        default: throw new IllegalStateException();
+                    }
+                case STATE_RUN_PART:
+                    return 
parts.get(part).get(reader).getAttributeLocalName(i);
+                default:
+                    throw new IllegalStateException();
+            }
         }
 
         public String getAttributePrefix(int i) {
-            return getAttributeName(i).getPrefix();
+            switch (state) {
+                case STATE_START_ELEMENT_WRAPPER:
+                    switch (i) {
+                        case 0: return XMLConstants.XMLNS_ATTRIBUTE;
+                        case 1:
+                        case 2:
+                        case 3: return XMLConstants.DEFAULT_NS_PREFIX;
+                        default: throw new IllegalStateException();
+                    }
+                case STATE_RUN_PART:
+                    return parts.get(part).get(reader).getAttributePrefix(i);
+                default:
+                    throw new IllegalStateException();
+            }
         }
 
         public String getAttributeType(int i) {
@@ -458,9 +528,7 @@
                             return JbiConstants.WSDL11_WRAPPER_MESSAGE_PREFIX 
+ ":" + typeLocalName;
                         }
                         case 2:
-                        {
                             return wsdlMessage.getMessageName();
-                        }
                         case 3:
                             return "1.0";
                         default: throw new IllegalStateException();

Modified: 
servicemix/components/shared-libraries/trunk/servicemix-soap2/src/main/java/org/apache/servicemix/soap/util/stax/StaxSource.java
URL: 
http://svn.apache.org/viewvc/servicemix/components/shared-libraries/trunk/servicemix-soap2/src/main/java/org/apache/servicemix/soap/util/stax/StaxSource.java?rev=677921&r1=677920&r2=677921&view=diff
==============================================================================
--- 
servicemix/components/shared-libraries/trunk/servicemix-soap2/src/main/java/org/apache/servicemix/soap/util/stax/StaxSource.java
 (original)
+++ 
servicemix/components/shared-libraries/trunk/servicemix-soap2/src/main/java/org/apache/servicemix/soap/util/stax/StaxSource.java
 Fri Jul 18 07:53:37 2008
@@ -112,7 +112,7 @@
                     String localName = streamReader.getLocalName();
                     String prefix = streamReader.getPrefix();
                     String qname = prefix != null && prefix.length() > 0 ? 
prefix + ":" + localName : localName;
-                    contentHandler.startElement(uri, localName, qname, 
getAttributes());
+                    contentHandler.startElement(uri != null ? uri : 
XMLConstants.NULL_NS_URI, localName, qname, getAttributes());
                     break;
                 }
                 }


Reply via email to