INT-1280 Remove cyclic package dependency - remove default (de)serializer; add constructor

This commit is contained in:
Gary Russell
2010-07-30 13:23:53 +00:00
parent 8ffe575b1f
commit 7cb3de94d6
7 changed files with 63 additions and 50 deletions

View File

@@ -25,6 +25,7 @@ import java.io.NotSerializableException;
import java.io.Serializable;
import org.junit.Test;
import org.springframework.commons.serializer.java.JavaStreamingConverter;
/**
@@ -36,15 +37,16 @@ public class JavaSerializationTests {
@Test
public void testGood() {
SerializingConverter toBytes = new SerializingConverter();
JavaStreamingConverter streamingConverter = new JavaStreamingConverter();
SerializingConverter toBytes = new SerializingConverter(streamingConverter);
byte[] bytes = toBytes.convert("Testing");
DeserializingConverter fromBytes = new DeserializingConverter();
DeserializingConverter fromBytes = new DeserializingConverter(streamingConverter);
assertEquals("Testing", fromBytes.convert(bytes));
}
@Test
public void testBadSerializeNotSerializable() {
SerializingConverter toBytes = new SerializingConverter();
SerializingConverter toBytes = new SerializingConverter(new JavaStreamingConverter());
try {
toBytes.convert(new Object());
fail("Expected IllegalArgumentException");
@@ -57,7 +59,7 @@ public class JavaSerializationTests {
@Test
public void testBadSerializeNotSerializableField() {
SerializingConverter toBytes = new SerializingConverter();
SerializingConverter toBytes = new SerializingConverter(new JavaStreamingConverter());
try {
toBytes.convert(new UnSerializable());
fail("Expected SerializationFailureException");
@@ -70,7 +72,7 @@ public class JavaSerializationTests {
@Test
public void testBadDeserialize() {
DeserializingConverter fromBytes = new DeserializingConverter();
DeserializingConverter fromBytes = new DeserializingConverter(new JavaStreamingConverter());
try {
fromBytes.convert("Junk".getBytes());
fail("Expected DeserializationFailureException");

View File

@@ -25,8 +25,10 @@ import java.io.Serializable;
import org.junit.Test;
import org.springframework.core.convert.converter.Converter;
import org.springframework.integration.Message;
import org.springframework.integration.core.GenericMessage;
import org.springframework.integration.core.MessageBuilder;
/**
* @author Mark Fisher
@@ -69,6 +71,17 @@ public class PayloadDeserializingTransformerTests {
transformer.transform(new GenericMessage<byte[]>(bytes));
}
@Test
public void customDeserializer() {
PayloadDeserializingTransformer transformer = new PayloadDeserializingTransformer();
transformer.setConverter(new Converter<byte[], Object>(){
public Object convert(byte[] source) {
return "Converted";
}
});
Message<?> message = transformer.transform(MessageBuilder.withPayload("Test".getBytes()).build());
assertEquals("Converted", message.getPayload());
}
@SuppressWarnings("serial")
private static class TestBean implements Serializable {

View File

@@ -26,8 +26,10 @@ import java.io.Serializable;
import org.junit.Test;
import org.springframework.core.convert.converter.Converter;
import org.springframework.integration.Message;
import org.springframework.integration.core.GenericMessage;
import org.springframework.integration.core.MessageBuilder;
import org.springframework.integration.core.StringMessage;
/**
@@ -68,6 +70,18 @@ public class PayloadSerializingTransformerTests {
PayloadSerializingTransformer transformer = new PayloadSerializingTransformer();
transformer.transform(new GenericMessage<Object>(new Object()));
}
@Test
public void customSerializer() {
PayloadSerializingTransformer transformer = new PayloadSerializingTransformer();
transformer.setConverter(new Converter<Object, byte[]>(){
public byte[] convert(Object source) {
return "Converted".getBytes();
}
});
Message<?> message = transformer.transform(MessageBuilder.withPayload("Test").build());
assertEquals("Converted", new String((byte[]) message.getPayload()));
}
@SuppressWarnings("serial")