Skip to content

Commit 518c491

Browse files
committed
TcpCodecs factory Sonar polishing
- also some magic numbers in the deserializers
1 parent 4dcbb92 commit 518c491

File tree

4 files changed

+31
-22
lines changed

4 files changed

+31
-22
lines changed

spring-integration-ip/src/main/java/org/springframework/integration/ip/tcp/serializer/ByteArrayElasticRawDeserializer.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2017-2018 the original author or authors.
2+
* Copyright 2017-2019 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -34,14 +34,16 @@
3434
*/
3535
public class ByteArrayElasticRawDeserializer implements Deserializer<byte[]> {
3636

37+
private static final int DEFAULT_INITIAL_SIZE = 32;
38+
3739
private final int initialBufferSize;
3840

3941
/**
4042
* Construct an instance that uses {@link ByteArrayOutputStream}s with an initial
4143
* buffer size of 32;
4244
*/
4345
public ByteArrayElasticRawDeserializer() {
44-
this(32);
46+
this(DEFAULT_INITIAL_SIZE);
4547
}
4648

4749
/**

spring-integration-ip/src/main/java/org/springframework/integration/ip/tcp/serializer/ByteArrayLengthHeaderSerializer.java

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -45,21 +45,24 @@
4545
*/
4646
public class ByteArrayLengthHeaderSerializer extends AbstractByteArraySerializer {
4747

48-
4948
/**
5049
* Default length-header field, allows for data up to 2**31-1 bytes.
5150
*/
52-
public static final int HEADER_SIZE_INT = 4; // default
51+
public static final int HEADER_SIZE_INT = Integer.BYTES; // default
5352

5453
/**
55-
* A single unsigned byte, for data up to 255 bytes.
54+
* An unsigned short, for data up to 2**16 bytes.
5655
*/
57-
public static final int HEADER_SIZE_UNSIGNED_BYTE = 1;
56+
public static final int HEADER_SIZE_UNSIGNED_SHORT = Short.BYTES;
5857

5958
/**
60-
* An unsigned short, for data up to 2**16 bytes.
59+
* A single unsigned byte, for data up to 255 bytes.
6160
*/
62-
public static final int HEADER_SIZE_UNSIGNED_SHORT = 2;
61+
public static final int HEADER_SIZE_UNSIGNED_BYTE = Byte.BYTES;
62+
63+
private static final int MAX_UNSIGNED_SHORT = 0xffff;
64+
65+
private static final int MAX_UNSIGNED_BYTE = 0xff;
6366

6467
private final int headerSize;
6568

@@ -183,15 +186,15 @@ protected void writeHeader(OutputStream outputStream, int length) throws IOExcep
183186
lengthPart.putInt(length);
184187
break;
185188
case HEADER_SIZE_UNSIGNED_BYTE:
186-
if (length > 0xff) {
189+
if (length > MAX_UNSIGNED_BYTE) {
187190
throw new IllegalArgumentException("Length header:"
188191
+ this.headerSize
189192
+ " too short to accommodate message length:" + length);
190193
}
191194
lengthPart.put((byte) length);
192195
break;
193196
case HEADER_SIZE_UNSIGNED_SHORT:
194-
if (length > 0xffff) {
197+
if (length > MAX_UNSIGNED_SHORT) {
195198
throw new IllegalArgumentException("Length header:"
196199
+ this.headerSize
197200
+ " too short to accommodate message length:" + length);
@@ -231,10 +234,10 @@ protected int readHeader(InputStream inputStream) throws IOException {
231234
}
232235
break;
233236
case HEADER_SIZE_UNSIGNED_BYTE:
234-
messageLength = ByteBuffer.wrap(lengthPart).get() & 0xff;
237+
messageLength = ByteBuffer.wrap(lengthPart).get() & MAX_UNSIGNED_BYTE;
235238
break;
236239
case HEADER_SIZE_UNSIGNED_SHORT:
237-
messageLength = ByteBuffer.wrap(lengthPart).getShort() & 0xffff;
240+
messageLength = ByteBuffer.wrap(lengthPart).getShort() & MAX_UNSIGNED_SHORT;
238241
break;
239242
default:
240243
throw new IllegalArgumentException("Bad header size:" + this.headerSize);

spring-integration-ip/src/main/java/org/springframework/integration/ip/tcp/serializer/ByteArrayLfSerializer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public class ByteArrayLfSerializer extends ByteArraySingleTerminatorSerializer {
2929
public static final ByteArrayLfSerializer INSTANCE = new ByteArrayLfSerializer();
3030

3131
public ByteArrayLfSerializer() {
32-
super((byte) 0x0a);
32+
super((byte) '\n');
3333
}
3434

3535
}

spring-integration-ip/src/main/java/org/springframework/integration/ip/tcp/serializer/TcpCodecs.java

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ public static ByteArraySingleTerminatorSerializer singleTerminator(byte terminat
9999
*/
100100
public static ByteArrayLengthHeaderSerializer lengthHeader1() {
101101
if (oneByteLHS == null) {
102-
oneByteLHS = new ByteArrayLengthHeaderSerializer(1);
102+
oneByteLHS = new ByteArrayLengthHeaderSerializer(ByteArrayLengthHeaderSerializer.HEADER_SIZE_UNSIGNED_BYTE);
103103
}
104104
return oneByteLHS;
105105
}
@@ -111,7 +111,8 @@ public static ByteArrayLengthHeaderSerializer lengthHeader1() {
111111
*/
112112
public static ByteArrayLengthHeaderSerializer lengthHeader2() {
113113
if (twoByteLHS == null) {
114-
twoByteLHS = new ByteArrayLengthHeaderSerializer(2);
114+
twoByteLHS = new ByteArrayLengthHeaderSerializer(
115+
ByteArrayLengthHeaderSerializer.HEADER_SIZE_UNSIGNED_SHORT);
115116
}
116117
return twoByteLHS;
117118
}
@@ -123,7 +124,7 @@ public static ByteArrayLengthHeaderSerializer lengthHeader2() {
123124
*/
124125
public static ByteArrayLengthHeaderSerializer lengthHeader4() {
125126
if (fourByteLHS == null) {
126-
fourByteLHS = new ByteArrayLengthHeaderSerializer(4);
127+
fourByteLHS = new ByteArrayLengthHeaderSerializer(ByteArrayLengthHeaderSerializer.HEADER_SIZE_INT);
127128
}
128129
return fourByteLHS;
129130
}
@@ -136,11 +137,11 @@ public static ByteArrayLengthHeaderSerializer lengthHeader4() {
136137
*/
137138
public static ByteArrayLengthHeaderSerializer lengthHeader(int bytes) {
138139
switch (bytes) {
139-
case 1:
140+
case ByteArrayLengthHeaderSerializer.HEADER_SIZE_UNSIGNED_BYTE:
140141
return lengthHeader1();
141-
case 2:
142+
case ByteArrayLengthHeaderSerializer.HEADER_SIZE_UNSIGNED_SHORT:
142143
return lengthHeader2();
143-
case 4:
144+
case ByteArrayLengthHeaderSerializer.HEADER_SIZE_INT:
144145
return lengthHeader4();
145146
default:
146147
throw new IllegalArgumentException("Only 1, 2 or 4 byte headers are supported");
@@ -216,7 +217,8 @@ public static ByteArraySingleTerminatorSerializer singleTerminator(byte terminat
216217
* @since 5.1.3
217218
*/
218219
public static ByteArrayLengthHeaderSerializer lengthHeader1(int maxMessageSize) {
219-
ByteArrayLengthHeaderSerializer codec = new ByteArrayLengthHeaderSerializer(1);
220+
ByteArrayLengthHeaderSerializer codec = new ByteArrayLengthHeaderSerializer(
221+
ByteArrayLengthHeaderSerializer.HEADER_SIZE_UNSIGNED_BYTE);
220222
codec.setMaxMessageSize(maxMessageSize);
221223
return codec;
222224
}
@@ -228,7 +230,8 @@ public static ByteArrayLengthHeaderSerializer lengthHeader1(int maxMessageSize)
228230
* @since 5.1.3
229231
*/
230232
public static ByteArrayLengthHeaderSerializer lengthHeader2(int maxMessageSize) {
231-
ByteArrayLengthHeaderSerializer codec = new ByteArrayLengthHeaderSerializer(2);
233+
ByteArrayLengthHeaderSerializer codec = new ByteArrayLengthHeaderSerializer(
234+
ByteArrayLengthHeaderSerializer.HEADER_SIZE_UNSIGNED_SHORT);
232235
codec.setMaxMessageSize(maxMessageSize);
233236
return codec;
234237
}
@@ -240,7 +243,8 @@ public static ByteArrayLengthHeaderSerializer lengthHeader2(int maxMessageSize)
240243
* @since 5.1.3
241244
*/
242245
public static ByteArrayLengthHeaderSerializer lengthHeader4(int maxMessageSize) {
243-
ByteArrayLengthHeaderSerializer codec = new ByteArrayLengthHeaderSerializer(4);
246+
ByteArrayLengthHeaderSerializer codec = new ByteArrayLengthHeaderSerializer(
247+
ByteArrayLengthHeaderSerializer.HEADER_SIZE_INT);
244248
codec.setMaxMessageSize(maxMessageSize);
245249
return codec;
246250
}

0 commit comments

Comments
 (0)