package org.infinispan.query.blackbox; import java.io.File; import org.infinispan.commons.util.Util; import org.infinispan.configuration.cache.ConfigurationBuilder; import org.infinispan.configuration.cache.Index; import org.infinispan.manager.EmbeddedCacheManager; import org.infinispan.query.test.AnotherGrassEater; import org.infinispan.query.test.Person; import org.infinispan.test.TestingUtil; import org.infinispan.test.fwk.TestCacheManagerFactory; import org.testng.annotations.Test; /** * Run the basic set of operations with filesystem-based index storage. * The default FSDirectory implementation for non Windows systems should be NIOFSDirectory. * SimpleFSDirectory implementation will be used on Windows. * * @author Martin Gencur */ @Test(groups = "functional", testName = "query.blackbox.LocalCacheFSDirectoryTest") public class LocalCacheFSDirectoryTest extends LocalCacheTest { private final String indexDirectory = TestingUtil.tmpDirectory(this.getClass()); @Override protected EmbeddedCacheManager createCacheManager() throws Exception { ConfigurationBuilder cfg = getDefaultStandaloneCacheConfig(true); cfg.indexing().index(Index.ALL) .addIndexedEntity(Person.class) .addIndexedEntity(AnotherGrassEater.class) .addProperty("default.directory_provider", "filesystem") .addProperty("default.indexBase", indexDirectory) .addProperty("error_handler", "org.infinispan.query.helper.StaticTestingErrorHandler") .addProperty("lucene_version", "LUCENE_CURRENT"); return TestCacheManagerFactory.createCacheManager(cfg); } @Override protected void setup() throws Exception { Util.recursiveFileRemove(indexDirectory); new File(indexDirectory).mkdirs(); super.setup(); } @Override protected void teardown() { try { super.teardown(); } finally { Util.recursiveFileRemove(indexDirectory); } } }