1 31 32 package org.opencms.setup.comptest; 33 34 import org.opencms.setup.CmsSetupBean; 35 36 import java.io.File ; 37 import java.io.FileReader ; 38 import java.io.FileWriter ; 39 40 49 public class CmsSetupTestFolderPermissions implements I_CmsSetupTest { 50 51 52 public static final String TEST_NAME = "Folder Permissions"; 53 54 57 public String getName() { 58 59 return TEST_NAME; 60 } 61 62 65 public CmsSetupTestResult execute(CmsSetupBean setupBean) { 66 67 CmsSetupTestResult testResult = new CmsSetupTestResult(this); 68 69 String basePath = setupBean.getWebAppRfsPath(); 70 if (!basePath.endsWith(File.separator)) { 71 basePath += File.separator; 72 } 73 File file1; 74 do { 75 file1 = new File (basePath + "test" + (int)(Math.random() * 1000)); 76 } while (file1.exists()); 77 boolean success = false; 78 try { 79 file1.createNewFile(); 80 FileWriter fw = new FileWriter (file1); 81 fw.write("aA1"); 82 fw.close(); 83 success = true; 84 FileReader fr = new FileReader (file1); 85 success = success && (fr.read() == 'a'); 86 success = success && (fr.read() == 'A'); 87 success = success && (fr.read() == '1'); 88 success = success && (fr.read() == -1); 89 fr.close(); 90 success = file1.delete(); 91 success = !file1.exists(); 92 } catch (Exception e) { 93 success = false; 94 } 95 if (!success) { 96 testResult.setRed(); 97 testResult.setInfo("OpenCms cannot be installed without read and write privileges for path " 98 + basePath 99 + "! Please check you are running your servlet container with the right user and privileges."); 100 testResult.setHelp("Not enough permissions to create/read/write a file"); 101 testResult.setResult(RESULT_FAILED); 102 } else { 103 testResult.setGreen(); 104 testResult.setResult(RESULT_PASSED); 105 } 106 return testResult; 107 } 108 } 109 | Popular Tags |