From 9ab5e771cea12693c456eda0c40eba3f58d77b90 Mon Sep 17 00:00:00 2001 From: Arjen Poutsma Date: Mon, 17 May 2010 13:03:14 +0000 Subject: [PATCH] SWS-351 - Arbitrary parameter injection for @Endpoints --- .../adapter/GenericMarshallingMethodEndpointAdapter.java | 4 ++++ .../endpoint/adapter/MarshallingMethodEndpointAdapter.java | 4 ++++ .../endpoint/adapter/MessageMethodEndpointAdapter.java | 6 +++++- .../endpoint/adapter/PayloadMethodEndpointAdapter.java | 6 +++++- .../adapter/XPathParamAnnotationMethodEndpointAdapter.java | 4 ++++ 5 files changed, 22 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/org/springframework/ws/server/endpoint/adapter/GenericMarshallingMethodEndpointAdapter.java b/core/src/main/java/org/springframework/ws/server/endpoint/adapter/GenericMarshallingMethodEndpointAdapter.java index be156df6..ec611d28 100644 --- a/core/src/main/java/org/springframework/ws/server/endpoint/adapter/GenericMarshallingMethodEndpointAdapter.java +++ b/core/src/main/java/org/springframework/ws/server/endpoint/adapter/GenericMarshallingMethodEndpointAdapter.java @@ -35,7 +35,11 @@ import org.springframework.ws.server.endpoint.MethodEndpoint; * * @author Arjen Poutsma * @since 1.0.2 + * @deprecated as of Spring Web Services 2.0, in favor of {@link DefaultMethodEndpointAdapter} and {@link + * org.springframework.ws.server.endpoint.adapter.method.MarshallingPayloadMethodProcessor + * MarshallingPayloadMethodProcessor}. */ +@Deprecated public class GenericMarshallingMethodEndpointAdapter extends MarshallingMethodEndpointAdapter { /** diff --git a/core/src/main/java/org/springframework/ws/server/endpoint/adapter/MarshallingMethodEndpointAdapter.java b/core/src/main/java/org/springframework/ws/server/endpoint/adapter/MarshallingMethodEndpointAdapter.java index 635849a7..b8010a75 100644 --- a/core/src/main/java/org/springframework/ws/server/endpoint/adapter/MarshallingMethodEndpointAdapter.java +++ b/core/src/main/java/org/springframework/ws/server/endpoint/adapter/MarshallingMethodEndpointAdapter.java @@ -49,7 +49,11 @@ import org.springframework.ws.support.MarshallingUtils; * @see #setMarshaller(org.springframework.oxm.Marshaller) * @see #setUnmarshaller(org.springframework.oxm.Unmarshaller) * @since 1.0.0 + * @deprecated as of Spring Web Services 2.0, in favor of {@link DefaultMethodEndpointAdapter} and {@link + * org.springframework.ws.server.endpoint.adapter.method.MarshallingPayloadMethodProcessor + * MarshallingPayloadMethodProcessor}. */ +@Deprecated public class MarshallingMethodEndpointAdapter extends AbstractMethodEndpointAdapter implements InitializingBean { private Marshaller marshaller; diff --git a/core/src/main/java/org/springframework/ws/server/endpoint/adapter/MessageMethodEndpointAdapter.java b/core/src/main/java/org/springframework/ws/server/endpoint/adapter/MessageMethodEndpointAdapter.java index 26b4b84c..41447d38 100644 --- a/core/src/main/java/org/springframework/ws/server/endpoint/adapter/MessageMethodEndpointAdapter.java +++ b/core/src/main/java/org/springframework/ws/server/endpoint/adapter/MessageMethodEndpointAdapter.java @@ -35,7 +35,11 @@ import org.springframework.ws.soap.server.SoapMessageDispatcher; * * @author Arjen Poutsma * @since 1.0.0 + * @deprecated as of Spring Web Services 2.0, in favor of {@link DefaultMethodEndpointAdapter} and {@link + * org.springframework.ws.server.endpoint.adapter.method.MessageContextMethodArgumentResolver + * MessageContextMethodArgumentResolver}. */ +@Deprecated public class MessageMethodEndpointAdapter extends AbstractMethodEndpointAdapter { @Override @@ -47,7 +51,7 @@ public class MessageMethodEndpointAdapter extends AbstractMethodEndpointAdapter @Override protected void invokeInternal(MessageContext messageContext, MethodEndpoint methodEndpoint) throws Exception { - methodEndpoint.invoke(new Object[]{messageContext}); + methodEndpoint.invoke(messageContext); } } diff --git a/core/src/main/java/org/springframework/ws/server/endpoint/adapter/PayloadMethodEndpointAdapter.java b/core/src/main/java/org/springframework/ws/server/endpoint/adapter/PayloadMethodEndpointAdapter.java index 142a6025..fe75f0d6 100644 --- a/core/src/main/java/org/springframework/ws/server/endpoint/adapter/PayloadMethodEndpointAdapter.java +++ b/core/src/main/java/org/springframework/ws/server/endpoint/adapter/PayloadMethodEndpointAdapter.java @@ -41,7 +41,11 @@ import org.springframework.ws.soap.server.SoapMessageDispatcher; * * @author Arjen Poutsma * @since 1.0.0 + * @deprecated as of Spring Web Services 2.0, in favor of {@link DefaultMethodEndpointAdapter} and {@link + * org.springframework.ws.server.endpoint.adapter.method.SourcePayloadMethodProcessor + * SourcePayloadMethodProcessor}. */ +@Deprecated public class PayloadMethodEndpointAdapter extends AbstractMethodEndpointAdapter { @Override @@ -56,7 +60,7 @@ public class PayloadMethodEndpointAdapter extends AbstractMethodEndpointAdapter @Override protected void invokeInternal(MessageContext messageContext, MethodEndpoint methodEndpoint) throws Exception { Source requestSource = messageContext.getRequest().getPayloadSource(); - Object result = methodEndpoint.invoke(new Object[]{requestSource}); + Object result = methodEndpoint.invoke(requestSource); if (result != null) { Source responseSource = (Source) result; WebServiceMessage response = messageContext.getResponse(); diff --git a/core/src/main/java/org/springframework/ws/server/endpoint/adapter/XPathParamAnnotationMethodEndpointAdapter.java b/core/src/main/java/org/springframework/ws/server/endpoint/adapter/XPathParamAnnotationMethodEndpointAdapter.java index 1f0c96c4..72e4f6fa 100644 --- a/core/src/main/java/org/springframework/ws/server/endpoint/adapter/XPathParamAnnotationMethodEndpointAdapter.java +++ b/core/src/main/java/org/springframework/ws/server/endpoint/adapter/XPathParamAnnotationMethodEndpointAdapter.java @@ -57,7 +57,11 @@ import org.w3c.dom.NodeList; * * @author Arjen Poutsma * @since 1.0.0 + * @deprecated as of Spring Web Services 2.0, in favor of {@link DefaultMethodEndpointAdapter} and {@link + * org.springframework.ws.server.endpoint.adapter.method.XPathParamMethodArgumentResolver + * XPathParamMethodArgumentResolver}. */ +@Deprecated public class XPathParamAnnotationMethodEndpointAdapter extends AbstractMethodEndpointAdapter implements InitializingBean {