You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by dk...@apache.org on 2008/09/02 18:46:23 UTC
svn commit: r691316 - in /cxf/branches/2.1.x-fixes: ./
common/common/src/main/java/org/apache/cxf/staxutils/
rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/soap/
rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/soap/
Author: dkulp
Date: Tue Sep 2 09:46:21 2008
New Revision: 691316
URL: http://svn.apache.org/viewvc?rev=691316&view=rev
Log:
Merged revisions 691271 via svnmerge from
https://svn.apache.org/repos/asf/cxf/trunk
........
r691271 | dkulp | 2008-09-02 11:10:46 -0400 (Tue, 02 Sep 2008) | 2 lines
element.setAttributeNS(...) is very slow with Xerces. Don't use it on critical path.
........
Modified:
cxf/branches/2.1.x-fixes/ (props changed)
cxf/branches/2.1.x-fixes/common/common/src/main/java/org/apache/cxf/staxutils/StaxUtils.java
cxf/branches/2.1.x-fixes/common/common/src/main/java/org/apache/cxf/staxutils/W3CDOMStreamWriter.java
cxf/branches/2.1.x-fixes/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/soap/MAPCodec.java
cxf/branches/2.1.x-fixes/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/soap/RMSoapInterceptor.java
Propchange: cxf/branches/2.1.x-fixes/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Sep 2 09:46:21 2008
@@ -1 +1 @@
-/cxf/trunk:686333-686363,686764,686820,687096,687194,687363,687387,687463,687543,687722,687798,687814,687817,687891,687910,687914,688086,688102,688133,688596,688735,688870,689572,689596,689855,689924,690067,690289,691246
+/cxf/trunk:686333-686363,686764,686820,687096,687194,687363,687387,687463,687543,687722,687798,687814,687817,687891,687910,687914,688086,688102,688133,688596,688735,688870,689572,689596,689855,689924,690067,690289,691246,691271
Propchange: cxf/branches/2.1.x-fixes/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Tue Sep 2 09:46:21 2008
@@ -1 +1 @@
-/cxf/trunk:1-686342,686344-686363,686764,686820,687096,687194,687363,687387,687463,687543,687722,687798,687814,687817,687891,687910,687914,688086,688102,688133,688596,688735,688870,689572,689596,689855,689924,690067,690289,690638,691246
+/cxf/trunk:1-686342,686344-686363,686764,686820,687096,687194,687363,687387,687463,687543,687722,687798,687814,687817,687891,687910,687914,688086,688102,688133,688596,688735,688870,689572,689596,689855,689924,690067,690289,690638,691246,691271
Modified: cxf/branches/2.1.x-fixes/common/common/src/main/java/org/apache/cxf/staxutils/StaxUtils.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.1.x-fixes/common/common/src/main/java/org/apache/cxf/staxutils/StaxUtils.java?rev=691316&r1=691315&r2=691316&view=diff
==============================================================================
--- cxf/branches/2.1.x-fixes/common/common/src/main/java/org/apache/cxf/staxutils/StaxUtils.java (original)
+++ cxf/branches/2.1.x-fixes/common/common/src/main/java/org/apache/cxf/staxutils/StaxUtils.java Tue Sep 2 09:46:21 2008
@@ -751,13 +751,15 @@
}
private static void declare(Element node, String uri, String prefix) {
+ String qualname;
if (prefix != null && prefix.length() > 0) {
- node.setAttributeNS(XML_NS, "xmlns:" + prefix, uri);
+ qualname = "xmlns:" + prefix;
} else {
- if (uri != null /* && uri.length() > 0 */) {
- node.setAttributeNS(XML_NS, "xmlns", uri);
- }
+ qualname = "xmlns";
}
+ Attr attr = node.getOwnerDocument().createAttributeNS(XML_NS, qualname);
+ attr.setValue(uri);
+ node.setAttributeNodeNS(attr);
}
/**
Modified: cxf/branches/2.1.x-fixes/common/common/src/main/java/org/apache/cxf/staxutils/W3CDOMStreamWriter.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.1.x-fixes/common/common/src/main/java/org/apache/cxf/staxutils/W3CDOMStreamWriter.java?rev=691316&r1=691315&r2=691316&view=diff
==============================================================================
--- cxf/branches/2.1.x-fixes/common/common/src/main/java/org/apache/cxf/staxutils/W3CDOMStreamWriter.java (original)
+++ cxf/branches/2.1.x-fixes/common/common/src/main/java/org/apache/cxf/staxutils/W3CDOMStreamWriter.java Tue Sep 2 09:46:21 2008
@@ -150,12 +150,16 @@
if (prefix.length() == 0) {
writeDefaultNamespace(namespace);
} else {
- currentNode.setAttributeNS(XML_NS, "xmlns:" + prefix, namespace);
+ Attr attr = document.createAttributeNS(XML_NS, "xmlns:" + prefix);
+ attr.setValue(namespace);
+ currentNode.setAttributeNodeNS(attr);
}
}
public void writeDefaultNamespace(String namespace) throws XMLStreamException {
- currentNode.setAttributeNS(XML_NS, "xmlns", namespace);
+ Attr attr = document.createAttributeNS(XML_NS, "xmlns");
+ attr.setValue(namespace);
+ currentNode.setAttributeNodeNS(attr);
}
public void writeComment(String value) throws XMLStreamException {
Modified: cxf/branches/2.1.x-fixes/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/soap/MAPCodec.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.1.x-fixes/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/soap/MAPCodec.java?rev=691316&r1=691315&r2=691316&view=diff
==============================================================================
--- cxf/branches/2.1.x-fixes/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/soap/MAPCodec.java (original)
+++ cxf/branches/2.1.x-fixes/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/soap/MAPCodec.java Tue Sep 2 09:46:21 2008
@@ -327,9 +327,10 @@
//attributes cannot be in empty namespace...
if (lastAdded.lookupNamespaceURI(JAXWSAConstants.WSA_PREFIX) == null) {
pfx = JAXWSAConstants.WSA_PREFIX;
- lastAdded.setAttributeNS("http://www.w3.org/2000/xmlns/",
- "xmlns:wsa",
- namespaceURI);
+ Attr attr = lastAdded.getOwnerDocument()
+ .createAttributeNS("http://www.w3.org/2000/xmlns/", "xmlns:wsa");
+ attr.setValue(namespaceURI);
+ lastAdded.setAttributeNodeNS(attr);
} else if (lastAdded.lookupNamespaceURI(JAXWSAConstants.WSA_PREFIX).equals(namespaceURI)) {
pfx = JAXWSAConstants.WSA_PREFIX;
} else {
@@ -338,9 +339,10 @@
cnt++;
}
pfx = JAXWSAConstants.WSA_PREFIX + cnt;
- lastAdded.setAttributeNS("http://www.w3.org/2000/xmlns/",
- "xmlns:wsa" + cnt,
- namespaceURI);
+ Attr attr = lastAdded.getOwnerDocument()
+ .createAttributeNS("http://www.w3.org/2000/xmlns/", "xmlns:wsa" + cnt);
+ attr.setValue(namespaceURI);
+ lastAdded.setAttributeNodeNS(attr);
}
}
Attr isRefParamAttr =
Modified: cxf/branches/2.1.x-fixes/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/soap/RMSoapInterceptor.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.1.x-fixes/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/soap/RMSoapInterceptor.java?rev=691316&r1=691315&r2=691316&view=diff
==============================================================================
--- cxf/branches/2.1.x-fixes/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/soap/RMSoapInterceptor.java (original)
+++ cxf/branches/2.1.x-fixes/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/soap/RMSoapInterceptor.java Tue Sep 2 09:46:21 2008
@@ -37,6 +37,7 @@
import javax.xml.namespace.QName;
import javax.xml.soap.SOAPException;
+import org.w3c.dom.Attr;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
@@ -182,9 +183,12 @@
version.getHeader().getLocalPart());
// add WSRM namespace declaration to header, instead of
// repeating in each individual child node
- hdr.setAttributeNS("http://www.w3.org/2000/xmlns/",
- "xmlns:" + RMConstants.getNamespacePrefix(),
- RMConstants.getNamespace());
+
+ Attr attr = doc.createAttributeNS("http://www.w3.org/2000/xmlns/",
+ "xmlns:" + RMConstants.getNamespacePrefix());
+ attr.setValue(RMConstants.getNamespace());
+ hdr.setAttributeNodeNS(attr);
+
Marshaller marshaller = getJAXBContext().createMarshaller();
marshaller.setProperty(Marshaller.JAXB_FRAGMENT, Boolean.TRUE);
@@ -262,9 +266,11 @@
marshaller);
Node node = hdr.getFirstChild();
if (node instanceof Element) {
- ((Element)node).setAttributeNS("http://www.w3.org/2000/xmlns/",
- "xmlns:" + RMConstants.getNamespacePrefix(),
- RMConstants.getNamespace());
+
+ Attr attr = doc.createAttributeNS("http://www.w3.org/2000/xmlns/",
+ "xmlns:" + RMConstants.getNamespacePrefix());
+ attr.setValue(RMConstants.getNamespace());
+ ((Element)node).setAttributeNodeNS(attr);
}
header.add(new Header(new QName(node.getNamespaceURI(), node.getLocalName()), node));