INT-1951, INT-1981 added parametrization to references of SourceExtractor

This commit is contained in:
Oleg Zhurakousky
2011-08-08 10:44:19 -04:00
parent 71f6a7278b
commit fae321bf4b
3 changed files with 10 additions and 9 deletions

View File

@@ -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);