MessageTransformingChannelInterceptor now delegates to a Transformer instance rather than a MessageHandler.

This commit is contained in:
Mark Fisher
2008-09-04 22:53:36 +00:00
parent 95eb0ffc68
commit 2864968e78
2 changed files with 7 additions and 9 deletions

View File

@@ -19,23 +19,22 @@ package org.springframework.integration.transformer;
import org.springframework.integration.channel.ChannelInterceptor;
import org.springframework.integration.channel.MessageChannel;
import org.springframework.integration.channel.interceptor.ChannelInterceptorAdapter;
import org.springframework.integration.handler.MessageHandler;
import org.springframework.integration.message.Message;
/**
* A {@link ChannelInterceptor} which invokes a {@link MessageHandler}
* A {@link ChannelInterceptor} which invokes a {@link Transformer}
* when either sending-to or receiving-from a channel.
*
* @author Jonas Partner
*/
public class MessageTransformingChannelInterceptor extends ChannelInterceptorAdapter {
private final MessageHandler transfomer;
private final Transformer transfomer;
private volatile boolean transformOnSend = true;
public MessageTransformingChannelInterceptor(MessageHandler transformer) {
public MessageTransformingChannelInterceptor(Transformer transformer) {
this.transfomer = transformer;
}
@@ -51,7 +50,7 @@ public class MessageTransformingChannelInterceptor extends ChannelInterceptorAda
@Override
public Message<?> preSend(Message<?> message, MessageChannel channel) {
if (this.transformOnSend) {
message = this.transfomer.handle(message);
message = this.transfomer.transform(message);
}
return message;
}
@@ -59,7 +58,7 @@ public class MessageTransformingChannelInterceptor extends ChannelInterceptorAda
@Override
public Message<?> postReceive(Message<?> message, MessageChannel channel) {
if (!this.transformOnSend) {
message = this.transfomer.handle(message);
message = this.transfomer.transform(message);
}
return message;
}

View File

@@ -22,7 +22,6 @@ import org.junit.Before;
import org.junit.Test;
import org.springframework.integration.channel.QueueChannel;
import org.springframework.integration.handler.MessageHandler;
import org.springframework.integration.message.Message;
import org.springframework.integration.message.StringMessage;
@@ -71,13 +70,13 @@ public class MessageTransformingChannelInterceptorTests {
}
private static class TestTransformer implements MessageHandler {
private static class TestTransformer implements Transformer {
boolean invoked = false;
int invokedCount = 0;
public Message<?> handle(Message<?> message) {
public Message<?> transform(Message<?> message) {
invoked = true;
invokedCount++;
return message;