diff --git a/spring-integration-ip/src/main/java/org/springframework/integration/ip/tcp/serializer/ByteArrayElasticRawDeserializer.java b/spring-integration-ip/src/main/java/org/springframework/integration/ip/tcp/serializer/ByteArrayElasticRawDeserializer.java index 8d10106d76..03832200f3 100644 --- a/spring-integration-ip/src/main/java/org/springframework/integration/ip/tcp/serializer/ByteArrayElasticRawDeserializer.java +++ b/spring-integration-ip/src/main/java/org/springframework/integration/ip/tcp/serializer/ByteArrayElasticRawDeserializer.java @@ -1,5 +1,5 @@ /* - * Copyright 2017-2018 the original author or authors. + * Copyright 2017-2019 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. @@ -34,6 +34,8 @@ import org.springframework.util.StreamUtils; */ public class ByteArrayElasticRawDeserializer implements Deserializer { + private static final int DEFAULT_INITIAL_SIZE = 32; + private final int initialBufferSize; /** @@ -41,7 +43,7 @@ public class ByteArrayElasticRawDeserializer implements Deserializer { * buffer size of 32; */ public ByteArrayElasticRawDeserializer() { - this(32); + this(DEFAULT_INITIAL_SIZE); } /** diff --git a/spring-integration-ip/src/main/java/org/springframework/integration/ip/tcp/serializer/ByteArrayLengthHeaderSerializer.java b/spring-integration-ip/src/main/java/org/springframework/integration/ip/tcp/serializer/ByteArrayLengthHeaderSerializer.java index de51d786dd..757a40d3e8 100644 --- a/spring-integration-ip/src/main/java/org/springframework/integration/ip/tcp/serializer/ByteArrayLengthHeaderSerializer.java +++ b/spring-integration-ip/src/main/java/org/springframework/integration/ip/tcp/serializer/ByteArrayLengthHeaderSerializer.java @@ -45,21 +45,24 @@ import org.apache.commons.logging.LogFactory; */ public class ByteArrayLengthHeaderSerializer extends AbstractByteArraySerializer { - /** * Default length-header field, allows for data up to 2**31-1 bytes. */ - public static final int HEADER_SIZE_INT = 4; // default - - /** - * A single unsigned byte, for data up to 255 bytes. - */ - public static final int HEADER_SIZE_UNSIGNED_BYTE = 1; + public static final int HEADER_SIZE_INT = Integer.BYTES; // default /** * An unsigned short, for data up to 2**16 bytes. */ - public static final int HEADER_SIZE_UNSIGNED_SHORT = 2; + public static final int HEADER_SIZE_UNSIGNED_SHORT = Short.BYTES; + + /** + * A single unsigned byte, for data up to 255 bytes. + */ + public static final int HEADER_SIZE_UNSIGNED_BYTE = Byte.BYTES; + + private static final int MAX_UNSIGNED_SHORT = 0xffff; + + private static final int MAX_UNSIGNED_BYTE = 0xff; private final int headerSize; @@ -183,7 +186,7 @@ public class ByteArrayLengthHeaderSerializer extends AbstractByteArraySerializer lengthPart.putInt(length); break; case HEADER_SIZE_UNSIGNED_BYTE: - if (length > 0xff) { + if (length > MAX_UNSIGNED_BYTE) { throw new IllegalArgumentException("Length header:" + this.headerSize + " too short to accommodate message length:" + length); @@ -191,7 +194,7 @@ public class ByteArrayLengthHeaderSerializer extends AbstractByteArraySerializer lengthPart.put((byte) length); break; case HEADER_SIZE_UNSIGNED_SHORT: - if (length > 0xffff) { + if (length > MAX_UNSIGNED_SHORT) { throw new IllegalArgumentException("Length header:" + this.headerSize + " too short to accommodate message length:" + length); @@ -231,10 +234,10 @@ public class ByteArrayLengthHeaderSerializer extends AbstractByteArraySerializer } break; case HEADER_SIZE_UNSIGNED_BYTE: - messageLength = ByteBuffer.wrap(lengthPart).get() & 0xff; + messageLength = ByteBuffer.wrap(lengthPart).get() & MAX_UNSIGNED_BYTE; break; case HEADER_SIZE_UNSIGNED_SHORT: - messageLength = ByteBuffer.wrap(lengthPart).getShort() & 0xffff; + messageLength = ByteBuffer.wrap(lengthPart).getShort() & MAX_UNSIGNED_SHORT; break; default: throw new IllegalArgumentException("Bad header size:" + this.headerSize); diff --git a/spring-integration-ip/src/main/java/org/springframework/integration/ip/tcp/serializer/ByteArrayLfSerializer.java b/spring-integration-ip/src/main/java/org/springframework/integration/ip/tcp/serializer/ByteArrayLfSerializer.java index ee99e795d6..0f173fdeff 100644 --- a/spring-integration-ip/src/main/java/org/springframework/integration/ip/tcp/serializer/ByteArrayLfSerializer.java +++ b/spring-integration-ip/src/main/java/org/springframework/integration/ip/tcp/serializer/ByteArrayLfSerializer.java @@ -29,7 +29,7 @@ public class ByteArrayLfSerializer extends ByteArraySingleTerminatorSerializer { public static final ByteArrayLfSerializer INSTANCE = new ByteArrayLfSerializer(); public ByteArrayLfSerializer() { - super((byte) 0x0a); + super((byte) '\n'); } } diff --git a/spring-integration-ip/src/main/java/org/springframework/integration/ip/tcp/serializer/TcpCodecs.java b/spring-integration-ip/src/main/java/org/springframework/integration/ip/tcp/serializer/TcpCodecs.java index 7ff6e16c66..87fb76f21b 100644 --- a/spring-integration-ip/src/main/java/org/springframework/integration/ip/tcp/serializer/TcpCodecs.java +++ b/spring-integration-ip/src/main/java/org/springframework/integration/ip/tcp/serializer/TcpCodecs.java @@ -99,7 +99,7 @@ public final class TcpCodecs { */ public static ByteArrayLengthHeaderSerializer lengthHeader1() { if (oneByteLHS == null) { - oneByteLHS = new ByteArrayLengthHeaderSerializer(1); + oneByteLHS = new ByteArrayLengthHeaderSerializer(ByteArrayLengthHeaderSerializer.HEADER_SIZE_UNSIGNED_BYTE); } return oneByteLHS; } @@ -111,7 +111,8 @@ public final class TcpCodecs { */ public static ByteArrayLengthHeaderSerializer lengthHeader2() { if (twoByteLHS == null) { - twoByteLHS = new ByteArrayLengthHeaderSerializer(2); + twoByteLHS = new ByteArrayLengthHeaderSerializer( + ByteArrayLengthHeaderSerializer.HEADER_SIZE_UNSIGNED_SHORT); } return twoByteLHS; } @@ -123,7 +124,7 @@ public final class TcpCodecs { */ public static ByteArrayLengthHeaderSerializer lengthHeader4() { if (fourByteLHS == null) { - fourByteLHS = new ByteArrayLengthHeaderSerializer(4); + fourByteLHS = new ByteArrayLengthHeaderSerializer(ByteArrayLengthHeaderSerializer.HEADER_SIZE_INT); } return fourByteLHS; } @@ -136,11 +137,11 @@ public final class TcpCodecs { */ public static ByteArrayLengthHeaderSerializer lengthHeader(int bytes) { switch (bytes) { - case 1: + case ByteArrayLengthHeaderSerializer.HEADER_SIZE_UNSIGNED_BYTE: return lengthHeader1(); - case 2: + case ByteArrayLengthHeaderSerializer.HEADER_SIZE_UNSIGNED_SHORT: return lengthHeader2(); - case 4: + case ByteArrayLengthHeaderSerializer.HEADER_SIZE_INT: return lengthHeader4(); default: throw new IllegalArgumentException("Only 1, 2 or 4 byte headers are supported"); @@ -216,7 +217,8 @@ public final class TcpCodecs { * @since 5.1.3 */ public static ByteArrayLengthHeaderSerializer lengthHeader1(int maxMessageSize) { - ByteArrayLengthHeaderSerializer codec = new ByteArrayLengthHeaderSerializer(1); + ByteArrayLengthHeaderSerializer codec = new ByteArrayLengthHeaderSerializer( + ByteArrayLengthHeaderSerializer.HEADER_SIZE_UNSIGNED_BYTE); codec.setMaxMessageSize(maxMessageSize); return codec; } @@ -228,7 +230,8 @@ public final class TcpCodecs { * @since 5.1.3 */ public static ByteArrayLengthHeaderSerializer lengthHeader2(int maxMessageSize) { - ByteArrayLengthHeaderSerializer codec = new ByteArrayLengthHeaderSerializer(2); + ByteArrayLengthHeaderSerializer codec = new ByteArrayLengthHeaderSerializer( + ByteArrayLengthHeaderSerializer.HEADER_SIZE_UNSIGNED_SHORT); codec.setMaxMessageSize(maxMessageSize); return codec; } @@ -240,7 +243,8 @@ public final class TcpCodecs { * @since 5.1.3 */ public static ByteArrayLengthHeaderSerializer lengthHeader4(int maxMessageSize) { - ByteArrayLengthHeaderSerializer codec = new ByteArrayLengthHeaderSerializer(4); + ByteArrayLengthHeaderSerializer codec = new ByteArrayLengthHeaderSerializer( + ByteArrayLengthHeaderSerializer.HEADER_SIZE_INT); codec.setMaxMessageSize(maxMessageSize); return codec; }