Start version 2.0

* Upgrade to SI-5.0, SC-AWS-2.0, Gradle-4.4.1 and some Gradle plugins
* Add `Jackson` dependency for compatibility with SF
* Implement new API of super classes
* Fix deprecations
* Fix tests for new state of classes under test
* Rename XSD to version 2.0
This commit is contained in:
Artem Bilan
2017-12-20 17:14:08 -05:00
parent 2da3d99314
commit 42a4a45de8
22 changed files with 85 additions and 49 deletions

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2016 the original author or authors.
* Copyright 2016-2017 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -19,8 +19,11 @@ package org.springframework.integration.aws.config.xml;
import static org.assertj.core.api.Assertions.assertThat;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Comparator;
import java.util.List;
import java.util.Set;
import java.util.concurrent.PriorityBlockingQueue;
import java.util.concurrent.atomic.AtomicReference;
@@ -31,9 +34,12 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.expression.Expression;
import org.springframework.integration.aws.inbound.S3InboundFileSynchronizer;
import org.springframework.integration.aws.inbound.S3InboundFileSynchronizingMessageSource;
import org.springframework.integration.aws.support.filters.S3PersistentAcceptOnceFileListFilter;
import org.springframework.integration.aws.support.filters.S3SimplePatternFileListFilter;
import org.springframework.integration.endpoint.SourcePollingChannelAdapter;
import org.springframework.integration.file.filters.AcceptAllFileListFilter;
import org.springframework.integration.file.filters.CompositeFileListFilter;
import org.springframework.integration.file.filters.FileListFilter;
import org.springframework.integration.file.remote.session.SessionFactory;
import org.springframework.integration.file.remote.synchronizer.AbstractInboundFileSynchronizer;
import org.springframework.integration.test.util.TestUtils;
@@ -67,6 +73,7 @@ public class S3InboundChannelAdapterParserTests {
private SessionFactory<?> s3SessionFactory;
@Test
@SuppressWarnings("unchecked")
public void testS3InboundChannelAdapterComplete() throws Exception {
assertThat(TestUtils.getPropertyValue(this.s3Inbound, "autoStartup", Boolean.class)).isFalse();
PriorityBlockingQueue<?> blockingQueue = TestUtils.getPropertyValue(this.s3Inbound,
@@ -90,9 +97,17 @@ public class S3InboundChannelAdapterParserTests {
assertThat(TestUtils.getPropertyValue(fisync, "temporaryFileSuffix", String.class)).isEqualTo(".foo");
String remoteFileSeparator = (String) TestUtils.getPropertyValue(fisync, "remoteFileSeparator");
assertThat(remoteFileSeparator).isEqualTo("\\");
S3SimplePatternFileListFilter filter = TestUtils.getPropertyValue(fisync, "filter",
S3SimplePatternFileListFilter.class);
CompositeFileListFilter<?> filter = TestUtils.getPropertyValue(fisync, "filter", CompositeFileListFilter.class);
assertThat(filter).isNotNull();
Set<FileListFilter<?>> fileFilters = TestUtils.getPropertyValue(filter, "fileFilters", Set.class);
assertThat(fileFilters).size().isEqualTo(2);
List<FileListFilter<?>> filters = new ArrayList<>(fileFilters);
assertThat(filters.get(0)).isInstanceOf(S3SimplePatternFileListFilter.class);
assertThat(filters.get(1)).isInstanceOf(S3PersistentAcceptOnceFileListFilter.class);
assertThat(TestUtils.getPropertyValue(fisync, "remoteFileTemplate.sessionFactory"))
.isSameAs(this.s3SessionFactory);
assertThat(TestUtils.getPropertyValue(inbound, "fileSource.scanner.filter.fileFilters", Collection.class)

View File

@@ -17,8 +17,8 @@
package org.springframework.integration.aws.config.xml;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.BDDMockito.willThrow;
import static org.mockito.Matchers.anyString;
import org.junit.Test;
import org.junit.runner.RunWith;

View File

@@ -17,8 +17,8 @@
package org.springframework.integration.aws.inbound;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.BDDMockito.given;
import static org.mockito.Matchers.any;
import static org.mockito.Mockito.atLeast;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;

View File

@@ -17,8 +17,8 @@
package org.springframework.integration.aws.inbound;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.BDDMockito.willAnswer;
import static org.mockito.Matchers.any;
import java.io.File;
import java.io.FileInputStream;
@@ -178,7 +178,8 @@ public class S3InboundChannelAdapterTests {
synchronizer.setPreserveTimestamp(true);
synchronizer.setRemoteDirectory(S3_BUCKET);
synchronizer.setFilter(new S3RegexPatternFileListFilter(".*\\.test$"));
Expression expression = PARSER.parseExpression("(#this.contains('/') ? #this.substring(#this.lastIndexOf('/') + 1) : #this).toUpperCase() + '.a'");
Expression expression =
PARSER.parseExpression("(#this.contains('/') ? #this.substring(#this.lastIndexOf('/') + 1) : #this).toUpperCase() + '.a'");
synchronizer.setLocalFilenameGeneratorExpression(expression);
return synchronizer;
}

View File

@@ -17,8 +17,8 @@
package org.springframework.integration.aws.inbound;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.BDDMockito.willAnswer;
import static org.mockito.Matchers.any;
import java.io.File;
import java.io.FileInputStream;

View File

@@ -18,9 +18,9 @@ package org.springframework.integration.aws.inbound;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.AssertionsForClassTypes.assertThatThrownBy;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.BDDMockito.given;
import static org.mockito.BDDMockito.mock;
import static org.mockito.Matchers.any;
import org.junit.Test;
import org.junit.runner.RunWith;

View File

@@ -17,9 +17,9 @@
package org.springframework.integration.aws.outbound;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.BDDMockito.given;
import static org.mockito.Matchers.any;
import static org.mockito.Matchers.eq;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;

View File

@@ -17,8 +17,8 @@
package org.springframework.integration.aws.outbound;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.BDDMockito.given;
import static org.mockito.Matchers.any;
import static org.mockito.Mockito.mock;
import java.nio.ByteBuffer;
@@ -171,9 +171,8 @@ public class KinesisProducingMessageHandlerTests {
given(mock.putRecordAsync(any(PutRecordRequest.class), any(AsyncHandler.class)))
.willAnswer(invocation -> {
PutRecordRequest request = invocation.getArgumentAt(0, PutRecordRequest.class);
AsyncHandler<PutRecordRequest, PutRecordResult> handler =
invocation.getArgumentAt(1, AsyncHandler.class);
PutRecordRequest request = invocation.getArgument(0);
AsyncHandler<PutRecordRequest, PutRecordResult> handler = invocation.getArgument(1);
PutRecordResult result = new PutRecordResult()
.withSequenceNumber(request.getSequenceNumberForOrdering())
.withShardId("shardId-1");
@@ -181,7 +180,7 @@ public class KinesisProducingMessageHandlerTests {
return mock(Future.class);
})
.willAnswer(invocation -> {
AsyncHandler<?, ?> handler = invocation.getArgumentAt(1, AsyncHandler.class);
AsyncHandler<?, ?> handler = invocation.getArgument(1);
handler.onError(new RuntimeException("putRecordRequestEx"));
return mock(Future.class);
});
@@ -189,13 +188,12 @@ public class KinesisProducingMessageHandlerTests {
given(mock.putRecordsAsync(any(PutRecordsRequest.class), any(AsyncHandler.class)))
.willAnswer(invocation -> {
AsyncHandler<PutRecordsRequest, PutRecordsResult> handler =
invocation.getArgumentAt(1, AsyncHandler.class);
AsyncHandler<PutRecordsRequest, PutRecordsResult> handler = invocation.getArgument(1);
handler.onSuccess(new PutRecordsRequest(), new PutRecordsResult());
return mock(Future.class);
})
.willAnswer(invocation -> {
AsyncHandler<?, ?> handler = invocation.getArgumentAt(1, AsyncHandler.class);
AsyncHandler<?, ?> handler = invocation.getArgument(1);
handler.onError(new RuntimeException("putRecordsRequestEx"));
return mock(Future.class);
});

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2016 the original author or authors.
* Copyright 2016-2017 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -19,9 +19,9 @@ package org.springframework.integration.aws.outbound;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatThrownBy;
import static org.assertj.core.api.Fail.fail;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.BDDMockito.given;
import static org.mockito.BDDMockito.willAnswer;
import static org.mockito.Matchers.any;
import static org.mockito.Mockito.atLeastOnce;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.spy;

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2016 the original author or authors.
* Copyright 2016-2017 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -17,8 +17,8 @@
package org.springframework.integration.aws.outbound;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.BDDMockito.willAnswer;
import static org.mockito.Matchers.any;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;

View File

@@ -16,8 +16,8 @@
package org.springframework.integration.aws.outbound;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.BDDMockito.willAnswer;
import static org.mockito.Matchers.any;
import static org.mockito.Mockito.mock;
import org.junit.runner.RunWith;

View File

@@ -16,8 +16,8 @@
package org.springframework.integration.aws.outbound;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.BDDMockito.willAnswer;
import static org.mockito.Matchers.any;
import static org.mockito.Mockito.mock;
import org.junit.runner.RunWith;