public RepositoryMethodReference(CrudRepository<?, ?> repository) { this.repository = repository; this.repositoryInvocationHandler = new RepositoryMethodInterceptor(); }
String getMethodName() { return this.repositoryInvocationHandler.getMethodName(); } }
public RepositoryMethodReference(PagingAndSortingRepository<?, ?> repository) { this.repository = repository; this.repositoryInvocationHandler = new RepositoryMethodInterceptor(); }
@Test public void testNullReturnStatement() { validateExceptionMessage(new Neo4jItemReaderBuilder<String>() .sessionFactory(this.sessionFactory) .targetType(String.class) .startStatement("n=node(*)") .orderByStatement("n.age") .pageSize(50).name("bar") .matchStatement("n -- m") .whereStatement("has(n.name)"), "returnStatement is required."); }
private MongoItemReaderBuilder<String> getBasicBuilder() { return new MongoItemReaderBuilder<String>().template(this.template) .targetType(String.class) .jsonQuery("{ }") .sorts(this.sortOptions) .name("mongoReaderTest") .pageSize(50); } }
@Test public void testNullTargetType() { validateExceptionMessage(new MongoItemReaderBuilder<String>().template(this.template) .jsonQuery("{ }") .sorts(this.sortOptions) .name("mongoReaderTest") .pageSize(50), "targetType is required."); }
@Test public void testNullSorts() { validateExceptionMessage(new MongoItemReaderBuilder<String>().template(this.template) .targetType(String.class) .jsonQuery("{ }") .name("mongoReaderTest") .pageSize(50), "sorts map is required."); }
@Test public void testNullQuery() { validateExceptionMessage(new MongoItemReaderBuilder<String>().template(this.template) .targetType(String.class) .sorts(this.sortOptions) .name("mongoReaderTest") .pageSize(50), "A query is required"); }
@Test public void testNullTemplate() { validateExceptionMessage(new MongoItemReaderBuilder<String>().targetType(String.class) .jsonQuery("{ }") .sorts(this.sortOptions) .name("mongoReaderTest") .pageSize(50), "template is required."); }
@Test public void testNullName() { validateExceptionMessage(new MongoItemReaderBuilder<String>().template(this.template) .targetType(String.class) .jsonQuery("{ }") .sorts(this.sortOptions) .pageSize(50), "A name is required when saveState is set to true"); }
@Test public void testWriteItemsTestRepositoryMethodIs() throws Exception { RepositoryItemWriterBuilder.RepositoryMethodReference<TestRepository> repositoryMethodReference = new RepositoryItemWriterBuilder.RepositoryMethodReference<>( this.repository); repositoryMethodReference.methodIs().foo(null); RepositoryItemWriter<String> writer = new RepositoryItemWriterBuilder<String>() .methodName("foo") .repository(repositoryMethodReference) .build(); List<String> items = Collections.singletonList("foo"); writer.write(items); verify(this.repository).foo("foo"); }
List<Object> getArguments() { return this.repositoryInvocationHandler.getArguments(); } }
String getMethodName() { return this.repositoryInvocationHandler.getMethodName(); }
/** * Values to be substituted in for each of the parameters in the query. * * @param parameterValues values * @return The current instance of the builder * @see MongoItemReader#setParameterValues(List) */ public MongoItemReaderBuilder<T> parameterValues(Object... parameterValues) { return parameterValues(Arrays.asList(parameterValues)); }
@Test public void testNullStartStatement() { validateExceptionMessage( new Neo4jItemReaderBuilder<String>() .sessionFactory(this.sessionFactory) .targetType(String.class) .returnStatement("*") .orderByStatement("n.age") .pageSize(50).name("bar") .matchStatement("n -- m") .whereStatement("has(n.name)") .returnStatement("m"), "startStatement is required."); }
@Test public void testZeroPageSize() { validateExceptionMessage(new Neo4jItemReaderBuilder<String>() .sessionFactory(this.sessionFactory) .targetType(String.class) .startStatement("n=node(*)") .returnStatement("*") .orderByStatement("n.age") .pageSize(0) .name("foo") .matchStatement("n -- m") .whereStatement("has(n.name)") .returnStatement("m"), "pageSize must be greater than zero"); }
@Test public void testNullOrderByStatement() { validateExceptionMessage( new Neo4jItemReaderBuilder<String>() .sessionFactory(this.sessionFactory) .targetType(String.class) .startStatement("n=node(*)") .returnStatement("*") .pageSize(50) .name("bar") .matchStatement("n -- m") .whereStatement("has(n.name)") .returnStatement("m"), "orderByStatement is required."); }
@Test public void testNullTargetType() { validateExceptionMessage( new Neo4jItemReaderBuilder<String>() .sessionFactory(this.sessionFactory) .startStatement("n=node(*)") .returnStatement("*") .orderByStatement("n.age") .pageSize(50) .name("bar") .matchStatement("n -- m") .whereStatement("has(n.name)") .returnStatement("m"), "targetType is required."); }
@Test public void testZeroMaxItemCount() { validateExceptionMessage(new Neo4jItemReaderBuilder<String>() .sessionFactory(this.sessionFactory) .targetType(String.class) .startStatement("n=node(*)") .returnStatement("*") .orderByStatement("n.age") .pageSize(5) .maxItemCount(0) .name("foo") .matchStatement("n -- m") .whereStatement("has(n.name)") .returnStatement("m"), "maxItemCount must be greater than zero"); }
@Test public void testCurrentItemCountGreaterThanMaxItemCount() { validateExceptionMessage(new Neo4jItemReaderBuilder<String>() .sessionFactory(this.sessionFactory) .targetType(String.class) .startStatement("n=node(*)") .returnStatement("*") .orderByStatement("n.age") .pageSize(5) .maxItemCount(5) .currentItemCount(6) .name("foo") .matchStatement("n -- m") .whereStatement("has(n.name)") .returnStatement("m"), "maxItemCount must be greater than currentItemCount"); }