/* * 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) ; } }