private static boolean performPreemptiveSystemCheck() { File tmpDir = DirectorySettings.getTmpDirectory(); File cacheDir = DirectorySettings.getCacheDirectory(); File medsavantDir = DirectorySettings.getMedSavantDirectory(); System.out.println("Directory information:"); System.out.println( " TMP DIRECTORY: " + tmpDir.getAbsolutePath() + " has permissions " + permissions(tmpDir)); System.out.println( " MEDSAVANT DIRECTORY: " + medsavantDir.getAbsolutePath() + " has permissions " + permissions(medsavantDir)); System.out.println( " CACHE DIRECTORY: " + cacheDir.getAbsolutePath() + " has permissions " + permissions(cacheDir)); System.out.println(); boolean passed = true; if (!completelyPermissive(tmpDir)) { System.out.println( "ERROR: " + tmpDir.getAbsolutePath() + " does not have appropriate permissions (require rwx)"); passed = false; } if (!completelyPermissive(medsavantDir)) { System.out.println( "ERROR: " + medsavantDir.getAbsolutePath() + " does not have appropriate permissions (require rwx)"); passed = false; } if (!completelyPermissive(cacheDir)) { System.out.println( "ERROR: " + cacheDir.getAbsolutePath() + " does not have appropriate permissions (require rwx)"); passed = false; } try { File cacheNow = DirectorySettings.generateDateStampDirectory(cacheDir); if (!completelyPermissive(cacheNow)) { System.out.println( "ERROR: Directories created inside " + cacheDir + " do not have appropriate permissions (require rwx)"); passed = false; } } catch (IOException ex) { System.out.println("ERROR: Couldn't create directory inside " + cacheDir.getAbsolutePath()); passed = false; } try { File tmpNow = DirectorySettings.generateDateStampDirectory(tmpDir); if (!completelyPermissive(tmpNow)) { System.out.println( "ERROR: Directories created inside " + tmpDir + " do not have appropriate permissions (require rwx)"); passed = false; } } catch (IOException ex) { System.out.println("ERROR: Couldn't create directory inside " + tmpDir.getAbsolutePath()); passed = false; } return passed; }