Search in sources :

Example 56 with VirtualFileSystem

use of org.eclipse.che.api.vfs.VirtualFileSystem in project che by eclipse.

the class FSLuceneSearcherTest 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);
}
Also used : VirtualFile(org.eclipse.che.api.vfs.VirtualFile) VirtualFileSystem(org.eclipse.che.api.vfs.VirtualFileSystem) MemoryVirtualFileSystem(org.eclipse.che.api.vfs.impl.memory.MemoryVirtualFileSystem) QueryExpression(org.eclipse.che.api.vfs.search.QueryExpression) Test(org.testng.annotations.Test)

Example 57 with VirtualFileSystem

use of org.eclipse.che.api.vfs.VirtualFileSystem in project che by eclipse.

the class FSLuceneSearcherTest method searchesByTextAndPath.

@Test
public void searchesByTextAndPath() throws Exception {
    VirtualFileSystem virtualFileSystem = virtualFileSystem();
    VirtualFile folder1 = virtualFileSystem.getRoot().createFolder("folder1/a/b");
    VirtualFile folder2 = virtualFileSystem.getRoot().createFolder("folder2");
    folder1.createFile("xxx.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")).getFilePaths();
    assertEquals(newArrayList("/folder1/a/b/xxx.txt"), paths);
}
Also used : VirtualFile(org.eclipse.che.api.vfs.VirtualFile) VirtualFileSystem(org.eclipse.che.api.vfs.VirtualFileSystem) MemoryVirtualFileSystem(org.eclipse.che.api.vfs.impl.memory.MemoryVirtualFileSystem) QueryExpression(org.eclipse.che.api.vfs.search.QueryExpression) Test(org.testng.annotations.Test)

Example 58 with VirtualFileSystem

use of org.eclipse.che.api.vfs.VirtualFileSystem in project che by eclipse.

the class FSLuceneSearcherTest method generatesQueryExpressionForRetrievingNextPageOfResults.

@Test
public void generatesQueryExpressionForRetrievingNextPageOfResults() 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("spaceflight").setMaxItems(7));
    assertEquals(25, result.getTotalHits());
    Optional<QueryExpression> optionalNextPageQueryExpression = result.getNextPageQueryExpression();
    assertTrue(optionalNextPageQueryExpression.isPresent());
    QueryExpression nextPageQueryExpression = optionalNextPageQueryExpression.get();
    assertEquals("spaceflight", nextPageQueryExpression.getText());
    assertEquals(7, nextPageQueryExpression.getSkipCount());
    assertEquals(7, nextPageQueryExpression.getMaxItems());
}
Also used : VirtualFileSystem(org.eclipse.che.api.vfs.VirtualFileSystem) MemoryVirtualFileSystem(org.eclipse.che.api.vfs.impl.memory.MemoryVirtualFileSystem) SearchResult(org.eclipse.che.api.vfs.search.SearchResult) QueryExpression(org.eclipse.che.api.vfs.search.QueryExpression) Test(org.testng.annotations.Test)

Example 59 with VirtualFileSystem

use of org.eclipse.che.api.vfs.VirtualFileSystem in project che by eclipse.

the class FSLuceneSearcherTest 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());
}
Also used : VirtualFileSystem(org.eclipse.che.api.vfs.VirtualFileSystem) MemoryVirtualFileSystem(org.eclipse.che.api.vfs.impl.memory.MemoryVirtualFileSystem) SearchResult(org.eclipse.che.api.vfs.search.SearchResult) QueryExpression(org.eclipse.che.api.vfs.search.QueryExpression) Test(org.testng.annotations.Test)

Example 60 with VirtualFileSystem

use of org.eclipse.che.api.vfs.VirtualFileSystem in project che by eclipse.

the class FSLuceneSearcherTest method searchesByTextAndFileName.

@Test
public void searchesByTextAndFileName() throws Exception {
    VirtualFileSystem virtualFileSystem = virtualFileSystem();
    VirtualFile folder = virtualFileSystem.getRoot().createFolder("folder");
    folder.createFile("xxx.txt", TEST_CONTENT[2]);
    folder.createFile("zzz.txt", TEST_CONTENT[2]);
    searcher.init(virtualFileSystem);
    List<String> paths = searcher.search(new QueryExpression().setText("be").setName("xxx.txt")).getFilePaths();
    assertEquals(newArrayList("/folder/xxx.txt"), paths);
}
Also used : VirtualFile(org.eclipse.che.api.vfs.VirtualFile) VirtualFileSystem(org.eclipse.che.api.vfs.VirtualFileSystem) MemoryVirtualFileSystem(org.eclipse.che.api.vfs.impl.memory.MemoryVirtualFileSystem) QueryExpression(org.eclipse.che.api.vfs.search.QueryExpression) Test(org.testng.annotations.Test)

Aggregations

VirtualFileSystem (org.eclipse.che.api.vfs.VirtualFileSystem)63 MemoryVirtualFileSystem (org.eclipse.che.api.vfs.impl.memory.MemoryVirtualFileSystem)32 Test (org.junit.Test)29 QueryExpression (org.eclipse.che.api.vfs.search.QueryExpression)28 VirtualFile (org.eclipse.che.api.vfs.VirtualFile)27 Test (org.testng.annotations.Test)18 FolderEntry (org.eclipse.che.api.project.server.FolderEntry)9 Searcher (org.eclipse.che.api.vfs.search.Searcher)7 SearchResult (org.eclipse.che.api.vfs.search.SearchResult)6 ServerException (org.eclipse.che.api.core.ServerException)5 Path (java.nio.file.Path)3 SearcherProvider (org.eclipse.che.api.vfs.search.SearcherProvider)3 IOException (java.io.IOException)2 AbstractModule (com.google.inject.AbstractModule)1 Injector (com.google.inject.Injector)1 File (java.io.File)1 InputStream (java.io.InputStream)1 TimeoutException (java.util.concurrent.TimeoutException)1 AtomicReference (java.util.concurrent.atomic.AtomicReference)1 ProjectImporter (org.eclipse.che.api.project.server.importer.ProjectImporter)1