[1/3] cxf git commit: [CXF-6319] Fix regression by storing namespace declarations from Body and Envelope element and later updating the SAAJ model with them
Repository: cxf Updated Branches: refs/heads/2.7.x-fixes 523dbfde1 - 401def618 [CXF-6319] Fix regression by storing namespace declarations from Body and Envelope element and later updating the SAAJ model with them Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/5b5e7428 Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/5b5e7428 Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/5b5e7428 Branch: refs/heads/2.7.x-fixes Commit: 5b5e74280b7d3b473d82490521c6bc1404611c05 Parents: 523dbfd Author: Alessio Soldano asold...@redhat.com Authored: Thu Mar 26 22:34:44 2015 +0100 Committer: Alessio Soldano asold...@redhat.com Committed: Mon Mar 30 08:40:25 2015 +0200 -- .../interceptor/ReadHeadersInterceptor.java | 47 +--- .../binding/soap/saaj/SAAJInInterceptor.java| 13 ++ 2 files changed, 55 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cxf/blob/5b5e7428/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/ReadHeadersInterceptor.java -- diff --git a/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/ReadHeadersInterceptor.java b/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/ReadHeadersInterceptor.java index da79bf6..ee768d9 100644 --- a/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/ReadHeadersInterceptor.java +++ b/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/ReadHeadersInterceptor.java @@ -21,7 +21,10 @@ package org.apache.cxf.binding.soap.interceptor; import java.io.InputStream; import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; import java.util.List; +import java.util.Map; import java.util.logging.Logger; import javax.xml.namespace.QName; @@ -29,6 +32,7 @@ import javax.xml.stream.XMLEventFactory; import javax.xml.stream.XMLStreamConstants; import javax.xml.stream.XMLStreamException; import javax.xml.stream.XMLStreamReader; +import javax.xml.stream.events.Namespace; import javax.xml.stream.events.XMLEvent; import org.w3c.dom.Attr; @@ -63,6 +67,8 @@ import org.apache.cxf.staxutils.W3CDOMStreamWriter; public class ReadHeadersInterceptor extends AbstractSoapInterceptor { + +public static final String ADDITIONAL_ENVELOPE_BODY_NS = additional.env.body.ns; /** * */ @@ -186,6 +192,8 @@ public class ReadHeadersInterceptor extends AbstractSoapInterceptor { doc = processor.process(filteredReader); if (doc != null) { message.setContent(Node.class, doc); +} else { +message.put(ADDITIONAL_ENVELOPE_BODY_NS, processor.getEnvelopeAndBodyNamespaces()); } } @@ -273,14 +281,22 @@ public class ReadHeadersInterceptor extends AbstractSoapInterceptor { */ private static class HeadersProcessor { private static final XMLEventFactory FACTORY = XMLEventFactory.newInstance(); -private final QName soapVersionHeader; +private final String ns; +private final String header; +private final String body; +private final String envelope; private final ListXMLEvent events = new ArrayListXMLEvent(8); +private MapString, String namespaces; private StreamToDOMContext context; private Document doc; private Node parent; +private QName lastStartElementQName; public HeadersProcessor(SoapVersion version) { -this.soapVersionHeader = version.getHeader(); +this.header = version.getHeader().getLocalPart(); +this.ns = version.getEnvelope().getNamespaceURI(); +this.envelope = version.getEnvelope().getLocalPart(); +this.body = version.getBody().getLocalPart(); } public Document process(XMLStreamReader reader) throws XMLStreamException { @@ -343,9 +359,9 @@ public class ReadHeadersInterceptor extends AbstractSoapInterceptor { private void addEvent(XMLEvent event) { if (event.isStartElement()) { -QName qName = event.asStartElement().getName(); -if (soapVersionHeader.getLocalPart().equals(qName.getLocalPart()) - soapVersionHeader.getNamespaceURI().equals(qName.getNamespaceURI())) { +lastStartElementQName = event.asStartElement().getName(); +if (header.equals(lastStartElementQName.getLocalPart()) + ns.equals(lastStartElementQName.getNamespaceURI())) { // process all events recorded so far context = new
[2/3] cxf git commit: [CXF-6319] Improving fix to keep track of both namespaces and attributes
[CXF-6319] Improving fix to keep track of both namespaces and attributes Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/80a884c5 Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/80a884c5 Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/80a884c5 Branch: refs/heads/2.7.x-fixes Commit: 80a884c5c9c2adb048d792936512dd1f58e0bec1 Parents: 5b5e742 Author: Alessio Soldano asold...@redhat.com Authored: Fri Mar 27 13:05:21 2015 +0100 Committer: Alessio Soldano asold...@redhat.com Committed: Mon Mar 30 08:40:50 2015 +0200 -- .../interceptor/ReadHeadersInterceptor.java | 47 .../binding/soap/saaj/SAAJInInterceptor.java| 33 +- 2 files changed, 51 insertions(+), 29 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cxf/blob/80a884c5/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/ReadHeadersInterceptor.java -- diff --git a/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/ReadHeadersInterceptor.java b/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/ReadHeadersInterceptor.java index ee768d9..f8c2c66 100644 --- a/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/ReadHeadersInterceptor.java +++ b/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/ReadHeadersInterceptor.java @@ -22,9 +22,7 @@ package org.apache.cxf.binding.soap.interceptor; import java.io.InputStream; import java.util.ArrayList; import java.util.Collections; -import java.util.HashMap; import java.util.List; -import java.util.Map; import java.util.logging.Logger; import javax.xml.namespace.QName; @@ -32,7 +30,6 @@ import javax.xml.stream.XMLEventFactory; import javax.xml.stream.XMLStreamConstants; import javax.xml.stream.XMLStreamException; import javax.xml.stream.XMLStreamReader; -import javax.xml.stream.events.Namespace; import javax.xml.stream.events.XMLEvent; import org.w3c.dom.Attr; @@ -68,7 +65,8 @@ import org.apache.cxf.staxutils.W3CDOMStreamWriter; public class ReadHeadersInterceptor extends AbstractSoapInterceptor { -public static final String ADDITIONAL_ENVELOPE_BODY_NS = additional.env.body.ns; +public static final String ENVELOPE_EVENTS = envelope.events; +public static final String BODY_EVENTS = body.events; /** * */ @@ -193,7 +191,8 @@ public class ReadHeadersInterceptor extends AbstractSoapInterceptor { if (doc != null) { message.setContent(Node.class, doc); } else { -message.put(ADDITIONAL_ENVELOPE_BODY_NS, processor.getEnvelopeAndBodyNamespaces()); +message.put(ENVELOPE_EVENTS, processor.getEnvAttributeAndNamespaceEvents()); +message.put(BODY_EVENTS, processor.getBodyAttributeAndNamespaceEvents()); } } @@ -286,7 +285,8 @@ public class ReadHeadersInterceptor extends AbstractSoapInterceptor { private final String body; private final String envelope; private final ListXMLEvent events = new ArrayListXMLEvent(8); -private MapString, String namespaces; +private ListXMLEvent envEvents; +private ListXMLEvent bodyEvents; private StreamToDOMContext context; private Document doc; private Node parent; @@ -377,28 +377,37 @@ public class ReadHeadersInterceptor extends AbstractSoapInterceptor { events.add(event); } } else { -if (event.isNamespace()) { +if (event.isNamespace() || event.isAttribute()) { final String lastEl = lastStartElementQName.getLocalPart(); -if ((body.equals(lastEl) || envelope.equals(lastEl)) - ns.equals(lastStartElementQName.getNamespaceURI())) { -if (namespaces == null) { -namespaces = new HashMapString, String(); +if (body.equals(lastEl) ns.equals(lastStartElementQName.getNamespaceURI())) { +if (bodyEvents == null) { +bodyEvents = new ArrayListXMLEvent(); } -Namespace nsEvent = (Namespace)event; -//just put in the map, in case of duplicates in env and body, -//body one will always come afterwards, so we're fine -namespaces.put(nsEvent.getPrefix(), nsEvent.getNamespaceURI()); +bodyEvents.add(event); +} else if (envelope.equals(lastEl)
[3/3] cxf git commit: Recording .gitmergeinfo Changes
Recording .gitmergeinfo Changes Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/401def61 Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/401def61 Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/401def61 Branch: refs/heads/2.7.x-fixes Commit: 401def61851e5e4e130c871ccd10801d66d56dde Parents: 80a884c Author: Alessio Soldano asold...@redhat.com Authored: Mon Mar 30 08:59:52 2015 +0200 Committer: Alessio Soldano asold...@redhat.com Committed: Mon Mar 30 08:59:52 2015 +0200 -- .gitmergeinfo | 2 ++ 1 file changed, 2 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cxf/blob/401def61/.gitmergeinfo -- diff --git a/.gitmergeinfo b/.gitmergeinfo index c41ca79..a15e794 100644 --- a/.gitmergeinfo +++ b/.gitmergeinfo @@ -1983,6 +1983,7 @@ M 177b53ee279392baa0b98bfa4e55391343f02428 M 17b3db58966d22f46696c8b852ae510822639550 M 17d844c86568030e0ac746f0a3a9318d3ba67a9c M 18caf87e1302aac473c8cc1cc11853fb1ad401ef +M 18cefb949616b8ba7ac88c337d506f07ed7a0f01 M 19322e37932772ebc4ff988db49089d15e3aa1a7 M 1944d3d83a1170ef1cd60f10b46dda111f112acf M 19e99e219c74326ce6edc30a0b69a0bc45ce85d8 @@ -2189,6 +2190,7 @@ M 5995149d449ebbfdc4d22717409fe9d5e86da48b M 59e67563adce861d6b2a723b5c6526fd7374184b M 5a5dbe76f2e2263e1e9c524088ce92bdf61293f6 M 5a9bcf36ea3c15e89357a61161c51830583ac526 +M 5ae494dc9868552ea70b7fdac70e59c066d64317 M 5af5c7b62bf71a1f1077422aafbea86754906232 M 5b6b226aff25f1da1b4e12e16343dbc1cb8e9dc5 M 5bd5124661cb48a9ff619dc796e308171510d058