/* * Hibernate Search, full-text search for your domain model * * License: GNU Lesser General Public License (LGPL), version 2.1 or later * See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>. */ package org.hibernate.search.engineperformance; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import org.hibernate.search.util.impl.FileHelper; class BaseIndexSetup { /** * Set this system property to an alternative path if you don't * want the filesystem based performance tests to be run on your * default temp path. */ private static final String INDEX_PATH_PROPERTY = "index-path"; /** * Prefix used to identify the generated temporary directories for * running tests which need writing to a filesystem. */ private static final String TEST_DIR_PREFIX = "HibernateSearch-Perftests-"; //Instance variable to allow cleanup after benchmark execution private Path createdTempDirectory; protected Path pickIndexStorageDirectory() throws IOException { String userSelectedPath = System.getProperty( INDEX_PATH_PROPERTY ); if ( userSelectedPath != null ) { Path pathPrefix = Paths.get( userSelectedPath ); createdTempDirectory = Files.createTempDirectory( pathPrefix, TEST_DIR_PREFIX ); } else { createdTempDirectory = Files.createTempDirectory( TEST_DIR_PREFIX ); } return createdTempDirectory; } protected void cleanup() throws IOException { FileHelper.tryDelete( createdTempDirectory ); } }