INT-1627 moved command message processor to 'handler' package
This commit is contained in:
@@ -14,8 +14,8 @@
|
||||
package org.springframework.integration.config;
|
||||
|
||||
import org.springframework.expression.BeanResolver;
|
||||
import org.springframework.integration.control.ControlBusMessageProcessor;
|
||||
import org.springframework.integration.core.MessageHandler;
|
||||
import org.springframework.integration.handler.ExpressionPayloadMessageProcessor;
|
||||
import org.springframework.integration.handler.ServiceActivatingHandler;
|
||||
|
||||
/**
|
||||
@@ -30,10 +30,10 @@ public class ExpressionControlBusFactoryBean extends AbstractSimpleMessageHandle
|
||||
|
||||
private volatile BeanResolver beanResolver;
|
||||
|
||||
private final ControlBusMessageProcessor processor;
|
||||
private final ExpressionPayloadMessageProcessor processor;
|
||||
|
||||
|
||||
public ExpressionControlBusFactoryBean(ControlBusMessageProcessor processor) {
|
||||
public ExpressionControlBusFactoryBean(ExpressionPayloadMessageProcessor processor) {
|
||||
this.processor = processor;
|
||||
}
|
||||
|
||||
|
||||
@@ -15,12 +15,9 @@ package org.springframework.integration.config.xml;
|
||||
|
||||
import org.w3c.dom.Element;
|
||||
|
||||
import org.springframework.beans.BeanMetadataElement;
|
||||
import org.springframework.beans.factory.config.RuntimeBeanReference;
|
||||
import org.springframework.beans.factory.support.BeanDefinitionBuilder;
|
||||
import org.springframework.beans.factory.support.RootBeanDefinition;
|
||||
import org.springframework.beans.factory.xml.ParserContext;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
/**
|
||||
* @author Dave Syer
|
||||
@@ -31,24 +28,14 @@ public class ControlBusParser extends AbstractConsumerEndpointParser {
|
||||
|
||||
@Override
|
||||
protected BeanDefinitionBuilder parseHandler(Element element, ParserContext parserContext) {
|
||||
BeanDefinitionBuilder builder = BeanDefinitionBuilder
|
||||
.genericBeanDefinition("org.springframework.integration.config.ExpressionControlBusFactoryBean");
|
||||
builder.addConstructorArgValue(new RootBeanDefinition("org.springframework.integration.control.ControlBusMessageProcessor"));
|
||||
BeanMetadataElement beanResolver = getBeanResolver(element, parserContext);
|
||||
if (beanResolver!=null) {
|
||||
builder.addPropertyValue("beanResolver", beanResolver);
|
||||
}
|
||||
BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(
|
||||
"org.springframework.integration.config.ExpressionControlBusFactoryBean");
|
||||
builder.addConstructorArgValue(new RootBeanDefinition(
|
||||
"org.springframework.integration.handler.ExpressionPayloadMessageProcessor"));
|
||||
IntegrationNamespaceUtils.setReferenceIfAttributeDefined(builder, element, "bean-resolver");
|
||||
IntegrationNamespaceUtils.setValueIfAttributeDefined(builder, element, "send-timeout");
|
||||
IntegrationNamespaceUtils.setValueIfAttributeDefined(builder, element, "order");
|
||||
return builder;
|
||||
}
|
||||
|
||||
protected BeanMetadataElement getBeanResolver(Element element, ParserContext parserContext) {
|
||||
String ref = element.getAttribute("bean-resolver");
|
||||
if (!StringUtils.hasText(ref)) {
|
||||
return null;
|
||||
}
|
||||
return new RuntimeBeanReference(ref);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,45 +0,0 @@
|
||||
/*
|
||||
* Copyright 2002-2010 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.control;
|
||||
|
||||
import org.springframework.expression.Expression;
|
||||
import org.springframework.integration.Message;
|
||||
import org.springframework.integration.handler.AbstractMessageProcessor;
|
||||
|
||||
/**
|
||||
* A MessageProcessor implementation that expects an Expression or expressionString
|
||||
* as the Message payload. When processing, it simply evaluates that expression.
|
||||
*
|
||||
* @author Dave Syer
|
||||
* @author Mark Fisher
|
||||
* @since 2.0
|
||||
*/
|
||||
public class ControlBusMessageProcessor extends AbstractMessageProcessor<Object> {
|
||||
|
||||
/**
|
||||
* Evaluates the Message payload expression.
|
||||
* @throws IllegalArgumentException if the payload is not an Exception or String
|
||||
*/
|
||||
public Object processMessage(Message<?> message) {
|
||||
Object expression = message.getPayload();
|
||||
if (expression instanceof Expression) {
|
||||
return evaluateExpression((Expression) expression, message);
|
||||
}
|
||||
if (expression instanceof String) {
|
||||
return evaluateExpression((String) expression, message);
|
||||
}
|
||||
throw new IllegalArgumentException("Message payload must be an Expression instance or an expression String.");
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user