refactored package structure, added: inbound, outbound, converter, multipart, and support

This commit is contained in:
Mark Fisher
2010-11-05 18:21:30 -04:00
parent d9eafee19b
commit 0c89067687
26 changed files with 39 additions and 103 deletions

View File

@@ -1,32 +0,0 @@
/*
* Copyright 2002-2009 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.springframework.integration.http;
import javax.servlet.http.HttpServletRequest;
import org.springframework.integration.mapping.InboundMessageMapper;
/**
* Strategy interface for mapping from an inbound {@link HttpServletRequest}
* to a Message.
*
* @author Mark Fisher
* @since 1.0.2
*/
public interface InboundRequestMapper extends InboundMessageMapper<HttpServletRequest> {
}

View File

@@ -1,41 +0,0 @@
/*
* Copyright 2002-2009 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.springframework.integration.http;
/**
* Exception that provides a response status code. This can be used by
* {@link InboundRequestMapper} implementations to indicate an error.
*
* @author Mark Fisher
* @since 1.0.2
*/
@SuppressWarnings("serial")
public class ResponseStatusCodeException extends Exception {
private final int statusCode;
public ResponseStatusCodeException(int statusCode) {
this.statusCode = statusCode;
}
public int getStatusCode() {
return this.statusCode;
}
}

View File

@@ -47,8 +47,8 @@ public class HttpInboundEndpointParser extends AbstractSingleBeanDefinitionParse
@Override
protected String getBeanClassName(Element element) {
return element.hasAttribute("view-name")
? "org.springframework.integration.http.HttpRequestHandlingController"
: "org.springframework.integration.http.HttpRequestHandlingMessagingGateway";
? "org.springframework.integration.http.inbound.HttpRequestHandlingController"
: "org.springframework.integration.http.inbound.HttpRequestHandlingMessagingGateway";
}
@Override

View File

@@ -39,12 +39,10 @@ import org.springframework.util.xml.DomUtils;
*/
public class HttpOutboundChannelAdapterParser extends AbstractOutboundChannelAdapterParser {
private static final String PACKAGE_PATH = "org.springframework.integration.http";
@Override
protected AbstractBeanDefinition parseConsumer(Element element, ParserContext parserContext) {
BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(
PACKAGE_PATH + ".HttpRequestExecutingMessageHandler");
"org.springframework.integration.http.outbound.HttpRequestExecutingMessageHandler");
builder.addPropertyValue("expectReply", false);
builder.addConstructorArgValue(element.getAttribute("url"));
IntegrationNamespaceUtils.setValueIfAttributeDefined(builder, element, "http-method");
@@ -61,7 +59,7 @@ public class HttpOutboundChannelAdapterParser extends AbstractOutboundChannelAda
}
else if (StringUtils.hasText(mappedRequestHeaders)) {
BeanDefinitionBuilder headerMapperBuilder = BeanDefinitionBuilder.genericBeanDefinition(
"org.springframework.integration.http.DefaultHttpHeaderMapper");
"org.springframework.integration.http.support.DefaultHttpHeaderMapper");
IntegrationNamespaceUtils.setValueIfAttributeDefined(headerMapperBuilder, element, "mapped-request-headers", "outboundHeaderNames");
builder.addPropertyValue("headerMapper", headerMapperBuilder.getBeanDefinition());
}

View File

@@ -37,9 +37,6 @@ import org.springframework.util.xml.DomUtils;
*/
public class HttpOutboundGatewayParser extends AbstractConsumerEndpointParser {
private static final String PACKAGE_PATH = "org.springframework.integration.http";
@Override
protected String getInputChannelAttributeName() {
return "request-channel";
@@ -48,7 +45,7 @@ public class HttpOutboundGatewayParser extends AbstractConsumerEndpointParser {
@Override
protected BeanDefinitionBuilder parseHandler(Element element, ParserContext parserContext) {
BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(
PACKAGE_PATH + ".HttpRequestExecutingMessageHandler");
"org.springframework.integration.http.outbound.HttpRequestExecutingMessageHandler");
builder.addConstructorArgValue(element.getAttribute("url"));
IntegrationNamespaceUtils.setValueIfAttributeDefined(builder, element, "http-method");
IntegrationNamespaceUtils.setReferenceIfAttributeDefined(builder, element, "message-converters");
@@ -65,7 +62,7 @@ public class HttpOutboundGatewayParser extends AbstractConsumerEndpointParser {
}
else if (StringUtils.hasText(mappedRequestHeaders) || StringUtils.hasText(mappedResponseHeaders)) {
BeanDefinitionBuilder headerMapperBuilder = BeanDefinitionBuilder.genericBeanDefinition(
"org.springframework.integration.http.DefaultHttpHeaderMapper");
"org.springframework.integration.http.support.DefaultHttpHeaderMapper");
IntegrationNamespaceUtils.setValueIfAttributeDefined(headerMapperBuilder, element, "mapped-request-headers", "outboundHeaderNames");
IntegrationNamespaceUtils.setValueIfAttributeDefined(headerMapperBuilder, element, "mapped-response-headers", "inboundHeaderNames");
builder.addPropertyValue("headerMapper", headerMapperBuilder.getBeanDefinition());

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.integration.http;
package org.springframework.integration.http.converter;
import java.io.IOException;
import java.nio.charset.Charset;
@@ -28,6 +28,9 @@ import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.http.converter.HttpMessageNotReadableException;
import org.springframework.http.converter.HttpMessageNotWritableException;
import org.springframework.http.converter.xml.XmlAwareFormHttpMessageConverter;
import org.springframework.integration.http.multipart.DefaultMultipartFileReader;
import org.springframework.integration.http.multipart.MultipartFileReader;
import org.springframework.integration.http.multipart.MultipartHttpInputMessage;
import org.springframework.util.Assert;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.integration.http;
package org.springframework.integration.http.converter;
import java.io.ByteArrayOutputStream;
import java.io.IOException;

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.integration.http;
package org.springframework.integration.http.inbound;
import java.io.PrintWriter;
import java.io.StringWriter;

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.integration.http;
package org.springframework.integration.http.inbound;
import java.io.IOException;
import java.util.ArrayList;
@@ -42,6 +42,10 @@ import org.springframework.http.server.ServletServerHttpResponse;
import org.springframework.integration.Message;
import org.springframework.integration.MessagingException;
import org.springframework.integration.gateway.MessagingGatewaySupport;
import org.springframework.integration.http.converter.MultipartAwareFormHttpMessageConverter;
import org.springframework.integration.http.converter.SerializingHttpMessageConverter;
import org.springframework.integration.http.multipart.MultipartHttpInputMessage;
import org.springframework.integration.http.support.DefaultHttpHeaderMapper;
import org.springframework.integration.mapping.HeaderMapper;
import org.springframework.integration.support.MessageBuilder;
import org.springframework.util.Assert;

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.integration.http;
package org.springframework.integration.http.inbound;
import java.io.IOException;
import java.util.List;
@@ -28,6 +28,7 @@ import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.http.server.ServletServerHttpRequest;
import org.springframework.http.server.ServletServerHttpResponse;
import org.springframework.integration.MessagingException;
import org.springframework.integration.http.converter.MultipartAwareFormHttpMessageConverter;
import org.springframework.util.MultiValueMap;
import org.springframework.web.HttpRequestHandler;

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.integration.http;
package org.springframework.integration.http.multipart;
import java.io.IOException;

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.integration.http;
package org.springframework.integration.http.multipart;
import java.io.File;
import java.io.IOException;

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.integration.http;
package org.springframework.integration.http.multipart;
import java.io.IOException;

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.integration.http;
package org.springframework.integration.http.multipart;
import java.util.Iterator;
import java.util.List;

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.integration.http;
package org.springframework.integration.http.multipart;
import java.io.IOException;
import java.nio.charset.Charset;

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.integration.http;
package org.springframework.integration.http.multipart;
import java.io.ByteArrayInputStream;
import java.io.File;

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.integration.http;
package org.springframework.integration.http.outbound;
import java.net.URI;
import java.nio.charset.Charset;
@@ -46,6 +46,8 @@ import org.springframework.integration.MessageHandlingException;
import org.springframework.integration.MessagingException;
import org.springframework.integration.core.MessageHandler;
import org.springframework.integration.handler.AbstractReplyProducingMessageHandler;
import org.springframework.integration.http.converter.SerializingHttpMessageConverter;
import org.springframework.integration.http.support.DefaultHttpHeaderMapper;
import org.springframework.integration.mapping.HeaderMapper;
import org.springframework.integration.support.MessageBuilder;
import org.springframework.util.Assert;

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.integration.http;
package org.springframework.integration.http.support;
import java.util.HashMap;
import java.util.List;

View File

@@ -37,6 +37,7 @@ import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.integration.Message;
import org.springframework.integration.channel.QueueChannel;
import org.springframework.integration.http.outbound.HttpRequestExecutingMessageHandler;
import org.springframework.integration.support.MessageBuilder;
import org.springframework.util.MultiValueMap;
import org.springframework.web.client.RestClientException;

View File

@@ -26,6 +26,7 @@ import org.springframework.integration.Message;
import org.springframework.integration.channel.DirectChannel;
import org.springframework.integration.channel.QueueChannel;
import org.springframework.integration.handler.AbstractReplyProducingMessageHandler;
import org.springframework.integration.http.inbound.HttpRequestHandlingController;
import org.springframework.mock.web.MockHttpServletResponse;
import org.springframework.validation.Errors;
import org.springframework.validation.ObjectError;

View File

@@ -38,6 +38,7 @@ import org.springframework.integration.Message;
import org.springframework.integration.channel.DirectChannel;
import org.springframework.integration.channel.QueueChannel;
import org.springframework.integration.handler.AbstractReplyProducingMessageHandler;
import org.springframework.integration.http.inbound.HttpRequestHandlingMessagingGateway;
import org.springframework.mock.web.MockHttpServletResponse;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.SerializationUtils;

View File

@@ -29,6 +29,7 @@ import org.springframework.http.HttpMethod;
import org.springframework.http.client.ClientHttpRequest;
import org.springframework.http.client.SimpleClientHttpRequestFactory;
import org.springframework.integration.Message;
import org.springframework.integration.http.outbound.HttpRequestExecutingMessageHandler;
import org.springframework.integration.message.GenericMessage;
/**

View File

@@ -38,9 +38,9 @@ import org.springframework.http.HttpMethod;
import org.springframework.integration.Message;
import org.springframework.integration.core.PollableChannel;
import org.springframework.integration.history.MessageHistory;
import org.springframework.integration.http.HttpRequestHandlingController;
import org.springframework.integration.http.HttpRequestHandlingMessagingGateway;
import org.springframework.integration.http.MockHttpServletRequest;
import org.springframework.integration.http.inbound.HttpRequestHandlingController;
import org.springframework.integration.http.inbound.HttpRequestHandlingMessagingGateway;
import org.springframework.integration.test.util.TestUtils;
import org.springframework.mock.web.MockHttpServletResponse;
import org.springframework.test.context.ContextConfiguration;

View File

@@ -34,10 +34,10 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.integration.Message;
import org.springframework.integration.core.PollableChannel;
import org.springframework.integration.core.SubscribableChannel;
import org.springframework.integration.http.HttpRequestHandlingController;
import org.springframework.integration.http.HttpRequestHandlingMessagingGateway;
import org.springframework.integration.http.MockHttpServletRequest;
import org.springframework.integration.http.MockHttpServletResponse;
import org.springframework.integration.http.inbound.HttpRequestHandlingController;
import org.springframework.integration.http.inbound.HttpRequestHandlingMessagingGateway;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

View File

@@ -36,7 +36,7 @@ import org.springframework.http.client.ClientHttpRequestFactory;
import org.springframework.http.client.ClientHttpResponse;
import org.springframework.http.client.SimpleClientHttpRequestFactory;
import org.springframework.integration.endpoint.AbstractEndpoint;
import org.springframework.integration.http.HttpRequestExecutingMessageHandler;
import org.springframework.integration.http.outbound.HttpRequestExecutingMessageHandler;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.util.ObjectUtils;

View File

@@ -38,7 +38,7 @@ import org.springframework.http.client.ClientHttpResponse;
import org.springframework.http.client.SimpleClientHttpRequestFactory;
import org.springframework.integration.MessageChannel;
import org.springframework.integration.endpoint.AbstractEndpoint;
import org.springframework.integration.http.HttpRequestExecutingMessageHandler;
import org.springframework.integration.http.outbound.HttpRequestExecutingMessageHandler;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.util.ObjectUtils;