SGF-609 - Upgrade to Apache Geode 1.2.0-SNAPSHOT.
Adapt to API changes in the Apache Geode Lucene integration after 1.2.0-SNAPSHOT. Set version to 1.2.0.BUILD-SNAPSHOT.
This commit is contained in:
@@ -2,7 +2,7 @@ antlrVersion=2.7.7
|
||||
aspectjVersion=1.8.9
|
||||
assertjVersion=3.6.2
|
||||
cdiVersion=1.0
|
||||
geodeVersion=1.1.0
|
||||
geodeVersion=1.2.0-SNAPSHOT
|
||||
hamcrestVersion=1.3
|
||||
jacksonVersion=2.7.6
|
||||
junitVersion=4.12
|
||||
@@ -11,11 +11,11 @@ mockitoVersion=2.7.19
|
||||
multiThreadedtcVersion=1.01
|
||||
openwebbeansVersion=1.2.8
|
||||
servletApiVersion=2.5
|
||||
shiroVersion=1.3.1
|
||||
shiroVersion=1.3.2
|
||||
slf4jVersion=1.7.21
|
||||
spring.range="[5.0.0, 6.0.0)"
|
||||
springVersion=5.0.0.M3
|
||||
springDataBuildVersion=2.0.0.BUILD-SNAPSHOT
|
||||
springDataCommonsVersion=2.0.0.BUILD-SNAPSHOT
|
||||
springShellVersion=1.2.0.RELEASE
|
||||
version=1.1.0.BUILD-SNAPSHOT
|
||||
version=1.2.0.BUILD-SNAPSHOT
|
||||
|
||||
6
pom.xml
6
pom.xml
@@ -13,16 +13,16 @@
|
||||
|
||||
<groupId>org.springframework.data</groupId>
|
||||
<artifactId>spring-data-geode</artifactId>
|
||||
<version>1.1.0.BUILD-SNAPSHOT</version>
|
||||
<version>1.2.0.BUILD-SNAPSHOT</version>
|
||||
|
||||
<name>Spring Data Geode</name>
|
||||
|
||||
<properties>
|
||||
<dist.key>SGF</dist.key>
|
||||
<antlr.version>2.7.7</antlr.version>
|
||||
<apache-shiro.version>1.3.1</apache-shiro.version>
|
||||
<apache-shiro.version>1.3.2</apache-shiro.version>
|
||||
<assertj.version>3.6.2</assertj.version>
|
||||
<gemfire.version>1.1.0</gemfire.version>
|
||||
<gemfire.version>1.2.0-SNAPSHOT</gemfire.version>
|
||||
<multithreadedtc.version>1.01</multithreadedtc.version>
|
||||
<servlet-api.version>2.5</servlet-api.version>
|
||||
<spring-data-commons.version>2.0.0.BUILD-SNAPSHOT</spring-data-commons.version>
|
||||
|
||||
@@ -17,7 +17,6 @@
|
||||
|
||||
package org.springframework.data.gemfire.search.lucene;
|
||||
|
||||
import static org.springframework.data.gemfire.util.ArrayUtils.nullSafeArray;
|
||||
import static org.springframework.data.gemfire.util.SpringUtils.safeGetValue;
|
||||
|
||||
import java.util.Optional;
|
||||
@@ -131,29 +130,16 @@ public abstract class LuceneAccessor extends LuceneOperationsSupport implements
|
||||
return resolveLuceneService().createLuceneQueryFactory();
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates an instance of the {@link LuceneQueryFactory} to create and execute {@link LuceneQuery Lucene queries}.
|
||||
*
|
||||
* @param projectionFields {@link String} array containing the fields of the object to project.
|
||||
* @return an instance of the {@link LuceneQueryFactory} to create and execute {@link LuceneQuery Lucene queries}.
|
||||
* @see org.apache.geode.cache.lucene.LuceneQueryFactory
|
||||
* @see #createLuceneQueryFactory(int, int, String...)
|
||||
*/
|
||||
public LuceneQueryFactory createLuceneQueryFactory(String... projectionFields) {
|
||||
return createLuceneQueryFactory(DEFAULT_RESULT_LIMIT, DEFAULT_PAGE_SIZE, projectionFields);
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates an instance of the {@link LuceneQueryFactory} to create and execute {@link LuceneQuery Lucene queries}.
|
||||
*
|
||||
* @param resultLimit limit to the number of results returned by the query.
|
||||
* @param projectionFields {@link String} array containing the fields of the object to project.
|
||||
* @return an instance of the {@link LuceneQueryFactory} to create and execute {@link LuceneQuery Lucene queries}.
|
||||
* @see org.apache.geode.cache.lucene.LuceneQueryFactory
|
||||
* @see #createLuceneQueryFactory(int, int, String...)
|
||||
* @see #createLuceneQueryFactory(int, int)
|
||||
*/
|
||||
public LuceneQueryFactory createLuceneQueryFactory(int resultLimit, String... projectionFields) {
|
||||
return createLuceneQueryFactory(resultLimit, DEFAULT_PAGE_SIZE, projectionFields);
|
||||
public LuceneQueryFactory createLuceneQueryFactory(int resultLimit) {
|
||||
return createLuceneQueryFactory(resultLimit, DEFAULT_PAGE_SIZE);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -161,14 +147,11 @@ public abstract class LuceneAccessor extends LuceneOperationsSupport implements
|
||||
*
|
||||
* @param resultLimit limit to the number of results returned by the query.
|
||||
* @param pageSize number of results appearing on a single page.
|
||||
* @param projectionFields {@link String} array containing the fields of the object to project.
|
||||
* @return an instance of the {@link LuceneQueryFactory} to create and execute {@link LuceneQuery Lucene queries}.
|
||||
* @see #createLuceneQueryFactory()
|
||||
*/
|
||||
@SuppressWarnings("deprecation")
|
||||
public LuceneQueryFactory createLuceneQueryFactory(int resultLimit, int pageSize, String... projectionFields) {
|
||||
return createLuceneQueryFactory().setResultLimit(resultLimit).setPageSize(pageSize)
|
||||
.setProjectionFields(nullSafeArray(projectionFields, String.class));
|
||||
public LuceneQueryFactory createLuceneQueryFactory(int resultLimit, int pageSize) {
|
||||
return createLuceneQueryFactory().setResultLimit(resultLimit).setPageSize(pageSize);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -31,6 +31,7 @@ import java.util.Optional;
|
||||
import org.apache.geode.cache.GemFireCache;
|
||||
import org.apache.geode.cache.Region;
|
||||
import org.apache.geode.cache.lucene.LuceneIndex;
|
||||
import org.apache.geode.cache.lucene.LuceneIndexFactory;
|
||||
import org.apache.geode.cache.lucene.LuceneService;
|
||||
import org.apache.geode.cache.lucene.LuceneServiceProvider;
|
||||
import org.apache.lucene.analysis.Analyzer;
|
||||
@@ -49,6 +50,8 @@ import org.springframework.util.StringUtils;
|
||||
* Spring {@link FactoryBean} used to construct {@link LuceneIndex Lucene Indexes} on application domain object fields.
|
||||
*
|
||||
* @author John Blum
|
||||
* @see org.springframework.beans.factory.BeanFactory
|
||||
* @see org.springframework.beans.factory.BeanFactoryAware
|
||||
* @see org.springframework.beans.factory.BeanNameAware
|
||||
* @see org.springframework.beans.factory.DisposableBean
|
||||
* @see org.springframework.beans.factory.FactoryBean
|
||||
@@ -56,8 +59,10 @@ import org.springframework.util.StringUtils;
|
||||
* @see org.apache.geode.cache.GemFireCache
|
||||
* @see org.apache.geode.cache.Region
|
||||
* @see org.apache.geode.cache.lucene.LuceneIndex
|
||||
* @see org.apache.geode.cache.lucene.LuceneIndexFactory
|
||||
* @see org.apache.geode.cache.lucene.LuceneService
|
||||
* @see org.apache.geode.cache.lucene.LuceneServiceProvider
|
||||
* @see org.apache.lucene.analysis.Analyzer
|
||||
* @since 1.1.0
|
||||
*/
|
||||
@SuppressWarnings("unused")
|
||||
@@ -107,8 +112,7 @@ public class LuceneIndexFactoryBean implements FactoryBean<LuceneIndex>,
|
||||
* @param regionPath {@link String} containing the fully-qualified pathname to
|
||||
* the {@link GemFireCache} {@link Region}.
|
||||
* @return a new instance of {@link LuceneIndex} with the given {@code indexName} on the named {@link Region}.
|
||||
* @see org.apache.geode.cache.lucene.LuceneService#createIndex(String, String, Map)
|
||||
* @see org.apache.geode.cache.lucene.LuceneService#createIndex(String, String, String...)
|
||||
* @see org.apache.geode.cache.lucene.LuceneIndexFactory#create(String, String)
|
||||
* @see org.apache.geode.cache.lucene.LuceneService#getIndex(String, String)
|
||||
* @see #resolveLuceneService()
|
||||
* @see #getFieldAnalyzers()
|
||||
@@ -121,10 +125,11 @@ public class LuceneIndexFactoryBean implements FactoryBean<LuceneIndex>,
|
||||
Map<String, Analyzer> fieldAnalyzers = getFieldAnalyzers();
|
||||
|
||||
if (isEmpty(fieldAnalyzers)) {
|
||||
luceneService.createIndex(indexName, regionPath, asArray(resolveFields(getFields())));
|
||||
luceneService.createIndexFactory().setFields(asArray(resolveFields(getFields())))
|
||||
.create(indexName, regionPath);
|
||||
}
|
||||
else {
|
||||
luceneService.createIndex(indexName, regionPath, fieldAnalyzers);
|
||||
luceneService.createIndexFactory().setFields(fieldAnalyzers).create(indexName, regionPath);
|
||||
}
|
||||
|
||||
return luceneService.getIndex(indexName, regionPath);
|
||||
@@ -150,7 +155,7 @@ public class LuceneIndexFactoryBean implements FactoryBean<LuceneIndex>,
|
||||
LuceneIndex luceneIndex = getObject();
|
||||
|
||||
if (isLuceneIndexDestroyable(luceneIndex)) {
|
||||
resolveLuceneService().destroyIndex(luceneIndex);
|
||||
resolveLuceneService().destroyIndex(luceneIndex.getName(), luceneIndex.getRegionPath());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -219,6 +224,16 @@ public class LuceneIndexFactoryBean implements FactoryBean<LuceneIndex>,
|
||||
return (!isEmpty(fields) ? fields : Collections.singletonList(LuceneService.REGION_VALUE_FIELD));
|
||||
}
|
||||
|
||||
/**
|
||||
* Resolves the appropriate {@link LuceneIndexFactory} from the {@link LuceneService}.
|
||||
*
|
||||
* @return a newly created instance of the {@link LuceneIndexFactory} from the resolved {@link LuceneService}.
|
||||
* @see #resolveLuceneService()
|
||||
*/
|
||||
protected LuceneIndexFactory resolveLuceneIndexFactory() {
|
||||
return resolveLuceneService().createIndexFactory();
|
||||
}
|
||||
|
||||
/**
|
||||
* Resolves the {@link LuceneService} used by this {@link FactoryBean} to create the {@link LuceneIndex}.
|
||||
*
|
||||
|
||||
@@ -50,16 +50,13 @@ public interface LuceneOperations {
|
||||
* @param query {@link String} containing the Lucene query to execute.
|
||||
* @param defaultField {@link String} specifying the default field used in Lucene queries when a field
|
||||
* is not explicitly defined in the Lucene query clause.
|
||||
* @param projectionFields array of {@link String} values specifying the query projection.
|
||||
* @return a {@link List} of {@link LuceneResultStruct} containing the query results.
|
||||
* @see org.apache.geode.cache.lucene.LuceneResultStruct
|
||||
* @see #query(String, String, int, String...)
|
||||
* @see #query(String, String, int)
|
||||
* @see java.util.List
|
||||
*/
|
||||
default <K, V> List<LuceneResultStruct<K, V>> query(String query, String defaultField,
|
||||
String... projectionFields) {
|
||||
|
||||
return query(query, defaultField, DEFAULT_RESULT_LIMIT, projectionFields);
|
||||
default <K, V> List<LuceneResultStruct<K, V>> query(String query, String defaultField) {
|
||||
return query(query, defaultField, DEFAULT_RESULT_LIMIT);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -71,13 +68,11 @@ public interface LuceneOperations {
|
||||
* @param defaultField {@link String} specifying the default field used in Lucene queries when a field
|
||||
* is not explicitly defined in the Lucene query clause.
|
||||
* @param resultLimit limit on the number of query results to return.
|
||||
* @param projectionFields array of {@link String} values specifying the query projection.
|
||||
* @return a {@link List} of {@link LuceneResultStruct} containing the query results.
|
||||
* @see org.apache.geode.cache.lucene.LuceneResultStruct
|
||||
* @see java.util.List
|
||||
*/
|
||||
<K, V> List<LuceneResultStruct<K, V>> query(String query, String defaultField,
|
||||
int resultLimit, String... projectionFields);
|
||||
<K, V> List<LuceneResultStruct<K, V>> query(String query, String defaultField, int resultLimit);
|
||||
|
||||
/**
|
||||
* Executes the given Lucene {@link String query} with a limit on the number of results returned
|
||||
@@ -90,12 +85,10 @@ public interface LuceneOperations {
|
||||
* is not explicitly defined in the Lucene query clause.
|
||||
* @param resultLimit limit on the number of query results to return.
|
||||
* @param pageSize number of results per page.
|
||||
* @param projectionFields array of {@link String} values specifying the query projection.
|
||||
* @return a {@link PageableLuceneQueryResults} data structure containing the results of the Lucene query.
|
||||
* @see org.apache.geode.cache.lucene.PageableLuceneQueryResults
|
||||
*/
|
||||
<K, V> PageableLuceneQueryResults<K, V> query(String query, String defaultField,
|
||||
int resultLimit, int pageSize, String... projectionFields);
|
||||
<K, V> PageableLuceneQueryResults<K, V> query(String query, String defaultField, int resultLimit, int pageSize);
|
||||
|
||||
/**
|
||||
* Executes the given Lucene {@link String query}.
|
||||
@@ -104,17 +97,14 @@ public interface LuceneOperations {
|
||||
* @param <V> {@link Class} type of the value.
|
||||
* @param queryProvider {@link LuceneQueryProvider} is a provider implementation supplying the Lucene query
|
||||
* to execute as well as de/serialize to distribute across the cluster.
|
||||
* @param projectionFields array of {@link String} values specifying the query projection.
|
||||
* @return a {@link List} of {@link LuceneResultStruct} containing the query results.
|
||||
* @see org.apache.geode.cache.lucene.LuceneQueryProvider
|
||||
* @see org.apache.geode.cache.lucene.LuceneResultStruct
|
||||
* @see #query(LuceneQueryProvider, int, String...)
|
||||
* @see #query(LuceneQueryProvider, int)
|
||||
* @see java.util.List
|
||||
*/
|
||||
default <K, V> List<LuceneResultStruct<K, V>> query(LuceneQueryProvider queryProvider,
|
||||
String... projectionFields) {
|
||||
|
||||
return query(queryProvider, DEFAULT_RESULT_LIMIT, projectionFields);
|
||||
default <K, V> List<LuceneResultStruct<K, V>> query(LuceneQueryProvider queryProvider) {
|
||||
return query(queryProvider, DEFAULT_RESULT_LIMIT);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -125,14 +115,12 @@ public interface LuceneOperations {
|
||||
* @param queryProvider {@link LuceneQueryProvider} is a provider implementation supplying the Lucene query
|
||||
* to execute as well as de/serialize to distribute across the cluster.
|
||||
* @param resultLimit limit on the number of query results to return.
|
||||
* @param projectionFields array of {@link String} values specifying the query projection.
|
||||
* @return a {@link List} of {@link LuceneResultStruct} containing the query results.
|
||||
* @see org.apache.geode.cache.lucene.LuceneQueryProvider
|
||||
* @see org.apache.geode.cache.lucene.LuceneResultStruct
|
||||
* @see java.util.List
|
||||
*/
|
||||
<K, V> List<LuceneResultStruct<K, V>> query(LuceneQueryProvider queryProvider,
|
||||
int resultLimit, String... projectionFields);
|
||||
<K, V> List<LuceneResultStruct<K, V>> query(LuceneQueryProvider queryProvider, int resultLimit);
|
||||
|
||||
/**
|
||||
* Executes the given Lucene {@link String query} with a limit on the number of results returned
|
||||
@@ -144,13 +132,11 @@ public interface LuceneOperations {
|
||||
* to execute as well as de/serialize to distribute across the cluster.
|
||||
* @param resultLimit limit on the number of query results to return.
|
||||
* @param pageSize number of results per page.
|
||||
* @param projectionFields array of {@link String} values specifying the query projection.
|
||||
* @return a {@link PageableLuceneQueryResults} data structure containing the results of the Lucene query.
|
||||
* @see org.apache.geode.cache.lucene.LuceneQueryProvider
|
||||
* @see org.apache.geode.cache.lucene.PageableLuceneQueryResults
|
||||
*/
|
||||
<K, V> PageableLuceneQueryResults<K, V> query(LuceneQueryProvider queryProvider,
|
||||
int resultLimit, int pageSize, String... projectionFields);
|
||||
<K, V> PageableLuceneQueryResults<K, V> query(LuceneQueryProvider queryProvider, int resultLimit, int pageSize);
|
||||
|
||||
/**
|
||||
* Executes the given Lucene {@link String query} returning a {@link Collection} of keys
|
||||
|
||||
@@ -36,6 +36,7 @@ import org.springframework.data.gemfire.search.lucene.support.LuceneAccessorSupp
|
||||
* @author John Blum
|
||||
* @see org.springframework.data.gemfire.search.lucene.LuceneAccessor
|
||||
* @see org.springframework.data.gemfire.search.lucene.LuceneOperations
|
||||
* @see org.springframework.data.gemfire.search.lucene.support.LuceneAccessorSupport
|
||||
* @see org.apache.geode.cache.Region
|
||||
* @see org.apache.geode.cache.lucene.LuceneIndex
|
||||
* @see org.apache.geode.cache.lucene.LuceneQuery
|
||||
@@ -91,13 +92,11 @@ public class LuceneTemplate extends LuceneAccessorSupport implements LuceneOpera
|
||||
* @inheritDoc
|
||||
*/
|
||||
@Override
|
||||
public <K, V> List<LuceneResultStruct<K, V>> query(String query, String defaultField,
|
||||
int resultLimit, String... projectionFields) {
|
||||
|
||||
public <K, V> List<LuceneResultStruct<K, V>> query(String query, String defaultField, int resultLimit) {
|
||||
String indexName = resolveIndexName();
|
||||
String regionPath = resolveRegionPath();
|
||||
|
||||
LuceneQueryFactory queryFactory = createLuceneQueryFactory(resultLimit, projectionFields);
|
||||
LuceneQueryFactory queryFactory = createLuceneQueryFactory(resultLimit);
|
||||
|
||||
LuceneQuery<K, V> queryWrapper = queryFactory.create(indexName, regionPath, query, defaultField);
|
||||
|
||||
@@ -109,12 +108,12 @@ public class LuceneTemplate extends LuceneAccessorSupport implements LuceneOpera
|
||||
*/
|
||||
@Override
|
||||
public <K, V> PageableLuceneQueryResults<K, V> query(String query, String defaultField,
|
||||
int resultLimit, int pageSize, String... projectionFields) {
|
||||
int resultLimit, int pageSize) {
|
||||
|
||||
String indexName = resolveIndexName();
|
||||
String regionPath = resolveRegionPath();
|
||||
|
||||
LuceneQueryFactory queryFactory = createLuceneQueryFactory(resultLimit, pageSize, projectionFields);
|
||||
LuceneQueryFactory queryFactory = createLuceneQueryFactory(resultLimit, pageSize);
|
||||
|
||||
LuceneQuery<K, V> queryWrapper = queryFactory.create(indexName, regionPath, query, defaultField);
|
||||
|
||||
@@ -125,13 +124,11 @@ public class LuceneTemplate extends LuceneAccessorSupport implements LuceneOpera
|
||||
* @inheritDoc
|
||||
*/
|
||||
@Override
|
||||
public <K, V> List<LuceneResultStruct<K, V>> query(LuceneQueryProvider queryProvider,
|
||||
int resultLimit, String... projectionFields) {
|
||||
|
||||
public <K, V> List<LuceneResultStruct<K, V>> query(LuceneQueryProvider queryProvider, int resultLimit) {
|
||||
String indexName = resolveIndexName();
|
||||
String regionPath = resolveRegionPath();
|
||||
|
||||
LuceneQueryFactory queryFactory = createLuceneQueryFactory(resultLimit, projectionFields);
|
||||
LuceneQueryFactory queryFactory = createLuceneQueryFactory(resultLimit);
|
||||
|
||||
LuceneQuery<K, V> queryWrapper = queryFactory.create(indexName, regionPath, queryProvider);
|
||||
|
||||
@@ -143,12 +140,12 @@ public class LuceneTemplate extends LuceneAccessorSupport implements LuceneOpera
|
||||
*/
|
||||
@Override
|
||||
public <K, V> PageableLuceneQueryResults<K, V> query(LuceneQueryProvider queryProvider,
|
||||
int resultLimit, int pageSize, String... projectionFields) {
|
||||
int resultLimit, int pageSize) {
|
||||
|
||||
String indexName = resolveIndexName();
|
||||
String regionPath = resolveRegionPath();
|
||||
|
||||
LuceneQueryFactory queryFactory = createLuceneQueryFactory(resultLimit, pageSize, projectionFields);
|
||||
LuceneQueryFactory queryFactory = createLuceneQueryFactory(resultLimit, pageSize);
|
||||
|
||||
LuceneQuery<K, V> queryWrapper = queryFactory.create(indexName, regionPath, queryProvider);
|
||||
|
||||
|
||||
@@ -85,9 +85,7 @@ public abstract class LuceneAccessorSupport extends LuceneAccessor {
|
||||
* @inheritDoc
|
||||
*/
|
||||
@Override
|
||||
public <K, V> List<LuceneResultStruct<K, V>> query(String query, String defaultField,
|
||||
int resultLimit, String... projectionFields) {
|
||||
|
||||
public <K, V> List<LuceneResultStruct<K, V>> query(String query, String defaultField, int resultLimit) {
|
||||
throw newUnsupportedOperationException(RuntimeExceptionFactory.NOT_IMPLEMENTED);
|
||||
}
|
||||
|
||||
@@ -96,7 +94,7 @@ public abstract class LuceneAccessorSupport extends LuceneAccessor {
|
||||
*/
|
||||
@Override
|
||||
public <K, V> PageableLuceneQueryResults<K, V> query(String query, String defaultField,
|
||||
int resultLimit, int pageSize, String... projectionFields) {
|
||||
int resultLimit, int pageSize) {
|
||||
|
||||
throw newUnsupportedOperationException(RuntimeExceptionFactory.NOT_IMPLEMENTED);
|
||||
}
|
||||
@@ -105,9 +103,7 @@ public abstract class LuceneAccessorSupport extends LuceneAccessor {
|
||||
* @inheritDoc
|
||||
*/
|
||||
@Override
|
||||
public <K, V> List<LuceneResultStruct<K, V>> query(LuceneQueryProvider queryProvider,
|
||||
int resultLimit, String... projectionFields) {
|
||||
|
||||
public <K, V> List<LuceneResultStruct<K, V>> query(LuceneQueryProvider queryProvider, int resultLimit) {
|
||||
throw newUnsupportedOperationException(RuntimeExceptionFactory.NOT_IMPLEMENTED);
|
||||
}
|
||||
|
||||
@@ -116,7 +112,7 @@ public abstract class LuceneAccessorSupport extends LuceneAccessor {
|
||||
*/
|
||||
@Override
|
||||
public <K, V> PageableLuceneQueryResults<K, V> query(LuceneQueryProvider queryProvider,
|
||||
int resultLimit, int pageSize, String... projectionFields) {
|
||||
int resultLimit, int pageSize) {
|
||||
|
||||
throw newUnsupportedOperationException(RuntimeExceptionFactory.NOT_IMPLEMENTED);
|
||||
}
|
||||
|
||||
@@ -43,9 +43,7 @@ public abstract class LuceneOperationsSupport implements LuceneOperations {
|
||||
* @inheritDoc
|
||||
*/
|
||||
@Override
|
||||
public <K, V> List<LuceneResultStruct<K, V>> query(String query, String defaultField,
|
||||
int resultLimit, String... projectionFields) {
|
||||
|
||||
public <K, V> List<LuceneResultStruct<K, V>> query(String query, String defaultField, int resultLimit) {
|
||||
throw newUnsupportedOperationException(RuntimeExceptionFactory.NOT_IMPLEMENTED);
|
||||
}
|
||||
|
||||
@@ -54,7 +52,7 @@ public abstract class LuceneOperationsSupport implements LuceneOperations {
|
||||
*/
|
||||
@Override
|
||||
public <K, V> PageableLuceneQueryResults<K, V> query(String query, String defaultField,
|
||||
int resultLimit, int pageSize, String... projectionFields) {
|
||||
int resultLimit, int pageSize) {
|
||||
|
||||
throw newUnsupportedOperationException(RuntimeExceptionFactory.NOT_IMPLEMENTED);
|
||||
}
|
||||
@@ -63,9 +61,7 @@ public abstract class LuceneOperationsSupport implements LuceneOperations {
|
||||
* @inheritDoc
|
||||
*/
|
||||
@Override
|
||||
public <K, V> List<LuceneResultStruct<K, V>> query(LuceneQueryProvider queryProvider,
|
||||
int resultLimit, String... projectionFields) {
|
||||
|
||||
public <K, V> List<LuceneResultStruct<K, V>> query(LuceneQueryProvider queryProvider, int resultLimit) {
|
||||
throw newUnsupportedOperationException(RuntimeExceptionFactory.NOT_IMPLEMENTED);
|
||||
}
|
||||
|
||||
@@ -74,7 +70,7 @@ public abstract class LuceneOperationsSupport implements LuceneOperations {
|
||||
*/
|
||||
@Override
|
||||
public <K, V> PageableLuceneQueryResults<K, V> query(LuceneQueryProvider queryProvider,
|
||||
int resultLimit, int pageSize, String... projectionFields) {
|
||||
int resultLimit, int pageSize) {
|
||||
|
||||
throw newUnsupportedOperationException(RuntimeExceptionFactory.NOT_IMPLEMENTED);
|
||||
}
|
||||
|
||||
@@ -22,6 +22,7 @@ import static org.mockito.Matchers.any;
|
||||
import static org.mockito.Matchers.anyString;
|
||||
import static org.mockito.Matchers.eq;
|
||||
import static org.mockito.Mockito.doAnswer;
|
||||
import static org.mockito.Mockito.doReturn;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
@@ -36,12 +37,12 @@ import org.apache.geode.cache.RegionAttributes;
|
||||
import org.apache.geode.cache.RegionFactory;
|
||||
import org.apache.geode.cache.RegionShortcut;
|
||||
import org.apache.geode.cache.lucene.LuceneIndex;
|
||||
import org.apache.geode.cache.lucene.LuceneIndexFactory;
|
||||
import org.apache.geode.cache.lucene.LuceneService;
|
||||
import org.apache.geode.cache.query.Index;
|
||||
import org.apache.geode.cache.query.QueryService;
|
||||
import org.junit.After;
|
||||
import org.junit.Test;
|
||||
import org.mockito.Matchers;
|
||||
import org.mockito.invocation.InvocationOnMock;
|
||||
import org.mockito.stubbing.Answer;
|
||||
import org.springframework.context.ConfigurableApplicationContext;
|
||||
@@ -208,6 +209,10 @@ public class EnableIndexingConfigurationUnitTests {
|
||||
LuceneService luceneService() {
|
||||
LuceneService mockLuceneService = mock(LuceneService.class);
|
||||
|
||||
LuceneIndexFactory mockLuceneIndexFactory = mock(LuceneIndexFactory.class);
|
||||
|
||||
doReturn(mockLuceneIndexFactory).when(mockLuceneService).createIndexFactory();
|
||||
|
||||
doAnswer(invocation -> {
|
||||
LuceneIndex mockLuceneIndex = mock(LuceneIndex.class);
|
||||
|
||||
@@ -220,7 +225,7 @@ public class EnableIndexingConfigurationUnitTests {
|
||||
when(mockLuceneService.getIndex(eq(indexName), eq(regionPath))).thenReturn(mockLuceneIndex);
|
||||
|
||||
return mockLuceneIndex;
|
||||
}).when(mockLuceneService).createIndex(anyString(), anyString(), Matchers.<String[]>anyVararg());
|
||||
}).when(mockLuceneIndexFactory).create(anyString(), anyString());
|
||||
|
||||
return mockLuceneService;
|
||||
}
|
||||
|
||||
@@ -21,8 +21,8 @@ import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.mockito.Matchers.any;
|
||||
import static org.mockito.Matchers.anyString;
|
||||
import static org.mockito.Matchers.eq;
|
||||
import static org.mockito.Matchers.isA;
|
||||
import static org.mockito.Mockito.doAnswer;
|
||||
import static org.mockito.Mockito.doReturn;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.never;
|
||||
import static org.mockito.Mockito.times;
|
||||
@@ -35,6 +35,7 @@ import java.util.Optional;
|
||||
|
||||
import org.apache.geode.cache.GemFireCache;
|
||||
import org.apache.geode.cache.lucene.LuceneIndex;
|
||||
import org.apache.geode.cache.lucene.LuceneIndexFactory;
|
||||
import org.apache.geode.cache.lucene.LuceneService;
|
||||
import org.apache.lucene.analysis.Analyzer;
|
||||
import org.junit.Test;
|
||||
@@ -97,9 +98,9 @@ public class LuceneNamespaceUnitTests {
|
||||
String... keys) {
|
||||
|
||||
assertLuceneIndex(index, name, regionPath);
|
||||
assertThat(index.getFieldNames()).isEmpty();
|
||||
assertThat(index.getFieldAnalyzers()).hasSize(keys.length);
|
||||
assertThat(index.getFieldAnalyzers()).containsKeys(keys);
|
||||
assertThat(index.getFieldNames()).isEmpty();
|
||||
}
|
||||
|
||||
protected void assertLuceneIndexWithFields(LuceneIndex index, String name, String regionPath, String... fieldNames) {
|
||||
@@ -112,14 +113,8 @@ public class LuceneNamespaceUnitTests {
|
||||
@SuppressWarnings({ "deprecation", "unchecked" })
|
||||
public void luceneServiceConfigurationAndInteractionsAreCorrect() {
|
||||
assertThat(this.luceneService).isNotNull();
|
||||
|
||||
verify(this.luceneService, times(1))
|
||||
.createIndex(eq("IndexOne"), eq("/Example"), eq("fieldOne"), eq("fieldTwo"));
|
||||
|
||||
verify(this.luceneService, times(1))
|
||||
.createIndex(eq("IndexTwo"), eq("/AnotherExample"), isA(Map.class));
|
||||
|
||||
verify(this.luceneService, never()).destroyIndex(any(LuceneIndex.class));
|
||||
verify(this.luceneService, times(2)).createIndexFactory();
|
||||
verify(this.luceneService, never()).destroyIndex(anyString(), anyString());
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -157,7 +152,6 @@ public class LuceneNamespaceUnitTests {
|
||||
|
||||
public static class MockLuceneServiceFactoryBean implements FactoryBean<LuceneService>, InitializingBean {
|
||||
|
||||
@SuppressWarnings("all")
|
||||
private GemFireCache gemfireCache;
|
||||
|
||||
private LuceneService luceneService;
|
||||
@@ -173,20 +167,25 @@ public class LuceneNamespaceUnitTests {
|
||||
return Optional.ofNullable(this.luceneService).orElseGet(() -> {
|
||||
this.luceneService = mock(LuceneService.class);
|
||||
|
||||
Answer<LuceneIndex> mockLuceneIndex = newMockLuceneIndex(this.luceneService);
|
||||
when(this.luceneService.createIndexFactory()).thenAnswer(invocation -> {
|
||||
LuceneIndexFactory mockLuceneIndexFactory = mock(LuceneIndexFactory.class);
|
||||
|
||||
doAnswer(mockLuceneIndex).when(this.luceneService)
|
||||
.createIndex(anyString(), anyString(), (String[]) any());
|
||||
doReturn(mockLuceneIndexFactory).when(mockLuceneIndexFactory).setFields((String[]) any());
|
||||
doReturn(mockLuceneIndexFactory).when(mockLuceneIndexFactory).setFields(any(Map.class));
|
||||
|
||||
doAnswer(mockLuceneIndex).when(this.luceneService)
|
||||
.createIndex(anyString(), anyString(), isA(Map.class));
|
||||
Answer<LuceneIndex> mockLuceneIndex = mockLuceneIndex(this.luceneService);
|
||||
|
||||
doAnswer(mockLuceneIndex).when(mockLuceneIndexFactory).create(anyString(), anyString());
|
||||
|
||||
return mockLuceneIndexFactory;
|
||||
});
|
||||
|
||||
return this.luceneService;
|
||||
});
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
private Answer<LuceneIndex> newMockLuceneIndex(LuceneService mockLuceneService) {
|
||||
private Answer<LuceneIndex> mockLuceneIndex(LuceneService mockLuceneService) {
|
||||
return (invocationOnMock) -> {
|
||||
String indexName = invocationOnMock.getArgument(0);
|
||||
String regionPath = invocationOnMock.getArgument(1);
|
||||
|
||||
@@ -23,7 +23,6 @@ import static org.hamcrest.Matchers.is;
|
||||
import static org.hamcrest.Matchers.isA;
|
||||
import static org.hamcrest.Matchers.nullValue;
|
||||
import static org.mockito.Matchers.anyInt;
|
||||
import static org.mockito.Matchers.anyVararg;
|
||||
import static org.mockito.Matchers.eq;
|
||||
import static org.mockito.Mockito.doReturn;
|
||||
import static org.mockito.Mockito.mock;
|
||||
@@ -133,65 +132,36 @@ public class LuceneAccessorUnitTests {
|
||||
|
||||
@Test
|
||||
@SuppressWarnings("deprecation")
|
||||
public void createLuceneQueryFactoryWithProjectionFields() {
|
||||
public void createLuceneQueryFactoryWithResultLimit() {
|
||||
doReturn(mockLuceneService).when(luceneAccessor).resolveLuceneService();
|
||||
when(mockLuceneService.createLuceneQueryFactory()).thenReturn(mockLuceneQueryFactory);
|
||||
when(mockLuceneQueryFactory.setPageSize(anyInt())).thenReturn(mockLuceneQueryFactory);
|
||||
when(mockLuceneQueryFactory.setProjectionFields(anyVararg())).thenReturn(mockLuceneQueryFactory);
|
||||
when(mockLuceneQueryFactory.setResultLimit(anyInt())).thenReturn(mockLuceneQueryFactory);
|
||||
|
||||
assertThat(luceneAccessor.createLuceneQueryFactory("fieldOne", "fieldTwo"))
|
||||
.isEqualTo(mockLuceneQueryFactory);
|
||||
|
||||
verify(luceneAccessor).resolveLuceneService();
|
||||
verify(mockLuceneService, times(1)).createLuceneQueryFactory();
|
||||
verify(mockLuceneQueryFactory, times(1))
|
||||
.setResultLimit(eq(LuceneAccessor.DEFAULT_RESULT_LIMIT));
|
||||
verify(mockLuceneQueryFactory, times(1))
|
||||
.setPageSize(eq(LuceneAccessor.DEFAULT_PAGE_SIZE));
|
||||
verify(mockLuceneQueryFactory, times(1))
|
||||
.setProjectionFields(eq("fieldOne"), eq("fieldTwo"));
|
||||
}
|
||||
|
||||
@Test
|
||||
@SuppressWarnings("deprecation")
|
||||
public void createLuceneQueryFactoryWithResultLimitAndProjectionFields() {
|
||||
doReturn(mockLuceneService).when(luceneAccessor).resolveLuceneService();
|
||||
when(mockLuceneService.createLuceneQueryFactory()).thenReturn(mockLuceneQueryFactory);
|
||||
when(mockLuceneQueryFactory.setPageSize(anyInt())).thenReturn(mockLuceneQueryFactory);
|
||||
when(mockLuceneQueryFactory.setProjectionFields(anyVararg())).thenReturn(mockLuceneQueryFactory);
|
||||
when(mockLuceneQueryFactory.setResultLimit(anyInt())).thenReturn(mockLuceneQueryFactory);
|
||||
|
||||
assertThat(luceneAccessor.createLuceneQueryFactory(1000, "fieldOne", "fieldTwo"))
|
||||
.isEqualTo(mockLuceneQueryFactory);
|
||||
assertThat(luceneAccessor.createLuceneQueryFactory(1000)).isEqualTo(mockLuceneQueryFactory);
|
||||
|
||||
verify(luceneAccessor).resolveLuceneService();
|
||||
verify(mockLuceneService, times(1)).createLuceneQueryFactory();
|
||||
verify(mockLuceneQueryFactory, times(1)).setResultLimit(eq(1000));
|
||||
verify(mockLuceneQueryFactory, times(1))
|
||||
.setPageSize(eq(LuceneAccessor.DEFAULT_PAGE_SIZE));
|
||||
verify(mockLuceneQueryFactory, times(1))
|
||||
.setProjectionFields(eq("fieldOne"), eq("fieldTwo"));
|
||||
}
|
||||
|
||||
@Test
|
||||
@SuppressWarnings("deprecation")
|
||||
public void createLuceneQueryFactoryWithResultLimitPageSizeAndProjectionFields() {
|
||||
public void createLuceneQueryFactoryWithResultLimitAndPageSize() {
|
||||
doReturn(mockLuceneService).when(luceneAccessor).resolveLuceneService();
|
||||
when(mockLuceneService.createLuceneQueryFactory()).thenReturn(mockLuceneQueryFactory);
|
||||
when(mockLuceneQueryFactory.setPageSize(anyInt())).thenReturn(mockLuceneQueryFactory);
|
||||
when(mockLuceneQueryFactory.setProjectionFields(anyVararg())).thenReturn(mockLuceneQueryFactory);
|
||||
when(mockLuceneQueryFactory.setResultLimit(anyInt())).thenReturn(mockLuceneQueryFactory);
|
||||
|
||||
assertThat(luceneAccessor.createLuceneQueryFactory(1000, 20,
|
||||
"fieldOne", "fieldTwo")).isEqualTo(mockLuceneQueryFactory);
|
||||
assertThat(luceneAccessor.createLuceneQueryFactory(1000, 20))
|
||||
.isEqualTo(mockLuceneQueryFactory);
|
||||
|
||||
verify(luceneAccessor).resolveLuceneService();
|
||||
verify(mockLuceneService, times(1)).createLuceneQueryFactory();
|
||||
verify(mockLuceneQueryFactory, times(1)).setResultLimit(eq(1000));
|
||||
verify(mockLuceneQueryFactory, times(1)).setPageSize(eq(20));
|
||||
verify(mockLuceneQueryFactory, times(1))
|
||||
.setProjectionFields(eq("fieldOne"), eq("fieldTwo"));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@@ -23,7 +23,6 @@ import static org.hamcrest.Matchers.nullValue;
|
||||
import static org.mockito.Matchers.any;
|
||||
import static org.mockito.Matchers.anyString;
|
||||
import static org.mockito.Matchers.eq;
|
||||
import static org.mockito.Matchers.isNull;
|
||||
import static org.mockito.Mockito.doReturn;
|
||||
import static org.mockito.Mockito.never;
|
||||
import static org.mockito.Mockito.spy;
|
||||
@@ -40,6 +39,7 @@ import java.util.Map;
|
||||
import org.apache.geode.cache.GemFireCache;
|
||||
import org.apache.geode.cache.Region;
|
||||
import org.apache.geode.cache.lucene.LuceneIndex;
|
||||
import org.apache.geode.cache.lucene.LuceneIndexFactory;
|
||||
import org.apache.geode.cache.lucene.LuceneService;
|
||||
import org.apache.lucene.analysis.Analyzer;
|
||||
import org.junit.Before;
|
||||
@@ -84,6 +84,9 @@ public class LuceneIndexFactoryBeanUnitTests {
|
||||
@Mock
|
||||
private LuceneIndex mockLuceneIndex;
|
||||
|
||||
@Mock
|
||||
private LuceneIndexFactory mockLuceneIndexFactory;
|
||||
|
||||
@Mock
|
||||
private LuceneService mockLuceneService;
|
||||
|
||||
@@ -93,9 +96,14 @@ public class LuceneIndexFactoryBeanUnitTests {
|
||||
private LuceneIndexFactoryBean factoryBean;
|
||||
|
||||
@Before
|
||||
@SuppressWarnings("unchecked")
|
||||
public void setup() {
|
||||
factoryBean = spy(new LuceneIndexFactoryBean());
|
||||
|
||||
doReturn(mockLuceneService).when(factoryBean).resolveLuceneService(eq(mockCache));
|
||||
doReturn(mockLuceneIndexFactory).when(mockLuceneService).createIndexFactory();
|
||||
doReturn(mockLuceneIndexFactory).when(mockLuceneIndexFactory).setFields((String[]) any());
|
||||
doReturn(mockLuceneIndexFactory).when(mockLuceneIndexFactory).setFields(any(Map.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -121,7 +129,7 @@ public class LuceneIndexFactoryBeanUnitTests {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void afterPropertiesSetThrowsIllegalStateExceptionIndexNameNotSet() throws Exception {
|
||||
public void afterPropertiesSetThrowsIllegalStateExceptionWhenIndexNameNotSet() throws Exception {
|
||||
exception.expect(IllegalStateException.class);
|
||||
exception.expectCause(is(nullValue(Throwable.class)));
|
||||
exception.expectMessage("indexName was not properly initialized");
|
||||
@@ -140,8 +148,11 @@ public class LuceneIndexFactoryBeanUnitTests {
|
||||
assertThat(factoryBean.getLuceneService()).isSameAs(mockLuceneService);
|
||||
assertThat(factoryBean.createIndex("ExampleIndex", "/Example")).isEqualTo(mockLuceneIndex);
|
||||
|
||||
verify(mockLuceneService, times(1))
|
||||
.createIndex(eq("ExampleIndex"), eq("/Example"), eq(LuceneService.REGION_VALUE_FIELD));
|
||||
verify(mockLuceneService, times(1)).createIndexFactory();
|
||||
verify(mockLuceneIndexFactory, times(1))
|
||||
.setFields(eq(LuceneService.REGION_VALUE_FIELD));
|
||||
verify(mockLuceneIndexFactory, times(1))
|
||||
.create(eq("ExampleIndex"), eq("/Example"));
|
||||
verify(mockLuceneService, times(1))
|
||||
.getIndex(eq("ExampleIndex"), eq("/Example"));
|
||||
}
|
||||
@@ -160,8 +171,10 @@ public class LuceneIndexFactoryBeanUnitTests {
|
||||
assertThat(factoryBean.getLuceneService()).isSameAs(mockLuceneService);
|
||||
assertThat(factoryBean.createIndex("ExampleIndex", "/Example")).isEqualTo(mockLuceneIndex);
|
||||
|
||||
verify(mockLuceneService, times(1))
|
||||
.createIndex(eq("ExampleIndex"), eq("/Example"), eq(fieldAnalyzers));
|
||||
verify(mockLuceneService, times(1)).createIndexFactory();
|
||||
verify(mockLuceneIndexFactory, times(1)).setFields(eq(fieldAnalyzers));
|
||||
verify(mockLuceneIndexFactory, times(1))
|
||||
.create(eq("ExampleIndex"), eq("/Example"));
|
||||
verify(mockLuceneService, times(1))
|
||||
.getIndex(eq("ExampleIndex"), eq("/Example"));
|
||||
}
|
||||
@@ -178,8 +191,11 @@ public class LuceneIndexFactoryBeanUnitTests {
|
||||
assertThat(factoryBean.getLuceneService()).isSameAs(mockLuceneService);
|
||||
assertThat(factoryBean.createIndex("ExampleIndex", "/Example")).isEqualTo(mockLuceneIndex);
|
||||
|
||||
verify(mockLuceneService, times(1))
|
||||
.createIndex(eq("ExampleIndex"), eq("/Example"), eq("fieldOne"), eq("fieldTwo"));
|
||||
verify(mockLuceneService, times(1)).createIndexFactory();
|
||||
verify(mockLuceneIndexFactory, times(1))
|
||||
.setFields(eq("fieldOne"), eq("fieldTwo"));
|
||||
verify(mockLuceneIndexFactory, times(1))
|
||||
.create(eq("ExampleIndex"), eq("/Example"));
|
||||
verify(mockLuceneService, times(1))
|
||||
.getIndex(eq("ExampleIndex"), eq("/Example"));
|
||||
}
|
||||
@@ -194,11 +210,14 @@ public class LuceneIndexFactoryBeanUnitTests {
|
||||
assertThat(factoryBean.getLuceneService()).isSameAs(mockLuceneService);
|
||||
|
||||
doReturn(mockLuceneIndex).when(factoryBean).getObject();
|
||||
doReturn("MockIndex").when(mockLuceneIndex).getName();
|
||||
doReturn("MockRegion").when(mockLuceneIndex).getRegionPath();
|
||||
|
||||
factoryBean.destroy();
|
||||
|
||||
verify(factoryBean, times(1)).getObject();
|
||||
verify(mockLuceneService, times(1)).destroyIndex(eq(mockLuceneIndex));
|
||||
verify(mockLuceneService, times(1))
|
||||
.destroyIndex(eq("MockIndex"), eq("MockRegion"));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -215,7 +234,7 @@ public class LuceneIndexFactoryBeanUnitTests {
|
||||
factoryBean.destroy();
|
||||
|
||||
verify(factoryBean, times(1)).getObject();
|
||||
verify(mockLuceneService, never()).destroyIndex(any(LuceneIndex.class));
|
||||
verify(mockLuceneService, never()).destroyIndex(anyString(), anyString());
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -232,7 +251,7 @@ public class LuceneIndexFactoryBeanUnitTests {
|
||||
factoryBean.destroy();
|
||||
|
||||
verify(factoryBean, times(1)).getObject();
|
||||
verify(mockLuceneService, never()).destroyIndex(isNull(LuceneIndex.class));
|
||||
verify(mockLuceneService, never()).destroyIndex(anyString(), anyString());
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -346,6 +365,17 @@ public class LuceneIndexFactoryBeanUnitTests {
|
||||
.isEqualTo(Collections.singletonList(LuceneService.REGION_VALUE_FIELD));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void resolveLuceneIndexFactoryCallsLuceneServiceCreateIndexFactory() {
|
||||
factoryBean.setCache(mockCache);
|
||||
|
||||
doReturn(mockLuceneIndexFactory).when(mockLuceneService).createIndexFactory();
|
||||
|
||||
assertThat(factoryBean.resolveLuceneIndexFactory()).isEqualTo(mockLuceneIndexFactory);
|
||||
|
||||
verify(mockLuceneService, times(1)).createIndexFactory();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void resolveLuceneServiceReturnsConfiguredLuceneService() {
|
||||
factoryBean.setBeanFactory(mockBeanFactory);
|
||||
|
||||
@@ -19,7 +19,6 @@ package org.springframework.data.gemfire.search.lucene;
|
||||
|
||||
import static org.mockito.Matchers.any;
|
||||
import static org.mockito.Matchers.anyString;
|
||||
import static org.mockito.Matchers.anyVararg;
|
||||
import static org.mockito.Matchers.eq;
|
||||
import static org.mockito.Mockito.times;
|
||||
import static org.mockito.Mockito.verify;
|
||||
@@ -54,24 +53,23 @@ public class LuceneOperationsUnitTests {
|
||||
|
||||
@Test
|
||||
public void stringQueryCallsQueryWithResultLimit() {
|
||||
when(mockLuceneOperations.query(anyString(), anyString(), anyVararg())).thenCallRealMethod();
|
||||
when(mockLuceneOperations.query(anyString(), anyString())).thenCallRealMethod();
|
||||
|
||||
mockLuceneOperations.query("title : Up Shit Creek Without a Paddle", "title",
|
||||
"content");
|
||||
mockLuceneOperations.query("title : Up Shit Creek Without a Paddle", "title");
|
||||
|
||||
verify(mockLuceneOperations, times(1)).query(
|
||||
eq("title : Up Shit Creek Without a Paddle"), eq("title"),
|
||||
eq(LuceneOperations.DEFAULT_RESULT_LIMIT), eq("content"));
|
||||
eq(LuceneOperations.DEFAULT_RESULT_LIMIT));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void queryProviderQueryCallsQueryWithResultLimit() {
|
||||
when(mockLuceneOperations.query(any(LuceneQueryProvider.class), anyVararg())).thenCallRealMethod();
|
||||
when(mockLuceneOperations.query(any(LuceneQueryProvider.class))).thenCallRealMethod();
|
||||
|
||||
mockLuceneOperations.query(mockLuceneQueryProvider, "content");
|
||||
mockLuceneOperations.query(mockLuceneQueryProvider);
|
||||
|
||||
verify(mockLuceneOperations, times(1)).query(eq(mockLuceneQueryProvider),
|
||||
eq(LuceneOperations.DEFAULT_RESULT_LIMIT), eq("content"));
|
||||
eq(LuceneOperations.DEFAULT_RESULT_LIMIT));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -116,6 +114,6 @@ public class LuceneOperationsUnitTests {
|
||||
eq(mockLuceneQueryProvider), eq(LuceneOperations.DEFAULT_RESULT_LIMIT));
|
||||
}
|
||||
|
||||
abstract class TestLuceneOperations implements LuceneOperations {
|
||||
}
|
||||
abstract class TestLuceneOperations implements LuceneOperations { }
|
||||
|
||||
}
|
||||
|
||||
@@ -22,7 +22,6 @@ import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.mockito.Matchers.any;
|
||||
import static org.mockito.Matchers.anyInt;
|
||||
import static org.mockito.Matchers.anyString;
|
||||
import static org.mockito.Matchers.anyVararg;
|
||||
import static org.mockito.Matchers.eq;
|
||||
import static org.mockito.Matchers.isA;
|
||||
import static org.mockito.Mockito.doReturn;
|
||||
@@ -63,6 +62,7 @@ import org.mockito.junit.MockitoJUnitRunner;
|
||||
* @see org.apache.geode.cache.lucene.LuceneQueryFactory
|
||||
* @see org.apache.geode.cache.lucene.LuceneQueryProvider
|
||||
* @see org.apache.geode.cache.lucene.LuceneResultStruct
|
||||
* @see org.apache.geode.cache.lucene.LuceneService
|
||||
* @see org.apache.geode.cache.lucene.PageableLuceneQueryResults
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@@ -100,7 +100,6 @@ public class LuceneTemplateUnitTests {
|
||||
|
||||
when(mockLuceneService.createLuceneQueryFactory()).thenReturn(mockLuceneQueryFactory);
|
||||
when(mockLuceneQueryFactory.setPageSize(anyInt())).thenReturn(mockLuceneQueryFactory);
|
||||
when(mockLuceneQueryFactory.setProjectionFields(anyVararg())).thenReturn(mockLuceneQueryFactory);
|
||||
when(mockLuceneQueryFactory.setResultLimit(anyInt())).thenReturn(mockLuceneQueryFactory);
|
||||
}
|
||||
|
||||
@@ -115,8 +114,7 @@ public class LuceneTemplateUnitTests {
|
||||
doReturn("/Example").when(luceneTemplate).resolveRegionPath();
|
||||
|
||||
List<LuceneResultStruct<Object, Object>> results = luceneTemplate.query(
|
||||
"title : Up Shit Creek Without a Paddle", "title", 100,
|
||||
"content");
|
||||
"title : Up Shit Creek Without a Paddle", "title", 100);
|
||||
|
||||
assertThat(results).isNotNull();
|
||||
assertThat(results).hasSize(2);
|
||||
@@ -129,7 +127,6 @@ public class LuceneTemplateUnitTests {
|
||||
verify(mockLuceneService, times(1)).createLuceneQueryFactory();
|
||||
verify(mockLuceneQueryFactory, times(1)).setResultLimit(eq(100));
|
||||
verify(mockLuceneQueryFactory, times(1)).setPageSize(eq(LuceneOperations.DEFAULT_PAGE_SIZE));
|
||||
verify(mockLuceneQueryFactory, times(1)).setProjectionFields(eq("content"));
|
||||
verify(mockLuceneQueryFactory, times(1)).create(eq("TestIndex"),
|
||||
eq("/Example"), eq("title : Up Shit Creek Without a Paddle"), eq("title"));
|
||||
verify(mockLuceneQuery, times(1)).findResults();
|
||||
@@ -146,8 +143,7 @@ public class LuceneTemplateUnitTests {
|
||||
doReturn("/Example").when(luceneTemplate).resolveRegionPath();
|
||||
|
||||
PageableLuceneQueryResults<Object, Object> results = luceneTemplate.query(
|
||||
"title : Up Shit Creek Without a Paddle", "title", 100, 20,
|
||||
"content");
|
||||
"title : Up Shit Creek Without a Paddle", "title", 100, 20);
|
||||
|
||||
assertThat(results).isSameAs(mockPageableLuceneQueryResults);
|
||||
|
||||
@@ -158,7 +154,6 @@ public class LuceneTemplateUnitTests {
|
||||
verify(mockLuceneService, times(1)).createLuceneQueryFactory();
|
||||
verify(mockLuceneQueryFactory, times(1)).setResultLimit(eq(100));
|
||||
verify(mockLuceneQueryFactory, times(1)).setPageSize(eq(20));
|
||||
verify(mockLuceneQueryFactory, times(1)).setProjectionFields(eq("content"));
|
||||
verify(mockLuceneQueryFactory, times(1)).create(eq("TestIndex"),
|
||||
eq("/Example"), eq("title : Up Shit Creek Without a Paddle"), eq("title"));
|
||||
verify(mockLuceneQuery, times(1)).findPages();
|
||||
@@ -174,8 +169,8 @@ public class LuceneTemplateUnitTests {
|
||||
doReturn("TestIndex").when(luceneTemplate).resolveIndexName();
|
||||
doReturn("/Example").when(luceneTemplate).resolveRegionPath();
|
||||
|
||||
List<LuceneResultStruct<Object, Object>> results = luceneTemplate.query(mockLuceneQueryProvider,
|
||||
100, "content");
|
||||
List<LuceneResultStruct<Object, Object>> results =
|
||||
luceneTemplate.query(mockLuceneQueryProvider, 100);
|
||||
|
||||
assertThat(results).isNotNull();
|
||||
assertThat(results).hasSize(2);
|
||||
@@ -188,7 +183,6 @@ public class LuceneTemplateUnitTests {
|
||||
verify(mockLuceneService, times(1)).createLuceneQueryFactory();
|
||||
verify(mockLuceneQueryFactory, times(1)).setResultLimit(eq(100));
|
||||
verify(mockLuceneQueryFactory, times(1)).setPageSize(eq(LuceneOperations.DEFAULT_PAGE_SIZE));
|
||||
verify(mockLuceneQueryFactory, times(1)).setProjectionFields(eq("content"));
|
||||
verify(mockLuceneQueryFactory, times(1)).create(eq("TestIndex"),
|
||||
eq("/Example"), eq(mockLuceneQueryProvider));
|
||||
verify(mockLuceneQuery, times(1)).findResults();
|
||||
@@ -205,7 +199,7 @@ public class LuceneTemplateUnitTests {
|
||||
doReturn("/Example").when(luceneTemplate).resolveRegionPath();
|
||||
|
||||
PageableLuceneQueryResults<Object, Object> results = luceneTemplate.query(mockLuceneQueryProvider,
|
||||
100, 20, "content");
|
||||
100, 20);
|
||||
|
||||
assertThat(results).isSameAs(mockPageableLuceneQueryResults);
|
||||
|
||||
@@ -216,7 +210,6 @@ public class LuceneTemplateUnitTests {
|
||||
verify(mockLuceneService, times(1)).createLuceneQueryFactory();
|
||||
verify(mockLuceneQueryFactory, times(1)).setResultLimit(eq(100));
|
||||
verify(mockLuceneQueryFactory, times(1)).setPageSize(eq(20));
|
||||
verify(mockLuceneQueryFactory, times(1)).setProjectionFields(eq("content"));
|
||||
verify(mockLuceneQueryFactory, times(1)).create(eq("TestIndex"),
|
||||
eq("/Example"), eq(mockLuceneQueryProvider));
|
||||
verify(mockLuceneQuery, times(1)).findPages();
|
||||
@@ -246,7 +239,6 @@ public class LuceneTemplateUnitTests {
|
||||
verify(mockLuceneService, times(1)).createLuceneQueryFactory();
|
||||
verify(mockLuceneQueryFactory, times(1)).setResultLimit(eq(100));
|
||||
verify(mockLuceneQueryFactory, times(1)).setPageSize(eq(LuceneOperations.DEFAULT_PAGE_SIZE));
|
||||
verify(mockLuceneQueryFactory, times(1)).setProjectionFields();
|
||||
verify(mockLuceneQueryFactory, times(1)).create(eq("TestIndex"),
|
||||
eq("/Example"), eq("title : Up Shit Creek Without a Paddle"), eq("title"));
|
||||
verify(mockLuceneQuery, times(1)).findKeys();
|
||||
@@ -275,7 +267,6 @@ public class LuceneTemplateUnitTests {
|
||||
verify(mockLuceneService, times(1)).createLuceneQueryFactory();
|
||||
verify(mockLuceneQueryFactory, times(1)).setResultLimit(eq(100));
|
||||
verify(mockLuceneQueryFactory, times(1)).setPageSize(eq(LuceneOperations.DEFAULT_PAGE_SIZE));
|
||||
verify(mockLuceneQueryFactory, times(1)).setProjectionFields();
|
||||
verify(mockLuceneQueryFactory, times(1)).create(eq("TestIndex"),
|
||||
eq("/Example"), eq(mockLuceneQueryProvider));
|
||||
verify(mockLuceneQuery, times(1)).findKeys();
|
||||
@@ -305,7 +296,6 @@ public class LuceneTemplateUnitTests {
|
||||
verify(mockLuceneService, times(1)).createLuceneQueryFactory();
|
||||
verify(mockLuceneQueryFactory, times(1)).setResultLimit(eq(100));
|
||||
verify(mockLuceneQueryFactory, times(1)).setPageSize(eq(LuceneOperations.DEFAULT_PAGE_SIZE));
|
||||
verify(mockLuceneQueryFactory, times(1)).setProjectionFields();
|
||||
verify(mockLuceneQueryFactory, times(1)).create(eq("TestIndex"),
|
||||
eq("/Example"), eq("title : Up Shit Creek Without a Paddle"), eq("title"));
|
||||
verify(mockLuceneQuery, times(1)).findValues();
|
||||
@@ -334,7 +324,6 @@ public class LuceneTemplateUnitTests {
|
||||
verify(mockLuceneService, times(1)).createLuceneQueryFactory();
|
||||
verify(mockLuceneQueryFactory, times(1)).setResultLimit(eq(100));
|
||||
verify(mockLuceneQueryFactory, times(1)).setPageSize(eq(LuceneOperations.DEFAULT_PAGE_SIZE));
|
||||
verify(mockLuceneQueryFactory, times(1)).setProjectionFields();
|
||||
verify(mockLuceneQueryFactory, times(1)).create(eq("TestIndex"),
|
||||
eq("/Example"), eq(mockLuceneQueryProvider));
|
||||
verify(mockLuceneQuery, times(1)).findValues();
|
||||
|
||||
@@ -86,7 +86,6 @@ public class ProjectingLuceneTemplateUnitTests {
|
||||
LuceneResultStruct<K, V> mockLuceneResultStruct =
|
||||
mock(LuceneResultStruct.class, String.format("MockLuceneResultStruct%s", key));
|
||||
|
||||
when(mockLuceneResultStruct.getKey()).thenReturn(key);
|
||||
when(mockLuceneResultStruct.getValue()).thenReturn(value);
|
||||
|
||||
return mockLuceneResultStruct;
|
||||
|
||||
@@ -75,9 +75,9 @@ public class LucenePageUnitTests {
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
protected <K, V> LuceneResultStruct<K, V> mockLuceneResultStruct(K key, V value) {
|
||||
LuceneResultStruct<K, V> mockLuceneResultStruct = mock(LuceneResultStruct.class);
|
||||
LuceneResultStruct<K, V> mockLuceneResultStruct =
|
||||
mock(LuceneResultStruct.class, String.format("MockLuceneResultStruct$%1$s", key));
|
||||
|
||||
when(mockLuceneResultStruct.getKey()).thenReturn(key);
|
||||
when(mockLuceneResultStruct.getValue()).thenReturn(value);
|
||||
|
||||
return mockLuceneResultStruct;
|
||||
|
||||
Reference in New Issue
Block a user