use of org.eclipse.che.api.vfs.search.QueryExpression in project che by eclipse.
the class MemoryLuceneSearcherTest method searchesByTextAndPathAndFileName.
@Test
public void searchesByTextAndPathAndFileName() throws Exception {
VirtualFileSystem virtualFileSystem = virtualFileSystem();
VirtualFile folder1 = virtualFileSystem.getRoot().createFolder("folder1/a/b");
VirtualFile folder2 = virtualFileSystem.getRoot().createFolder("folder2/a/b");
folder1.createFile("xxx.txt", TEST_CONTENT[2]);
folder1.createFile("yyy.txt", TEST_CONTENT[2]);
folder2.createFile("zzz.txt", TEST_CONTENT[2]);
searcher.init(virtualFileSystem);
List<String> paths = searcher.search(new QueryExpression().setText("be").setPath("/folder1").setName("xxx.txt")).getFilePaths();
assertEquals(newArrayList("/folder1/a/b/xxx.txt"), paths);
}
use of org.eclipse.che.api.vfs.search.QueryExpression in project che by eclipse.
the class MemoryLuceneSearcherTest method limitsNumberOfSearchResultsWhenMaxItemIsSet.
@Test
public void limitsNumberOfSearchResultsWhenMaxItemIsSet() throws Exception {
VirtualFileSystem virtualFileSystem = virtualFileSystem();
for (int i = 0; i < 100; i++) {
virtualFileSystem.getRoot().createFile(String.format("file%02d", i), TEST_CONTENT[i % TEST_CONTENT.length]);
}
searcher.init(virtualFileSystem);
SearchResult result = searcher.search(new QueryExpression().setText("mission").setMaxItems(5));
assertEquals(25, result.getTotalHits());
assertEquals(5, result.getFilePaths().size());
}
use of org.eclipse.che.api.vfs.search.QueryExpression in project che by eclipse.
the class MemoryLuceneSearcherTest method deletesFileTreeFromIndex.
@Test
public void deletesFileTreeFromIndex() throws Exception {
VirtualFileSystem virtualFileSystem = virtualFileSystem();
VirtualFile folder = virtualFileSystem.getRoot().createFolder("folder");
folder.createFile("xxx.txt", TEST_CONTENT[2]);
folder.createFile("zzz.txt", TEST_CONTENT[1]);
searcher.init(virtualFileSystem);
List<String> paths = searcher.search(new QueryExpression().setText("be")).getFilePaths();
assertEquals(newArrayList("/folder/xxx.txt"), paths);
paths = searcher.search(new QueryExpression().setText("should")).getFilePaths();
assertEquals(newArrayList("/folder/zzz.txt"), paths);
searcher.delete("/folder", false);
paths = searcher.search(new QueryExpression().setText("be")).getFilePaths();
assertTrue(paths.isEmpty());
paths = searcher.search(new QueryExpression().setText("should")).getFilePaths();
assertTrue(paths.isEmpty());
}
use of org.eclipse.che.api.vfs.search.QueryExpression in project che by eclipse.
the class MemoryLuceneSearcherTest method retrievesSearchResultWithPages.
@Test
public void retrievesSearchResultWithPages() throws Exception {
VirtualFileSystem virtualFileSystem = virtualFileSystem();
for (int i = 0; i < 100; i++) {
virtualFileSystem.getRoot().createFile(String.format("file%02d", i), TEST_CONTENT[i % TEST_CONTENT.length]);
}
searcher.init(virtualFileSystem);
SearchResult firstPage = searcher.search(new QueryExpression().setText("spaceflight").setMaxItems(8));
assertEquals(8, firstPage.getFilePaths().size());
QueryExpression nextPageQueryExpression = firstPage.getNextPageQueryExpression().get();
nextPageQueryExpression.setMaxItems(100);
SearchResult lastPage = searcher.search(nextPageQueryExpression);
assertEquals(17, lastPage.getFilePaths().size());
assertTrue(Collections.disjoint(firstPage.getFilePaths(), lastPage.getFilePaths()));
}
use of org.eclipse.che.api.vfs.search.QueryExpression in project che by eclipse.
the class FSLuceneSearcherTest method initializesIndexForExistedFiles.
@Test
public void initializesIndexForExistedFiles() throws Exception {
VirtualFileSystem virtualFileSystem = virtualFileSystem();
VirtualFile folder = virtualFileSystem.getRoot().createFolder("folder");
folder.createFile("xxx.txt", TEST_CONTENT[2]);
folder.createFile("zzz.txt", TEST_CONTENT[1]);
searcher.init(virtualFileSystem);
List<String> paths = searcher.search(new QueryExpression().setText("think")).getFilePaths();
assertEquals(newArrayList("/folder/zzz.txt"), paths);
}
Aggregations