INT-1480 Remove Class Dependencies from IP Parsers

This commit is contained in:
Gary Russell
2010-09-24 16:54:31 -04:00
parent c807307622
commit ae4a75db53
7 changed files with 38 additions and 35 deletions

View File

@@ -21,10 +21,6 @@ import org.springframework.beans.factory.support.BeanDefinitionBuilder;
import org.springframework.beans.factory.xml.AbstractBeanDefinitionParser;
import org.springframework.beans.factory.xml.ParserContext;
import org.springframework.integration.config.xml.IntegrationNamespaceUtils;
import org.springframework.integration.ip.tcp.connection.TcpNetClientConnectionFactory;
import org.springframework.integration.ip.tcp.connection.TcpNetServerConnectionFactory;
import org.springframework.integration.ip.tcp.connection.TcpNioClientConnectionFactory;
import org.springframework.integration.ip.tcp.connection.TcpNioServerConnectionFactory;
import org.springframework.util.StringUtils;
import org.w3c.dom.Element;
@@ -34,6 +30,8 @@ import org.w3c.dom.Element;
*
*/
public class TcpConnectionParser extends AbstractBeanDefinitionParser {
private static final String BASE_PACKAGE = "org.springframework.integration.ip.tcp.connection";
@Override
protected AbstractBeanDefinition parseInternal(Element element,
@@ -47,22 +45,22 @@ public class TcpConnectionParser extends AbstractBeanDefinitionParser {
}
if (type.equals("client")) {
if (useNio.equals("true")) {
builder = BeanDefinitionBuilder.genericBeanDefinition(
TcpNioClientConnectionFactory.class);
builder = BeanDefinitionBuilder.genericBeanDefinition(BASE_PACKAGE +
".TcpNioClientConnectionFactory");
IpAdapterParserUtils.addHostAndPortToConstructor(element, builder, parserContext);
} else {
builder = BeanDefinitionBuilder.genericBeanDefinition(
TcpNetClientConnectionFactory.class);
builder = BeanDefinitionBuilder.genericBeanDefinition(BASE_PACKAGE +
".TcpNetClientConnectionFactory");
IpAdapterParserUtils.addHostAndPortToConstructor(element, builder, parserContext);
}
} else if (type.equals("server")) {
if (useNio.equals("true")) {
builder = BeanDefinitionBuilder.genericBeanDefinition(
TcpNioServerConnectionFactory.class);
builder = BeanDefinitionBuilder.genericBeanDefinition(BASE_PACKAGE +
".TcpNioServerConnectionFactory");
IpAdapterParserUtils.addPortToConstructor(element, builder, parserContext);
} else {
builder = BeanDefinitionBuilder.genericBeanDefinition(
TcpNetServerConnectionFactory.class);
builder = BeanDefinitionBuilder.genericBeanDefinition(BASE_PACKAGE +
".TcpNetServerConnectionFactory");
IpAdapterParserUtils.addPortToConstructor(element, builder, parserContext);
}
} else {

View File

@@ -21,7 +21,6 @@ import org.springframework.beans.factory.support.BeanDefinitionBuilder;
import org.springframework.beans.factory.xml.ParserContext;
import org.springframework.integration.config.xml.AbstractChannelAdapterParser;
import org.springframework.integration.config.xml.IntegrationNamespaceUtils;
import org.springframework.integration.ip.tcp.TcpReceivingChannelAdapter;
import org.w3c.dom.Element;
/**
@@ -31,10 +30,12 @@ import org.w3c.dom.Element;
* @since 2.0
*/
public class TcpInboundChannelAdapterParser extends AbstractChannelAdapterParser {
private static final String BASE_PACKAGE = "org.springframework.integration.ip.tcp";
protected AbstractBeanDefinition doParse(Element element, ParserContext parserContext, String channelName) {
BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(
TcpReceivingChannelAdapter.class);
BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(BASE_PACKAGE +
".TcpReceivingChannelAdapter");
IntegrationNamespaceUtils.setReferenceIfAttributeDefined(builder, element,
IpAdapterParserUtils.TCP_CONNECTION_FACTORY);
IntegrationNamespaceUtils.setReferenceIfAttributeDefined(builder,

View File

@@ -19,7 +19,6 @@ package org.springframework.integration.ip.config;
import org.springframework.beans.factory.support.BeanDefinitionBuilder;
import org.springframework.integration.config.xml.AbstractInboundGatewayParser;
import org.springframework.integration.config.xml.IntegrationNamespaceUtils;
import org.springframework.integration.ip.tcp.TcpInboundGateway;
import org.w3c.dom.Element;
/**
@@ -27,10 +26,12 @@ import org.w3c.dom.Element;
* @since 2.0
*/
public class TcpInboundGatewayParser extends AbstractInboundGatewayParser {
private static final String BASE_PACKAGE = "org.springframework.integration.ip.tcp";
@Override
protected Class<?> getBeanClass(Element element) {
return TcpInboundGateway.class;
protected String getBeanClassName(Element element) {
return BASE_PACKAGE + ".TcpInboundGateway";
}
@Override

View File

@@ -21,7 +21,6 @@ import org.springframework.beans.factory.support.BeanDefinitionBuilder;
import org.springframework.beans.factory.xml.ParserContext;
import org.springframework.integration.config.xml.AbstractOutboundChannelAdapterParser;
import org.springframework.integration.config.xml.IntegrationNamespaceUtils;
import org.springframework.integration.ip.tcp.TcpSendingMessageHandler;
import org.w3c.dom.Element;
/**
@@ -29,10 +28,12 @@ import org.w3c.dom.Element;
* @since 2.0
*/
public class TcpOutboundChannelAdapterParser extends AbstractOutboundChannelAdapterParser {
private static final String BASE_PACKAGE = "org.springframework.integration.ip.tcp";
protected AbstractBeanDefinition parseConsumer(Element element, ParserContext parserContext) {
BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(
TcpSendingMessageHandler.class);
BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(BASE_PACKAGE +
".TcpSendingMessageHandler");
IntegrationNamespaceUtils.setReferenceIfAttributeDefined(builder, element,
IpAdapterParserUtils.TCP_CONNECTION_FACTORY);
return builder.getBeanDefinition();

View File

@@ -29,6 +29,8 @@ import org.w3c.dom.Element;
* @since 2.0
*/
public class TcpOutboundGatewayParser extends AbstractConsumerEndpointParser {
private static final String BASE_PACKAGE = "org.springframework.integration.ip.tcp";
@Override
protected String getInputChannelAttributeName() {
@@ -37,8 +39,8 @@ public class TcpOutboundGatewayParser extends AbstractConsumerEndpointParser {
@Override
protected BeanDefinitionBuilder parseHandler(Element element, ParserContext parserContext) {
BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(
"org.springframework.integration.ip.tcp.TcpOutboundGateway");
BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(BASE_PACKAGE +
".TcpOutboundGateway");
IntegrationNamespaceUtils.setReferenceIfAttributeDefined(builder, element,
IpAdapterParserUtils.TCP_CONNECTION_FACTORY);
IntegrationNamespaceUtils.setReferenceIfAttributeDefined(builder, element,

View File

@@ -21,8 +21,6 @@ import org.springframework.beans.factory.support.BeanDefinitionBuilder;
import org.springframework.beans.factory.xml.ParserContext;
import org.springframework.integration.config.xml.AbstractChannelAdapterParser;
import org.springframework.integration.config.xml.IntegrationNamespaceUtils;
import org.springframework.integration.ip.udp.MulticastReceivingChannelAdapter;
import org.springframework.integration.ip.udp.UnicastReceivingChannelAdapter;
import org.springframework.util.StringUtils;
import org.w3c.dom.Element;
@@ -33,6 +31,8 @@ import org.w3c.dom.Element;
* @since 2.0
*/
public class UdpInboundChannelAdapterParser extends AbstractChannelAdapterParser {
private static final String BASE_PACKAGE = "org.springframework.integration.ip.udp";
protected AbstractBeanDefinition doParse(Element element, ParserContext parserContext, String channelName) {
BeanDefinitionBuilder builder = parseUdp(element, parserContext);
@@ -68,12 +68,12 @@ public class UdpInboundChannelAdapterParser extends AbstractChannelAdapterParser
BeanDefinitionBuilder builder;
String multicast = IpAdapterParserUtils.getMulticast(element);
if (multicast.equals("false")) {
builder = BeanDefinitionBuilder
.genericBeanDefinition(UnicastReceivingChannelAdapter.class);
builder = BeanDefinitionBuilder.genericBeanDefinition(BASE_PACKAGE +
".UnicastReceivingChannelAdapter");
}
else {
builder = BeanDefinitionBuilder
.genericBeanDefinition(MulticastReceivingChannelAdapter.class);
builder = BeanDefinitionBuilder.genericBeanDefinition(BASE_PACKAGE +
".MulticastReceivingChannelAdapter");
String mcAddress = element
.getAttribute(IpAdapterParserUtils.MULTICAST_ADDRESS);
if (!StringUtils.hasText(mcAddress)) {

View File

@@ -21,8 +21,6 @@ import org.springframework.beans.factory.support.BeanDefinitionBuilder;
import org.springframework.beans.factory.xml.ParserContext;
import org.springframework.integration.config.xml.AbstractOutboundChannelAdapterParser;
import org.springframework.integration.config.xml.IntegrationNamespaceUtils;
import org.springframework.integration.ip.udp.MulticastSendingMessageHandler;
import org.springframework.integration.ip.udp.UnicastSendingMessageHandler;
import org.springframework.util.StringUtils;
import org.w3c.dom.Element;
@@ -31,6 +29,8 @@ import org.w3c.dom.Element;
* @since 2.0
*/
public class UdpOutboundChannelAdapterParser extends AbstractOutboundChannelAdapterParser {
private static final String BASE_PACKAGE = "org.springframework.integration.ip.udp";
protected AbstractBeanDefinition parseConsumer(Element element, ParserContext parserContext) {
BeanDefinitionBuilder builder = parseUdp(element, parserContext);
@@ -47,8 +47,8 @@ public class UdpOutboundChannelAdapterParser extends AbstractOutboundChannelAdap
BeanDefinitionBuilder builder;
String multicast = IpAdapterParserUtils.getMulticast(element);
if (multicast.equals("true")) {
builder = BeanDefinitionBuilder
.genericBeanDefinition(MulticastSendingMessageHandler.class);
builder = BeanDefinitionBuilder.genericBeanDefinition(BASE_PACKAGE +
".MulticastSendingMessageHandler");
IntegrationNamespaceUtils.setValueIfAttributeDefined(builder,
element, IpAdapterParserUtils.MIN_ACKS_SUCCESS,
"minAcksForSuccess");
@@ -57,8 +57,8 @@ public class UdpOutboundChannelAdapterParser extends AbstractOutboundChannelAdap
"timeToLive");
}
else {
builder = BeanDefinitionBuilder
.genericBeanDefinition(UnicastSendingMessageHandler.class);
builder = BeanDefinitionBuilder.genericBeanDefinition(BASE_PACKAGE +
".UnicastSendingMessageHandler");
}
IpAdapterParserUtils.addHostAndPortToConstructor(element, builder, parserContext);
IpAdapterParserUtils.addConstuctorValueIfAttributeDefined(builder,