blob: edf59068cdc76d107ba5d9ffedda8707819eea46 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.jena.tdb;
import org.apache.jena.atlas.lib.FileOps ;
import org.apache.jena.tdb.sys.SystemTDB ;
public class ConfigTest
{
private static String testingDataRoot = "testing" ;
// Place under target
private static final String testingDir = "target/tdb-testing" ;
private static final String testingDirDB = "target/tdb-testing/DB" ;
static boolean nonDeleteableMMapFiles = SystemTDB.isWindows ;
static boolean initialized = false ;
private static void init()
{
FileOps.ensureDir("target") ;
FileOps.ensureDir(testingDir) ;
FileOps.ensureDir(testingDirDB) ;
initialized = true ;
}
private static int count = 0 ;
public static void setTestingDataRoot(String dir) { testingDataRoot = dir ; }
public static String getTestingDataRoot() { return testingDataRoot ; }
/** return a directory */
public static final String getCleanDir() {
init() ;
String dir = nonDeleteableMMapFiles ? getTestingDirUnique() : getTestingDirDB() ;
FileOps.ensureDir(dir);
FileOps.clearDirectory(dir) ;
return dir ;
}
/** Get a empty directory name that has not been used before in this JVM */
private static final String getTestingDirUnique()
{
init() ;
String dn = testingDir+"/D-"+(++count) ;
FileOps.ensureDir(dn) ;
FileOps.clearDirectory(dn) ;
return dn ;
}
public static final String getTestingDir()
{
init() ;
return testingDir ;
}
public static final void deleteTestingDir()
{
if ( ! FileOps.exists(testingDir) )
return ;
deleteTestingDirDB() ;
FileOps.clearDirectory(testingDir) ;
FileOps.deleteSilent(testingDir) ;
}
public static final String getTestingDirDB()
{
init() ;
FileOps.ensureDir(testingDirDB) ;
return testingDirDB ;
}
public static final void deleteTestingDirDB()
{
if ( ! FileOps.exists(testingDirDB) )
return ;
FileOps.clearDirectory(testingDirDB) ;
FileOps.deleteSilent(testingDirDB) ;
}
}