Skip to content

Spring5 #100

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 18 commits into from
Nov 26, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ target
*.iml
.idea

release.properties

# Package Files #
*.jar
*.war
Expand Down
11 changes: 6 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,10 @@ API changes will follow SEMVER and loosly the Spring Framework releases.
| ------------------------------- | ------------------------------ | ------------------------- |
| 1.0.x | >= 3.1 && < 4.2 | |
| 4.2.x | >= 4.2 && < 4.3 | Gosling-SR1 |
| 4.3.x | >= 4.3 | Gosling-SR1 |
| 4.4.x | >= 4.3 | Hopper-SR2 |
| 4.5.x | >= 4.3 | Ingalls |
| 4.3.x | >= 4.3 && < 5.0 | Gosling-SR1 |
| 4.4.x | >= 4.3 && < 5.0 | Hopper-SR2 |
| 4.5.x | >= 4.3 && < 5.0 | Ingalls |
| 5.0.x | >= 5.0 | Kay-SR1 |

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

Expand All @@ -44,7 +45,7 @@ Download the JAR though [Maven](http://mvnrepository.com/artifact/com.github.der
<dependency>
<groupId>com.github.derjust</groupId>
<artifactId>spring-data-dynamodb</artifactId>
<version>4.5.0</version>
<version>5.0.0</version>
</dependency>
```

Expand All @@ -58,7 +59,7 @@ repositories {
dependencies {
compile group: 'com.github.derjust',
name: 'spring-data-dynamodb',
version: '4.5.0'
version: '5.0.0'
}
```

Expand Down
29 changes: 21 additions & 8 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>com.github.derjust</groupId>
<artifactId>spring-data-dynamodb</artifactId>
<version>4.5.2-SNAPSHOT</version>
<version>5.0.1-SNAPSHOT</version>
<name>Spring Data DynamoDb</name>
<description>Spring Data module providing support for DynamoDb repositories.</description>
<url>http://github.com/derjust/spring-data-dynamodb</url>
Expand All @@ -16,10 +16,10 @@
</licenses>

<properties>
<spring.version>4.3.6.RELEASE</spring.version>
<spring-data.version>Ingalls-RELEASE</spring-data.version>
<spring.version>5.0.1.RELEASE</spring.version>
<spring-data.version>Kay-SR1</spring-data.version>
<hibernate-validator.version>5.2.4.Final</hibernate-validator.version>
<aws-java-sdk.version>1.11.93</aws-java-sdk.version>
<aws-java-sdk.version>1.11.232</aws-java-sdk.version>
<junit.version>4.12</junit.version>
<mockito.version>1.10.19</mockito.version>

Expand All @@ -28,8 +28,8 @@

<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>

<dependencyManagement>
Expand Down Expand Up @@ -190,10 +190,21 @@
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<version>1.6.7</version>
<extensions>true</extensions>
<configuration>
<serverId>ossrh</serverId>
<nexusUrl>https://oss.sonatype.org/</nexusUrl>
<autoReleaseAfterClose>true</autoReleaseAfterClose>
</configuration>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.7.5.201505241946</version>
<version>0.7.9</version>
<executions>
<execution>
<goals>
Expand Down Expand Up @@ -255,8 +266,9 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.5</version>
<version>2.5.3</version>
<configuration>
<tagNameFormat>v@{project.version}</tagNameFormat>
<autoVersionSubmodules>true</autoVersionSubmodules>
<useReleaseProfile>false</useReleaseProfile>
<releaseProfiles>release</releaseProfiles>
Expand Down Expand Up @@ -443,6 +455,7 @@
<developer>
<name>Sebastian Just</name>
<email>[email protected]</email>
<timezone>America/New_York</timezone>
</developer>
</developers>

Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,5 @@
package org.socialsignin.spring.data.dynamodb.core;

import java.util.List;
import java.util.Map;

import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMapperTableModel;
import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBQueryExpression;
import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBScanExpression;
Expand All @@ -11,34 +8,38 @@
import com.amazonaws.services.dynamodbv2.datamodeling.PaginatedScanList;
import com.amazonaws.services.dynamodbv2.model.QueryRequest;

import java.util.List;
import java.util.Map;

public interface DynamoDBOperations {

public <T> int count(Class<T> domainClass,DynamoDBQueryExpression<T> queryExpression);
public <T> int count(Class<T> domainClass,DynamoDBScanExpression scanExpression);
public <T> int count(Class<T> clazz, QueryRequest mutableQueryRequest);
<T> int count(Class<T> domainClass,DynamoDBQueryExpression<T> queryExpression);
<T> int count(Class<T> domainClass,DynamoDBScanExpression scanExpression);
<T> int count(Class<T> clazz, QueryRequest mutableQueryRequest);


public <T> PaginatedQueryList<T> query(Class<T> clazz, QueryRequest queryRequest);
public <T> PaginatedQueryList<T> query(Class<T> domainClass,DynamoDBQueryExpression<T> queryExpression);
public <T> PaginatedScanList<T> scan(Class<T> domainClass,DynamoDBScanExpression scanExpression);
<T> PaginatedQueryList<T> query(Class<T> clazz, QueryRequest queryRequest);
<T> PaginatedQueryList<T> query(Class<T> domainClass, DynamoDBQueryExpression<T> queryExpression);
<T> PaginatedScanList<T> scan(Class<T> domainClass, DynamoDBScanExpression scanExpression);

public <T> T load(Class<T> domainClass,Object hashKey,Object rangeKey);
public <T> T load(Class<T> domainClass,Object hashKey);
public Map<String, List<Object>> batchLoad(Map<Class<?>, List<KeyPair>> itemsToGet);
<T> T load(Class<T> domainClass,Object hashKey, Object rangeKey);
<T> T load(Class<T> domainClass,Object hashKey);
Map<String, List<Object>> batchLoad(Map<Class<?>, List<KeyPair>> itemsToGet);

public void save(Object entity);
public void batchSave(List<?> entities);
public void batchSave(Iterable<?> entities);
void save(Object entity);
void batchSave(List<?> entities);
void batchSave(Iterable<?> entities);

public void delete(Object entity);
public void batchDelete(List<?> entities);
public void batchDelete(Iterable<?> entities);
void delete(Object entity);
void batchDelete(List<?> entities);
void batchDelete(Iterable<?> entities);

public <T> String getOverriddenTableName(Class<T> domainClass, String tableName);
<T> String getOverriddenTableName(Class<T> domainClass, String tableName);

/**
* Provides access to the DynamoDB mapper table model of the underlying domain type.
*
* @param <T> The type of the domain type itself
* @param domainClass A domain type
* @return Corresponding DynamoDB table model
*/
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,17 @@
package org.socialsignin.spring.data.dynamodb.core;

import java.util.Iterator;
import java.util.List;
import java.util.Map;

import com.amazonaws.services.dynamodbv2.AmazonDynamoDB;
import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMapper;
import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMapperConfig;
import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMapperTableModel;
import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBQueryExpression;
import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBScanExpression;
import com.amazonaws.services.dynamodbv2.datamodeling.KeyPair;
import com.amazonaws.services.dynamodbv2.datamodeling.PaginatedQueryList;
import com.amazonaws.services.dynamodbv2.datamodeling.PaginatedScanList;
import com.amazonaws.services.dynamodbv2.model.QueryRequest;
import com.amazonaws.services.dynamodbv2.model.QueryResult;
import com.amazonaws.services.dynamodbv2.model.Select;
import org.socialsignin.spring.data.dynamodb.mapping.event.AfterDeleteEvent;
import org.socialsignin.spring.data.dynamodb.mapping.event.AfterLoadEvent;
import org.socialsignin.spring.data.dynamodb.mapping.event.AfterQueryEvent;
Expand All @@ -17,20 +25,11 @@
import org.springframework.context.ApplicationContextAware;
import org.springframework.context.ApplicationEventPublisher;

import com.amazonaws.services.dynamodbv2.AmazonDynamoDB;
import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMapper;
import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMapperConfig;
import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMapperTableModel;
import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBQueryExpression;
import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBScanExpression;
import com.amazonaws.services.dynamodbv2.datamodeling.KeyPair;
import com.amazonaws.services.dynamodbv2.datamodeling.PaginatedQueryList;
import com.amazonaws.services.dynamodbv2.datamodeling.PaginatedScanList;
import com.amazonaws.services.dynamodbv2.model.QueryRequest;
import com.amazonaws.services.dynamodbv2.model.QueryResult;
import com.amazonaws.services.dynamodbv2.model.Select;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

public class DynamoDBTemplate implements DynamoDBOperations,ApplicationContextAware {
public class DynamoDBTemplate implements DynamoDBOperations, ApplicationContextAware {

private final DynamoDBMapper dynamoDBMapper;
private final AmazonDynamoDB amazonDynamoDB;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,12 @@
*/
package org.socialsignin.spring.data.dynamodb.mapping;

import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMarshaller;

import java.text.DateFormat;
import java.text.ParseException;
import java.util.Date;

import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMarshaller;

/**
* @author Michael Lavelle
* @deprecated According to {@code com.amazonaws.services.dynamodbv2.datamodeling.marshallers.CustomMarshaller.marshall(Object)}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,17 +15,16 @@
*/
package org.socialsignin.spring.data.dynamodb.mapping;

import java.beans.PropertyDescriptor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;

import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBHashKey;
import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBRangeKey;
import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBTable;
import org.springframework.data.mapping.context.AbstractMappingContext;
import org.springframework.data.mapping.model.Property;
import org.springframework.data.mapping.model.SimpleTypeHolder;
import org.springframework.data.util.TypeInformation;

import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBHashKey;
import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBRangeKey;
import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBTable;
import java.lang.reflect.Field;
import java.lang.reflect.Method;

/**
* Default implementation of a {@link org.springframework.data.mapping.context.MappingContext} for DynamoDB using
Expand Down Expand Up @@ -57,11 +56,11 @@ protected <T> DynamoDBPersistentEntityImpl<?> createPersistentEntity(TypeInforma
* org.springframework.data.mapping.MutablePersistentEntity,
* org.springframework.data.mapping.SimpleTypeHolder)
*/
@Override
protected DynamoDBPersistentProperty createPersistentProperty(Field field, PropertyDescriptor descriptor,
DynamoDBPersistentEntityImpl<?> owner, SimpleTypeHolder simpleTypeHolder) {
return new DynamoDBPersistentPropertyImpl(field, descriptor, owner, simpleTypeHolder);

@Override
protected DynamoDBPersistentProperty createPersistentProperty(Property property,
DynamoDBPersistentEntityImpl<?> owner, SimpleTypeHolder simpleTypeHolder) {
return new DynamoDBPersistentPropertyImpl(property, owner, simpleTypeHolder);
}

/*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,12 @@
*/
package org.socialsignin.spring.data.dynamodb.mapping;

import java.util.Comparator;

import org.springframework.data.mapping.MappingException;
import org.springframework.data.mapping.model.BasicPersistentEntity;
import org.springframework.data.mapping.model.MappingException;
import org.springframework.data.util.TypeInformation;

import java.util.Comparator;

/**
* DynamoDB specific {@link DynamoDBPersistentEntity} implementation
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,25 +15,22 @@
*/
package org.socialsignin.spring.data.dynamodb.mapping;

import java.beans.PropertyDescriptor;
import java.lang.annotation.Annotation;
import java.lang.reflect.Field;
import java.util.Collection;
import java.util.Collections;
import java.util.HashSet;
import java.util.Set;

import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBHashKey;
import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBIgnore;
import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBVersionAttribute;
import org.springframework.data.annotation.Id;
import org.springframework.data.annotation.Reference;
import org.springframework.data.annotation.Transient;
import org.springframework.data.mapping.Association;
import org.springframework.data.mapping.PersistentEntity;
import org.springframework.data.mapping.model.AnnotationBasedPersistentProperty;
import org.springframework.data.mapping.model.Property;
import org.springframework.data.mapping.model.SimpleTypeHolder;

import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBHashKey;
import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBIgnore;
import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBVersionAttribute;
import java.lang.annotation.Annotation;
import java.util.Collection;
import java.util.Collections;
import java.util.HashSet;
import java.util.Set;

/**
* {@link DynamoDBPersistentProperty} implementation
Expand Down Expand Up @@ -62,22 +59,17 @@ class DynamoDBPersistentPropertyImpl extends AnnotationBasedPersistentProperty<D
/**
* Creates a new {@link DynamoDBPersistentPropertyImpl}
*
* @param field
* @param property
* must not be {@literal null}.
* @param propertyDescriptor
* can be {@literal null}.
* @param owner
* must not be {@literal null}.
* @param simpleTypeHolder
* must not be {@literal null}.
*/
public DynamoDBPersistentPropertyImpl(Field field, PropertyDescriptor propertyDescriptor,
PersistentEntity<?, DynamoDBPersistentProperty> owner, SimpleTypeHolder simpleTypeHolder) {

super(field, propertyDescriptor, owner, simpleTypeHolder);
public DynamoDBPersistentPropertyImpl(Property property, DynamoDBPersistentEntityImpl<?> owner, SimpleTypeHolder simpleTypeHolder) {
super(property, owner, simpleTypeHolder);
}



@Override
public boolean isWritable() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,18 +15,17 @@
* limitations under the License.
*/

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.util.Assert;

import javax.validation.ConstraintViolation;
import javax.validation.ConstraintViolationException;
import javax.validation.Validator;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.util.Assert;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;


/**
Expand Down
Loading