| | |
| | | |
| | | import de.uhilger.filecms.web.Initialiser; |
| | | import de.uhilger.filesystem.FileRef; |
| | | import de.uhilger.filesystem.FileSystem; |
| | | import de.uhilger.filesystem.LocalFileSystem; |
| | | import java.io.File; |
| | | import java.io.FileNotFoundException; |
| | | import java.io.FileReader; |
| | | import java.io.FileWriter; |
| | | import java.io.IOException; |
| | | import java.io.StringReader; |
| | | import java.security.Principal; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | |
| | | return code; |
| | | } |
| | | |
| | | public String deleteFiles(String relPath, List fileNames) { |
| | | String result = null; |
| | | try { |
| | | FileRef[] delRefs = new FileRef[fileNames.size()]; |
| | | logger.fine(fileNames.toString()); |
| | | File targetDir = getTargetDir(relPath); |
| | | for(int i=0; i < fileNames.size(); i++) { |
| | | Object o = fileNames.get(i); |
| | | if(o instanceof ArrayList) { |
| | | ArrayList al = (ArrayList) o; |
| | | logger.fine(al.get(0).toString()); |
| | | File targetFile = new File(targetDir, al.get(0).toString()); |
| | | logger.fine(targetFile.getAbsolutePath()); |
| | | delRefs[i] = new FileRef(targetFile.getAbsolutePath(), targetFile.isDirectory()); |
| | | } |
| | | } |
| | | FileSystem fs = new LocalFileSystem(); |
| | | fs.delete(delRefs); |
| | | result = "deleted"; |
| | | } catch (Throwable ex) { |
| | | logger.log(Level.SEVERE, ex.getLocalizedMessage(), ex); |
| | | } |
| | | return result; |
| | | } |
| | | |
| | | public FileRef saveTextFile(String relPath, String fileName, String contents) { |
| | | FileRef savedFile = null; |
| | | try { |
| | |
| | | /* ---- Hilfsfunktionen ---- */ |
| | | |
| | | private File getTargetDir(String relPath) { |
| | | logger.finer(relPath); |
| | | logger.fine(relPath); |
| | | String targetPath = null; |
| | | if(relPath.startsWith(PUB_DIR_NAME)) { |
| | | targetPath = PUB_DIR_PATH + getUserName() + "/" + relPath.substring(PUB_DIR_NAME.length()); |
| | |
| | | } else { |
| | | // kann eigentlich nicht sein.. |
| | | } |
| | | logger.finer(targetPath); |
| | | logger.fine(targetPath); |
| | | File targetDir = new File(getBase().getAbsolutePath(), targetPath); |
| | | return targetDir; |
| | | } |
| | | private FileRef getBase() { |
| | | FileRef base = null; |
| | | Object o = getServletContext().getAttribute(Initialiser.FILE_BASE); |
| | | if(o instanceof FileRef) { |
| | | base = (FileRef) o; |
| | | if(o instanceof String) { |
| | | String baseStr = (String) o; |
| | | logger.fine(baseStr); |
| | | File file = new File(baseStr); |
| | | base = new FileRef(file.getAbsolutePath(), file.isDirectory()); |
| | | } |
| | | return base; |
| | | } |