diff --git a/spring-cloud-stream-binders/spring-cloud-stream-binder-kafka/src/main/java/org/springframework/cloud/stream/binder/kafka/KafkaBinderHealthIndicator.java b/spring-cloud-stream-binders/spring-cloud-stream-binder-kafka/src/main/java/org/springframework/cloud/stream/binder/kafka/KafkaBinderHealthIndicator.java index 087bb99f6..99576815f 100644 --- a/spring-cloud-stream-binders/spring-cloud-stream-binder-kafka/src/main/java/org/springframework/cloud/stream/binder/kafka/KafkaBinderHealthIndicator.java +++ b/spring-cloud-stream-binders/spring-cloud-stream-binder-kafka/src/main/java/org/springframework/cloud/stream/binder/kafka/KafkaBinderHealthIndicator.java @@ -13,6 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.springframework.cloud.stream.binder.kafka; import java.util.Collection; diff --git a/spring-cloud-stream-binders/spring-cloud-stream-binder-kafka/src/main/java/org/springframework/cloud/stream/binder/kafka/KafkaConsumerProperties.java b/spring-cloud-stream-binders/spring-cloud-stream-binder-kafka/src/main/java/org/springframework/cloud/stream/binder/kafka/KafkaConsumerProperties.java index 559790d89..9ef6a5e0c 100644 --- a/spring-cloud-stream-binders/spring-cloud-stream-binder-kafka/src/main/java/org/springframework/cloud/stream/binder/kafka/KafkaConsumerProperties.java +++ b/spring-cloud-stream-binders/spring-cloud-stream-binder-kafka/src/main/java/org/springframework/cloud/stream/binder/kafka/KafkaConsumerProperties.java @@ -23,11 +23,11 @@ public class KafkaConsumerProperties { private boolean autoCommitOffset = true; - private boolean resetOffsets = false; + private boolean resetOffsets; - private KafkaMessageChannelBinder.StartOffset startOffset = null; + private KafkaMessageChannelBinder.StartOffset startOffset; - private boolean enableDlq = false; + private boolean enableDlq; public boolean isAutoCommitOffset() { return autoCommitOffset; diff --git a/spring-cloud-stream-binders/spring-cloud-stream-binder-kafka/src/main/java/org/springframework/cloud/stream/binder/kafka/KafkaMessageChannelBinder.java b/spring-cloud-stream-binders/spring-cloud-stream-binder-kafka/src/main/java/org/springframework/cloud/stream/binder/kafka/KafkaMessageChannelBinder.java index b689392dd..6b8e1a39a 100644 --- a/spring-cloud-stream-binders/spring-cloud-stream-binder-kafka/src/main/java/org/springframework/cloud/stream/binder/kafka/KafkaMessageChannelBinder.java +++ b/spring-cloud-stream-binders/spring-cloud-stream-binder-kafka/src/main/java/org/springframework/cloud/stream/binder/kafka/KafkaMessageChannelBinder.java @@ -129,7 +129,7 @@ public class KafkaMessageChannelBinder private boolean autoCreateTopics = true; - private boolean autoAddPartitions = false; + private boolean autoAddPartitions; private RetryOperations metadataRetryOperations; @@ -163,7 +163,7 @@ public class KafkaMessageChannelBinder private int offsetUpdateTimeWindow = 10000; - private int offsetUpdateCount = 0; + private int offsetUpdateCount; private int offsetUpdateShutdownTimeout = 2000; @@ -173,7 +173,7 @@ public class KafkaMessageChannelBinder private ProducerListener producerListener; - private volatile Producer dlqProducer; + private volatile Producer dlqProducer; private KafkaExtendedBindingProperties extendedBindingProperties = new KafkaExtendedBindingProperties(); @@ -783,11 +783,11 @@ public class KafkaMessageChannelBinder } } - private class ReceivingHandler extends AbstractReplyProducingMessageHandler { + private final class ReceivingHandler extends AbstractReplyProducingMessageHandler { private final ExtendedConsumerProperties consumerProperties; - public ReceivingHandler(ExtendedConsumerProperties consumerProperties) { + private ReceivingHandler(ExtendedConsumerProperties consumerProperties) { this.consumerProperties = consumerProperties; } @@ -802,22 +802,21 @@ public class KafkaMessageChannelBinder } } - @SuppressWarnings("serial") - private final class KafkaBinderHeaders extends MessageHeaders { - - KafkaBinderHeaders(Map headers) { - super(headers, MessageHeaders.ID_VALUE_NONE, -1L); - } - } - @Override protected boolean shouldCopyRequestHeaders() { // prevent the message from being copied again in superclass return false; } + + @SuppressWarnings("serial") + private final class KafkaBinderHeaders extends MessageHeaders { + KafkaBinderHeaders(Map headers) { + super(headers, MessageHeaders.ID_VALUE_NONE, -1L); + } + } } - private class SendingHandler extends AbstractMessageHandler { + private final class SendingHandler extends AbstractMessageHandler { private final AtomicInteger roundRobinCount = new AtomicInteger(); diff --git a/spring-cloud-stream-binders/spring-cloud-stream-binder-kafka/src/main/java/org/springframework/cloud/stream/binder/kafka/KafkaProducerProperties.java b/spring-cloud-stream-binders/spring-cloud-stream-binder-kafka/src/main/java/org/springframework/cloud/stream/binder/kafka/KafkaProducerProperties.java index afc6e45a0..99f2486a1 100644 --- a/spring-cloud-stream-binders/spring-cloud-stream-binder-kafka/src/main/java/org/springframework/cloud/stream/binder/kafka/KafkaProducerProperties.java +++ b/spring-cloud-stream-binders/spring-cloud-stream-binder-kafka/src/main/java/org/springframework/cloud/stream/binder/kafka/KafkaProducerProperties.java @@ -29,9 +29,9 @@ public class KafkaProducerProperties { private ProducerMetadata.CompressionType compressionType = ProducerMetadata.CompressionType.none; - private boolean sync = false; + private boolean sync; - private int batchTimeout = 0; + private int batchTimeout; public int getBufferSize() { return bufferSize; diff --git a/spring-cloud-stream-binders/spring-cloud-stream-binder-kafka/src/main/java/org/springframework/cloud/stream/binder/kafka/WindowingOffsetManager.java b/spring-cloud-stream-binders/spring-cloud-stream-binder-kafka/src/main/java/org/springframework/cloud/stream/binder/kafka/WindowingOffsetManager.java index e623b6f07..44fa9792d 100644 --- a/spring-cloud-stream-binders/spring-cloud-stream-binder-kafka/src/main/java/org/springframework/cloud/stream/binder/kafka/WindowingOffsetManager.java +++ b/spring-cloud-stream-binders/spring-cloud-stream-binder-kafka/src/main/java/org/springframework/cloud/stream/binder/kafka/WindowingOffsetManager.java @@ -68,7 +68,7 @@ public class WindowingOffsetManager implements OffsetManager, InitializingBean, private long timespan = 10 * 1000; - private int count = 0; + private int count; private Subject offsets; @@ -187,13 +187,13 @@ public class WindowingOffsetManager implements OffsetManager, InitializingBean, delegate.flush(); } - class PartitionAndOffset { + private final class PartitionAndOffset { private final Partition partition; private final Long offset; - public PartitionAndOffset(Partition partition, Long offset) { + private PartitionAndOffset(Partition partition, Long offset) { this.partition = partition; this.offset = offset; } diff --git a/spring-cloud-stream-binders/spring-cloud-stream-binder-kafka/src/main/java/org/springframework/cloud/stream/binder/kafka/config/KafkaBinderConfigurationProperties.java b/spring-cloud-stream-binders/spring-cloud-stream-binder-kafka/src/main/java/org/springframework/cloud/stream/binder/kafka/config/KafkaBinderConfigurationProperties.java index 2060b4aaa..a6b7fb330 100644 --- a/spring-cloud-stream-binders/spring-cloud-stream-binder-kafka/src/main/java/org/springframework/cloud/stream/binder/kafka/config/KafkaBinderConfigurationProperties.java +++ b/spring-cloud-stream-binders/spring-cloud-stream-binder-kafka/src/main/java/org/springframework/cloud/stream/binder/kafka/config/KafkaBinderConfigurationProperties.java @@ -39,7 +39,7 @@ public class KafkaBinderConfigurationProperties { private int offsetUpdateTimeWindow = 10000; - private int offsetUpdateCount = 0; + private int offsetUpdateCount; private int offsetUpdateShutdownTimeout = 2000; @@ -47,7 +47,7 @@ public class KafkaBinderConfigurationProperties { private boolean autoCreateTopics = true; - private boolean autoAddPartitions = false; + private boolean autoAddPartitions; /** * ZK session timeout in milliseconds. diff --git a/spring-cloud-stream-binders/spring-cloud-stream-binder-kafka/src/main/java/org/springframework/cloud/stream/binder/kafka/package-info.java b/spring-cloud-stream-binders/spring-cloud-stream-binder-kafka/src/main/java/org/springframework/cloud/stream/binder/kafka/package-info.java index fb1989df7..a95c7dea1 100644 --- a/spring-cloud-stream-binders/spring-cloud-stream-binder-kafka/src/main/java/org/springframework/cloud/stream/binder/kafka/package-info.java +++ b/spring-cloud-stream-binders/spring-cloud-stream-binder-kafka/src/main/java/org/springframework/cloud/stream/binder/kafka/package-info.java @@ -5,7 +5,7 @@ * 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 + * 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, diff --git a/spring-cloud-stream-binders/spring-cloud-stream-binder-kafka/src/test/java/org/springframework/cloud/stream/binder/kafka/KafkaBinderTests.java b/spring-cloud-stream-binders/spring-cloud-stream-binder-kafka/src/test/java/org/springframework/cloud/stream/binder/kafka/KafkaBinderTests.java index c970d3084..99af3b549 100644 --- a/spring-cloud-stream-binders/spring-cloud-stream-binder-kafka/src/test/java/org/springframework/cloud/stream/binder/kafka/KafkaBinderTests.java +++ b/spring-cloud-stream-binders/spring-cloud-stream-binder-kafka/src/test/java/org/springframework/cloud/stream/binder/kafka/KafkaBinderTests.java @@ -79,7 +79,8 @@ import static org.junit.Assert.fail; * @author Mark Fisher * @author Ilayaperumal Gopinathan */ -public class KafkaBinderTests extends PartitionCapableBinderTests, ExtendedProducerProperties> { +public class KafkaBinderTests extends + PartitionCapableBinderTests, ExtendedProducerProperties> { private final String CLASS_UNDER_TEST_NAME = KafkaMessageChannelBinder.class.getSimpleName(); @@ -614,24 +615,6 @@ public class KafkaBinderTests extends PartitionCapableBinderTests message) throws MessagingException { - invocationCount++; - throw new RuntimeException(); - } - - public int getInvocationCount() { - return invocationCount; - } - } - @Test public void testPartitionCountNotReduced() throws Exception { String testTopicName = "existing" + System.currentTimeMillis(); @@ -689,4 +672,22 @@ public class KafkaBinderTests extends PartitionCapableBinderTests message) throws MessagingException { + invocationCount++; + throw new RuntimeException(); + } + + public int getInvocationCount() { + return invocationCount; + } + } } diff --git a/spring-cloud-stream-binders/spring-cloud-stream-binder-kafka/src/test/java/org/springframework/cloud/stream/binder/kafka/RawKafkaPartitionTestSupport.java b/spring-cloud-stream-binders/spring-cloud-stream-binder-kafka/src/test/java/org/springframework/cloud/stream/binder/kafka/RawKafkaPartitionTestSupport.java index 5ec00273c..b0f8da029 100644 --- a/spring-cloud-stream-binders/spring-cloud-stream-binder-kafka/src/test/java/org/springframework/cloud/stream/binder/kafka/RawKafkaPartitionTestSupport.java +++ b/spring-cloud-stream-binders/spring-cloud-stream-binder-kafka/src/test/java/org/springframework/cloud/stream/binder/kafka/RawKafkaPartitionTestSupport.java @@ -20,16 +20,14 @@ import org.springframework.cloud.stream.binder.PartitionKeyExtractorStrategy; import org.springframework.cloud.stream.binder.PartitionSelectorStrategy; import org.springframework.messaging.Message; - /** - * * @author Marius Bogoevici */ public class RawKafkaPartitionTestSupport implements PartitionKeyExtractorStrategy, PartitionSelectorStrategy { @Override public int selectPartition(Object key, int divisor) { - return ((byte[])key)[0] % divisor; + return ((byte[]) key)[0] % divisor; } @Override diff --git a/spring-cloud-stream-binders/spring-cloud-stream-binder-kafka/src/test/java/org/springframework/cloud/stream/binder/kafka/RawModeKafkaBinderTests.java b/spring-cloud-stream-binders/spring-cloud-stream-binder-kafka/src/test/java/org/springframework/cloud/stream/binder/kafka/RawModeKafkaBinderTests.java index 022c487d8..a30604a57 100644 --- a/spring-cloud-stream-binders/spring-cloud-stream-binder-kafka/src/test/java/org/springframework/cloud/stream/binder/kafka/RawModeKafkaBinderTests.java +++ b/spring-cloud-stream-binders/spring-cloud-stream-binder-kafka/src/test/java/org/springframework/cloud/stream/binder/kafka/RawModeKafkaBinderTests.java @@ -83,9 +83,9 @@ public class RawModeKafkaBinderTests extends KafkaBinderTests { input2.setBeanName("test.input2J"); Binding input2Binding = binder.bindConsumer("partJ.0", "test", input2, consumerProperties); - output.send(new GenericMessage<>(new byte[]{(byte)0})); - output.send(new GenericMessage<>(new byte[]{(byte)1})); - output.send(new GenericMessage<>(new byte[]{(byte)2})); + output.send(new GenericMessage<>(new byte[] { (byte) 0 })); + output.send(new GenericMessage<>(new byte[] { (byte) 1 })); + output.send(new GenericMessage<>(new byte[] { (byte) 2 })); Message receive0 = receive(input0); assertNotNull(receive0); @@ -94,11 +94,8 @@ public class RawModeKafkaBinderTests extends KafkaBinderTests { Message receive2 = receive(input2); assertNotNull(receive2); - assertThat(Arrays.asList( - ((byte[]) receive0.getPayload())[0], - ((byte[]) receive1.getPayload())[0], - ((byte[]) receive2.getPayload())[0]), - containsInAnyOrder((byte)0, (byte)1, (byte)2)); + assertThat(Arrays.asList(((byte[]) receive0.getPayload())[0], ((byte[]) receive1.getPayload())[0], + ((byte[]) receive2.getPayload())[0]), containsInAnyOrder((byte) 0, (byte) 1, (byte) 2)); input0Binding.unbind(); input1Binding.unbind(); @@ -166,7 +163,7 @@ public class RawModeKafkaBinderTests extends KafkaBinderTests { ((byte[]) receive0.getPayload())[0], ((byte[]) receive1.getPayload())[0], ((byte[]) receive2.getPayload())[0]), - containsInAnyOrder((byte)0, (byte)1, (byte)2)); + containsInAnyOrder((byte) 0, (byte) 1, (byte) 2)); input0Binding.unbind(); input1Binding.unbind(); @@ -192,7 +189,7 @@ public class RawModeKafkaBinderTests extends KafkaBinderTests { moduleOutputChannel.send(message); Message inbound = receive(moduleInputChannel); assertNotNull(inbound); - assertEquals("foo", new String((byte[])inbound.getPayload())); + assertEquals("foo", new String((byte[]) inbound.getPayload())); producerBinding.unbind(); consumerBinding.unbind(); } @@ -233,7 +230,7 @@ public class RawModeKafkaBinderTests extends KafkaBinderTests { moduleOutputChannel.send(message); Message inbound = receive(module1InputChannel); assertNotNull(inbound); - assertEquals("foo", new String((byte[])inbound.getPayload())); + assertEquals("foo", new String((byte[]) inbound.getPayload())); Message tapped1 = receive(module2InputChannel); Message tapped2 = receive(module3InputChannel); @@ -277,7 +274,7 @@ public class RawModeKafkaBinderTests extends KafkaBinderTests { private void assertMessageReceive(QueueChannel moduleInputChannel, String payload) { Message inbound = receive(moduleInputChannel); assertNotNull(inbound); - assertEquals(payload, new String((byte[])inbound.getPayload())); + assertEquals(payload, new String((byte[]) inbound.getPayload())); assertNull(inbound.getHeaders().get(BinderHeaders.BINDER_ORIGINAL_CONTENT_TYPE)); } diff --git a/spring-cloud-stream-binders/spring-cloud-stream-binder-rabbit/src/main/java/org/springframework/cloud/stream/binder/rabbit/RabbitBindingCleaner.java b/spring-cloud-stream-binders/spring-cloud-stream-binder-rabbit/src/main/java/org/springframework/cloud/stream/binder/rabbit/RabbitBindingCleaner.java index 28fd51e30..250439595 100644 --- a/spring-cloud-stream-binders/spring-cloud-stream-binder-rabbit/src/main/java/org/springframework/cloud/stream/binder/rabbit/RabbitBindingCleaner.java +++ b/spring-cloud-stream-binders/spring-cloud-stream-binder-rabbit/src/main/java/org/springframework/cloud/stream/binder/rabbit/RabbitBindingCleaner.java @@ -47,7 +47,7 @@ public class RabbitBindingCleaner implements BindingCleaner { @Override public Map> clean(String entity, boolean isJob) { - return clean("http://localhost:15672", "guest", "guest", "/", BINDER_PREFIX , entity, isJob); + return clean("http://localhost:15672", "guest", "guest", "/", BINDER_PREFIX, entity, isJob); } public Map> clean(String adminUri, String user, String pw, String vhost, diff --git a/spring-cloud-stream-binders/spring-cloud-stream-binder-rabbit/src/main/java/org/springframework/cloud/stream/binder/rabbit/RabbitConsumerProperties.java b/spring-cloud-stream-binders/spring-cloud-stream-binder-rabbit/src/main/java/org/springframework/cloud/stream/binder/rabbit/RabbitConsumerProperties.java index 8aa301102..2d4d5b0be 100644 --- a/spring-cloud-stream-binders/spring-cloud-stream-binder-rabbit/src/main/java/org/springframework/cloud/stream/binder/rabbit/RabbitConsumerProperties.java +++ b/spring-cloud-stream-binders/spring-cloud-stream-binder-rabbit/src/main/java/org/springframework/cloud/stream/binder/rabbit/RabbitConsumerProperties.java @@ -28,7 +28,7 @@ public class RabbitConsumerProperties { private String prefix = ""; - private boolean transacted = false; + private boolean transacted; private AcknowledgeMode acknowledgeMode = AcknowledgeMode.AUTO; @@ -40,11 +40,11 @@ public class RabbitConsumerProperties { private int txSize = 1; - private boolean autoBindDlq = false; + private boolean autoBindDlq; private boolean durableSubscription = true; - private boolean republishToDlq = false; + private boolean republishToDlq; private boolean requeueRejected = true; diff --git a/spring-cloud-stream-binders/spring-cloud-stream-binder-rabbit/src/main/java/org/springframework/cloud/stream/binder/rabbit/RabbitManagementUtils.java b/spring-cloud-stream-binders/spring-cloud-stream-binder-rabbit/src/main/java/org/springframework/cloud/stream/binder/rabbit/RabbitManagementUtils.java index 58f7cad5b..6ed3dcecf 100644 --- a/spring-cloud-stream-binders/spring-cloud-stream-binder-rabbit/src/main/java/org/springframework/cloud/stream/binder/rabbit/RabbitManagementUtils.java +++ b/spring-cloud-stream-binders/spring-cloud-stream-binder-rabbit/src/main/java/org/springframework/cloud/stream/binder/rabbit/RabbitManagementUtils.java @@ -42,7 +42,7 @@ import org.springframework.web.client.RestTemplate; * @author Gary Russell * @since 1.2 */ -public class RabbitManagementUtils { +public abstract class RabbitManagementUtils { public static RestTemplate buildRestTemplate(String adminUri, String user, String password) { BasicCredentialsProvider credsProvider = new BasicCredentialsProvider(); diff --git a/spring-cloud-stream-binders/spring-cloud-stream-binder-rabbit/src/main/java/org/springframework/cloud/stream/binder/rabbit/RabbitMessageChannelBinder.java b/spring-cloud-stream-binders/spring-cloud-stream-binder-rabbit/src/main/java/org/springframework/cloud/stream/binder/rabbit/RabbitMessageChannelBinder.java index 51f0427b2..fd3b3ed17 100644 --- a/spring-cloud-stream-binders/spring-cloud-stream-binder-rabbit/src/main/java/org/springframework/cloud/stream/binder/rabbit/RabbitMessageChannelBinder.java +++ b/spring-cloud-stream-binders/spring-cloud-stream-binder-rabbit/src/main/java/org/springframework/cloud/stream/binder/rabbit/RabbitMessageChannelBinder.java @@ -524,10 +524,10 @@ public class RabbitMessageChannelBinder extends AbstractBinder producerBinding = binder.bindProducer("batching.0", output, properties); - while (template.receive(properties.getExtension().getPrefix() + "batching.0.default") != null) { - } - Log logger = spy(TestUtils.getPropertyValue(binder, "binder.compressingPostProcessor.logger", Log.class)); new DirectFieldAccessor(TestUtils.getPropertyValue(binder, "binder.compressingPostProcessor")) .setPropertyValue("logger", logger); diff --git a/spring-cloud-stream-binders/spring-cloud-stream-binder-rabbit/src/test/java/org/springframework/cloud/stream/binder/rabbit/integration/RabbitBinderModuleTests.java b/spring-cloud-stream-binders/spring-cloud-stream-binder-rabbit/src/test/java/org/springframework/cloud/stream/binder/rabbit/integration/RabbitBinderModuleTests.java index f07652ad1..7140d9d23 100644 --- a/spring-cloud-stream-binders/spring-cloud-stream-binder-rabbit/src/test/java/org/springframework/cloud/stream/binder/rabbit/integration/RabbitBinderModuleTests.java +++ b/spring-cloud-stream-binders/spring-cloud-stream-binder-rabbit/src/test/java/org/springframework/cloud/stream/binder/rabbit/integration/RabbitBinderModuleTests.java @@ -66,10 +66,10 @@ public class RabbitBinderModuleTests { @ClassRule public static RabbitTestSupport rabbitTestSupport = new RabbitTestSupport(); - private ConfigurableApplicationContext context = null; + private ConfigurableApplicationContext context; - public static final ConnectionFactory MOCK_CONNECTION_FACTORY = - Mockito.mock(ConnectionFactory.class, Mockito.RETURNS_MOCKS); + public static final ConnectionFactory MOCK_CONNECTION_FACTORY = Mockito.mock(ConnectionFactory.class, + Mockito.RETURNS_MOCKS); @After public void tearDown() { @@ -91,26 +91,26 @@ public class RabbitBinderModuleTests { Binder binder = binderFactory.getBinder(null); assertThat(binder, instanceOf(RabbitMessageChannelBinder.class)); DirectFieldAccessor binderFieldAccessor = new DirectFieldAccessor(binder); - ConnectionFactory binderConnectionFactory = - (ConnectionFactory) binderFieldAccessor.getPropertyValue("connectionFactory"); + ConnectionFactory binderConnectionFactory = (ConnectionFactory) binderFieldAccessor + .getPropertyValue("connectionFactory"); assertThat(binderConnectionFactory, instanceOf(CachingConnectionFactory.class)); ConnectionFactory connectionFactory = context.getBean(ConnectionFactory.class); assertThat(binderConnectionFactory, is(connectionFactory)); - CompositeHealthIndicator bindersHealthIndicator = - context.getBean("bindersHealthIndicator", CompositeHealthIndicator.class); + CompositeHealthIndicator bindersHealthIndicator = context.getBean("bindersHealthIndicator", + CompositeHealthIndicator.class); DirectFieldAccessor directFieldAccessor = new DirectFieldAccessor(bindersHealthIndicator); assertNotNull(bindersHealthIndicator); @SuppressWarnings("unchecked") - Map healthIndicators = - (Map) directFieldAccessor.getPropertyValue("indicators"); + Map healthIndicators = (Map) directFieldAccessor + .getPropertyValue("indicators"); assertThat(healthIndicators, hasKey("rabbit")); assertThat(healthIndicators.get("rabbit").health().getStatus(), equalTo(Status.UP)); } @Test + @SuppressWarnings("unchecked") public void testParentConnectionFactoryInheritedByDefaultAndRabbitSettingsPropagated() { - context = SpringApplication.run(SimpleProcessor.class, - "--server.port=0", + context = SpringApplication.run(SimpleProcessor.class, "--server.port=0", "--spring.cloud.stream.rabbit.bindings.input.consumer.transacted=true", "--spring.cloud.stream.rabbit.bindings.output.producer.transacted=true"); BinderFactory binderFactory = context.getBean(BinderFactory.class); @@ -118,53 +118,54 @@ public class RabbitBinderModuleTests { assertThat(binder, instanceOf(RabbitMessageChannelBinder.class)); ChannelBindingService channelBindingService = context.getBean(ChannelBindingService.class); DirectFieldAccessor channelBindingServiceAccessor = new DirectFieldAccessor(channelBindingService); - Map>> consumerBindings = (Map>>) - channelBindingServiceAccessor.getPropertyValue("consumerBindings"); + Map>> consumerBindings = (Map>>) channelBindingServiceAccessor + .getPropertyValue("consumerBindings"); Binding inputBinding = consumerBindings.get("input").get(0); SimpleMessageListenerContainer container = TestUtils.getPropertyValue(inputBinding, - "endpoint.messageListenerContainer", - SimpleMessageListenerContainer.class); + "endpoint.messageListenerContainer", SimpleMessageListenerContainer.class); assertTrue(TestUtils.getPropertyValue(container, "transactional", Boolean.class)); - Map> producerBindings = - (Map>) TestUtils.getPropertyValue(channelBindingService, "producerBindings"); + Map> producerBindings = (Map>) TestUtils + .getPropertyValue(channelBindingService, "producerBindings"); Binding outputBinding = producerBindings.get("output"); - assertTrue(TestUtils.getPropertyValue(outputBinding, "endpoint.handler.delegate.amqpTemplate.transactional", Boolean.class)); + assertTrue(TestUtils.getPropertyValue(outputBinding, "endpoint.handler.delegate.amqpTemplate.transactional", + Boolean.class)); DirectFieldAccessor binderFieldAccessor = new DirectFieldAccessor(binder); - ConnectionFactory binderConnectionFactory = - (ConnectionFactory) binderFieldAccessor.getPropertyValue("connectionFactory"); + ConnectionFactory binderConnectionFactory = (ConnectionFactory) binderFieldAccessor + .getPropertyValue("connectionFactory"); assertThat(binderConnectionFactory, instanceOf(CachingConnectionFactory.class)); ConnectionFactory connectionFactory = context.getBean(ConnectionFactory.class); assertThat(binderConnectionFactory, is(connectionFactory)); - CompositeHealthIndicator bindersHealthIndicator = - context.getBean("bindersHealthIndicator", CompositeHealthIndicator.class); + CompositeHealthIndicator bindersHealthIndicator = context.getBean("bindersHealthIndicator", + CompositeHealthIndicator.class); DirectFieldAccessor directFieldAccessor = new DirectFieldAccessor(bindersHealthIndicator); assertNotNull(bindersHealthIndicator); @SuppressWarnings("unchecked") - Map healthIndicators = - (Map) directFieldAccessor.getPropertyValue("indicators"); + Map healthIndicators = (Map) directFieldAccessor + .getPropertyValue("indicators"); assertThat(healthIndicators, hasKey("rabbit")); assertThat(healthIndicators.get("rabbit").health().getStatus(), equalTo(Status.UP)); } @Test public void testParentConnectionFactoryInheritedIfOverridden() { - context = new SpringApplication(SimpleProcessor.class, ConnectionFactoryConfiguration.class).run("--server.port=0"); + context = new SpringApplication(SimpleProcessor.class, ConnectionFactoryConfiguration.class) + .run("--server.port=0"); BinderFactory binderFactory = context.getBean(BinderFactory.class); Binder binder = binderFactory.getBinder(null); assertThat(binder, instanceOf(RabbitMessageChannelBinder.class)); DirectFieldAccessor binderFieldAccessor = new DirectFieldAccessor(binder); - ConnectionFactory binderConnectionFactory = - (ConnectionFactory) binderFieldAccessor.getPropertyValue("connectionFactory"); + ConnectionFactory binderConnectionFactory = (ConnectionFactory) binderFieldAccessor + .getPropertyValue("connectionFactory"); assertThat(binderConnectionFactory, is(MOCK_CONNECTION_FACTORY)); ConnectionFactory connectionFactory = context.getBean(ConnectionFactory.class); assertThat(binderConnectionFactory, is(connectionFactory)); - CompositeHealthIndicator bindersHealthIndicator = - context.getBean("bindersHealthIndicator", CompositeHealthIndicator.class); + CompositeHealthIndicator bindersHealthIndicator = context.getBean("bindersHealthIndicator", + CompositeHealthIndicator.class); assertNotNull(bindersHealthIndicator); DirectFieldAccessor directFieldAccessor = new DirectFieldAccessor(bindersHealthIndicator); @SuppressWarnings("unchecked") - Map healthIndicators = - (Map) directFieldAccessor.getPropertyValue("indicators"); + Map healthIndicators = (Map) directFieldAccessor + .getPropertyValue("indicators"); assertThat(healthIndicators, hasKey("rabbit")); // mock connection factory behaves as if down assertThat(healthIndicators.get("rabbit").health().getStatus(), equalTo(Status.DOWN)); @@ -183,17 +184,17 @@ public class RabbitBinderModuleTests { Binder binder = binderFactory.getBinder(null); assertThat(binder, instanceOf(RabbitMessageChannelBinder.class)); DirectFieldAccessor binderFieldAccessor = new DirectFieldAccessor(binder); - ConnectionFactory binderConnectionFactory = - (ConnectionFactory) binderFieldAccessor.getPropertyValue("connectionFactory"); + ConnectionFactory binderConnectionFactory = (ConnectionFactory) binderFieldAccessor + .getPropertyValue("connectionFactory"); ConnectionFactory connectionFactory = context.getBean(ConnectionFactory.class); assertThat(binderConnectionFactory, not(is(connectionFactory))); - CompositeHealthIndicator bindersHealthIndicator = - context.getBean("bindersHealthIndicator", CompositeHealthIndicator.class); + CompositeHealthIndicator bindersHealthIndicator = context.getBean("bindersHealthIndicator", + CompositeHealthIndicator.class); assertNotNull(bindersHealthIndicator); DirectFieldAccessor directFieldAccessor = new DirectFieldAccessor(bindersHealthIndicator); @SuppressWarnings("unchecked") - Map healthIndicators = - (Map) directFieldAccessor.getPropertyValue("indicators"); + Map healthIndicators = (Map) directFieldAccessor + .getPropertyValue("indicators"); assertThat(healthIndicators, hasKey("custom")); assertThat(healthIndicators.get("custom").health().getStatus(), equalTo(Status.UP)); } diff --git a/spring-cloud-stream-binders/spring-cloud-stream-binder-test/src/main/java/org/springframework/cloud/stream/binder/AbstractBinderTests.java b/spring-cloud-stream-binders/spring-cloud-stream-binder-test/src/main/java/org/springframework/cloud/stream/binder/AbstractBinderTests.java index f26344644..50dc53b3a 100644 --- a/spring-cloud-stream-binders/spring-cloud-stream-binder-test/src/main/java/org/springframework/cloud/stream/binder/AbstractBinderTests.java +++ b/spring-cloud-stream-binders/spring-cloud-stream-binder-test/src/main/java/org/springframework/cloud/stream/binder/AbstractBinderTests.java @@ -73,7 +73,7 @@ public abstract class AbstractBinderTests receive(PollableChannel channel, int additionalMultiplier) { - return channel.receive((int)(1000 * timeoutMultiplier * additionalMultiplier)); + return channel.receive((int) (1000 * timeoutMultiplier * additionalMultiplier)); } @Test @@ -143,7 +143,7 @@ public abstract class AbstractBinderTests messages[] = new Message[2]; + Message[] messages = new Message[2]; messages[0] = receive(moduleInputChannel); messages[1] = receive(moduleInputChannel); diff --git a/spring-cloud-stream-binders/spring-cloud-stream-binder-test/src/main/java/org/springframework/cloud/stream/binder/AbstractTestBinder.java b/spring-cloud-stream-binders/spring-cloud-stream-binder-test/src/main/java/org/springframework/cloud/stream/binder/AbstractTestBinder.java index 2839d47d7..fe56f2461 100644 --- a/spring-cloud-stream-binders/spring-cloud-stream-binder-test/src/main/java/org/springframework/cloud/stream/binder/AbstractTestBinder.java +++ b/spring-cloud-stream-binders/spring-cloud-stream-binder-test/src/main/java/org/springframework/cloud/stream/binder/AbstractTestBinder.java @@ -53,7 +53,7 @@ public abstract class AbstractTestBinder bindProducer(String name, MessageChannel moduleOutputChannel, PP properties) { queues.add(name); - return binder.bindProducer(name, moduleOutputChannel, properties); + return binder.bindProducer(name, moduleOutputChannel, properties); } public C getCoreBinder() { diff --git a/spring-cloud-stream-binders/spring-cloud-stream-binder-test/src/main/java/org/springframework/cloud/stream/binder/BinderTestUtils.java b/spring-cloud-stream-binders/spring-cloud-stream-binder-test/src/main/java/org/springframework/cloud/stream/binder/BinderTestUtils.java index 479a04a31..0cb3008b7 100644 --- a/spring-cloud-stream-binders/spring-cloud-stream-binder-test/src/main/java/org/springframework/cloud/stream/binder/BinderTestUtils.java +++ b/spring-cloud-stream-binders/spring-cloud-stream-binder-test/src/main/java/org/springframework/cloud/stream/binder/BinderTestUtils.java @@ -30,7 +30,7 @@ import static org.mockito.Mockito.when; * * @author Gary Russell */ -public class BinderTestUtils { +public abstract class BinderTestUtils { private static final MessageBuilderFactory mbf = new DefaultMessageBuilderFactory(); diff --git a/spring-cloud-stream-binders/spring-cloud-stream-binder-test/src/main/java/org/springframework/cloud/stream/binder/BrokerBinderTests.java b/spring-cloud-stream-binders/spring-cloud-stream-binder-test/src/main/java/org/springframework/cloud/stream/binder/BrokerBinderTests.java index ba3c7d239..5a5c68269 100644 --- a/spring-cloud-stream-binders/spring-cloud-stream-binder-test/src/main/java/org/springframework/cloud/stream/binder/BrokerBinderTests.java +++ b/spring-cloud-stream-binders/spring-cloud-stream-binder-test/src/main/java/org/springframework/cloud/stream/binder/BrokerBinderTests.java @@ -23,12 +23,13 @@ import org.springframework.messaging.MessageChannel; * * @author Gary Russell */ -public abstract class BrokerBinderTests, CP, PP>, CP extends ConsumerProperties, PP extends ProducerProperties> extends AbstractBinderTests { +public abstract class BrokerBinderTests, CP, PP>, CP extends ConsumerProperties, PP extends ProducerProperties> + extends AbstractBinderTests { /** * Create a new spy on the given 'queue'. This allows de-correlating the creation of - * the 'connection' from its actual usage, which may be needed by some implementations to - * see messages sent after connection creation. + * the 'connection' from its actual usage, which may be needed by some implementations + * to see messages sent after connection creation. */ public abstract Spy spyOn(final String name); diff --git a/spring-cloud-stream-binders/spring-cloud-stream-binder-test/src/main/java/org/springframework/cloud/stream/binder/PartitionCapableBinderTests.java b/spring-cloud-stream-binders/spring-cloud-stream-binder-test/src/main/java/org/springframework/cloud/stream/binder/PartitionCapableBinderTests.java index dd2f24491..904488578 100644 --- a/spring-cloud-stream-binders/spring-cloud-stream-binder-test/src/main/java/org/springframework/cloud/stream/binder/PartitionCapableBinderTests.java +++ b/spring-cloud-stream-binders/spring-cloud-stream-binder-test/src/main/java/org/springframework/cloud/stream/binder/PartitionCapableBinderTests.java @@ -51,7 +51,8 @@ import static org.junit.Assert.assertThat; * @author Mark Fisher * @author Marius Bogoevici */ -abstract public class PartitionCapableBinderTests, CP, PP>, CP extends ConsumerProperties, PP extends ProducerProperties> extends BrokerBinderTests { +abstract public class PartitionCapableBinderTests, CP, PP>, CP extends ConsumerProperties, PP extends ProducerProperties> + extends BrokerBinderTests { protected static final SpelExpressionParser spelExpressionParser = new SpelExpressionParser(); @@ -60,13 +61,16 @@ abstract public class PartitionCapableBinderTests producerBinding = binder.bindProducer("defaultGroup.0", output, createProducerProperties()); + Binding producerBinding = binder.bindProducer("defaultGroup.0", output, + createProducerProperties()); QueueChannel input1 = new QueueChannel(); - Binding binding1 = binder.bindConsumer("defaultGroup.0", null, input1, createConsumerProperties()); + Binding binding1 = binder.bindConsumer("defaultGroup.0", null, input1, + createConsumerProperties()); QueueChannel input2 = new QueueChannel(); - Binding binding2 = binder.bindConsumer("defaultGroup.0", null, input2, createConsumerProperties()); + Binding binding2 = binder.bindConsumer("defaultGroup.0", null, input2, + createConsumerProperties()); String testPayload1 = "foo-" + UUID.randomUUID().toString(); output.send(new GenericMessage<>(testPayload1.getBytes())); @@ -120,7 +124,8 @@ abstract public class PartitionCapableBinderTests(testPayload.getBytes())); QueueChannel inbound1 = new QueueChannel(); - Binding consumerBinding = binder.bindConsumer(testDestination, "test1", inbound1, createConsumerProperties()); + Binding consumerBinding = binder.bindConsumer(testDestination, "test1", inbound1, + createConsumerProperties()); Message receivedMessage1 = receive(inbound1); assertThat(receivedMessage1, not(nullValue())); @@ -138,16 +143,18 @@ abstract public class PartitionCapableBinderTests producerBinding = binder.bindProducer(testDestination, output, producerProperties); String testPayload = "foo-" + UUID.randomUUID().toString(); output.send(new GenericMessage<>(testPayload.getBytes())); QueueChannel inbound1 = new QueueChannel(); - Binding consumerBinding1 = binder.bindConsumer(testDestination, "test1", inbound1, createConsumerProperties()); + Binding consumerBinding1 = binder.bindConsumer(testDestination, "test1", inbound1, + createConsumerProperties()); QueueChannel inbound2 = new QueueChannel(); - Binding consumerBinding2 = binder.bindConsumer(testDestination, "test2", inbound2, createConsumerProperties()); + Binding consumerBinding2 = binder.bindConsumer(testDestination, "test2", inbound2, + createConsumerProperties()); Message receivedMessage1 = receive(inbound1); assertThat(receivedMessage1, not(nullValue())); @@ -192,8 +199,8 @@ abstract public class PartitionCapableBinderTests outputBinding = binder.bindProducer("part.0", output, producerProperties); try { AbstractEndpoint endpoint = extractEndpoint(outputBinding); - assertThat(getEndpointRouting(endpoint), containsString( - getExpectedRoutingBaseDestination("part.0", "test") + "-' + headers['partition']")); + assertThat(getEndpointRouting(endpoint), + containsString(getExpectedRoutingBaseDestination("part.0", "test") + "-' + headers['partition']")); } catch (UnsupportedOperationException ignored) { } @@ -201,8 +208,7 @@ abstract public class PartitionCapableBinderTests message2 = MessageBuilder.withPayload(2) .setHeader(IntegrationMessageHeaderAccessor.CORRELATION_ID, "foo") .setHeader(IntegrationMessageHeaderAccessor.SEQUENCE_NUMBER, 42) - .setHeader(IntegrationMessageHeaderAccessor.SEQUENCE_SIZE, 43) - .build(); + .setHeader(IntegrationMessageHeaderAccessor.SEQUENCE_SIZE, 43).build(); output.send(message2); output.send(new GenericMessage<>(1)); output.send(new GenericMessage<>(0)); @@ -219,9 +225,8 @@ abstract public class PartitionCapableBinderTests) item); - boolean result = "foo".equals(accessor.getCorrelationId()) && - 42 == accessor.getSequenceNumber() && - 43 == accessor.getSequenceSize(); + boolean result = "foo".equals(accessor.getCorrelationId()) && 42 == accessor.getSequenceNumber() + && 43 == accessor.getSequenceSize(); return result; } }; @@ -232,21 +237,13 @@ abstract public class PartitionCapableBinderTests>> containsOur3Messages = containsInAnyOrder( - fooMatcher, - hasProperty("payload", equalTo(0)), - hasProperty("payload", equalTo(1)) - ); - assertThat( - Arrays.asList(receive0, receive1, receive2), - containsOur3Messages); + Matcher>> containsOur3Messages = containsInAnyOrder(fooMatcher, + hasProperty("payload", equalTo(0)), hasProperty("payload", equalTo(1))); + assertThat(Arrays.asList(receive0, receive1, receive2), containsOur3Messages); } input0Binding.unbind(); @@ -285,8 +282,8 @@ abstract public class PartitionCapableBinderTests outputBinding = binder.bindProducer("partJ.0", output, producerProperties); if (usesExplicitRouting()) { AbstractEndpoint endpoint = extractEndpoint(outputBinding); - assertThat(getEndpointRouting(endpoint), containsString( - getExpectedRoutingBaseDestination("partJ.0", "test") + "-' + headers['partition']")); + assertThat(getEndpointRouting(endpoint), + containsString(getExpectedRoutingBaseDestination("partJ.0", "test") + "-' + headers['partition']")); } output.send(new GenericMessage<>(2)); @@ -307,11 +304,8 @@ abstract public class PartitionCapableBinderTests received = (Message) ((TestSupportBinder) binderFactory.getBinder(null)).messageCollector().forChannel(testSource.output()).poll(); + Message received = (Message) ((TestSupportBinder) binderFactory.getBinder(null)) + .messageCollector().forChannel(testSource.output()).poll(); assertThat(received.getHeaders().get(MessageHeaders.CONTENT_TYPE).toString(), equalTo("application/json")); assertThat(received.getPayload(), equalTo("{\"message\":\"Hi\"}")); } diff --git a/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/CustomMessageConverterTests.java b/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/CustomMessageConverterTests.java index cbbe428a7..dc4bda29a 100644 --- a/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/CustomMessageConverterTests.java +++ b/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/CustomMessageConverterTests.java @@ -1,3 +1,19 @@ +/* + * Copyright 2015 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.cloud.stream.config; import java.util.List; @@ -39,7 +55,8 @@ import static org.junit.Assert.assertTrue; @SpringApplicationConfiguration(CustomMessageConverterTests.TestSource.class) public class CustomMessageConverterTests { - @Autowired @Bindings(TestSource.class) + @Autowired + @Bindings(TestSource.class) private Source testSource; @Autowired diff --git a/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/ErrorChannelTests.java b/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/ErrorChannelTests.java index cbc88398b..ef1f94a8e 100644 --- a/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/ErrorChannelTests.java +++ b/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/ErrorChannelTests.java @@ -13,6 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.springframework.cloud.stream.config; import java.util.concurrent.TimeUnit; @@ -54,7 +55,7 @@ public class ErrorChannelTests { @Test public void testErrorChannelBinding() throws Exception { - Message message = (Message) ((TestSupportBinder) binderFactory.getBinder(null)).messageCollector().forChannel(errorChannel).poll(10, TimeUnit.SECONDS); + Message message = ((TestSupportBinder) binderFactory.getBinder(null)).messageCollector().forChannel(errorChannel).poll(10, TimeUnit.SECONDS); Assert.isTrue(message instanceof ErrorMessage, "Message should be an instance of ErrorMessage"); Assert.isTrue(message.getPayload() instanceof MessagingException, "Message payload should be an instance" + "of MessagingException"); diff --git a/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/MessageChannelConfigurerTests.java b/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/MessageChannelConfigurerTests.java index 83c3ae7f2..1d6cc1764 100644 --- a/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/MessageChannelConfigurerTests.java +++ b/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/config/MessageChannelConfigurerTests.java @@ -13,6 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.springframework.cloud.stream.config; import java.util.List; @@ -54,7 +55,8 @@ import static org.junit.Assert.assertTrue; @SpringApplicationConfiguration({MessageChannelConfigurerTests.TestSink.class}) public class MessageChannelConfigurerTests { - @Autowired @Bindings(TestSink.class) + @Autowired + @Bindings(TestSink.class) private Sink testSink; @Autowired @@ -95,7 +97,7 @@ public class MessageChannelConfigurerTests { assertTrue(objectMapper == this.objectMapper); } } - + @EnableBinding(Sink.class) @EnableAutoConfiguration @PropertySource("classpath:/org/springframework/cloud/stream/config/channel/sink-channel-configurers.properties") diff --git a/spring-cloud-stream-rxjava/src/main/java/org/springframework/cloud/stream/annotation/rxjava/RxJavaProcessorConfiguration.java b/spring-cloud-stream-rxjava/src/main/java/org/springframework/cloud/stream/annotation/rxjava/RxJavaProcessorConfiguration.java index 6e5a62555..177a41057 100644 --- a/spring-cloud-stream-rxjava/src/main/java/org/springframework/cloud/stream/annotation/rxjava/RxJavaProcessorConfiguration.java +++ b/spring-cloud-stream-rxjava/src/main/java/org/springframework/cloud/stream/annotation/rxjava/RxJavaProcessorConfiguration.java @@ -13,6 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.springframework.cloud.stream.annotation.rxjava; import org.springframework.beans.factory.annotation.Autowired; diff --git a/spring-cloud-stream-rxjava/src/main/java/org/springframework/cloud/stream/annotation/rxjava/SubjectMessageHandler.java b/spring-cloud-stream-rxjava/src/main/java/org/springframework/cloud/stream/annotation/rxjava/SubjectMessageHandler.java index 529639f58..26cc95d4b 100644 --- a/spring-cloud-stream-rxjava/src/main/java/org/springframework/cloud/stream/annotation/rxjava/SubjectMessageHandler.java +++ b/spring-cloud-stream-rxjava/src/main/java/org/springframework/cloud/stream/annotation/rxjava/SubjectMessageHandler.java @@ -73,7 +73,7 @@ public class SubjectMessageHandler extends AbstractMessageProducingHandler imple private volatile Subscription subscription; - private volatile boolean running = false; + private volatile boolean running; @SuppressWarnings({"unchecked", "rawtypes"}) public SubjectMessageHandler(RxJavaProcessor processor) { diff --git a/spring-cloud-stream-test-support-internal/src/main/java/org/springframework/cloud/stream/test/junit/kafka/KafkaTestSupport.java b/spring-cloud-stream-test-support-internal/src/main/java/org/springframework/cloud/stream/test/junit/kafka/KafkaTestSupport.java index 797d7e5e2..8fce7ba57 100644 --- a/spring-cloud-stream-test-support-internal/src/main/java/org/springframework/cloud/stream/test/junit/kafka/KafkaTestSupport.java +++ b/spring-cloud-stream-test-support-internal/src/main/java/org/springframework/cloud/stream/test/junit/kafka/KafkaTestSupport.java @@ -66,7 +66,7 @@ public class KafkaTestSupport extends AbstractExternalResourceTestSupport> forChannel(MessageChannel channel); + BlockingQueue> forChannel(MessageChannel channel); } diff --git a/spring-cloud-stream-test-support/src/main/java/org/springframework/cloud/stream/test/binder/TestSupportBinder.java b/spring-cloud-stream-test-support/src/main/java/org/springframework/cloud/stream/test/binder/TestSupportBinder.java index e884a3ea1..f941cbcea 100644 --- a/spring-cloud-stream-test-support/src/main/java/org/springframework/cloud/stream/test/binder/TestSupportBinder.java +++ b/spring-cloud-stream-test-support/src/main/java/org/springframework/cloud/stream/test/binder/TestSupportBinder.java @@ -61,9 +61,10 @@ public class TestSupportBinder implements Binder bindProducer(String name, MessageChannel outboundBindTarget, ProducerProperties properties) { + public Binding bindProducer(String name, MessageChannel outboundBindTarget, + ProducerProperties properties) { final BlockingQueue> queue = messageCollector.register(outboundBindTarget); - ((SubscribableChannel)outboundBindTarget).subscribe(new MessageHandler() { + ((SubscribableChannel) outboundBindTarget).subscribe(new MessageHandler() { @Override public void handleMessage(Message message) throws MessagingException { queue.add(message); @@ -112,7 +113,7 @@ public class TestSupportBinder implements Binder { + private static final class TestBinding implements Binding { private final MessageChannel target; diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/aggregate/AggregateApplication.java b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/aggregate/AggregateApplication.java index 68af8bcd1..6b4ca6f6a 100644 --- a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/aggregate/AggregateApplication.java +++ b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/aggregate/AggregateApplication.java @@ -35,7 +35,7 @@ import org.springframework.messaging.SubscribableChannel; * @author Ilayaperumal Gopinathan * @author Venil Noronha */ -class AggregateApplication { +abstract class AggregateApplication { private static final String SPRING_CLOUD_STREAM_INTERNAL_PREFIX = "spring.cloud.stream.internal"; @@ -92,12 +92,10 @@ class AggregateApplication { return aggregatorParentConfiguration.run(args); } - static void createChildContexts(ConfigurableApplicationContext parentContext, - Class[] apps, String args[][]) { + static void createChildContexts(ConfigurableApplicationContext parentContext, Class[] apps, String[][] args) { for (int i = apps.length - 1; i >= 0; i--) { String appClassName = apps[i].getName(); - embedApp(parentContext, getNamespace(appClassName, i), apps[i]) - .run(args != null ? args[i] : new String[0]); + embedApp(parentContext, getNamespace(appClassName, i), apps[i]).run(args != null ? args[i] : new String[0]); } } diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/aggregate/AggregateApplicationBuilder.java b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/aggregate/AggregateApplicationBuilder.java index e01eafeff..cc3d87fc9 100644 --- a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/aggregate/AggregateApplicationBuilder.java +++ b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/aggregate/AggregateApplicationBuilder.java @@ -57,7 +57,7 @@ public class AggregateApplicationBuilder { } public AggregateApplicationBuilder(Object[] sources, String[] args) { - this(SpringApplication.run(addAggregatorParentIfMissing(sources),args)); + this(SpringApplication.run(addAggregatorParentIfMissing(sources), args)); } public AggregateApplicationBuilder(ConfigurableApplicationContext parentContext) { @@ -135,6 +135,13 @@ public class AggregateApplicationBuilder { return parentContext; } + private ChildContextBuilder childContext(Class app, + ConfigurableApplicationContext parentContext, String namespace) { + return new ChildContextBuilder( + AggregateApplication.embedApp(parentContext, namespace, app)); + } + + public class SourceConfigurer extends AppConfigurer { public SourceConfigurer(Class app) { @@ -184,9 +191,9 @@ public class AggregateApplicationBuilder { String[] args; - String[] names = null; + String[] names; - String[] profiles = null; + String[] profiles; String namespace; @@ -226,17 +233,11 @@ public class AggregateApplicationBuilder { void embed() { childContext(this.app, AggregateApplicationBuilder.this.parentContext, this.namespace).args(this.args).config(this.names) - .profiles(this.profiles).run(); + .profiles(this.profiles).run(); } } - private ChildContextBuilder childContext(Class app, - ConfigurableApplicationContext parentContext, String namespace) { - return new ChildContextBuilder( - AggregateApplication.embedApp(parentContext, namespace, app)); - } - - private class ChildContextBuilder { + private final class ChildContextBuilder { private SpringApplicationBuilder builder; @@ -244,7 +245,7 @@ public class AggregateApplicationBuilder { private String[] args; - public ChildContextBuilder(SpringApplicationBuilder builder) { + private ChildContextBuilder(SpringApplicationBuilder builder) { this.builder = builder; } diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/aggregate/AggregatorParentConfiguration.java b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/aggregate/AggregatorParentConfiguration.java index 05ef1cbe0..268cb17dd 100644 --- a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/aggregate/AggregatorParentConfiguration.java +++ b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/aggregate/AggregatorParentConfiguration.java @@ -13,6 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.springframework.cloud.stream.aggregate; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/AbstractBinder.java b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/AbstractBinder.java index 8b2363db4..b1752b18b 100644 --- a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/AbstractBinder.java +++ b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/AbstractBinder.java @@ -192,10 +192,7 @@ public abstract class AbstractBinder message) { @@ -290,7 +287,7 @@ public abstract class AbstractBinder messageHeaders) { + } /** * Handles representing any java class as a {@link MimeType}. @@ -382,10 +384,4 @@ public abstract class AbstractBinder messageHeaders) { - } - } diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/BinderConfiguration.java b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/BinderConfiguration.java index 37e0df4d8..326a6abf8 100644 --- a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/BinderConfiguration.java +++ b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/BinderConfiguration.java @@ -5,7 +5,7 @@ * 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 + * 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, diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/BinderFactory.java b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/BinderFactory.java index b86dc3d14..7b7a24466 100644 --- a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/BinderFactory.java +++ b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/BinderFactory.java @@ -5,7 +5,7 @@ * 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 + * 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, diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/BinderHeaders.java b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/BinderHeaders.java index 0d31fb22b..774a59b63 100644 --- a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/BinderHeaders.java +++ b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/BinderHeaders.java @@ -26,7 +26,7 @@ import org.springframework.messaging.MessageHeaders; * @author David Turanski */ public final class BinderHeaders { - + public static final String BINDER_ORIGINAL_CONTENT_TYPE = "originalContentType"; /** diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/BinderTypeRegistry.java b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/BinderTypeRegistry.java index ad0846531..20222d820 100644 --- a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/BinderTypeRegistry.java +++ b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/BinderTypeRegistry.java @@ -5,7 +5,7 @@ * 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 + * 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, @@ -13,6 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.springframework.cloud.stream.binder; import java.util.Map; diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/ConsumerProperties.java b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/ConsumerProperties.java index b68fc382d..15fd2d06a 100644 --- a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/ConsumerProperties.java +++ b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/ConsumerProperties.java @@ -31,11 +31,11 @@ public class ConsumerProperties { private int concurrency = 1; - private boolean partitioned = false; + private boolean partitioned; private int instanceCount = 1; - private int instanceIndex = 0; + private int instanceIndex; private int maxAttempts = 3; diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/DefaultBinderFactory.java b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/DefaultBinderFactory.java index c6f7a6171..5c611e38b 100644 --- a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/DefaultBinderFactory.java +++ b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/DefaultBinderFactory.java @@ -5,7 +5,7 @@ * 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 + * 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, @@ -87,12 +87,13 @@ public class DefaultBinderFactory implements BinderFactory, DisposableBean } @Override - public synchronized Binder getBinder(String name) { + public synchronized Binder getBinder(String name) { String configurationName; // Fall back to a default if no argument is provided if (StringUtils.isEmpty(name)) { if (this.binderConfigurations.size() == 0) { - throw new IllegalStateException("A default binder has been requested, but there there is no binder available"); + throw new IllegalStateException( + "A default binder has been requested, but there there is no binder available"); } else if (this.binderConfigurations.size() == 1) { configurationName = this.binderConfigurations.keySet().iterator().next(); @@ -104,11 +105,12 @@ public class DefaultBinderFactory implements BinderFactory, DisposableBean else { throw new IllegalStateException( "A default binder has been requested, but there is more than one binder available: " - + StringUtils.collectionToCommaDelimitedString(this.binderConfigurations.keySet()) + ", and" - + " no default binder has been set."); + + StringUtils.collectionToCommaDelimitedString(this.binderConfigurations.keySet()) + + ", and" + " no default binder has been set."); } } - } else { + } + else { configurationName = name; } if (!this.binderInstanceCache.containsKey(configurationName)) { @@ -120,7 +122,7 @@ public class DefaultBinderFactory implements BinderFactory, DisposableBean // Convert all properties to arguments, so that they receive maximum precedence ArrayList args = new ArrayList<>(); for (Map.Entry property : binderProperties.entrySet()) { - args.add(String.format("--%s=%s",property.getKey(),property.getValue())); + args.add(String.format("--%s=%s", property.getKey(), property.getValue())); } // Initialize the domain with a unique name based on the bootstrapping context setting ConfigurableEnvironment environment = context != null ? context.getEnvironment() : null; @@ -155,7 +157,7 @@ public class DefaultBinderFactory implements BinderFactory, DisposableBean ConfigurableApplicationContext binderProducingContext = springApplicationBuilder.run(args.toArray(new String[args.size()])); @SuppressWarnings("unchecked") - Binder binder = binderProducingContext.getBean(Binder.class); + Binder binder = binderProducingContext.getBean(Binder.class); if (bindersHealthIndicator != null) { OrderedHealthAggregator healthAggregator = new OrderedHealthAggregator(); Map indicators = binderProducingContext.getBeansOfType(HealthIndicator.class); @@ -175,18 +177,18 @@ public class DefaultBinderFactory implements BinderFactory, DisposableBean * * @param */ - private static class BinderInstanceHolder { + private static final class BinderInstanceHolder { - private final Binder binderInstance; + private final Binder binderInstance; private final ConfigurableApplicationContext binderContext; - public BinderInstanceHolder(Binder binderInstance, ConfigurableApplicationContext binderContext) { + private BinderInstanceHolder(Binder binderInstance, ConfigurableApplicationContext binderContext) { this.binderInstance = binderInstance; this.binderContext = binderContext; } - public Binder getBinderInstance() { + public Binder getBinderInstance() { return this.binderInstance; } diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/DefaultBinderTypeRegistry.java b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/DefaultBinderTypeRegistry.java index ad6aac101..4f3883722 100644 --- a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/DefaultBinderTypeRegistry.java +++ b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/DefaultBinderTypeRegistry.java @@ -13,6 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.springframework.cloud.stream.binder; import java.util.Collections; diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/EmbeddedHeadersMessageConverter.java b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/EmbeddedHeadersMessageConverter.java index 02fe1d61c..b71f0c076 100644 --- a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/EmbeddedHeadersMessageConverter.java +++ b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/EmbeddedHeadersMessageConverter.java @@ -59,8 +59,7 @@ public class EmbeddedHeadersMessageConverter { int headerCount = 0; int headersLength = 0; for (String header : headers) { - Object value = original.get(header) == null ? null - : original.get(header); + Object value = original.get(header) == null ? null : original.get(header); if (value != null) { String json = this.objectMapper.toJson(value); headerValues[n] = json.getBytes("UTF-8"); @@ -72,7 +71,7 @@ public class EmbeddedHeadersMessageConverter { } } // 0xff, n(1), [ [lenHdr(1), hdr, lenValue(4), value] ... ] - byte[] newPayload = new byte[((byte[])original.getPayload()).length + headersLength + headerCount * 5 + 2]; + byte[] newPayload = new byte[((byte[]) original.getPayload()).length + headersLength + headerCount * 5 + 2]; ByteBuffer byteBuffer = ByteBuffer.wrap(newPayload); byteBuffer.put((byte) 0xff); // signal new format byteBuffer.put((byte) headerCount); @@ -85,16 +84,18 @@ public class EmbeddedHeadersMessageConverter { } } - byteBuffer.put((byte[])original.getPayload()); + byteBuffer.put((byte[]) original.getPayload()); return byteBuffer.array(); } /** - * Return a message where headers, that were originally embedded into the payload, have been promoted - * back to actual headers. The new payload is now the original payload. + * Return a message where headers, that were originally embedded into the payload, + * have been promoted back to actual headers. The new payload is now the original + * payload. * * @param message the message to extract headers - * @param copyRequestHeaders boolean value to specify if original headers should be copied + * @param copyRequestHeaders boolean value to specify if original headers should be + * copied */ public MessageValues extractHeaders(Message message, boolean copyRequestHeaders) throws Exception { byte[] bytes = message.getPayload(); diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/ExpressionSerializer.java b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/ExpressionSerializer.java index 44a68fea4..2b2a16c8e 100644 --- a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/ExpressionSerializer.java +++ b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/ExpressionSerializer.java @@ -13,6 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.springframework.cloud.stream.binder; import java.io.IOException; diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/HeaderMode.java b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/HeaderMode.java index 6b3650b72..6356ef014 100644 --- a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/HeaderMode.java +++ b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/HeaderMode.java @@ -13,6 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.springframework.cloud.stream.binder; /** diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/PartitionHandler.java b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/PartitionHandler.java index 9fc07bd1b..1d7078b02 100644 --- a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/PartitionHandler.java +++ b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/PartitionHandler.java @@ -129,33 +129,36 @@ public class PartitionHandler { return strategy.selectPartition(key, producerProperties.getPartitionCount()); } + @SuppressWarnings("unchecked") private T getBean(String className, Class type) { if (this.beanFactory.containsBean(className)) { return this.beanFactory.getBean(className, type); } else { synchronized (this) { + T bean; if (this.beanFactory.containsBean(className)) { - return this.beanFactory.getBean(className, type); + bean = this.beanFactory.getBean(className, type); } - Class clazz; - try { - clazz = ClassUtils.forName(className, this.beanFactory.getBeanClassLoader()); - } - catch (Exception e) { - throw new BinderException("Failed to load class: " + className, e); - } - try { - @SuppressWarnings("unchecked") - T object = (T) clazz.newInstance(); - Assert.isInstanceOf(type, object); - this.beanFactory.registerSingleton(className, object); - this.beanFactory.initializeBean(object, className); - return object; - } - catch (Exception e) { - throw new BinderException("Failed to instantiate class: " + className, e); + else { + Class clazz; + try { + clazz = ClassUtils.forName(className, this.beanFactory.getBeanClassLoader()); + } + catch (Exception e) { + throw new BinderException("Failed to load class: " + className, e); + } + try { + bean = (T) clazz.newInstance(); + Assert.isInstanceOf(type, bean); + this.beanFactory.registerSingleton(className, bean); + this.beanFactory.initializeBean(bean, className); + } + catch (Exception e) { + throw new BinderException("Failed to instantiate class: " + className, e); + } } + return bean; } } } diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/PartitionKeyExtractorStrategy.java b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/PartitionKeyExtractorStrategy.java index 832ae8d3a..a4b825462 100644 --- a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/PartitionKeyExtractorStrategy.java +++ b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/PartitionKeyExtractorStrategy.java @@ -18,10 +18,9 @@ package org.springframework.cloud.stream.binder; import org.springframework.messaging.Message; - /** * Strategy for extracting a partition key from a Message. - * + * * @author Gary Russell */ public interface PartitionKeyExtractorStrategy { diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/ProducerProperties.java b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/ProducerProperties.java index 761bc049c..3bdfb5996 100644 --- a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/ProducerProperties.java +++ b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/ProducerProperties.java @@ -35,14 +35,14 @@ import org.springframework.expression.Expression; public class ProducerProperties { @JsonSerialize(using = ExpressionSerializer.class) - private Expression partitionKeyExpression = null; + private Expression partitionKeyExpression; - private Class partitionKeyExtractorClass = null; + private Class partitionKeyExtractorClass; - private Class partitionSelectorClass = null; + private Class partitionSelectorClass; @JsonSerialize(using = ExpressionSerializer.class) - private Expression partitionSelectorExpression = null; + private Expression partitionSelectorExpression; private int partitionCount = 1; diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/StringConvertingContentTypeResolver.java b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/StringConvertingContentTypeResolver.java index 0e6df6ec6..80d0ae2c6 100644 --- a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/StringConvertingContentTypeResolver.java +++ b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/StringConvertingContentTypeResolver.java @@ -26,32 +26,32 @@ import org.springframework.util.MimeType; /** * A {@link DefaultContentTypeResolver} that can parse String values. - * + * * @author David Turanski */ public class StringConvertingContentTypeResolver extends DefaultContentTypeResolver { - private ConcurrentMap mimeTypeCache = new ConcurrentHashMap<>(); + private ConcurrentMap mimeTypeCache = new ConcurrentHashMap<>(); @Override public MimeType resolve(MessageHeaders headers) { return resolve((Map) headers); } - public MimeType resolve(Map headers) { + public MimeType resolve(Map headers) { + MimeType mimeType = null; Object value = headers.get(MessageHeaders.CONTENT_TYPE); if (value instanceof MimeType) { - return (MimeType) value; + mimeType = (MimeType) value; } else if (value instanceof String) { - MimeType mimeType = mimeTypeCache.get(value); + mimeType = mimeTypeCache.get(value); if (mimeType == null) { String valueAsString = (String) value; mimeType = MimeType.valueOf(valueAsString); - mimeTypeCache.put(valueAsString,mimeType); + mimeTypeCache.put(valueAsString, mimeType); } - return mimeType; } - return getDefaultMimeType(); + return mimeType != null ? mimeType : getDefaultMimeType(); } } diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/BindableAdapter.java b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/BindableAdapter.java index 8a7738f4e..95fdd41a3 100644 --- a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/BindableAdapter.java +++ b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/BindableAdapter.java @@ -13,6 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.springframework.cloud.stream.binding; import java.util.Collections; diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/BindableProxyFactory.java b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/BindableProxyFactory.java index ad23ea157..bea2cb265 100644 --- a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/BindableProxyFactory.java +++ b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/BindableProxyFactory.java @@ -70,7 +70,7 @@ public class BindableProxyFactory implements MethodInterceptor, FactoryBean type; - private Object proxy = null; + private Object proxy; private Map inputHolders = new HashMap<>(); @@ -82,21 +82,22 @@ public class BindableProxyFactory implements MethodInterceptor, FactoryBean configurerList = new ArrayList<>(); configurerList.add(messageConverterConfigurer); return new CompositeMessageChannelConfigurer(configurerList); @@ -171,6 +171,21 @@ public class ChannelBindingServiceConfiguration { return new CompositeMessageConverterFactory(messageConverters, objectMapper); } + @Bean + public static MessageHandlerMethodFactory messageHandlerMethodFactory(CompositeMessageConverterFactory compositeMessageConverterFactory) { + DefaultMessageHandlerMethodFactory messageHandlerMethodFactory = new DefaultMessageHandlerMethodFactory(); + messageHandlerMethodFactory.setMessageConverter(compositeMessageConverterFactory.getMessageConverterForAllRegistered()); + return messageHandlerMethodFactory; + } + + @Bean + public static StreamListenerAnnotationBeanPostProcessor bindToAnnotationBeanPostProcessor( + @Lazy BinderAwareChannelResolver binderAwareChannelResolver, + @Lazy MessageHandlerMethodFactory messageHandlerMethodFactory) { + return new StreamListenerAnnotationBeanPostProcessor(binderAwareChannelResolver, + messageHandlerMethodFactory); + } + // IMPORTANT: Nested class to avoid instantiating all of the above early @Configuration protected static class PostProcessorConfiguration { @@ -232,18 +247,4 @@ public class ChannelBindingServiceConfiguration { } } - @Bean - public static MessageHandlerMethodFactory messageHandlerMethodFactory(CompositeMessageConverterFactory compositeMessageConverterFactory) { - DefaultMessageHandlerMethodFactory messageHandlerMethodFactory = new DefaultMessageHandlerMethodFactory(); - messageHandlerMethodFactory.setMessageConverter(compositeMessageConverterFactory.getMessageConverterForAllRegistered()); - return messageHandlerMethodFactory; - } - - @Bean - public static StreamListenerAnnotationBeanPostProcessor bindToAnnotationBeanPostProcessor( - @Lazy BinderAwareChannelResolver binderAwareChannelResolver, - @Lazy MessageHandlerMethodFactory messageHandlerMethodFactory) { - return new StreamListenerAnnotationBeanPostProcessor(binderAwareChannelResolver, - messageHandlerMethodFactory); - } } diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/ChannelBindingServiceProperties.java b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/ChannelBindingServiceProperties.java index 58d479dc3..8fae4dcc5 100644 --- a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/ChannelBindingServiceProperties.java +++ b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/ChannelBindingServiceProperties.java @@ -51,7 +51,7 @@ public class ChannelBindingServiceProperties implements ApplicationContextAware, private ConversionService conversionService; @Value("${INSTANCE_INDEX:${CF_INSTANCE_INDEX:0}}") - private int instanceIndex = 0; + private int instanceIndex; private int instanceCount = 1; diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/SpelExpressionConverterConfiguration.java b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/SpelExpressionConverterConfiguration.java index 4f59dc40b..d33a416be 100644 --- a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/SpelExpressionConverterConfiguration.java +++ b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/SpelExpressionConverterConfiguration.java @@ -40,7 +40,8 @@ import org.springframework.integration.context.IntegrationContextUtils; public class SpelExpressionConverterConfiguration { @Bean - @ConfigurationPropertiesBinding @IntegrationConverter + @ConfigurationPropertiesBinding + @IntegrationConverter public Converter spelConverter() { return new SpelConverter(); } @@ -69,7 +70,8 @@ public class SpelExpressionConverterConfiguration { return expression; } catch (ParseException e) { - throw new IllegalArgumentException(String.format("Could not convert '%s' into a SpEL expression", source), e); + throw new IllegalArgumentException( + String.format("Could not convert '%s' into a SpEL expression", source), e); } } } diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/converter/ConversionException.java b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/converter/ConversionException.java index 20fe52a18..2c9a7f34d 100644 --- a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/converter/ConversionException.java +++ b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/converter/ConversionException.java @@ -18,7 +18,7 @@ package org.springframework.cloud.stream.converter; /** * Exception thrown when an error is encountered during message conversion. - * + * * @author David Turanski */ @SuppressWarnings("serial") diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/converter/CustomMimeTypeConverter.java b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/converter/CustomMimeTypeConverter.java index 3a58cddec..d71ccf30a 100644 --- a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/converter/CustomMimeTypeConverter.java +++ b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/converter/CustomMimeTypeConverter.java @@ -23,8 +23,8 @@ import org.springframework.util.MimeType; /** * A custom converter for {@link MediaType} that accepts a plain java class name as a shorthand for * {@code application/x-java-object;type=the.qualified.ClassName}. - * - * + * + * * @author Eric Bottard * @author David Turanski */ diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/converter/JavaToSerializedMessageConverter.java b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/converter/JavaToSerializedMessageConverter.java index d58f2939c..a22afe575 100644 --- a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/converter/JavaToSerializedMessageConverter.java +++ b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/converter/JavaToSerializedMessageConverter.java @@ -13,6 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.springframework.cloud.stream.converter; import java.io.ByteArrayOutputStream; diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/converter/MessageConverterUtils.java b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/converter/MessageConverterUtils.java index 522985453..490ff2952 100644 --- a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/converter/MessageConverterUtils.java +++ b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/converter/MessageConverterUtils.java @@ -30,7 +30,7 @@ import org.springframework.util.StringUtils; * @author Gary Russell * @author Ilayaperumal Gopinathan */ -public class MessageConverterUtils { +public abstract class MessageConverterUtils { /** * An MimeType specifying a {@link Tuple}. diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/converter/PojoToStringMessageConverter.java b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/converter/PojoToStringMessageConverter.java index 1341a8977..6f06509d1 100644 --- a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/converter/PojoToStringMessageConverter.java +++ b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/converter/PojoToStringMessageConverter.java @@ -13,6 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.springframework.cloud.stream.converter; import org.springframework.messaging.Message; @@ -49,7 +50,7 @@ public class PojoToStringMessageConverter extends AbstractFromMessageConverter { String payloadString = null; if (message.getPayload() instanceof Tuple) { TupleBuilder builder = TupleBuilder.tuple(); - builder.putAll((Tuple)message.getPayload()); + builder.putAll((Tuple) message.getPayload()); payloadString = builder.build().toString(); } else { diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/endpoint/ChannelsEndpoint.java b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/endpoint/ChannelsEndpoint.java index 627117013..0029f33b3 100644 --- a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/endpoint/ChannelsEndpoint.java +++ b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/endpoint/ChannelsEndpoint.java @@ -66,7 +66,7 @@ public class ChannelsEndpoint extends AbstractEndpoint> { }); } - @JsonInclude(value = Include.NON_DEFAULT) + @JsonInclude(Include.NON_DEFAULT) public static class ChannelsMetaData { private Map inputs = new LinkedHashMap<>(); diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/messaging/Source.java b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/messaging/Source.java index 9a2d819b8..dff4851d1 100644 --- a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/messaging/Source.java +++ b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/messaging/Source.java @@ -27,9 +27,9 @@ import org.springframework.messaging.MessageChannel; * @author Marius Bogoevici */ public interface Source { - + String OUTPUT = "output"; - + @Output(Source.OUTPUT) MessageChannel output(); diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/BinderAwareChannelResolverTests.java b/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/BinderAwareChannelResolverTests.java index 5b7732ece..66955f11d 100644 --- a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/BinderAwareChannelResolverTests.java +++ b/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/BinderAwareChannelResolverTests.java @@ -241,7 +241,7 @@ public class BinderAwareChannelResolverTests { return binding; } - private class TestBinding implements Binding { + private final class TestBinding implements Binding { private final String name; diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/ExtendedPropertiesBinderAwareChannelResolverTests.java b/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/ExtendedPropertiesBinderAwareChannelResolverTests.java index 751891db1..5e339590f 100644 --- a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/ExtendedPropertiesBinderAwareChannelResolverTests.java +++ b/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/ExtendedPropertiesBinderAwareChannelResolverTests.java @@ -190,7 +190,7 @@ public class ExtendedPropertiesBinderAwareChannelResolverTests extends BinderAwa return new ExtendedProducerProperties(new ProducerProperties()); } - private class TestBinding implements Binding { + private final class TestBinding implements Binding { private final String name; diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/InputOutputBindingOrderTest.java b/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/InputOutputBindingOrderTest.java index 221dbe873..f62b08238 100644 --- a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/InputOutputBindingOrderTest.java +++ b/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/InputOutputBindingOrderTest.java @@ -70,7 +70,7 @@ public class InputOutputBindingOrderTest { public static class SomeLifecycle implements SmartLifecycle { - private boolean running = false; + private boolean running; @SuppressWarnings("rawtypes") @Autowired diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/LifecycleBinderTests.java b/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/LifecycleBinderTests.java index 3498c0508..1c4f17ae1 100644 --- a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/LifecycleBinderTests.java +++ b/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/LifecycleBinderTests.java @@ -58,7 +58,7 @@ public class LifecycleBinderTests { public static class SimpleLifecycle implements Lifecycle { - private boolean running = false; + private boolean running; @Override public synchronized void start() { diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/MessageConverterTests.java b/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/MessageConverterTests.java index 034fe14f7..f5e55ad24 100644 --- a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/MessageConverterTests.java +++ b/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/MessageConverterTests.java @@ -38,17 +38,15 @@ public class MessageConverterTests { @Test public void testHeaderEmbedding() throws Exception { EmbeddedHeadersMessageConverter converter = new EmbeddedHeadersMessageConverter(); - Message message = MessageBuilder.withPayload("Hello".getBytes()) - .setHeader("foo", "bar") - .setHeader("baz", "quxx") - .build(); + Message message = MessageBuilder.withPayload("Hello".getBytes()).setHeader("foo", "bar") + .setHeader("baz", "quxx").build(); byte[] embedded = converter.embedHeaders(new MessageValues(message), "foo", "baz"); assertEquals(0xff, embedded[0] & 0xff); assertEquals("\u0002\u0003foo\u0000\u0000\u0000\u0005\"bar\"\u0003baz\u0000\u0000\u0000\u0006\"quxx\"Hello", new String(embedded).substring(1)); MessageValues extracted = converter.extractHeaders(MessageBuilder.withPayload(embedded).build(), false); - assertEquals("Hello", new String((byte[])extracted.getPayload())); + assertEquals("Hello", new String((byte[]) extracted.getPayload())); assertEquals("bar", extracted.get("foo")); assertEquals("quxx", extracted.get("baz")); } @@ -56,17 +54,15 @@ public class MessageConverterTests { @Test public void testUnicodeHeader() throws Exception { EmbeddedHeadersMessageConverter converter = new EmbeddedHeadersMessageConverter(); - Message message = MessageBuilder.withPayload("Hello".getBytes()) - .setHeader("foo", "bar") - .setHeader("baz", "ØØØØØØØØ") - .build(); + Message message = MessageBuilder.withPayload("Hello".getBytes()).setHeader("foo", "bar") + .setHeader("baz", "ØØØØØØØØ").build(); byte[] embedded = converter.embedHeaders(new MessageValues(message), "foo", "baz"); assertEquals(0xff, embedded[0] & 0xff); assertEquals("\u0002\u0003foo\u0000\u0000\u0000\u0005\"bar\"\u0003baz\u0000\u0000\u0000\u0012\"ØØØØØØØØ\"Hello", new String(embedded, "UTF-8").substring(1)); MessageValues extracted = converter.extractHeaders(MessageBuilder.withPayload(embedded).build(), false); - assertEquals("Hello", new String((byte[])extracted.getPayload())); + assertEquals("Hello", new String((byte[]) extracted.getPayload())); assertEquals("bar", extracted.get("foo")); assertEquals("ØØØØØØØØ", extracted.get("baz")); } @@ -74,13 +70,10 @@ public class MessageConverterTests { @Test public void testHeaderEmbeddingMissingHeader() throws Exception { EmbeddedHeadersMessageConverter converter = new EmbeddedHeadersMessageConverter(); - Message message = MessageBuilder.withPayload("Hello".getBytes()) - .setHeader("foo", "bar") - .build(); + Message message = MessageBuilder.withPayload("Hello".getBytes()).setHeader("foo", "bar").build(); byte[] embedded = converter.embedHeaders(new MessageValues(message), "foo", "baz"); assertEquals(0xff, embedded[0] & 0xff); - assertEquals("\u0001\u0003foo\u0000\u0000\u0000\u0005\"bar\"Hello", - new String(embedded).substring(1)); + assertEquals("\u0001\u0003foo\u0000\u0000\u0000\u0005\"bar\"Hello", new String(embedded).substring(1)); } @Test @@ -88,8 +81,8 @@ public class MessageConverterTests { EmbeddedHeadersMessageConverter converter = new EmbeddedHeadersMessageConverter(); byte[] bytes = "\u0002\u0003foo\u0003bar\u0003baz\u0004quxxHello".getBytes("UTF-8"); Message message = new GenericMessage(bytes); - MessageValues extracted = converter.extractHeaders(message,false); - assertEquals("Hello", new String((byte[])extracted.getPayload())); + MessageValues extracted = converter.extractHeaders(message, false); + assertEquals("Hello", new String((byte[]) extracted.getPayload())); assertEquals("bar", extracted.get("foo")); assertEquals("quxx", extracted.get("baz")); } @@ -100,7 +93,7 @@ public class MessageConverterTests { byte[] bytes = "\u0002\u0003foo\u0020bar\u0003baz\u0004quxxHello".getBytes("UTF-8"); Message message = new GenericMessage(bytes); try { - converter.extractHeaders(message,false); + converter.extractHeaders(message, false); Assert.fail("Exception expected"); } catch (Exception e) { diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/ProcessorBindingTestsWithDefaults.java b/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/ProcessorBindingTestsWithDefaults.java index c3eafbf32..9ec8f5050 100644 --- a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/ProcessorBindingTestsWithDefaults.java +++ b/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/ProcessorBindingTestsWithDefaults.java @@ -45,7 +45,8 @@ public class ProcessorBindingTestsWithDefaults { @Autowired private Binder binder; - @Autowired @Bindings(TestProcessor.class) + @Autowired + @Bindings(TestProcessor.class) private Processor processor; @SuppressWarnings("unchecked") diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/SinkBindingTestsWithDefaults.java b/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/SinkBindingTestsWithDefaults.java index 35acc00a1..f1cef9622 100644 --- a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/SinkBindingTestsWithDefaults.java +++ b/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/SinkBindingTestsWithDefaults.java @@ -46,7 +46,8 @@ public class SinkBindingTestsWithDefaults { @Autowired private Binder binder; - @Autowired @Bindings(TestSink.class) + @Autowired + @Bindings(TestSink.class) private Sink testSink; @SuppressWarnings("unchecked") diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/SourceBindingTestsWithBindingTargets.java b/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/SourceBindingTestsWithBindingTargets.java index 40246190f..ead43e998 100644 --- a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/SourceBindingTestsWithBindingTargets.java +++ b/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/SourceBindingTestsWithBindingTargets.java @@ -50,7 +50,8 @@ public class SourceBindingTestsWithBindingTargets { @Autowired private Binder binder; - @Autowired @Bindings(TestSource.class) + @Autowired + @Bindings(TestSource.class) private Source testSource; @Autowired diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/SourceBindingTestsWithDefaults.java b/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/SourceBindingTestsWithDefaults.java index a2d71f298..06ad6a3ba 100644 --- a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/SourceBindingTestsWithDefaults.java +++ b/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/SourceBindingTestsWithDefaults.java @@ -45,7 +45,8 @@ public class SourceBindingTestsWithDefaults { @Autowired private Binder binder; - @Autowired @Bindings(TestSource.class) + @Autowired + @Bindings(TestSource.class) private Source testSource; @SuppressWarnings("unchecked") diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/config/BinderConfigurationParsingTests.java b/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/config/BinderConfigurationParsingTests.java index f5aba762c..6d6b65b24 100644 --- a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/config/BinderConfigurationParsingTests.java +++ b/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/config/BinderConfigurationParsingTests.java @@ -5,7 +5,7 @@ * 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 + * 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, diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/interceptor/BoundChannelsInterceptedTest.java b/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/interceptor/BoundChannelsInterceptedTest.java index 3f0bcfed0..5cd32b3e1 100644 --- a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/interceptor/BoundChannelsInterceptedTest.java +++ b/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/interceptor/BoundChannelsInterceptedTest.java @@ -74,7 +74,8 @@ public class BoundChannelsInterceptedTest { public void fooSink(Message message) { } - @GlobalChannelInterceptor @Bean + @Bean + @GlobalChannelInterceptor public ChannelInterceptor globalChannelInterceptor() { return mock(ChannelInterceptor.class); } diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/partitioning/PartitionedConsumerTest.java b/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/partitioning/PartitionedConsumerTest.java index b18104286..2715ccc25 100644 --- a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/partitioning/PartitionedConsumerTest.java +++ b/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/partitioning/PartitionedConsumerTest.java @@ -46,14 +46,14 @@ import static org.mockito.Mockito.verifyNoMoreInteractions; */ @RunWith(SpringJUnit4ClassRunner.class) @SpringApplicationConfiguration(PartitionedConsumerTest.TestSink.class) - public class PartitionedConsumerTest { @SuppressWarnings("rawtypes") @Autowired private Binder binder; - @Autowired @Bindings(TestSink.class) + @Autowired + @Bindings(TestSink.class) private Sink testSink; @Test @@ -66,7 +66,6 @@ public class PartitionedConsumerTest { verifyNoMoreInteractions(binder); } - @EnableBinding(Sink.class) @EnableAutoConfiguration @Import(MockBinderRegistryConfiguration.class) diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/partitioning/PartitionedProducerTest.java b/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/partitioning/PartitionedProducerTest.java index ec8f4ba3c..9ddb0e0cb 100644 --- a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/partitioning/PartitionedProducerTest.java +++ b/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/partitioning/PartitionedProducerTest.java @@ -44,14 +44,14 @@ import static org.mockito.Mockito.verifyNoMoreInteractions; */ @RunWith(SpringJUnit4ClassRunner.class) @SpringApplicationConfiguration(PartitionedProducerTest.TestSource.class) - public class PartitionedProducerTest { @SuppressWarnings("rawtypes") @Autowired private Binder binder; - @Autowired @Bindings(TestSource.class) + @Autowired + @Bindings(TestSource.class) private Source testSource; @Test diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/utils/MockBinderConfiguration.java b/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/utils/MockBinderConfiguration.java index 195bbf76a..02ae73c8f 100644 --- a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/utils/MockBinderConfiguration.java +++ b/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/utils/MockBinderConfiguration.java @@ -13,6 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.springframework.cloud.stream.utils; import org.mockito.Mockito; diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/utils/MockBinderRegistryConfiguration.java b/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/utils/MockBinderRegistryConfiguration.java index 8ff8f1b91..c41c391c4 100644 --- a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/utils/MockBinderRegistryConfiguration.java +++ b/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/utils/MockBinderRegistryConfiguration.java @@ -37,11 +37,11 @@ public class MockBinderRegistryConfiguration { @Bean public BinderTypeRegistry binderTypeRegistry() { return new DefaultBinderTypeRegistry( - Collections.singletonMap("mock", new BinderType("", new Class[]{MockBinderConfiguration.class}))); + Collections.singletonMap("mock", new BinderType("", new Class[] { MockBinderConfiguration.class }))); } @Bean - public Binder defaultBinder(BinderFactory binderFactory) { + public Binder defaultBinder(BinderFactory binderFactory) { return binderFactory.getBinder(null); } } diff --git a/src/checkstyle/checkstyle-header.txt b/src/checkstyle/checkstyle-header.txt new file mode 100644 index 000000000..e2b6f5d33 --- /dev/null +++ b/src/checkstyle/checkstyle-header.txt @@ -0,0 +1,17 @@ +^\Q/*\E$ +^\Q * Copyright \E(20\d\d\-)?20\d\d\Q the original author or authors.\E$ +^\Q *\E$ +^\Q * Licensed under the Apache License, Version 2.0 (the "License");\E$ +^\Q * you may not use this file except in compliance with the License.\E$ +^\Q * You may obtain a copy of the License at\E$ +^\Q *\E$ +^\Q * http://www.apache.org/licenses/LICENSE-2.0\E$ +^\Q *\E$ +^\Q * Unless required by applicable law or agreed to in writing, software\E$ +^\Q * distributed under the License is distributed on an "AS IS" BASIS,\E$ +^\Q * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\E$ +^\Q * See the License for the specific language governing permissions and\E$ +^\Q * limitations under the License.\E$ +^\Q */\E$ +^$ +^.*$ diff --git a/src/checkstyle/checkstyle.xml b/src/checkstyle/checkstyle.xml index 5b04fdca0..13959b0ed 100644 --- a/src/checkstyle/checkstyle.xml +++ b/src/checkstyle/checkstyle.xml @@ -3,21 +3,85 @@ "-//Puppy Crawl//DTD Check Configuration 1.3//EN" "http://www.puppycrawl.com/dtds/configuration_1_3.dtd"> + + + + + + + + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -25,11 +89,56 @@ - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +