From c65584a0072113da6fa8a2fe2308fecf7e65003c Mon Sep 17 00:00:00 2001 From: Artem Bilan Date: Thu, 28 Sep 2017 18:34:52 -0400 Subject: [PATCH] INT-4349: Allow Number type for int headers JIRA: https://jira.spring.io/browse/INT-4349 When headers come from the external system there is no guarantee that special headers (e.g. `sequenceNumber`, `priority` etc.) in the expected (`Integer`) type. * Widen `int` headers setting value to the `Number` type * Return primitive `int` for the `sequenceNumber` and `sequenceSize` headers since for them `IntegrationMessageHeaderAccessor` never return null for them * Remove `SequenceNumberComparator` in favor of `MessageSequenceComparator` since they are essentially duplicate each other * Fix tests to deal with primitive `int` already --- .../IntegrationMessageHeaderAccessor.java | 19 +++---- .../AbstractCorrelatingMessageHandler.java | 2 +- .../aggregator/MessageSequenceComparator.java | 23 ++++---- .../ResequencingMessageGroupProcessor.java | 2 +- .../aggregator/SequenceNumberComparator.java | 53 ------------------- .../SequenceSizeReleaseStrategy.java | 2 +- .../MessageSequenceComparatorTests.java | 13 +++-- .../aggregator/ResequencerTests.java | 32 +++++------ .../ResequencerIntegrationTests.java | 16 +++--- ...thComparatorAndMessageStoreParserTests.xml | 2 +- ...esequencerWithMessageStoreParserTests.java | 9 ++-- .../config/TestAggregatorBean.java | 13 ++--- ...tatedEndpointWithCustomizedAggregator.java | 11 ++-- ...nnotatedEndpointWithDefaultAggregator.java | 13 ++--- ...tAnnotatedEndpointWithReleaseStrategy.java | 13 ++--- .../BroadcastingDispatcherTests.java | 20 +++---- .../message/GenericMessageTests.java | 10 ++-- .../message/MessageBuilderTests.java | 26 ++++++--- .../router/RecipientListRouterTests.java | 20 +++---- .../router/config/RouterParserTests.java | 12 ++--- .../splitter/MethodInvokingSplitterTests.java | 18 +++---- .../SpelSplitterIntegrationTests.java | 35 ++++++------ .../tcp/connection/TcpMessageMapperTests.java | 10 ++-- ...erceptorSecuredChannelAnnotationTests.java | 11 ++-- 24 files changed, 176 insertions(+), 209 deletions(-) delete mode 100644 spring-integration-core/src/main/java/org/springframework/integration/aggregator/SequenceNumberComparator.java diff --git a/spring-integration-core/src/main/java/org/springframework/integration/IntegrationMessageHeaderAccessor.java b/spring-integration-core/src/main/java/org/springframework/integration/IntegrationMessageHeaderAccessor.java index ae23d06826..d9153bba0b 100644 --- a/spring-integration-core/src/main/java/org/springframework/integration/IntegrationMessageHeaderAccessor.java +++ b/spring-integration-core/src/main/java/org/springframework/integration/IntegrationMessageHeaderAccessor.java @@ -89,18 +89,19 @@ public class IntegrationMessageHeaderAccessor extends MessageHeaderAccessor { return this.getHeader(CORRELATION_ID); } - public Integer getSequenceNumber() { - Integer sequenceNumber = this.getHeader(SEQUENCE_NUMBER, Integer.class); - return (sequenceNumber != null ? sequenceNumber : 0); + public int getSequenceNumber() { + Number sequenceNumber = this.getHeader(SEQUENCE_NUMBER, Number.class); + return (sequenceNumber != null ? sequenceNumber.intValue() : 0); } - public Integer getSequenceSize() { - Integer sequenceSize = this.getHeader(SEQUENCE_SIZE, Integer.class); - return (sequenceSize != null ? sequenceSize : 0); + public int getSequenceSize() { + Number sequenceSize = this.getHeader(SEQUENCE_SIZE, Number.class); + return (sequenceSize != null ? sequenceSize.intValue() : 0); } public Integer getPriority() { - return this.getHeader(PRIORITY, Integer.class); + Number priority = this.getHeader(PRIORITY, Number.class); + return (priority != null ? priority.intValue() : null); } /** @@ -140,8 +141,8 @@ public class IntegrationMessageHeaderAccessor extends MessageHeaderAccessor { else if (IntegrationMessageHeaderAccessor.SEQUENCE_NUMBER.equals(headerName) || IntegrationMessageHeaderAccessor.SEQUENCE_SIZE.equals(headerName) || IntegrationMessageHeaderAccessor.PRIORITY.equals(headerName)) { - Assert.isTrue(Integer.class.isAssignableFrom(headerValue.getClass()), "The '" + headerName - + "' header value must be an Integer."); + Assert.isTrue(Number.class.isAssignableFrom(headerValue.getClass()), "The '" + headerName + + "' header value must be a Number."); } else if (IntegrationMessageHeaderAccessor.ROUTING_SLIP.equals(headerName)) { Assert.isTrue(Map.class.isAssignableFrom(headerValue.getClass()), "The '" + headerName diff --git a/spring-integration-core/src/main/java/org/springframework/integration/aggregator/AbstractCorrelatingMessageHandler.java b/spring-integration-core/src/main/java/org/springframework/integration/aggregator/AbstractCorrelatingMessageHandler.java index 27a33b0e52..9f59680872 100644 --- a/spring-integration-core/src/main/java/org/springframework/integration/aggregator/AbstractCorrelatingMessageHandler.java +++ b/spring-integration-core/src/main/java/org/springframework/integration/aggregator/AbstractCorrelatingMessageHandler.java @@ -90,7 +90,7 @@ public abstract class AbstractCorrelatingMessageHandler extends AbstractMessageP protected final Log logger = LogFactory.getLog(getClass()); - private final Comparator> sequenceNumberComparator = new SequenceNumberComparator(); + private final Comparator> sequenceNumberComparator = new MessageSequenceComparator(); private final Map> expireGroupScheduledFutures = new HashMap<>(); diff --git a/spring-integration-core/src/main/java/org/springframework/integration/aggregator/MessageSequenceComparator.java b/spring-integration-core/src/main/java/org/springframework/integration/aggregator/MessageSequenceComparator.java index ef3546c3bf..14113c0242 100644 --- a/spring-integration-core/src/main/java/org/springframework/integration/aggregator/MessageSequenceComparator.java +++ b/spring-integration-core/src/main/java/org/springframework/integration/aggregator/MessageSequenceComparator.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2008 the original author or authors. + * Copyright 2002-2017 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. @@ -22,23 +22,18 @@ import org.springframework.integration.IntegrationMessageHeaderAccessor; import org.springframework.messaging.Message; /** - * A {@link Comparator} implementation based on the 'sequence number' - * property of a {@link Message Message's} header. - * * @author Mark Fisher + * @author Dave Syer + * @author Artem Bilan */ public class MessageSequenceComparator implements Comparator> { - public int compare(Message message1, Message message2) { - Integer s1 = new IntegrationMessageHeaderAccessor(message1).getSequenceNumber(); - Integer s2 = new IntegrationMessageHeaderAccessor(message2).getSequenceNumber(); - if (s1 == null) { - s1 = 0; - } - if (s2 == null) { - s2 = 0; - } - return s1.compareTo(s2); + @Override + public int compare(Message o1, Message o2) { + int sequenceNumber1 = new IntegrationMessageHeaderAccessor(o1).getSequenceNumber(); + int sequenceNumber2 = new IntegrationMessageHeaderAccessor(o2).getSequenceNumber(); + + return Integer.compare(sequenceNumber1, sequenceNumber2); } } diff --git a/spring-integration-core/src/main/java/org/springframework/integration/aggregator/ResequencingMessageGroupProcessor.java b/spring-integration-core/src/main/java/org/springframework/integration/aggregator/ResequencingMessageGroupProcessor.java index aa8af04e0b..af964a6923 100644 --- a/spring-integration-core/src/main/java/org/springframework/integration/aggregator/ResequencingMessageGroupProcessor.java +++ b/spring-integration-core/src/main/java/org/springframework/integration/aggregator/ResequencingMessageGroupProcessor.java @@ -36,7 +36,7 @@ import org.springframework.messaging.Message; */ public class ResequencingMessageGroupProcessor implements MessageGroupProcessor { - private final Comparator> comparator = new SequenceNumberComparator(); + private final Comparator> comparator = new MessageSequenceComparator(); public Object processMessageGroup(MessageGroup group) { Collection> messages = group.getMessages(); diff --git a/spring-integration-core/src/main/java/org/springframework/integration/aggregator/SequenceNumberComparator.java b/spring-integration-core/src/main/java/org/springframework/integration/aggregator/SequenceNumberComparator.java deleted file mode 100644 index ffec9f0469..0000000000 --- a/spring-integration-core/src/main/java/org/springframework/integration/aggregator/SequenceNumberComparator.java +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Copyright 2002-2016 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.aggregator; - -import java.util.Comparator; - -import org.springframework.integration.IntegrationMessageHeaderAccessor; -import org.springframework.messaging.Message; - -/** - * @author Dave Syer - * - * @since 2.0 - * - */ -public class SequenceNumberComparator implements Comparator> { - - /** - * If both messages have a sequence number then compare that, otherwise if one has a sequence number and the other - * doesn't then the numbered message comes first, or finally of neither has a sequence number then they are equal in - * rank. - */ - @Override - public int compare(Message o1, Message o2) { - Integer sequenceNumber1 = new IntegrationMessageHeaderAccessor(o1).getSequenceNumber(); - Integer sequenceNumber2 = new IntegrationMessageHeaderAccessor(o2).getSequenceNumber(); - if (sequenceNumber1 == sequenceNumber2) { //NOSONAR - early exit optimization - return 0; - } - if (sequenceNumber1 == null) { - return -sequenceNumber2; - } - if (sequenceNumber2 == null) { - return sequenceNumber1; - } - return sequenceNumber1.compareTo(sequenceNumber2); - } - -} diff --git a/spring-integration-core/src/main/java/org/springframework/integration/aggregator/SequenceSizeReleaseStrategy.java b/spring-integration-core/src/main/java/org/springframework/integration/aggregator/SequenceSizeReleaseStrategy.java index 6e2a8aa8e0..e1de25c360 100644 --- a/spring-integration-core/src/main/java/org/springframework/integration/aggregator/SequenceSizeReleaseStrategy.java +++ b/spring-integration-core/src/main/java/org/springframework/integration/aggregator/SequenceSizeReleaseStrategy.java @@ -44,7 +44,7 @@ public class SequenceSizeReleaseStrategy implements ReleaseStrategy { private static final Log logger = LogFactory.getLog(SequenceSizeReleaseStrategy.class); - private final Comparator> comparator = new SequenceNumberComparator(); + private final Comparator> comparator = new MessageSequenceComparator(); private volatile boolean releasePartialSequences; diff --git a/spring-integration-core/src/test/java/org/springframework/integration/aggregator/MessageSequenceComparatorTests.java b/spring-integration-core/src/test/java/org/springframework/integration/aggregator/MessageSequenceComparatorTests.java index d3706da2e3..55d278d7da 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/aggregator/MessageSequenceComparatorTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/aggregator/MessageSequenceComparatorTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2008 the original author or authors. + * Copyright 2002-2017 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. @@ -18,6 +18,8 @@ package org.springframework.integration.aggregator; import static org.junit.Assert.assertEquals; +import java.util.Comparator; + import org.junit.Test; import org.springframework.messaging.Message; @@ -25,12 +27,13 @@ import org.springframework.integration.support.MessageBuilder; /** * @author Mark Fisher + * @author Artem Bilan */ public class MessageSequenceComparatorTests { @Test public void testLessThan() { - MessageSequenceComparator comparator = new MessageSequenceComparator(); + Comparator> comparator = new MessageSequenceComparator(); Message message1 = MessageBuilder.withPayload("test1") .setSequenceNumber(1).build(); Message message2 = MessageBuilder.withPayload("test2") @@ -40,7 +43,7 @@ public class MessageSequenceComparatorTests { @Test public void testEqual() { - MessageSequenceComparator comparator = new MessageSequenceComparator(); + Comparator> comparator = new MessageSequenceComparator(); Message message1 = MessageBuilder.withPayload("test1") .setSequenceNumber(3).build(); Message message2 = MessageBuilder.withPayload("test2") @@ -50,7 +53,7 @@ public class MessageSequenceComparatorTests { @Test public void testGreaterThan() { - MessageSequenceComparator comparator = new MessageSequenceComparator(); + Comparator> comparator = new MessageSequenceComparator(); Message message1 = MessageBuilder.withPayload("test1") .setSequenceNumber(5).build(); Message message2 = MessageBuilder.withPayload("test2") @@ -60,7 +63,7 @@ public class MessageSequenceComparatorTests { @Test public void testEqualWithDefaultValues() { - MessageSequenceComparator comparator = new MessageSequenceComparator(); + Comparator> comparator = new MessageSequenceComparator(); Message message1 = MessageBuilder.withPayload("test1").build(); Message message2 = MessageBuilder.withPayload("test2").build(); assertEquals(0, comparator.compare(message1, message2)); diff --git a/spring-integration-core/src/test/java/org/springframework/integration/aggregator/ResequencerTests.java b/spring-integration-core/src/test/java/org/springframework/integration/aggregator/ResequencerTests.java index 5991e894d3..86a9ee9948 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/aggregator/ResequencerTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/aggregator/ResequencerTests.java @@ -155,11 +155,11 @@ public class ResequencerTests { Message reply2 = replyChannel.receive(0); Message reply3 = replyChannel.receive(0); assertNotNull(reply1); - assertEquals(new Integer(1), new IntegrationMessageHeaderAccessor(reply1).getSequenceNumber()); + assertEquals(1, new IntegrationMessageHeaderAccessor(reply1).getSequenceNumber()); assertNotNull(reply2); - assertEquals(new Integer(2), new IntegrationMessageHeaderAccessor(reply2).getSequenceNumber()); + assertEquals(2, new IntegrationMessageHeaderAccessor(reply2).getSequenceNumber()); assertNotNull(reply3); - assertEquals(new Integer(3), new IntegrationMessageHeaderAccessor(reply3).getSequenceNumber()); + assertEquals(3, new IntegrationMessageHeaderAccessor(reply3).getSequenceNumber()); } @Test @@ -180,18 +180,18 @@ public class ResequencerTests { Message reply3 = replyChannel.receive(0); // only messages 1 and 2 should have been received by now assertNotNull(reply1); - assertEquals(new Integer(1), new IntegrationMessageHeaderAccessor(reply1).getSequenceNumber()); + assertEquals(1, new IntegrationMessageHeaderAccessor(reply1).getSequenceNumber()); assertNotNull(reply2); - assertEquals(new Integer(2), new IntegrationMessageHeaderAccessor(reply2).getSequenceNumber()); + assertEquals(2, new IntegrationMessageHeaderAccessor(reply2).getSequenceNumber()); assertNull(reply3); // when sending the last message, the whole sequence must have been sent this.resequencer.handleMessage(message4); reply3 = replyChannel.receive(0); Message reply4 = replyChannel.receive(0); assertNotNull(reply3); - assertEquals(new Integer(3), new IntegrationMessageHeaderAccessor(reply3).getSequenceNumber()); + assertEquals(3, new IntegrationMessageHeaderAccessor(reply3).getSequenceNumber()); assertNotNull(reply4); - assertEquals(new Integer(4), new IntegrationMessageHeaderAccessor(reply4).getSequenceNumber()); + assertEquals(4, new IntegrationMessageHeaderAccessor(reply4).getSequenceNumber()); } @Test @@ -230,18 +230,18 @@ public class ResequencerTests { Message reply3 = replyChannel.receive(0); // only messages 1 and 2 should have been received by now assertNotNull(reply1); - assertEquals(new Integer(1), new IntegrationMessageHeaderAccessor(reply1).getSequenceNumber()); + assertEquals(1, new IntegrationMessageHeaderAccessor(reply1).getSequenceNumber()); assertNotNull(reply2); - assertEquals(new Integer(2), new IntegrationMessageHeaderAccessor(reply2).getSequenceNumber()); + assertEquals(2, new IntegrationMessageHeaderAccessor(reply2).getSequenceNumber()); assertNull(reply3); // when sending the last message, the whole sequence must have been sent this.resequencer.handleMessage(message4); reply3 = replyChannel.receive(0); Message reply4 = replyChannel.receive(0); assertNotNull(reply3); - assertEquals(new Integer(3), new IntegrationMessageHeaderAccessor(reply3).getSequenceNumber()); + assertEquals(3, new IntegrationMessageHeaderAccessor(reply3).getSequenceNumber()); assertNotNull(reply4); - assertEquals(new Integer(4), new IntegrationMessageHeaderAccessor(reply4).getSequenceNumber()); + assertEquals(4, new IntegrationMessageHeaderAccessor(reply4).getSequenceNumber()); } @Test @@ -288,7 +288,7 @@ public class ResequencerTests { Message discard2 = discardChannel.receive(0); // message2 has been discarded because it came in with the wrong sequence size assertNotNull(discard1); - assertEquals(new Integer(1), new IntegrationMessageHeaderAccessor(discard1).getSequenceNumber()); + assertEquals(1, new IntegrationMessageHeaderAccessor(discard1).getSequenceNumber()); assertNull(discard2); } @@ -329,13 +329,13 @@ public class ResequencerTests { reply3 = replyChannel.receive(0); Message reply4 = replyChannel.receive(0); assertNotNull(reply1); - assertEquals(new Integer(1), new IntegrationMessageHeaderAccessor(reply1).getSequenceNumber()); + assertEquals(1, new IntegrationMessageHeaderAccessor(reply1).getSequenceNumber()); assertNotNull(reply2); - assertEquals(new Integer(2), new IntegrationMessageHeaderAccessor(reply2).getSequenceNumber()); + assertEquals(2, new IntegrationMessageHeaderAccessor(reply2).getSequenceNumber()); assertNotNull(reply3); - assertEquals(new Integer(3), new IntegrationMessageHeaderAccessor(reply3).getSequenceNumber()); + assertEquals(3, new IntegrationMessageHeaderAccessor(reply3).getSequenceNumber()); assertNotNull(reply4); - assertEquals(new Integer(4), new IntegrationMessageHeaderAccessor(reply4).getSequenceNumber()); + assertEquals(4, new IntegrationMessageHeaderAccessor(reply4).getSequenceNumber()); } @Test diff --git a/spring-integration-core/src/test/java/org/springframework/integration/aggregator/integration/ResequencerIntegrationTests.java b/spring-integration-core/src/test/java/org/springframework/integration/aggregator/integration/ResequencerIntegrationTests.java index e20455a838..92694487d6 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/aggregator/integration/ResequencerIntegrationTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/aggregator/integration/ResequencerIntegrationTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2016 the original author or authors. + * Copyright 2002-2017 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. @@ -82,7 +82,7 @@ public class ResequencerIntegrationTests { inputChannel.send(message1); message1 = outputChannel.receive(0); assertNotNull(message1); - assertEquals((Integer) 1, new IntegrationMessageHeaderAccessor(message1).getSequenceNumber()); + assertEquals(1, new IntegrationMessageHeaderAccessor(message1).getSequenceNumber()); assertFalse(message1.getHeaders().containsKey("foo")); inputChannel.send(message2); @@ -90,9 +90,9 @@ public class ResequencerIntegrationTests { message3 = outputChannel.receive(0); assertNotNull(message2); assertNotNull(message3); - assertEquals((Integer) 2, new IntegrationMessageHeaderAccessor(message2).getSequenceNumber()); + assertEquals(2, new IntegrationMessageHeaderAccessor(message2).getSequenceNumber()); assertTrue(message2.getHeaders().containsKey("foo")); - assertEquals((Integer) 3, new IntegrationMessageHeaderAccessor(message3).getSequenceNumber()); + assertEquals(3, new IntegrationMessageHeaderAccessor(message3).getSequenceNumber()); assertFalse(message3.getHeaders().containsKey("foo")); inputChannel.send(message5); @@ -108,11 +108,11 @@ public class ResequencerIntegrationTests { assertNotNull(message4); assertNotNull(message5); assertNotNull(message6); - assertEquals((Integer) 4, new IntegrationMessageHeaderAccessor(message4).getSequenceNumber()); + assertEquals(4, new IntegrationMessageHeaderAccessor(message4).getSequenceNumber()); assertTrue(message4.getHeaders().containsKey("foo")); - assertEquals((Integer) 5, new IntegrationMessageHeaderAccessor(message5).getSequenceNumber()); + assertEquals(5, new IntegrationMessageHeaderAccessor(message5).getSequenceNumber()); assertFalse(message5.getHeaders().containsKey("foo")); - assertEquals((Integer) 6, new IntegrationMessageHeaderAccessor(message6).getSequenceNumber()); + assertEquals(6, new IntegrationMessageHeaderAccessor(message6).getSequenceNumber()); assertFalse(message6.getHeaders().containsKey("foo")); assertEquals(0, store.getMessageGroup("A").getMessages().size()); @@ -148,7 +148,7 @@ public class ResequencerIntegrationTests { inputChannel.send(message1); message1 = outputChannel.receive(0); assertNotNull(message1); - assertEquals((Integer) 1, new IntegrationMessageHeaderAccessor(message1).getSequenceNumber()); + assertEquals(1, new IntegrationMessageHeaderAccessor(message1).getSequenceNumber()); } } diff --git a/spring-integration-core/src/test/java/org/springframework/integration/config/InvalidPriorityChannelWithComparatorAndMessageStoreParserTests.xml b/spring-integration-core/src/test/java/org/springframework/integration/config/InvalidPriorityChannelWithComparatorAndMessageStoreParserTests.xml index 125dc08b17..60ebe528c9 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/config/InvalidPriorityChannelWithComparatorAndMessageStoreParserTests.xml +++ b/spring-integration-core/src/test/java/org/springframework/integration/config/InvalidPriorityChannelWithComparatorAndMessageStoreParserTests.xml @@ -11,7 +11,7 @@ - + diff --git a/spring-integration-core/src/test/java/org/springframework/integration/config/ResequencerWithMessageStoreParserTests.java b/spring-integration-core/src/test/java/org/springframework/integration/config/ResequencerWithMessageStoreParserTests.java index 5edd64c130..f17dde6384 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/config/ResequencerWithMessageStoreParserTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/config/ResequencerWithMessageStoreParserTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2010 the original author or authors. + * Copyright 2002-2017 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. @@ -35,6 +35,7 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; /** * @author Dave Syer + * @author Artem Bilan */ @ContextConfiguration @RunWith(SpringJUnit4ClassRunner.class) @@ -65,11 +66,11 @@ public class ResequencerWithMessageStoreParserTests { Message message3 = output.receive(500); assertNotNull(message1); - assertEquals(new Integer(1), new IntegrationMessageHeaderAccessor(message1).getSequenceNumber()); + assertEquals(1, new IntegrationMessageHeaderAccessor(message1).getSequenceNumber()); assertNotNull(message2); - assertEquals(new Integer(2), new IntegrationMessageHeaderAccessor(message2).getSequenceNumber()); + assertEquals(2, new IntegrationMessageHeaderAccessor(message2).getSequenceNumber()); assertNotNull(message3); - assertEquals(new Integer(3), new IntegrationMessageHeaderAccessor(message3).getSequenceNumber()); + assertEquals(3, new IntegrationMessageHeaderAccessor(message3).getSequenceNumber()); } diff --git a/spring-integration-core/src/test/java/org/springframework/integration/config/TestAggregatorBean.java b/spring-integration-core/src/test/java/org/springframework/integration/config/TestAggregatorBean.java index 5802899879..bbad4996c0 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/config/TestAggregatorBean.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/config/TestAggregatorBean.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2016 the original author or authors. + * Copyright 2002-2017 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. @@ -22,14 +22,15 @@ import java.util.List; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; -import org.springframework.messaging.Message; import org.springframework.integration.IntegrationMessageHeaderAccessor; import org.springframework.integration.aggregator.MessageSequenceComparator; import org.springframework.integration.annotation.Aggregator; +import org.springframework.messaging.Message; import org.springframework.messaging.support.GenericMessage; /** * @author Marius Bogoevici + * @author Artem Bilan */ public class TestAggregatorBean { @@ -38,7 +39,7 @@ public class TestAggregatorBean { @Aggregator public Message createSingleMessageFromGroup(List> messages) { - List> sortableList = new ArrayList>(messages); + List> sortableList = new ArrayList<>(messages); Collections.sort(sortableList, new MessageSequenceComparator()); StringBuffer buffer = new StringBuffer(); Object correlationId = null; @@ -48,15 +49,15 @@ public class TestAggregatorBean { correlationId = new IntegrationMessageHeaderAccessor(message).getCorrelationId(); } } - Message returnedMessage = new GenericMessage(buffer.toString()); + Message returnedMessage = new GenericMessage<>(buffer.toString()); if (correlationId != null) { - aggregatedMessages.put(correlationId, returnedMessage); + this.aggregatedMessages.put(correlationId, returnedMessage); } return returnedMessage; } public ConcurrentMap> getAggregatedMessages() { - return aggregatedMessages; + return this.aggregatedMessages; } } diff --git a/spring-integration-core/src/test/java/org/springframework/integration/config/annotation/TestAnnotatedEndpointWithCustomizedAggregator.java b/spring-integration-core/src/test/java/org/springframework/integration/config/annotation/TestAnnotatedEndpointWithCustomizedAggregator.java index 8c8bea0713..51771197de 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/config/annotation/TestAnnotatedEndpointWithCustomizedAggregator.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/config/annotation/TestAnnotatedEndpointWithCustomizedAggregator.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2010 the original author or authors. + * Copyright 2002-2017 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. @@ -22,15 +22,16 @@ import java.util.List; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; -import org.springframework.messaging.Message; import org.springframework.integration.IntegrationMessageHeaderAccessor; import org.springframework.integration.aggregator.MessageSequenceComparator; import org.springframework.integration.annotation.Aggregator; +import org.springframework.messaging.Message; import org.springframework.messaging.support.GenericMessage; import org.springframework.stereotype.Component; /** * @author Marius Bogoevici + * @author Artem Bilan */ @Component("endpointWithCustomizedAnnotation") public class TestAnnotatedEndpointWithCustomizedAggregator { @@ -44,7 +45,7 @@ public class TestAnnotatedEndpointWithCustomizedAggregator { sendPartialResultsOnExpiry = "true", sendTimeout = "98765432") public Message aggregatingMethod(List> messages) { - List> sortableList = new ArrayList>(messages); + List> sortableList = new ArrayList<>(messages); Collections.sort(sortableList, new MessageSequenceComparator()); StringBuffer buffer = new StringBuffer(); Object correlationId = null; @@ -54,13 +55,13 @@ public class TestAnnotatedEndpointWithCustomizedAggregator { correlationId = new IntegrationMessageHeaderAccessor(message).getCorrelationId(); } } - Message returnedMessage = new GenericMessage(buffer.toString()); + Message returnedMessage = new GenericMessage<>(buffer.toString()); aggregatedMessages.put(correlationId, returnedMessage); return returnedMessage; } public ConcurrentMap> getAggregatedMessages() { - return aggregatedMessages; + return this.aggregatedMessages; } } diff --git a/spring-integration-core/src/test/java/org/springframework/integration/config/annotation/TestAnnotatedEndpointWithDefaultAggregator.java b/spring-integration-core/src/test/java/org/springframework/integration/config/annotation/TestAnnotatedEndpointWithDefaultAggregator.java index b4f31c645e..4387e35902 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/config/annotation/TestAnnotatedEndpointWithDefaultAggregator.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/config/annotation/TestAnnotatedEndpointWithDefaultAggregator.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2016 the original author or authors. + * Copyright 2002-2017 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. @@ -22,15 +22,16 @@ import java.util.List; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; -import org.springframework.messaging.Message; import org.springframework.integration.IntegrationMessageHeaderAccessor; import org.springframework.integration.aggregator.MessageSequenceComparator; import org.springframework.integration.annotation.Aggregator; import org.springframework.integration.annotation.MessageEndpoint; +import org.springframework.messaging.Message; import org.springframework.messaging.support.GenericMessage; /** * @author Marius Bogoevici + * @author Artem Bilan */ @MessageEndpoint("endpointWithDefaultAnnotation") public class TestAnnotatedEndpointWithDefaultAggregator { @@ -39,7 +40,7 @@ public class TestAnnotatedEndpointWithDefaultAggregator { @Aggregator(inputChannel = "inputChannel") public Message aggregatingMethod(List> messages) { - List> sortableList = new ArrayList>(messages); + List> sortableList = new ArrayList<>(messages); Collections.sort(sortableList, new MessageSequenceComparator()); StringBuffer buffer = new StringBuffer(); Object correlationId = null; @@ -49,13 +50,13 @@ public class TestAnnotatedEndpointWithDefaultAggregator { correlationId = new IntegrationMessageHeaderAccessor(message).getCorrelationId(); } } - Message returnedMessage = new GenericMessage(buffer.toString()); - aggregatedMessages.put(correlationId, returnedMessage); + Message returnedMessage = new GenericMessage<>(buffer.toString()); + this.aggregatedMessages.put(correlationId, returnedMessage); return returnedMessage; } public ConcurrentMap> getAggregatedMessages() { - return aggregatedMessages; + return this.aggregatedMessages; } } diff --git a/spring-integration-core/src/test/java/org/springframework/integration/config/annotation/TestAnnotatedEndpointWithReleaseStrategy.java b/spring-integration-core/src/test/java/org/springframework/integration/config/annotation/TestAnnotatedEndpointWithReleaseStrategy.java index 526bb0b6d4..2a249bafd6 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/config/annotation/TestAnnotatedEndpointWithReleaseStrategy.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/config/annotation/TestAnnotatedEndpointWithReleaseStrategy.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2010 the original author or authors. + * Copyright 2002-2017 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. @@ -22,16 +22,17 @@ import java.util.List; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; -import org.springframework.messaging.Message; import org.springframework.integration.IntegrationMessageHeaderAccessor; import org.springframework.integration.aggregator.MessageSequenceComparator; import org.springframework.integration.annotation.Aggregator; import org.springframework.integration.annotation.MessageEndpoint; import org.springframework.integration.annotation.ReleaseStrategy; +import org.springframework.messaging.Message; import org.springframework.messaging.support.GenericMessage; /** * @author Marius Bogoevici + * @author Artem Bilan */ @MessageEndpoint("endpointWithDefaultAnnotationAndCustomReleaseStrategy") public class TestAnnotatedEndpointWithReleaseStrategy { @@ -40,7 +41,7 @@ public class TestAnnotatedEndpointWithReleaseStrategy { @Aggregator(inputChannel = "inputChannel") public Message aggregatingMethod(List> messages) { - List> sortableList = new ArrayList>(messages); + List> sortableList = new ArrayList<>(messages); Collections.sort(sortableList, new MessageSequenceComparator()); StringBuffer buffer = new StringBuffer(); Object correlationId = null; @@ -50,8 +51,8 @@ public class TestAnnotatedEndpointWithReleaseStrategy { correlationId = new IntegrationMessageHeaderAccessor(message).getCorrelationId(); } } - Message returnedMessage = new GenericMessage(buffer.toString()); - aggregatedMessages.put(correlationId, returnedMessage); + Message returnedMessage = new GenericMessage<>(buffer.toString()); + this.aggregatedMessages.put(correlationId, returnedMessage); return returnedMessage; } @@ -61,7 +62,7 @@ public class TestAnnotatedEndpointWithReleaseStrategy { } public ConcurrentMap> getAggregatedMessages() { - return aggregatedMessages; + return this.aggregatedMessages; } } diff --git a/spring-integration-core/src/test/java/org/springframework/integration/dispatcher/BroadcastingDispatcherTests.java b/spring-integration-core/src/test/java/org/springframework/integration/dispatcher/BroadcastingDispatcherTests.java index 792a14dc0d..5395841c4b 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/dispatcher/BroadcastingDispatcherTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/dispatcher/BroadcastingDispatcherTests.java @@ -210,10 +210,10 @@ public class BroadcastingDispatcherTests { dispatcher.addHandler(target2); dispatcher.dispatch(new GenericMessage("test")); assertEquals(2, messages.size()); - assertEquals(0, (int) new IntegrationMessageHeaderAccessor(messages.get(0)).getSequenceNumber()); - assertEquals(0, (int) new IntegrationMessageHeaderAccessor(messages.get(0)).getSequenceSize()); - assertEquals(0, (int) new IntegrationMessageHeaderAccessor(messages.get(1)).getSequenceNumber()); - assertEquals(0, (int) new IntegrationMessageHeaderAccessor(messages.get(1)).getSequenceSize()); + assertEquals(0, new IntegrationMessageHeaderAccessor(messages.get(0)).getSequenceNumber()); + assertEquals(0, new IntegrationMessageHeaderAccessor(messages.get(0)).getSequenceSize()); + assertEquals(0, new IntegrationMessageHeaderAccessor(messages.get(1)).getSequenceNumber()); + assertEquals(0, new IntegrationMessageHeaderAccessor(messages.get(1)).getSequenceSize()); } @Test @@ -231,14 +231,14 @@ public class BroadcastingDispatcherTests { Object originalId = inputMessage.getHeaders().getId(); dispatcher.dispatch(inputMessage); assertEquals(3, messages.size()); - assertEquals(1, (int) new IntegrationMessageHeaderAccessor(messages.get(0)).getSequenceNumber()); - assertEquals(3, (int) new IntegrationMessageHeaderAccessor(messages.get(0)).getSequenceSize()); + assertEquals(1, new IntegrationMessageHeaderAccessor(messages.get(0)).getSequenceNumber()); + assertEquals(3, new IntegrationMessageHeaderAccessor(messages.get(0)).getSequenceSize()); assertEquals(originalId, new IntegrationMessageHeaderAccessor(messages.get(0)).getCorrelationId()); - assertEquals(2, (int) new IntegrationMessageHeaderAccessor(messages.get(1)).getSequenceNumber()); - assertEquals(3, (int) new IntegrationMessageHeaderAccessor(messages.get(1)).getSequenceSize()); + assertEquals(2, new IntegrationMessageHeaderAccessor(messages.get(1)).getSequenceNumber()); + assertEquals(3, new IntegrationMessageHeaderAccessor(messages.get(1)).getSequenceSize()); assertEquals(originalId, new IntegrationMessageHeaderAccessor(messages.get(1)).getCorrelationId()); - assertEquals(3, (int) new IntegrationMessageHeaderAccessor(messages.get(2)).getSequenceNumber()); - assertEquals(3, (int) new IntegrationMessageHeaderAccessor(messages.get(2)).getSequenceSize()); + assertEquals(3, new IntegrationMessageHeaderAccessor(messages.get(2)).getSequenceNumber()); + assertEquals(3, new IntegrationMessageHeaderAccessor(messages.get(2)).getSequenceSize()); assertEquals(originalId, new IntegrationMessageHeaderAccessor(messages.get(2)).getCorrelationId()); } diff --git a/spring-integration-core/src/test/java/org/springframework/integration/message/GenericMessageTests.java b/spring-integration-core/src/test/java/org/springframework/integration/message/GenericMessageTests.java index b3ee5eb50e..41d650a27b 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/message/GenericMessageTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/message/GenericMessageTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2008 the original author or authors. + * Copyright 2002-2017 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,15 +34,15 @@ public class GenericMessageTests { @Test public void testMessageHeadersCopiedFromMap() { Map headerMap = new HashMap(); - headerMap.put("testAttribute", new Integer(123)); + headerMap.put("testAttribute", Integer.valueOf(123)); headerMap.put("testProperty", "foo"); headerMap.put(IntegrationMessageHeaderAccessor.SEQUENCE_SIZE, 42); headerMap.put(IntegrationMessageHeaderAccessor.SEQUENCE_NUMBER, 24); GenericMessage message = new GenericMessage("test", headerMap); - assertEquals(new Integer(123), message.getHeaders().get("testAttribute")); + assertEquals(123, message.getHeaders().get("testAttribute")); assertEquals("foo", message.getHeaders().get("testProperty", String.class)); - assertEquals(new Integer(42), new IntegrationMessageHeaderAccessor(message).getSequenceSize()); - assertEquals(new Integer(24), new IntegrationMessageHeaderAccessor(message).getSequenceNumber()); + assertEquals(42, new IntegrationMessageHeaderAccessor(message).getSequenceSize()); + assertEquals(24, new IntegrationMessageHeaderAccessor(message).getSequenceNumber()); } } diff --git a/spring-integration-core/src/test/java/org/springframework/integration/message/MessageBuilderTests.java b/spring-integration-core/src/test/java/org/springframework/integration/message/MessageBuilderTests.java index ceacb8e6c2..3937809b44 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/message/MessageBuilderTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/message/MessageBuilderTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2016 the original author or authors. + * Copyright 2002-2017 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. @@ -47,6 +47,7 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; /** * @author Mark Fisher * @author Gary Russell + * @author Artem Bilan */ @ContextConfiguration @RunWith(SpringJUnit4ClassRunner.class) @@ -196,7 +197,7 @@ public class MessageBuilderTests { @Test public void testNonDestructiveSet() { Message message1 = MessageBuilder.withPayload(1) - .setPriority(42).build(); + .setPriority(42).build(); Message message2 = MessageBuilder.fromMessage(message1) .setHeaderIfAbsent(IntegrationMessageHeaderAccessor.PRIORITY, 13) .build(); @@ -222,20 +223,20 @@ public class MessageBuilderTests { @Test public void testRemove() { Message message1 = MessageBuilder.withPayload(1) - .setHeader("foo", "bar").build(); + .setHeader("foo", "bar").build(); Message message2 = MessageBuilder.fromMessage(message1) - .removeHeader("foo") - .build(); + .removeHeader("foo") + .build(); assertFalse(message2.getHeaders().containsKey("foo")); } @Test public void testSettingToNullRemoves() { Message message1 = MessageBuilder.withPayload(1) - .setHeader("foo", "bar").build(); + .setHeader("foo", "bar").build(); Message message2 = MessageBuilder.fromMessage(message1) - .setHeader("foo", null) - .build(); + .setHeader("foo", null) + .build(); assertFalse(message2.getHeaders().containsKey("foo")); } @@ -351,4 +352,13 @@ public class MessageBuilderTests { assertEquals(original, result); } + @Test + public void testSequenceNumberAsLong() { + Message message = MessageBuilder.withPayload("foo") + .setHeader(IntegrationMessageHeaderAccessor.SEQUENCE_NUMBER, Long.MAX_VALUE) + .build(); + + Integer sequenceNumber = new IntegrationMessageHeaderAccessor(message).getSequenceNumber(); + } + } diff --git a/spring-integration-core/src/test/java/org/springframework/integration/router/RecipientListRouterTests.java b/spring-integration-core/src/test/java/org/springframework/integration/router/RecipientListRouterTests.java index b816f06435..93c970faa0 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/router/RecipientListRouterTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/router/RecipientListRouterTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2016 the original author or authors. + * Copyright 2002-2017 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. @@ -310,12 +310,12 @@ public class RecipientListRouterTests { assertNotNull(result1a); assertNotNull(result1b); assertEquals("test", result1a.getPayload()); - assertEquals(0, new IntegrationMessageHeaderAccessor(result1a).getSequenceNumber().intValue()); - assertEquals(0, new IntegrationMessageHeaderAccessor(result1a).getSequenceSize().intValue()); + assertEquals(0, new IntegrationMessageHeaderAccessor(result1a).getSequenceNumber()); + assertEquals(0, new IntegrationMessageHeaderAccessor(result1a).getSequenceSize()); assertNull(new IntegrationMessageHeaderAccessor(result1a).getCorrelationId()); assertEquals("test", result1b.getPayload()); - assertEquals(0, new IntegrationMessageHeaderAccessor(result1b).getSequenceNumber().intValue()); - assertEquals(0, new IntegrationMessageHeaderAccessor(result1b).getSequenceSize().intValue()); + assertEquals(0, new IntegrationMessageHeaderAccessor(result1b).getSequenceNumber()); + assertEquals(0, new IntegrationMessageHeaderAccessor(result1b).getSequenceSize()); assertNull(new IntegrationMessageHeaderAccessor(result1b).getCorrelationId()); } @@ -338,12 +338,12 @@ public class RecipientListRouterTests { assertNotNull(result1a); assertNotNull(result1b); assertEquals("test", result1a.getPayload()); - assertEquals(1, new IntegrationMessageHeaderAccessor(result1a).getSequenceNumber().intValue()); - assertEquals(2, new IntegrationMessageHeaderAccessor(result1a).getSequenceSize().intValue()); + assertEquals(1, new IntegrationMessageHeaderAccessor(result1a).getSequenceNumber()); + assertEquals(2, new IntegrationMessageHeaderAccessor(result1a).getSequenceSize()); assertEquals(message.getHeaders().getId(), new IntegrationMessageHeaderAccessor(result1a).getCorrelationId()); assertEquals("test", result1b.getPayload()); - assertEquals(2, new IntegrationMessageHeaderAccessor(result1b).getSequenceNumber().intValue()); - assertEquals(2, new IntegrationMessageHeaderAccessor(result1b).getSequenceSize().intValue()); + assertEquals(2, new IntegrationMessageHeaderAccessor(result1b).getSequenceNumber()); + assertEquals(2, new IntegrationMessageHeaderAccessor(result1b).getSequenceSize()); assertEquals(message.getHeaders().getId(), new IntegrationMessageHeaderAccessor(result1b).getCorrelationId()); } @@ -453,6 +453,7 @@ public class RecipientListRouterTests { public boolean accept(Message message) { return true; } + } @@ -466,6 +467,7 @@ public class RecipientListRouterTests { public boolean accept(Message message) { return false; } + } } diff --git a/spring-integration-core/src/test/java/org/springframework/integration/router/config/RouterParserTests.java b/spring-integration-core/src/test/java/org/springframework/integration/router/config/RouterParserTests.java index a03a8a28c0..817a56e685 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/router/config/RouterParserTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/router/config/RouterParserTests.java @@ -192,12 +192,12 @@ public class RouterParserTests { assertEquals(originalMessage.getHeaders().getId(), new IntegrationMessageHeaderAccessor(message1).getCorrelationId()); assertEquals(originalMessage.getHeaders().getId(), new IntegrationMessageHeaderAccessor(message2).getCorrelationId()); assertEquals(originalMessage.getHeaders().getId(), new IntegrationMessageHeaderAccessor(message3).getCorrelationId()); - assertEquals(new Integer(1), new IntegrationMessageHeaderAccessor(message1).getSequenceNumber()); - assertEquals(new Integer(3), new IntegrationMessageHeaderAccessor(message1).getSequenceSize()); - assertEquals(new Integer(2), new IntegrationMessageHeaderAccessor(message2).getSequenceNumber()); - assertEquals(new Integer(3), new IntegrationMessageHeaderAccessor(message2).getSequenceSize()); - assertEquals(new Integer(3), new IntegrationMessageHeaderAccessor(message3).getSequenceNumber()); - assertEquals(new Integer(3), new IntegrationMessageHeaderAccessor(message3).getSequenceSize()); + assertEquals(1, new IntegrationMessageHeaderAccessor(message1).getSequenceNumber()); + assertEquals(3, new IntegrationMessageHeaderAccessor(message1).getSequenceSize()); + assertEquals(2, new IntegrationMessageHeaderAccessor(message2).getSequenceNumber()); + assertEquals(3, new IntegrationMessageHeaderAccessor(message2).getSequenceSize()); + assertEquals(3, new IntegrationMessageHeaderAccessor(message3).getSequenceNumber()); + assertEquals(3, new IntegrationMessageHeaderAccessor(message3).getSequenceSize()); } @Test diff --git a/spring-integration-core/src/test/java/org/springframework/integration/splitter/MethodInvokingSplitterTests.java b/spring-integration-core/src/test/java/org/springframework/integration/splitter/MethodInvokingSplitterTests.java index 1f75e60f42..95b5ef551c 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/splitter/MethodInvokingSplitterTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/splitter/MethodInvokingSplitterTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2016 the original author or authors. + * Copyright 2002-2017 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. @@ -355,13 +355,13 @@ public class MethodInvokingSplitterTests { List> replies = replyChannel.clear(); Message reply1 = replies.get(0); assertNotNull(reply1); - assertEquals(new Integer(2), new IntegrationMessageHeaderAccessor(reply1).getSequenceSize()); - assertEquals(new Integer(1), new IntegrationMessageHeaderAccessor(reply1).getSequenceNumber()); + assertEquals(2, new IntegrationMessageHeaderAccessor(reply1).getSequenceSize()); + assertEquals(1, new IntegrationMessageHeaderAccessor(reply1).getSequenceNumber()); assertEquals(message.getHeaders().getId(), new IntegrationMessageHeaderAccessor(reply1).getCorrelationId()); Message reply2 = replies.get(1); assertNotNull(reply2); - assertEquals(new Integer(2), new IntegrationMessageHeaderAccessor(reply2).getSequenceSize()); - assertEquals(new Integer(2), new IntegrationMessageHeaderAccessor(reply2).getSequenceNumber()); + assertEquals(2, new IntegrationMessageHeaderAccessor(reply2).getSequenceSize()); + assertEquals(2, new IntegrationMessageHeaderAccessor(reply2).getSequenceNumber()); assertEquals(message.getHeaders().getId(), new IntegrationMessageHeaderAccessor(reply2).getCorrelationId()); } @@ -375,13 +375,13 @@ public class MethodInvokingSplitterTests { List> replies = replyChannel.clear(); Message reply1 = replies.get(0); assertNotNull(reply1); - assertEquals(new Integer(2), new IntegrationMessageHeaderAccessor(reply1).getSequenceSize()); - assertEquals(new Integer(1), new IntegrationMessageHeaderAccessor(reply1).getSequenceNumber()); + assertEquals(2, new IntegrationMessageHeaderAccessor(reply1).getSequenceSize()); + assertEquals(1, new IntegrationMessageHeaderAccessor(reply1).getSequenceNumber()); assertEquals(message.getHeaders().getId(), new IntegrationMessageHeaderAccessor(reply1).getCorrelationId()); Message reply2 = replies.get(1); assertNotNull(reply2); - assertEquals(new Integer(2), new IntegrationMessageHeaderAccessor(reply2).getSequenceSize()); - assertEquals(new Integer(2), new IntegrationMessageHeaderAccessor(reply2).getSequenceNumber()); + assertEquals(2, new IntegrationMessageHeaderAccessor(reply2).getSequenceSize()); + assertEquals(2, new IntegrationMessageHeaderAccessor(reply2).getSequenceNumber()); assertEquals(message.getHeaders().getId(), new IntegrationMessageHeaderAccessor(reply2).getCorrelationId()); } diff --git a/spring-integration-core/src/test/java/org/springframework/integration/splitter/SpelSplitterIntegrationTests.java b/spring-integration-core/src/test/java/org/springframework/integration/splitter/SpelSplitterIntegrationTests.java index ad9e5395ce..694bc825f5 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/splitter/SpelSplitterIntegrationTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/splitter/SpelSplitterIntegrationTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2016 the original author or authors. + * Copyright 2002-2017 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. @@ -119,17 +119,17 @@ public class SpelSplitterIntegrationTests { Message c = output.receive(0); Message d = output.receive(0); assertEquals("a", a.getPayload()); - assertEquals(new Integer(1), new IntegrationMessageHeaderAccessor(a).getSequenceNumber()); - assertEquals(new Integer(0), new IntegrationMessageHeaderAccessor(a).getSequenceSize()); + assertEquals(1, new IntegrationMessageHeaderAccessor(a).getSequenceNumber()); + assertEquals(0, new IntegrationMessageHeaderAccessor(a).getSequenceSize()); assertEquals("b", b.getPayload()); - assertEquals(new Integer(2), new IntegrationMessageHeaderAccessor(b).getSequenceNumber()); - assertEquals(new Integer(0), new IntegrationMessageHeaderAccessor(b).getSequenceSize()); + assertEquals(2, new IntegrationMessageHeaderAccessor(b).getSequenceNumber()); + assertEquals(0, new IntegrationMessageHeaderAccessor(b).getSequenceSize()); assertEquals("c", c.getPayload()); - assertEquals(new Integer(3), new IntegrationMessageHeaderAccessor(c).getSequenceNumber()); - assertEquals(new Integer(0), new IntegrationMessageHeaderAccessor(c).getSequenceSize()); + assertEquals(3, new IntegrationMessageHeaderAccessor(c).getSequenceNumber()); + assertEquals(0, new IntegrationMessageHeaderAccessor(c).getSequenceSize()); assertEquals("d", d.getPayload()); - assertEquals(new Integer(4), new IntegrationMessageHeaderAccessor(d).getSequenceNumber()); - assertEquals(new Integer(0), new IntegrationMessageHeaderAccessor(d).getSequenceSize()); + assertEquals(4, new IntegrationMessageHeaderAccessor(d).getSequenceNumber()); + assertEquals(0, new IntegrationMessageHeaderAccessor(d).getSequenceSize()); assertNull(output.receive(0)); } @@ -141,17 +141,17 @@ public class SpelSplitterIntegrationTests { Message c = output.receive(0); Message d = output.receive(0); assertEquals("a", a.getPayload()); - assertEquals(new Integer(1), new IntegrationMessageHeaderAccessor(a).getSequenceNumber()); - assertEquals(new Integer(0), new IntegrationMessageHeaderAccessor(a).getSequenceSize()); + assertEquals(1, new IntegrationMessageHeaderAccessor(a).getSequenceNumber()); + assertEquals(0, new IntegrationMessageHeaderAccessor(a).getSequenceSize()); assertEquals("b", b.getPayload()); - assertEquals(new Integer(2), new IntegrationMessageHeaderAccessor(b).getSequenceNumber()); - assertEquals(new Integer(0), new IntegrationMessageHeaderAccessor(b).getSequenceSize()); + assertEquals(2, new IntegrationMessageHeaderAccessor(b).getSequenceNumber()); + assertEquals(0, new IntegrationMessageHeaderAccessor(b).getSequenceSize()); assertEquals("c", c.getPayload()); - assertEquals(new Integer(3), new IntegrationMessageHeaderAccessor(c).getSequenceNumber()); - assertEquals(new Integer(0), new IntegrationMessageHeaderAccessor(c).getSequenceSize()); + assertEquals(3, new IntegrationMessageHeaderAccessor(c).getSequenceNumber()); + assertEquals(0, new IntegrationMessageHeaderAccessor(c).getSequenceSize()); assertEquals("d", d.getPayload()); - assertEquals(new Integer(4), new IntegrationMessageHeaderAccessor(d).getSequenceNumber()); - assertEquals(new Integer(0), new IntegrationMessageHeaderAccessor(d).getSequenceSize()); + assertEquals(4, new IntegrationMessageHeaderAccessor(d).getSequenceNumber()); + assertEquals(0, new IntegrationMessageHeaderAccessor(d).getSequenceSize()); assertNull(output.receive(0)); } @@ -177,6 +177,7 @@ public class SpelSplitterIntegrationTests { public Iterator splitIterator(String s) { return Arrays.asList(s.split(",")).iterator(); } + } } diff --git a/spring-integration-ip/src/test/java/org/springframework/integration/ip/tcp/connection/TcpMessageMapperTests.java b/spring-integration-ip/src/test/java/org/springframework/integration/ip/tcp/connection/TcpMessageMapperTests.java index d6af49e62b..a858e54ee9 100644 --- a/spring-integration-ip/src/test/java/org/springframework/integration/ip/tcp/connection/TcpMessageMapperTests.java +++ b/spring-integration-ip/src/test/java/org/springframework/integration/ip/tcp/connection/TcpMessageMapperTests.java @@ -58,6 +58,8 @@ import org.springframework.util.MimeType; /** * @author Gary Russell + * @author Artem Bilan + * * @since 2.0 * */ @@ -222,7 +224,7 @@ public class TcpMessageMapperTests { .getHeaders().get(IpHeaders.IP_ADDRESS)); assertEquals(1234, message .getHeaders().get(IpHeaders.REMOTE_PORT)); - assertEquals(Integer.valueOf(0), new IntegrationMessageHeaderAccessor(message).getSequenceNumber()); + assertEquals(0, new IntegrationMessageHeaderAccessor(message).getSequenceNumber()); message = mapper.toMessage(connection); assertEquals(TEST_PAYLOAD, new String((byte[]) message.getPayload())); assertEquals("MyHost", message @@ -231,7 +233,7 @@ public class TcpMessageMapperTests { .getHeaders().get(IpHeaders.IP_ADDRESS)); assertEquals(1234, message .getHeaders().get(IpHeaders.REMOTE_PORT)); - assertEquals(Integer.valueOf(0), new IntegrationMessageHeaderAccessor(message).getSequenceNumber()); + assertEquals(0, new IntegrationMessageHeaderAccessor(message).getSequenceNumber()); } @Test @@ -306,7 +308,7 @@ public class TcpMessageMapperTests { assertEquals(1234, message .getHeaders().get(IpHeaders.REMOTE_PORT)); IntegrationMessageHeaderAccessor headerAccessor = new IntegrationMessageHeaderAccessor(message); - assertEquals(Integer.valueOf(1), headerAccessor.getSequenceNumber()); + assertEquals(1, headerAccessor.getSequenceNumber()); assertEquals(message.getHeaders().get(IpHeaders.CONNECTION_ID), headerAccessor.getCorrelationId()); message = mapper.toMessage(connection); headerAccessor = new IntegrationMessageHeaderAccessor(message); @@ -317,7 +319,7 @@ public class TcpMessageMapperTests { .getHeaders().get(IpHeaders.IP_ADDRESS)); assertEquals(1234, message .getHeaders().get(IpHeaders.REMOTE_PORT)); - assertEquals(Integer.valueOf(2), headerAccessor.getSequenceNumber()); + assertEquals(2, headerAccessor.getSequenceNumber()); assertEquals(message.getHeaders().get(IpHeaders.CONNECTION_ID), headerAccessor.getCorrelationId()); assertNotNull(message.getHeaders().get("foo")); assertEquals("bar", message.getHeaders().get("foo")); diff --git a/spring-integration-security/src/test/java/org/springframework/integration/security/config/ChannelSecurityInterceptorSecuredChannelAnnotationTests.java b/spring-integration-security/src/test/java/org/springframework/integration/security/config/ChannelSecurityInterceptorSecuredChannelAnnotationTests.java index f66dcbec3a..e876fe27c0 100644 --- a/spring-integration-security/src/test/java/org/springframework/integration/security/config/ChannelSecurityInterceptorSecuredChannelAnnotationTests.java +++ b/spring-integration-security/src/test/java/org/springframework/integration/security/config/ChannelSecurityInterceptorSecuredChannelAnnotationTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-2016 the original author or authors. + * Copyright 2014-2017 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. @@ -81,6 +81,7 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; /** * @author Artem Bilan + * * @since 4.0 */ @RunWith(SpringJUnit4ClassRunner.class) @@ -229,12 +230,12 @@ public class ChannelSecurityInterceptorSecuredChannelAnnotationTests { Message receive = this.securedChannelQueue.receive(10000); assertNotNull(receive); IntegrationMessageHeaderAccessor headerAccessor = new IntegrationMessageHeaderAccessor(receive); - assertEquals(new Integer(0), headerAccessor.getSequenceNumber()); + assertEquals(0, headerAccessor.getSequenceNumber()); receive = this.securedChannelQueue2.receive(10000); assertNotNull(receive); headerAccessor = new IntegrationMessageHeaderAccessor(receive); - assertEquals(new Integer(0), headerAccessor.getSequenceNumber()); + assertEquals(0, headerAccessor.getSequenceNumber()); this.publishSubscribeChannel.setApplySequence(true); @@ -243,12 +244,12 @@ public class ChannelSecurityInterceptorSecuredChannelAnnotationTests { receive = this.securedChannelQueue.receive(10000); assertNotNull(receive); headerAccessor = new IntegrationMessageHeaderAccessor(receive); - assertEquals(new Integer(1), headerAccessor.getSequenceNumber()); + assertEquals(1, headerAccessor.getSequenceNumber()); receive = this.securedChannelQueue2.receive(10000); assertNotNull(receive); headerAccessor = new IntegrationMessageHeaderAccessor(receive); - assertEquals(new Integer(2), headerAccessor.getSequenceNumber()); + assertEquals(2, headerAccessor.getSequenceNumber()); this.publishSubscribeChannel.setApplySequence(false);