Skip to content

Commit 0de29eb

Browse files
authored
Merge pull request #100 from derjust/Spring5
Spring5
2 parents 16aa4b6 + c0945bd commit 0de29eb

File tree

94 files changed

+582
-661
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

94 files changed

+582
-661
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ target
44
*.iml
55
.idea
66

7+
release.properties
8+
79
# Package Files #
810
*.jar
911
*.war

README.md

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,10 @@ API changes will follow SEMVER and loosly the Spring Framework releases.
2727
| ------------------------------- | ------------------------------ | ------------------------- |
2828
| 1.0.x | >= 3.1 && < 4.2 | |
2929
| 4.2.x | >= 4.2 && < 4.3 | Gosling-SR1 |
30-
| 4.3.x | >= 4.3 | Gosling-SR1 |
31-
| 4.4.x | >= 4.3 | Hopper-SR2 |
32-
| 4.5.x | >= 4.3 | Ingalls |
30+
| 4.3.x | >= 4.3 && < 5.0 | Gosling-SR1 |
31+
| 4.4.x | >= 4.3 && < 5.0 | Hopper-SR2 |
32+
| 4.5.x | >= 4.3 && < 5.0 | Ingalls |
33+
| 5.0.x | >= 5.0 | Kay-SR1 |
3334

3435
`spring-data-dynamodb` depends directly on `spring-data` as also `spring-context`, `spring-data` and `spring-tx`.
3536

@@ -44,7 +45,7 @@ Download the JAR though [Maven](http://mvnrepository.com/artifact/com.github.der
4445
<dependency>
4546
<groupId>com.github.derjust</groupId>
4647
<artifactId>spring-data-dynamodb</artifactId>
47-
<version>4.5.0</version>
48+
<version>5.0.0</version>
4849
</dependency>
4950
```
5051

@@ -58,7 +59,7 @@ repositories {
5859
dependencies {
5960
compile group: 'com.github.derjust',
6061
name: 'spring-data-dynamodb',
61-
version: '4.5.0'
62+
version: '5.0.0'
6263
}
6364
```
6465

pom.xml

Lines changed: 21 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<modelVersion>4.0.0</modelVersion>
44
<groupId>com.github.derjust</groupId>
55
<artifactId>spring-data-dynamodb</artifactId>
6-
<version>4.5.2-SNAPSHOT</version>
6+
<version>5.0.1-SNAPSHOT</version>
77
<name>Spring Data DynamoDb</name>
88
<description>Spring Data module providing support for DynamoDb repositories.</description>
99
<url>http://github.com/derjust/spring-data-dynamodb</url>
@@ -16,10 +16,10 @@
1616
</licenses>
1717

1818
<properties>
19-
<spring.version>4.3.6.RELEASE</spring.version>
20-
<spring-data.version>Ingalls-RELEASE</spring-data.version>
19+
<spring.version>5.0.1.RELEASE</spring.version>
20+
<spring-data.version>Kay-SR1</spring-data.version>
2121
<hibernate-validator.version>5.2.4.Final</hibernate-validator.version>
22-
<aws-java-sdk.version>1.11.93</aws-java-sdk.version>
22+
<aws-java-sdk.version>1.11.232</aws-java-sdk.version>
2323
<junit.version>4.12</junit.version>
2424
<mockito.version>1.10.19</mockito.version>
2525

@@ -28,8 +28,8 @@
2828

2929
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
3030
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
31-
<maven.compiler.source>1.7</maven.compiler.source>
32-
<maven.compiler.target>1.7</maven.compiler.target>
31+
<maven.compiler.source>1.8</maven.compiler.source>
32+
<maven.compiler.target>1.8</maven.compiler.target>
3333
</properties>
3434

3535
<dependencyManagement>
@@ -190,10 +190,21 @@
190190
</plugins>
191191
</pluginManagement>
192192
<plugins>
193+
<plugin>
194+
<groupId>org.sonatype.plugins</groupId>
195+
<artifactId>nexus-staging-maven-plugin</artifactId>
196+
<version>1.6.7</version>
197+
<extensions>true</extensions>
198+
<configuration>
199+
<serverId>ossrh</serverId>
200+
<nexusUrl>https://oss.sonatype.org/</nexusUrl>
201+
<autoReleaseAfterClose>true</autoReleaseAfterClose>
202+
</configuration>
203+
</plugin>
193204
<plugin>
194205
<groupId>org.jacoco</groupId>
195206
<artifactId>jacoco-maven-plugin</artifactId>
196-
<version>0.7.5.201505241946</version>
207+
<version>0.7.9</version>
197208
<executions>
198209
<execution>
199210
<goals>
@@ -255,8 +266,9 @@
255266
<plugin>
256267
<groupId>org.apache.maven.plugins</groupId>
257268
<artifactId>maven-release-plugin</artifactId>
258-
<version>2.5</version>
269+
<version>2.5.3</version>
259270
<configuration>
271+
<tagNameFormat>v@{project.version}</tagNameFormat>
260272
<autoVersionSubmodules>true</autoVersionSubmodules>
261273
<useReleaseProfile>false</useReleaseProfile>
262274
<releaseProfiles>release</releaseProfiles>
@@ -443,6 +455,7 @@
443455
<developer>
444456
<name>Sebastian Just</name>
445457
<email>[email protected]</email>
458+
<timezone>America/New_York</timezone>
446459
</developer>
447460
</developers>
448461

src/main/java/org/socialsignin/spring/data/dynamodb/core/DynamoDBOperations.java

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
package org.socialsignin.spring.data.dynamodb.core;
22

3-
import java.util.List;
4-
import java.util.Map;
5-
63
import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMapperTableModel;
74
import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBQueryExpression;
85
import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBScanExpression;
@@ -11,34 +8,38 @@
118
import com.amazonaws.services.dynamodbv2.datamodeling.PaginatedScanList;
129
import com.amazonaws.services.dynamodbv2.model.QueryRequest;
1310

11+
import java.util.List;
12+
import java.util.Map;
13+
1414
public interface DynamoDBOperations {
1515

16-
public <T> int count(Class<T> domainClass,DynamoDBQueryExpression<T> queryExpression);
17-
public <T> int count(Class<T> domainClass,DynamoDBScanExpression scanExpression);
18-
public <T> int count(Class<T> clazz, QueryRequest mutableQueryRequest);
16+
<T> int count(Class<T> domainClass,DynamoDBQueryExpression<T> queryExpression);
17+
<T> int count(Class<T> domainClass,DynamoDBScanExpression scanExpression);
18+
<T> int count(Class<T> clazz, QueryRequest mutableQueryRequest);
1919

2020

21-
public <T> PaginatedQueryList<T> query(Class<T> clazz, QueryRequest queryRequest);
22-
public <T> PaginatedQueryList<T> query(Class<T> domainClass,DynamoDBQueryExpression<T> queryExpression);
23-
public <T> PaginatedScanList<T> scan(Class<T> domainClass,DynamoDBScanExpression scanExpression);
21+
<T> PaginatedQueryList<T> query(Class<T> clazz, QueryRequest queryRequest);
22+
<T> PaginatedQueryList<T> query(Class<T> domainClass, DynamoDBQueryExpression<T> queryExpression);
23+
<T> PaginatedScanList<T> scan(Class<T> domainClass, DynamoDBScanExpression scanExpression);
2424

25-
public <T> T load(Class<T> domainClass,Object hashKey,Object rangeKey);
26-
public <T> T load(Class<T> domainClass,Object hashKey);
27-
public Map<String, List<Object>> batchLoad(Map<Class<?>, List<KeyPair>> itemsToGet);
25+
<T> T load(Class<T> domainClass,Object hashKey, Object rangeKey);
26+
<T> T load(Class<T> domainClass,Object hashKey);
27+
Map<String, List<Object>> batchLoad(Map<Class<?>, List<KeyPair>> itemsToGet);
2828

29-
public void save(Object entity);
30-
public void batchSave(List<?> entities);
31-
public void batchSave(Iterable<?> entities);
29+
void save(Object entity);
30+
void batchSave(List<?> entities);
31+
void batchSave(Iterable<?> entities);
3232

33-
public void delete(Object entity);
34-
public void batchDelete(List<?> entities);
35-
public void batchDelete(Iterable<?> entities);
33+
void delete(Object entity);
34+
void batchDelete(List<?> entities);
35+
void batchDelete(Iterable<?> entities);
3636

37-
public <T> String getOverriddenTableName(Class<T> domainClass, String tableName);
37+
<T> String getOverriddenTableName(Class<T> domainClass, String tableName);
3838

3939
/**
4040
* Provides access to the DynamoDB mapper table model of the underlying domain type.
4141
*
42+
* @param <T> The type of the domain type itself
4243
* @param domainClass A domain type
4344
* @return Corresponding DynamoDB table model
4445
*/

src/main/java/org/socialsignin/spring/data/dynamodb/core/DynamoDBTemplate.java

Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,17 @@
11
package org.socialsignin.spring.data.dynamodb.core;
22

3-
import java.util.Iterator;
4-
import java.util.List;
5-
import java.util.Map;
6-
3+
import com.amazonaws.services.dynamodbv2.AmazonDynamoDB;
4+
import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMapper;
5+
import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMapperConfig;
6+
import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMapperTableModel;
7+
import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBQueryExpression;
8+
import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBScanExpression;
9+
import com.amazonaws.services.dynamodbv2.datamodeling.KeyPair;
10+
import com.amazonaws.services.dynamodbv2.datamodeling.PaginatedQueryList;
11+
import com.amazonaws.services.dynamodbv2.datamodeling.PaginatedScanList;
12+
import com.amazonaws.services.dynamodbv2.model.QueryRequest;
13+
import com.amazonaws.services.dynamodbv2.model.QueryResult;
14+
import com.amazonaws.services.dynamodbv2.model.Select;
715
import org.socialsignin.spring.data.dynamodb.mapping.event.AfterDeleteEvent;
816
import org.socialsignin.spring.data.dynamodb.mapping.event.AfterLoadEvent;
917
import org.socialsignin.spring.data.dynamodb.mapping.event.AfterQueryEvent;
@@ -17,20 +25,11 @@
1725
import org.springframework.context.ApplicationContextAware;
1826
import org.springframework.context.ApplicationEventPublisher;
1927

20-
import com.amazonaws.services.dynamodbv2.AmazonDynamoDB;
21-
import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMapper;
22-
import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMapperConfig;
23-
import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMapperTableModel;
24-
import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBQueryExpression;
25-
import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBScanExpression;
26-
import com.amazonaws.services.dynamodbv2.datamodeling.KeyPair;
27-
import com.amazonaws.services.dynamodbv2.datamodeling.PaginatedQueryList;
28-
import com.amazonaws.services.dynamodbv2.datamodeling.PaginatedScanList;
29-
import com.amazonaws.services.dynamodbv2.model.QueryRequest;
30-
import com.amazonaws.services.dynamodbv2.model.QueryResult;
31-
import com.amazonaws.services.dynamodbv2.model.Select;
28+
import java.util.Iterator;
29+
import java.util.List;
30+
import java.util.Map;
3231

33-
public class DynamoDBTemplate implements DynamoDBOperations,ApplicationContextAware {
32+
public class DynamoDBTemplate implements DynamoDBOperations, ApplicationContextAware {
3433

3534
private final DynamoDBMapper dynamoDBMapper;
3635
private final AmazonDynamoDB amazonDynamoDB;

src/main/java/org/socialsignin/spring/data/dynamodb/mapping/AbstractDynamoDBDateMarshaller.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,12 @@
1515
*/
1616
package org.socialsignin.spring.data.dynamodb.mapping;
1717

18+
import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMarshaller;
19+
1820
import java.text.DateFormat;
1921
import java.text.ParseException;
2022
import java.util.Date;
2123

22-
import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMarshaller;
23-
2424
/**
2525
* @author Michael Lavelle
2626
* @deprecated According to {@code com.amazonaws.services.dynamodbv2.datamodeling.marshallers.CustomMarshaller.marshall(Object)}

src/main/java/org/socialsignin/spring/data/dynamodb/mapping/DynamoDBMappingContext.java

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,17 +15,16 @@
1515
*/
1616
package org.socialsignin.spring.data.dynamodb.mapping;
1717

18-
import java.beans.PropertyDescriptor;
19-
import java.lang.reflect.Field;
20-
import java.lang.reflect.Method;
21-
18+
import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBHashKey;
19+
import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBRangeKey;
20+
import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBTable;
2221
import org.springframework.data.mapping.context.AbstractMappingContext;
22+
import org.springframework.data.mapping.model.Property;
2323
import org.springframework.data.mapping.model.SimpleTypeHolder;
2424
import org.springframework.data.util.TypeInformation;
2525

26-
import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBHashKey;
27-
import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBRangeKey;
28-
import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBTable;
26+
import java.lang.reflect.Field;
27+
import java.lang.reflect.Method;
2928

3029
/**
3130
* Default implementation of a {@link org.springframework.data.mapping.context.MappingContext} for DynamoDB using
@@ -57,11 +56,11 @@ protected <T> DynamoDBPersistentEntityImpl<?> createPersistentEntity(TypeInforma
5756
* org.springframework.data.mapping.MutablePersistentEntity,
5857
* org.springframework.data.mapping.SimpleTypeHolder)
5958
*/
60-
@Override
61-
protected DynamoDBPersistentProperty createPersistentProperty(Field field, PropertyDescriptor descriptor,
62-
DynamoDBPersistentEntityImpl<?> owner, SimpleTypeHolder simpleTypeHolder) {
63-
return new DynamoDBPersistentPropertyImpl(field, descriptor, owner, simpleTypeHolder);
6459

60+
@Override
61+
protected DynamoDBPersistentProperty createPersistentProperty(Property property,
62+
DynamoDBPersistentEntityImpl<?> owner, SimpleTypeHolder simpleTypeHolder) {
63+
return new DynamoDBPersistentPropertyImpl(property, owner, simpleTypeHolder);
6564
}
6665

6766
/*

src/main/java/org/socialsignin/spring/data/dynamodb/mapping/DynamoDBPersistentEntityImpl.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,12 @@
1515
*/
1616
package org.socialsignin.spring.data.dynamodb.mapping;
1717

18-
import java.util.Comparator;
19-
18+
import org.springframework.data.mapping.MappingException;
2019
import org.springframework.data.mapping.model.BasicPersistentEntity;
21-
import org.springframework.data.mapping.model.MappingException;
2220
import org.springframework.data.util.TypeInformation;
2321

22+
import java.util.Comparator;
23+
2424
/**
2525
* DynamoDB specific {@link DynamoDBPersistentEntity} implementation
2626
*

src/main/java/org/socialsignin/spring/data/dynamodb/mapping/DynamoDBPersistentPropertyImpl.java

Lines changed: 12 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -15,25 +15,22 @@
1515
*/
1616
package org.socialsignin.spring.data.dynamodb.mapping;
1717

18-
import java.beans.PropertyDescriptor;
19-
import java.lang.annotation.Annotation;
20-
import java.lang.reflect.Field;
21-
import java.util.Collection;
22-
import java.util.Collections;
23-
import java.util.HashSet;
24-
import java.util.Set;
25-
18+
import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBHashKey;
19+
import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBIgnore;
20+
import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBVersionAttribute;
2621
import org.springframework.data.annotation.Id;
2722
import org.springframework.data.annotation.Reference;
2823
import org.springframework.data.annotation.Transient;
2924
import org.springframework.data.mapping.Association;
30-
import org.springframework.data.mapping.PersistentEntity;
3125
import org.springframework.data.mapping.model.AnnotationBasedPersistentProperty;
26+
import org.springframework.data.mapping.model.Property;
3227
import org.springframework.data.mapping.model.SimpleTypeHolder;
3328

34-
import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBHashKey;
35-
import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBIgnore;
36-
import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBVersionAttribute;
29+
import java.lang.annotation.Annotation;
30+
import java.util.Collection;
31+
import java.util.Collections;
32+
import java.util.HashSet;
33+
import java.util.Set;
3734

3835
/**
3936
* {@link DynamoDBPersistentProperty} implementation
@@ -62,22 +59,17 @@ class DynamoDBPersistentPropertyImpl extends AnnotationBasedPersistentProperty<D
6259
/**
6360
* Creates a new {@link DynamoDBPersistentPropertyImpl}
6461
*
65-
* @param field
62+
* @param property
6663
* must not be {@literal null}.
67-
* @param propertyDescriptor
68-
* can be {@literal null}.
6964
* @param owner
7065
* must not be {@literal null}.
7166
* @param simpleTypeHolder
7267
* must not be {@literal null}.
7368
*/
74-
public DynamoDBPersistentPropertyImpl(Field field, PropertyDescriptor propertyDescriptor,
75-
PersistentEntity<?, DynamoDBPersistentProperty> owner, SimpleTypeHolder simpleTypeHolder) {
7669

77-
super(field, propertyDescriptor, owner, simpleTypeHolder);
70+
public DynamoDBPersistentPropertyImpl(Property property, DynamoDBPersistentEntityImpl<?> owner, SimpleTypeHolder simpleTypeHolder) {
71+
super(property, owner, simpleTypeHolder);
7872
}
79-
80-
8173

8274
@Override
8375
public boolean isWritable() {

src/main/java/org/socialsignin/spring/data/dynamodb/mapping/event/ValidatingDynamoDBEventListener.java

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,18 +15,17 @@
1515
* limitations under the License.
1616
*/
1717

18-
import java.util.ArrayList;
19-
import java.util.HashSet;
20-
import java.util.List;
21-
import java.util.Set;
18+
import org.slf4j.Logger;
19+
import org.slf4j.LoggerFactory;
20+
import org.springframework.util.Assert;
2221

2322
import javax.validation.ConstraintViolation;
2423
import javax.validation.ConstraintViolationException;
2524
import javax.validation.Validator;
26-
27-
import org.slf4j.Logger;
28-
import org.slf4j.LoggerFactory;
29-
import org.springframework.util.Assert;
25+
import java.util.ArrayList;
26+
import java.util.HashSet;
27+
import java.util.List;
28+
import java.util.Set;
3029

3130

3231
/**

0 commit comments

Comments
 (0)