Repository: camel Updated Branches: refs/heads/master bd3c4c4b1 -> b45652154
CAMEL-8959: Remove old code from camel-cxf no longer needed due the CXF 3.0+ upgrade Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/b4565215 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/b4565215 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/b4565215 Branch: refs/heads/master Commit: b456521541b09cbfe683f2b1f89b75df12bcd68c Parents: bd3c4c4 Author: Antoine Toulme <anto...@lunar-ocean.com> Authored: Fri Oct 16 00:37:58 2015 -0700 Committer: Claus Ibsen <davscl...@apache.org> Committed: Mon Oct 26 10:51:14 2015 +0100 ---------------------------------------------------------------------- components/camel-cxf-transport/pom.xml | 5 +++ .../common/message/DefaultCxfMessageMapper.java | 43 +++++++------------- .../component/cxf/HybridSourceDataBinding.java | 13 ------ 3 files changed, 19 insertions(+), 42 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/b4565215/components/camel-cxf-transport/pom.xml ---------------------------------------------------------------------- diff --git a/components/camel-cxf-transport/pom.xml b/components/camel-cxf-transport/pom.xml index 7bc2109..6990bd9 100644 --- a/components/camel-cxf-transport/pom.xml +++ b/components/camel-cxf-transport/pom.xml @@ -73,6 +73,11 @@ <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> </dependency> + + <dependency> + <groupId>org.apache.geronimo.specs</groupId> + <artifactId>geronimo-servlet_3.0_spec</artifactId> + </dependency> <!-- OSGi, Blueprint --> <dependency> http://git-wip-us.apache.org/repos/asf/camel/blob/b4565215/components/camel-cxf-transport/src/main/java/org/apache/camel/component/cxf/common/message/DefaultCxfMessageMapper.java ---------------------------------------------------------------------- diff --git a/components/camel-cxf-transport/src/main/java/org/apache/camel/component/cxf/common/message/DefaultCxfMessageMapper.java b/components/camel-cxf-transport/src/main/java/org/apache/camel/component/cxf/common/message/DefaultCxfMessageMapper.java index d2510be..be85bb5 100644 --- a/components/camel-cxf-transport/src/main/java/org/apache/camel/component/cxf/common/message/DefaultCxfMessageMapper.java +++ b/components/camel-cxf-transport/src/main/java/org/apache/camel/component/cxf/common/message/DefaultCxfMessageMapper.java @@ -16,11 +16,12 @@ */ package org.apache.camel.component.cxf.common.message; -import java.lang.reflect.Method; import java.security.Principal; import java.util.List; import java.util.Map; +import javax.servlet.http.HttpServletRequest; + import org.apache.camel.Exchange; import org.apache.camel.spi.HeaderFilterStrategy; import org.apache.cxf.helpers.CastUtils; @@ -68,7 +69,7 @@ public class DefaultCxfMessageMapper implements CxfMessageMapper { answer.put(org.apache.cxf.message.Message.ENCODING, enc); answer.put(org.apache.cxf.message.Message.QUERY_STRING, queryString); - Object request = camelMessage.getHeader(Exchange.HTTP_SERVLET_REQUEST); + HttpServletRequest request = (HttpServletRequest) camelMessage.getHeader(Exchange.HTTP_SERVLET_REQUEST); answer.put(CXF_HTTP_REQUEST, request); if (request != null) { @@ -84,35 +85,19 @@ public class DefaultCxfMessageMapper implements CxfMessageMapper { return answer; } - protected void setSecurityContext(Message cxfMessage, final Object request) { - try { - final Method getPrincipalMethod = request.getClass() - .getMethod("getUserPrincipal", new Class[] {}); - final Method userInRoleMethod = request.getClass() - .getMethod("isUserInRole", new Class[] {String.class}); - cxfMessage.put(SecurityContext.class, new SecurityContext() { - - public Principal getUserPrincipal() { - try { - return (Principal)getPrincipalMethod.invoke(request, new Object[] {}); - } catch (Throwable t) { - return null; - } - } + protected void setSecurityContext(Message cxfMessage, final HttpServletRequest request) { + cxfMessage.put(SecurityContext.class, new SecurityContext() { - @Override - public boolean isUserInRole(String role) { - try { - return (Boolean)userInRoleMethod.invoke(request, new Object[] {role}); - } catch (Throwable t) { - return false; - } - } + public Principal getUserPrincipal() { + return request.getUserPrincipal(); + } - }); - } catch (Throwable t) { - // not expected - } + @Override + public boolean isUserInRole(String role) { + return request.isUserInRole(role); + } + + }); } public void propagateResponseHeadersToCamel(Message cxfMessage, Exchange exchange, http://git-wip-us.apache.org/repos/asf/camel/blob/b4565215/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/HybridSourceDataBinding.java ---------------------------------------------------------------------- diff --git a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/HybridSourceDataBinding.java b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/HybridSourceDataBinding.java index 74eb5d1..99036f5 100644 --- a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/HybridSourceDataBinding.java +++ b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/HybridSourceDataBinding.java @@ -84,19 +84,6 @@ public class HybridSourceDataBinding extends JAXBDataBinding { if (obj == null) { return; } - // workaround issue in CXF that is causing these to go through - // sax instead of stax. Fixed in 2.4.4/2.5. - if (obj instanceof StaxSource - || obj instanceof StAXSource) { - XMLStreamReader reader = StaxUtils.createXMLStreamReader((Source)obj); - try { - StaxUtils.copy(reader, output); - reader.close(); - } catch (XMLStreamException e) { - throw new Fault(new Message("COULD_NOT_READ_XML_STREAM", LOG), e); - } - return; - } super.write(obj, part, output); }