use of org.apache.geode.cache.lucene.internal.cli.LuceneIndexDetails in project geode by apache.
the class LuceneDescribeIndexFunction method execute.
public void execute(final FunctionContext context) {
LuceneIndexDetails result = null;
final Cache cache = getCache();
final String serverName = cache.getDistributedSystem().getDistributedMember().getName();
final LuceneIndexInfo indexInfo = (LuceneIndexInfo) context.getArguments();
LuceneServiceImpl service = (LuceneServiceImpl) LuceneServiceProvider.get(cache);
LuceneIndex index = service.getIndex(indexInfo.getIndexName(), indexInfo.getRegionPath());
LuceneIndexCreationProfile profile = service.getDefinedIndex(indexInfo.getIndexName(), indexInfo.getRegionPath());
if (index != null) {
result = new LuceneIndexDetails((LuceneIndexImpl) index, serverName);
} else if (profile != null) {
result = new LuceneIndexDetails(profile, serverName);
}
context.getResultSender().lastResult(result);
}
use of org.apache.geode.cache.lucene.internal.cli.LuceneIndexDetails in project geode by apache.
the class LuceneListIndexFunction method execute.
public void execute(final FunctionContext context) {
final Set<LuceneIndexDetails> indexDetailsSet = new HashSet<>();
final Cache cache = getCache();
final String serverName = cache.getDistributedSystem().getDistributedMember().getName();
LuceneServiceImpl service = (LuceneServiceImpl) LuceneServiceProvider.get(cache);
for (LuceneIndex index : service.getAllIndexes()) {
indexDetailsSet.add(new LuceneIndexDetails((LuceneIndexImpl) index, serverName));
}
for (LuceneIndexCreationProfile profile : service.getAllDefinedIndexes()) {
indexDetailsSet.add(new LuceneIndexDetails(profile, serverName));
}
context.getResultSender().lastResult(indexDetailsSet);
}
use of org.apache.geode.cache.lucene.internal.cli.LuceneIndexDetails in project geode by apache.
the class LuceneListIndexFunctionJUnitTest method testExecute.
@Test
@SuppressWarnings("unchecked")
public void testExecute() throws Throwable {
GemFireCacheImpl cache = Fakes.cache();
final String serverName = "mockServer";
LuceneServiceImpl service = mock(LuceneServiceImpl.class);
when(cache.getService(InternalLuceneService.class)).thenReturn(service);
FunctionContext context = mock(FunctionContext.class);
ResultSender resultSender = mock(ResultSender.class);
when(context.getResultSender()).thenReturn(resultSender);
LuceneIndexImpl index1 = getMockLuceneIndex("index1");
LuceneIndexImpl index2 = getMockLuceneIndex("index2");
TreeSet expectedResult = new TreeSet();
expectedResult.add(new LuceneIndexDetails(index1, serverName));
expectedResult.add(new LuceneIndexDetails(index2, serverName));
ArrayList<LuceneIndex> allIndexes = new ArrayList();
allIndexes.add(index1);
allIndexes.add(index2);
when(service.getAllIndexes()).thenReturn(allIndexes);
LuceneListIndexFunction function = new LuceneListIndexFunction();
function = spy(function);
Mockito.doReturn(cache).when(function).getCache();
function.execute(context);
ArgumentCaptor<Set> resultCaptor = ArgumentCaptor.forClass(Set.class);
verify(resultSender).lastResult(resultCaptor.capture());
Set<String> result = resultCaptor.getValue();
assertEquals(2, result.size());
assertEquals(expectedResult, result);
}
use of org.apache.geode.cache.lucene.internal.cli.LuceneIndexDetails in project geode by apache.
the class LuceneDescribeIndexFunctionJUnitTest method testExecute.
@Test
@SuppressWarnings("unchecked")
public void testExecute() throws Throwable {
GemFireCacheImpl cache = Fakes.cache();
final String serverName = "mockServer";
LuceneServiceImpl service = mock(LuceneServiceImpl.class);
when(cache.getService(InternalLuceneService.class)).thenReturn(service);
FunctionContext context = mock(FunctionContext.class);
ResultSender resultSender = mock(ResultSender.class);
LuceneIndexInfo indexInfo = getMockLuceneInfo("index1");
LuceneIndexImpl index1 = getMockLuceneIndex("index1");
LuceneDescribeIndexFunction function = spy(LuceneDescribeIndexFunction.class);
doReturn(indexInfo).when(context).getArguments();
doReturn(resultSender).when(context).getResultSender();
doReturn(cache).when(function).getCache();
when(service.getIndex(indexInfo.getIndexName(), indexInfo.getRegionPath())).thenReturn(index1);
function.execute(context);
ArgumentCaptor<LuceneIndexDetails> resultCaptor = ArgumentCaptor.forClass(LuceneIndexDetails.class);
verify(resultSender).lastResult(resultCaptor.capture());
LuceneIndexDetails result = resultCaptor.getValue();
LuceneIndexDetails expected = new LuceneIndexDetails(index1, "mockServer");
assertEquals(expected.getIndexName(), result.getIndexName());
assertEquals(expected.getRegionPath(), result.getRegionPath());
assertEquals(expected.getIndexStats(), result.getIndexStats());
assertEquals(expected.getFieldAnalyzersString(), result.getFieldAnalyzersString());
assertEquals(expected.getSearchableFieldNamesString(), result.getSearchableFieldNamesString());
}
Aggregations