Example usage for org.apache.lucene.store FileSwitchDirectory FileSwitchDirectory

List of usage examples for org.apache.lucene.store FileSwitchDirectory FileSwitchDirectory

Introduction

In this page you can find the example usage for org.apache.lucene.store FileSwitchDirectory FileSwitchDirectory.

Prototype

public FileSwitchDirectory(Set<String> primaryExtensions, Directory primaryDir, Directory secondaryDir,
            boolean doClose) 

Source Link

Usage

From source file:org.elasticsearch.index.store.DirectoryUtilsTest.java

License:Apache License

@Test
public void testGetLeave() throws IOException {
    File file = ElasticsearchTestCase.newTempDir(LifecycleScope.TEST);
    final int iters = scaledRandomIntBetween(10, 100);
    for (int i = 0; i < iters; i++) {
        {/*w  ww.  j  a  va 2  s  .  co  m*/
            BaseDirectoryWrapper dir = newFSDirectory(file);
            FSDirectory directory = DirectoryUtils.getLeaf(new FilterDirectory(dir) {
            }, FSDirectory.class, null);
            assertThat(directory, notNullValue());
            assertThat(directory, sameInstance(DirectoryUtils.getLeafDirectory(dir, null)));
            dir.close();
        }

        {
            BaseDirectoryWrapper dir = newFSDirectory(file);
            FSDirectory directory = DirectoryUtils.getLeaf(dir, FSDirectory.class, null);
            assertThat(directory, notNullValue());
            assertThat(directory, sameInstance(DirectoryUtils.getLeafDirectory(dir, null)));
            dir.close();
        }

        {
            Set<String> stringSet = Collections.emptySet();
            BaseDirectoryWrapper dir = newFSDirectory(file);
            FSDirectory directory = DirectoryUtils.getLeaf(
                    new FileSwitchDirectory(stringSet, dir, dir, random().nextBoolean()), FSDirectory.class,
                    null);
            assertThat(directory, notNullValue());
            assertThat(directory, sameInstance(DirectoryUtils.getLeafDirectory(dir, null)));
            dir.close();
        }

        {
            Set<String> stringSet = Collections.emptySet();
            BaseDirectoryWrapper dir = newFSDirectory(file);
            FSDirectory directory = DirectoryUtils.getLeaf(
                    new FilterDirectory(new FileSwitchDirectory(stringSet, dir, dir, random().nextBoolean())) {
                    }, FSDirectory.class, null);
            assertThat(directory, notNullValue());
            assertThat(directory, sameInstance(DirectoryUtils.getLeafDirectory(dir, null)));
            dir.close();
        }

        {
            Set<String> stringSet = Collections.emptySet();
            BaseDirectoryWrapper dir = newFSDirectory(file);
            RAMDirectory directory = DirectoryUtils.getLeaf(
                    new FilterDirectory(new FileSwitchDirectory(stringSet, dir, dir, random().nextBoolean())) {
                    }, RAMDirectory.class, null);
            assertThat(directory, nullValue());
            dir.close();
        }

    }
}

From source file:org.elasticsearch.index.store.DirectoryUtilsTests.java

License:Apache License

@Test
public void testGetLeave() throws IOException {
    Path file = createTempDir();/*from   ww w. j  a  v  a 2 s.  c om*/
    final int iters = scaledRandomIntBetween(10, 100);
    for (int i = 0; i < iters; i++) {
        {
            BaseDirectoryWrapper dir = newFSDirectory(file);
            FSDirectory directory = DirectoryUtils.getLeaf(new FilterDirectory(dir) {
            }, FSDirectory.class, null);
            assertThat(directory, notNullValue());
            assertThat(directory, sameInstance(DirectoryUtils.getLeafDirectory(dir, null)));
            dir.close();
        }

        {
            BaseDirectoryWrapper dir = newFSDirectory(file);
            FSDirectory directory = DirectoryUtils.getLeaf(dir, FSDirectory.class, null);
            assertThat(directory, notNullValue());
            assertThat(directory, sameInstance(DirectoryUtils.getLeafDirectory(dir, null)));
            dir.close();
        }

        {
            Set<String> stringSet = Collections.emptySet();
            BaseDirectoryWrapper dir = newFSDirectory(file);
            FSDirectory directory = DirectoryUtils.getLeaf(
                    new FileSwitchDirectory(stringSet, dir, dir, random().nextBoolean()), FSDirectory.class,
                    null);
            assertThat(directory, notNullValue());
            assertThat(directory, sameInstance(DirectoryUtils.getLeafDirectory(dir, null)));
            dir.close();
        }

        {
            Set<String> stringSet = Collections.emptySet();
            BaseDirectoryWrapper dir = newFSDirectory(file);
            FSDirectory directory = DirectoryUtils.getLeaf(
                    new FilterDirectory(new FileSwitchDirectory(stringSet, dir, dir, random().nextBoolean())) {
                    }, FSDirectory.class, null);
            assertThat(directory, notNullValue());
            assertThat(directory, sameInstance(DirectoryUtils.getLeafDirectory(dir, null)));
            dir.close();
        }

        {
            Set<String> stringSet = Collections.emptySet();
            BaseDirectoryWrapper dir = newFSDirectory(file);
            RAMDirectory directory = DirectoryUtils.getLeaf(
                    new FilterDirectory(new FileSwitchDirectory(stringSet, dir, dir, random().nextBoolean())) {
                    }, RAMDirectory.class, null);
            assertThat(directory, nullValue());
            dir.close();
        }

    }
}

From source file:org.elasticsearch.index.store.fs.DefaultFsDirectoryService.java

License:Apache License

@Override
protected Directory newFSDirectory(File location, LockFactory lockFactory) throws IOException {
    final MMapDirectory mmapDir = new MMapDirectory(location, lockFactory);
    return new FileSwitchDirectory(PRIMARY_EXTENSIONS, mmapDir, new NIOFSDirectory(location, lockFactory),
            true) {/*from w  w  w . j  a  v  a2 s.c o m*/
        @Override
        public String[] listAll() throws IOException {
            // Avoid doing listAll twice:
            return mmapDir.listAll();
        }
    };
}

From source file:org.elasticsearch.index.store.FsDirectoryService.java

License:Apache License

private Directory newDefaultDir(Path location, final MMapDirectory mmapDir, LockFactory lockFactory)
        throws IOException {
    return new FileSwitchDirectory(PRIMARY_EXTENSIONS, mmapDir, new NIOFSDirectory(location, lockFactory),
            true) {//from  w  ww .  j a  v a2 s . c o m
        @Override
        public String[] listAll() throws IOException {
            // Avoid doing listAll twice:
            return mmapDir.listAll();
        }
    };
}