Author: veithen
Date: Mon May  7 17:50:46 2012
New Revision: 1335154

URL: http://svn.apache.org/viewvc?rev=1335154&view=rev
Log:
Avoid double lookup of prefix when serializing an ADB bean. This change should 
also provide a workaround for AXIOM-421.

Modified:
    
axis/axis2/java/core/trunk/modules/adb-codegen/src/org/apache/axis2/schema/template/ADBBeanTemplate-bean.xsl
    
axis/axis2/java/core/trunk/modules/adb-codegen/src/org/apache/axis2/schema/template/ADBBeanTemplate-helpermode.xsl

Modified: 
axis/axis2/java/core/trunk/modules/adb-codegen/src/org/apache/axis2/schema/template/ADBBeanTemplate-bean.xsl
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/adb-codegen/src/org/apache/axis2/schema/template/ADBBeanTemplate-bean.xsl?rev=1335154&r1=1335153&r2=1335154&view=diff
==============================================================================
--- 
axis/axis2/java/core/trunk/modules/adb-codegen/src/org/apache/axis2/schema/template/ADBBeanTemplate-bean.xsl
 (original)
+++ 
axis/axis2/java/core/trunk/modules/adb-codegen/src/org/apache/axis2/schema/template/ADBBeanTemplate-bean.xsl
 Mon May  7 17:50:46 2012
@@ -1458,7 +1458,7 @@
                                        javax.xml.stream.XMLStreamWriter 
xmlWriter) throws javax.xml.stream.XMLStreamException {
             java.lang.String writerPrefix = xmlWriter.getPrefix(namespace);
             if (writerPrefix != null) {
-                xmlWriter.writeStartElement(namespace, localPart);
+                xmlWriter.writeStartElement(writerPrefix, localPart, 
namespace);
             } else {
                 if (namespace.length() == 0) {
                     prefix = "";
@@ -1477,11 +1477,14 @@
          */
         private void writeAttribute(java.lang.String prefix,java.lang.String 
namespace,java.lang.String attName,
                                     java.lang.String 
attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws 
javax.xml.stream.XMLStreamException{
-            if (xmlWriter.getPrefix(namespace) == null) {
+            java.lang.String writerPrefix = xmlWriter.getPrefix(namespace);
+            if (writerPrefix != null) {
+                xmlWriter.writeAttribute(writerPrefix, 
namespace,attName,attValue);
+            } else {
                 xmlWriter.writeNamespace(prefix, namespace);
                 xmlWriter.setPrefix(prefix, namespace);
+                xmlWriter.writeAttribute(prefix, namespace,attName,attValue);
             }
-            xmlWriter.writeAttribute(namespace,attName,attValue);
         }
 
         /**
@@ -1492,8 +1495,7 @@
             if (namespace.equals("")) {
                 xmlWriter.writeAttribute(attName,attValue);
             } else {
-                registerPrefix(xmlWriter, namespace);
-                xmlWriter.writeAttribute(namespace,attName,attValue);
+                xmlWriter.writeAttribute(registerPrefix(xmlWriter, namespace), 
namespace,attName,attValue);
             }
         }
 
@@ -1520,7 +1522,7 @@
                     xmlWriter.writeAttribute(attName, attributeValue);
                 } else {
                     registerPrefix(xmlWriter, namespace);
-                    xmlWriter.writeAttribute(namespace, attName, 
attributeValue);
+                    xmlWriter.writeAttribute(attributePrefix, namespace, 
attName, attributeValue);
                 }
             }
         /**

Modified: 
axis/axis2/java/core/trunk/modules/adb-codegen/src/org/apache/axis2/schema/template/ADBBeanTemplate-helpermode.xsl
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/adb-codegen/src/org/apache/axis2/schema/template/ADBBeanTemplate-helpermode.xsl?rev=1335154&r1=1335153&r2=1335154&view=diff
==============================================================================
--- 
axis/axis2/java/core/trunk/modules/adb-codegen/src/org/apache/axis2/schema/template/ADBBeanTemplate-helpermode.xsl
 (original)
+++ 
axis/axis2/java/core/trunk/modules/adb-codegen/src/org/apache/axis2/schema/template/ADBBeanTemplate-helpermode.xsl
 Mon May  7 17:50:46 2012
@@ -1051,7 +1051,7 @@ public <xsl:if test="not(@unwrapped) or 
                                        javax.xml.stream.XMLStreamWriter 
xmlWriter) throws javax.xml.stream.XMLStreamException {
             java.lang.String writerPrefix = xmlWriter.getPrefix(namespace);
             if (writerPrefix != null) {
-                xmlWriter.writeStartElement(namespace, localPart);
+                xmlWriter.writeStartElement(writerPrefix, localPart, 
namespace);
             } else {
                 if (namespace.length() == 0) {
                     prefix = "";
@@ -1070,11 +1070,14 @@ public <xsl:if test="not(@unwrapped) or 
          */
         private void writeAttribute(java.lang.String prefix,java.lang.String 
namespace,java.lang.String attName,
                                     java.lang.String 
attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws 
javax.xml.stream.XMLStreamException{
-            if (xmlWriter.getPrefix(namespace) == null) {
+            java.lang.String writerPrefix = xmlWriter.getPrefix(namespace);
+            if (writerPrefix != null) {
+                xmlWriter.writeAttribute(writerPrefix, 
namespace,attName,attValue);
+            } else {
                 xmlWriter.writeNamespace(prefix, namespace);
                 xmlWriter.setPrefix(prefix, namespace);
+                xmlWriter.writeAttribute(prefix, namespace,attName,attValue);
             }
-            xmlWriter.writeAttribute(namespace,attName,attValue);
         }
 
         /**
@@ -1085,8 +1088,7 @@ public <xsl:if test="not(@unwrapped) or 
             if (namespace.equals("")) {
                 xmlWriter.writeAttribute(attName,attValue);
             } else {
-                registerPrefix(xmlWriter, namespace);
-                xmlWriter.writeAttribute(namespace,attName,attValue);
+                xmlWriter.writeAttribute(registerPrefix(xmlWriter, namespace), 
namespace,attName,attValue);
             }
         }
 


Reply via email to