findByAddress_City(String city);
}
```
diff --git a/redis/repository/pom.xml b/redis/repositories/pom.xml
similarity index 66%
rename from redis/repository/pom.xml
rename to redis/repositories/pom.xml
index 25976e00..60c396fe 100644
--- a/redis/repository/pom.xml
+++ b/redis/repositories/pom.xml
@@ -2,7 +2,7 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
- spring-data-redis-repository-example
+ spring-data-redis-repositories-example
Spring Data Redis - Repository Support Example
@@ -12,39 +12,31 @@
../pom.xml
+
+ Hopper-RC1
+
+
org.springframework.boot
spring-boot-starter-data-redis
+
${project.groupId}
spring-data-redis-example-utils
${project.version}
test
+
com.github.kstyrc
embedded-redis
0.6
test
-
- org.springframework.data
- spring-data-redis
- 1.7.0.RC1
-
-
- org.springframework.data
- spring-data-keyvalue
- 1.1.0.RC1
-
-
- org.springframework.data
- spring-data-commons
- 1.12.0.RC1
-
+
\ No newline at end of file
diff --git a/redis/repository/src/main/java/example/springdata/redis/repositories/Address.java b/redis/repositories/src/main/java/example/springdata/redis/repositories/Address.java
similarity index 94%
rename from redis/repository/src/main/java/example/springdata/redis/repositories/Address.java
rename to redis/repositories/src/main/java/example/springdata/redis/repositories/Address.java
index 0081e898..c73428fa 100644
--- a/redis/repository/src/main/java/example/springdata/redis/repositories/Address.java
+++ b/redis/repositories/src/main/java/example/springdata/redis/repositories/Address.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package example.springdata.redis.domain;
+package example.springdata.redis.repositories;
import lombok.Data;
import lombok.EqualsAndHashCode;
diff --git a/redis/repository/src/main/java/example/springdata/redis/repositories/ApplicationConfiguration.java b/redis/repositories/src/main/java/example/springdata/redis/repositories/ApplicationConfiguration.java
similarity index 87%
rename from redis/repository/src/main/java/example/springdata/redis/repositories/ApplicationConfiguration.java
rename to redis/repositories/src/main/java/example/springdata/redis/repositories/ApplicationConfiguration.java
index 27481177..53054e8b 100644
--- a/redis/repository/src/main/java/example/springdata/redis/repositories/ApplicationConfiguration.java
+++ b/redis/repositories/src/main/java/example/springdata/redis/repositories/ApplicationConfiguration.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package example.springdata.redis;
+package example.springdata.redis.repositories;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@@ -27,22 +27,13 @@ import org.springframework.data.redis.repository.configuration.EnableRedisReposi
*/
@Configuration
@EnableRedisRepositories
-public class AppConfig {
+public class ApplicationConfiguration {
- /**
- * {@link RedisConnectionFactory} to be used when connecting to redis.
- *
- * @return
- */
@Bean
RedisConnectionFactory connectionFactory() {
return new JedisConnectionFactory();
}
- /**
- * @param connectionFactory
- * @return
- */
@Bean
RedisTemplate, ?> redisTemplate(RedisConnectionFactory connectionFactory) {
@@ -51,5 +42,4 @@ public class AppConfig {
return template;
}
-
}
diff --git a/redis/repository/src/main/java/example/springdata/redis/repositories/Gender.java b/redis/repositories/src/main/java/example/springdata/redis/repositories/Gender.java
similarity index 93%
rename from redis/repository/src/main/java/example/springdata/redis/repositories/Gender.java
rename to redis/repositories/src/main/java/example/springdata/redis/repositories/Gender.java
index 7686d31a..5c777886 100644
--- a/redis/repository/src/main/java/example/springdata/redis/repositories/Gender.java
+++ b/redis/repositories/src/main/java/example/springdata/redis/repositories/Gender.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package example.springdata.redis.domain;
+package example.springdata.redis.repositories;
/**
* @author Christoph Strobl
diff --git a/redis/repository/src/main/java/example/springdata/redis/repositories/Person.java b/redis/repositories/src/main/java/example/springdata/redis/repositories/Person.java
similarity index 95%
rename from redis/repository/src/main/java/example/springdata/redis/repositories/Person.java
rename to redis/repositories/src/main/java/example/springdata/redis/repositories/Person.java
index 256e99da..fef88727 100644
--- a/redis/repository/src/main/java/example/springdata/redis/repositories/Person.java
+++ b/redis/repositories/src/main/java/example/springdata/redis/repositories/Person.java
@@ -13,13 +13,14 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package example.springdata.redis.domain;
-
-import java.lang.reflect.Field;
-import java.util.List;
+package example.springdata.redis.repositories;
import lombok.Data;
import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+import java.lang.reflect.Field;
+import java.util.List;
import org.springframework.data.annotation.Id;
import org.springframework.data.annotation.Reference;
@@ -54,10 +55,12 @@ import org.springframework.data.redis.core.index.Indexed;
@Data
@EqualsAndHashCode(exclude = { "children" })
@RedisHash("persons")
+@NoArgsConstructor
class Person {
/**
- * The {@literal id} and {@link RedisHash#toString()} build up the {@literal key} for the Redis {@literal HASH}.
+ * The {@literal id} and {@link RedisHash#toString()} build up the {@literal key} for the Redis {@literal HASH}.
+ *
*
*
*
@@ -106,12 +109,10 @@ class Person {
*/
private @Reference List children;
- public Person() {}
-
public Person(String firstname, String lastname, Gender gender) {
+
this.firstname = firstname;
this.lastname = lastname;
this.gender = gender;
}
-
}
diff --git a/redis/repository/src/main/java/example/springdata/redis/repositories/PersonRepository.java b/redis/repositories/src/main/java/example/springdata/redis/repositories/PersonRepository.java
similarity index 96%
rename from redis/repository/src/main/java/example/springdata/redis/repositories/PersonRepository.java
rename to redis/repositories/src/main/java/example/springdata/redis/repositories/PersonRepository.java
index a9c4c128..d2059202 100644
--- a/redis/repository/src/main/java/example/springdata/redis/repositories/PersonRepository.java
+++ b/redis/repositories/src/main/java/example/springdata/redis/repositories/PersonRepository.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package example.springdata.redis.domain;
+package example.springdata.redis.repositories;
import java.util.List;
@@ -35,5 +35,4 @@ interface PersonRepository extends CrudRepository {
List findByFirstnameOrLastname(String firstname, String lastname);
List findByAddress_City(String city);
-
}
diff --git a/redis/repository/src/test/java/example/springdata/redis/repositories/PersonRepositoryTests.java b/redis/repositories/src/test/java/example/springdata/redis/repositories/PersonRepositoryTests.java
similarity index 78%
rename from redis/repository/src/test/java/example/springdata/redis/repositories/PersonRepositoryTests.java
rename to redis/repositories/src/test/java/example/springdata/redis/repositories/PersonRepositoryTests.java
index 23bc6884..d72d6153 100644
--- a/redis/repository/src/test/java/example/springdata/redis/repositories/PersonRepositoryTests.java
+++ b/redis/repositories/src/test/java/example/springdata/redis/repositories/PersonRepositoryTests.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package example.springdata.redis.domain;
+package example.springdata.redis.repositories;
import static org.hamcrest.collection.IsIterableContainingInAnyOrder.*;
import static org.hamcrest.core.Is.*;
@@ -21,6 +21,9 @@ import static org.hamcrest.core.IsCollectionContaining.*;
import static org.hamcrest.core.IsNot.*;
import static org.junit.Assert.*;
+import example.springdata.redis.test.util.EmbeddedRedisServer;
+import example.springdata.redis.test.util.RequiresRedisServer;
+
import java.nio.charset.Charset;
import java.util.Arrays;
import java.util.List;
@@ -41,15 +44,12 @@ import org.springframework.data.redis.core.RedisOperations;
import org.springframework.data.redis.core.index.Indexed;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
-import example.springdata.redis.AppConfig;
-import example.springdata.redis.test.util.EmbeddedRedisServer;
-import example.springdata.redis.test.util.RequiresRedisServer;
-
/**
* @author Christoph Strobl
+ * @author Oliver Gierke
*/
@RunWith(SpringJUnit4ClassRunner.class)
-@SpringApplicationConfiguration(classes = AppConfig.class)
+@SpringApplicationConfiguration(classes = ApplicationConfiguration.class)
public class PersonRepositoryTests {
/**
@@ -57,14 +57,14 @@ public class PersonRepositoryTests {
* 1) Start/Stop an embedded instance or reuse an already running local installation
* 2) Ignore tests if startup failed and no server running locally.
*/
- public static @ClassRule RuleChain rules = RuleChain.outerRule(
- EmbeddedRedisServer.runningAt(6379).suppressExceptions()).around(RequiresRedisServer.onLocalhost());
+ public static @ClassRule RuleChain rules = RuleChain
+ .outerRule(EmbeddedRedisServer.runningAt(6379).suppressExceptions()).around(RequiresRedisServer.onLocalhost());
/** {@link Charset} for String conversion **/
private static final Charset CHARSET = Charset.forName("UTF-8");
- @Autowired RedisOperations ops;
- @Autowired PersonRepository repo;
+ @Autowired RedisOperations operations;
+ @Autowired PersonRepository repository;
/*
* Set of test users
@@ -81,7 +81,7 @@ public class PersonRepositoryTests {
@After
public void setUp() {
- ops.execute((RedisConnection connection) -> {
+ operations.execute((RedisConnection connection) -> {
connection.flushDb();
return "OK";
});
@@ -94,10 +94,11 @@ public class PersonRepositoryTests {
@Test
public void saveSingleEntity() {
- repo.save(eddard);
+ repository.save(eddard);
- assertThat(ops.execute((RedisConnection connection) -> connection.exists(new String("persons:" + eddard.getId())
- .getBytes(CHARSET))), is(true));
+ assertThat(operations.execute(
+ (RedisConnection connection) -> connection.exists(new String("persons:" + eddard.getId()).getBytes(CHARSET))),
+ is(true));
}
/**
@@ -108,7 +109,7 @@ public class PersonRepositoryTests {
flushTestUsers();
- List starks = repo.findByLastname(eddard.getLastname());
+ List starks = repository.findByLastname(eddard.getLastname());
assertThat(starks, containsInAnyOrder(eddard, robb, sansa, arya, bran, rickon));
assertThat(starks, not(hasItem(jon)));
@@ -122,7 +123,7 @@ public class PersonRepositoryTests {
flushTestUsers();
- List aryaStark = repo.findByFirstnameAndLastname(arya.getFirstname(), arya.getLastname());
+ List aryaStark = repository.findByFirstnameAndLastname(arya.getFirstname(), arya.getLastname());
assertThat(aryaStark, hasItem(arya));
assertThat(aryaStark, not(hasItems(eddard, robb, sansa, bran, rickon, jon)));
@@ -136,7 +137,7 @@ public class PersonRepositoryTests {
flushTestUsers();
- List aryaAndJon = repo.findByFirstnameOrLastname(arya.getFirstname(), jon.getLastname());
+ List aryaAndJon = repository.findByFirstnameOrLastname(arya.getFirstname(), jon.getLastname());
assertThat(aryaAndJon, containsInAnyOrder(arya, jon));
assertThat(aryaAndJon, not(hasItems(eddard, robb, sansa, bran, rickon)));
@@ -150,12 +151,12 @@ public class PersonRepositoryTests {
flushTestUsers();
- Page page1 = repo.findPersonByLastname(eddard.getLastname(), new PageRequest(0, 5));
+ Page page1 = repository.findPersonByLastname(eddard.getLastname(), new PageRequest(0, 5));
assertThat(page1.getNumberOfElements(), is(5));
assertThat(page1.getTotalElements(), is(6L));
- Page page2 = repo.findPersonByLastname(eddard.getLastname(), new PageRequest(1, 5));
+ Page page2 = repository.findPersonByLastname(eddard.getLastname(), new PageRequest(1, 5));
assertThat(page2.getNumberOfElements(), is(1));
assertThat(page2.getTotalElements(), is(6L));
@@ -175,7 +176,7 @@ public class PersonRepositoryTests {
flushTestUsers();
- List eddardStark = repo.findByAddress_City(winterfell.getCity());
+ List eddardStark = repository.findByAddress_City(winterfell.getCity());
assertThat(eddardStark, hasItem(eddard));
assertThat(eddardStark, not(hasItems(robb, sansa, arya, bran, rickon, jon)));
@@ -192,9 +193,9 @@ public class PersonRepositoryTests {
eddard.setChildren(Arrays.asList(jon, robb, sansa, arya, bran, rickon));
- repo.save(eddard);
+ repository.save(eddard);
- Person laoded = repo.findOne(eddard.getId());
+ Person laoded = repository.findOne(eddard.getId());
assertThat(laoded.getChildren(), hasItems(jon, robb, sansa, arya, bran, rickon));
/*
@@ -203,14 +204,14 @@ public class PersonRepositoryTests {
* - Robb was killed by Roose Bolton during the Red Wedding.
* - Jon was stabbed by brothers or the Night's Watch.
*/
- repo.delete(Arrays.asList(robb, jon));
+ repository.delete(Arrays.asList(robb, jon));
- laoded = repo.findOne(eddard.getId());
+ laoded = repository.findOne(eddard.getId());
assertThat(laoded.getChildren(), hasItems(sansa, arya, bran, rickon));
assertThat(laoded.getChildren(), not(hasItems(robb, jon)));
}
private void flushTestUsers() {
- repo.save(Arrays.asList(eddard, robb, sansa, arya, bran, rickon, jon));
+ repository.save(Arrays.asList(eddard, robb, sansa, arya, bran, rickon, jon));
}
}
diff --git a/redis/repository/src/test/resources/logback.xml b/redis/repository/src/test/resources/logback.xml
deleted file mode 100644
index 61c86dd9..00000000
--- a/redis/repository/src/test/resources/logback.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
- %d %5p %40.40c:%4L - %m%n
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/redis/util/pom.xml b/redis/util/pom.xml
index 89b17291..b7c1c9e8 100644
--- a/redis/util/pom.xml
+++ b/redis/util/pom.xml
@@ -10,7 +10,7 @@
spring-data-redis-example-utils
- Spring Data Redis - Example utilities
+ Spring Data Redis - Example Utilities