INT-1951, INT-1981 added parametrization to references of SourceExtractor
This commit is contained in:
@@ -38,21 +38,22 @@ import org.springframework.xml.transform.TransformerObjectSupport;
|
||||
* An outbound Messaging Gateway for invoking a Web Service.
|
||||
*
|
||||
* @author Mark Fisher
|
||||
* @author Oleg Zhurakousky
|
||||
*/
|
||||
public class SimpleWebServiceOutboundGateway extends AbstractWebServiceOutboundGateway {
|
||||
|
||||
private final SourceExtractor sourceExtractor;
|
||||
private final SourceExtractor<?> sourceExtractor;
|
||||
|
||||
|
||||
public SimpleWebServiceOutboundGateway(DestinationProvider destinationProvider) {
|
||||
this(destinationProvider, null, null);
|
||||
}
|
||||
|
||||
public SimpleWebServiceOutboundGateway(DestinationProvider destinationProvider, SourceExtractor sourceExtractor) {
|
||||
public SimpleWebServiceOutboundGateway(DestinationProvider destinationProvider, SourceExtractor<?> sourceExtractor) {
|
||||
this(destinationProvider, sourceExtractor, (WebServiceMessageFactory) null);
|
||||
}
|
||||
|
||||
public SimpleWebServiceOutboundGateway(DestinationProvider destinationProvider, SourceExtractor sourceExtractor, WebServiceMessageFactory messageFactory) {
|
||||
public SimpleWebServiceOutboundGateway(DestinationProvider destinationProvider, SourceExtractor<?> sourceExtractor, WebServiceMessageFactory messageFactory) {
|
||||
super(destinationProvider, messageFactory);
|
||||
this.sourceExtractor = (sourceExtractor != null) ? sourceExtractor : new DefaultSourceExtractor();
|
||||
}
|
||||
@@ -83,11 +84,11 @@ public class SimpleWebServiceOutboundGateway extends AbstractWebServiceOutboundG
|
||||
}
|
||||
|
||||
|
||||
private static class DefaultSourceExtractor extends TransformerObjectSupport implements SourceExtractor {
|
||||
private static class DefaultSourceExtractor extends TransformerObjectSupport implements SourceExtractor<DOMSource> {
|
||||
|
||||
public Object extractData(Source source) throws IOException, TransformerException {
|
||||
public DOMSource extractData(Source source) throws IOException, TransformerException {
|
||||
if (source instanceof DOMSource) {
|
||||
return source;
|
||||
return (DOMSource)source;
|
||||
}
|
||||
DOMResult result = new DOMResult();
|
||||
this.transform(source, result);
|
||||
|
||||
@@ -26,7 +26,7 @@ import org.springframework.ws.client.core.SourceExtractor;
|
||||
/**
|
||||
* @author Mark Fisher
|
||||
*/
|
||||
public class StubSourceExtractor implements SourceExtractor {
|
||||
public class StubSourceExtractor implements SourceExtractor<Object> {
|
||||
|
||||
public Object extractData(Source source) throws IOException, TransformerException {
|
||||
return "test";
|
||||
|
||||
@@ -102,7 +102,7 @@ public class WebServiceOutboundGatewayParserTests {
|
||||
Object gateway = new DirectFieldAccessor(endpoint).getPropertyValue("handler");
|
||||
assertEquals(SimpleWebServiceOutboundGateway.class, gateway.getClass());
|
||||
DirectFieldAccessor accessor = new DirectFieldAccessor(gateway);
|
||||
SourceExtractor sourceExtractor = (SourceExtractor) context.getBean("sourceExtractor");
|
||||
SourceExtractor<?> sourceExtractor = (SourceExtractor<?>) context.getBean("sourceExtractor");
|
||||
assertEquals(sourceExtractor, accessor.getPropertyValue("sourceExtractor"));
|
||||
}
|
||||
|
||||
@@ -138,7 +138,7 @@ public class WebServiceOutboundGatewayParserTests {
|
||||
ApplicationContext context = new ClassPathXmlApplicationContext(
|
||||
"simpleWebServiceOutboundGatewayParserTests.xml", this.getClass());
|
||||
AbstractEndpoint endpoint = (AbstractEndpoint) context.getBean("gatewayWithCustomSourceExtractorAndMessageFactory");
|
||||
SourceExtractor sourceExtractor = (SourceExtractor) context.getBean("sourceExtractor");
|
||||
SourceExtractor<?> sourceExtractor = (SourceExtractor<?>) context.getBean("sourceExtractor");
|
||||
assertEquals(EventDrivenConsumer.class, endpoint.getClass());
|
||||
Object gateway = new DirectFieldAccessor(endpoint).getPropertyValue("handler");
|
||||
assertEquals(SimpleWebServiceOutboundGateway.class, gateway.getClass());
|
||||
|
||||
Reference in New Issue
Block a user