| | |
| | | import java.util.logging.Level; |
| | | import java.util.logging.Logger; |
| | | import org.apache.commons.io.FileUtils; |
| | | import org.apache.commons.lang.StringEscapeUtils; |
| | | |
| | | /** |
| | | * |
| | |
| | | return result; |
| | | } |
| | | |
| | | public FileRef saveTextFile(String relPath, String fileName, String contents) { |
| | | public FileRef saveTextFileAs(String relPath, String fileName, String contents) { |
| | | FileRef savedFile = null; |
| | | logger.fine(relPath + " " + fileName); |
| | | //FileRef datenRef = getBase(); |
| | | Object p = getRequest().getUserPrincipal(); |
| | | if(p instanceof Principal) { |
| | | File targetFile = new File(getTargetDir(relPath), fileName); |
| | | if(targetFile.exists()) { |
| | | targetFile = getNewFileName(targetFile); |
| | | } else { |
| | | targetFile.getParentFile().mkdirs(); |
| | | } |
| | | saveToFile(targetFile, contents); |
| | | } |
| | | return savedFile; |
| | | } |
| | | |
| | | private File getNewFileName(File file) { |
| | | File dir = file.getParentFile(); |
| | | String targetName = file.getName(); |
| | | logger.fine("targetName: " + targetName); |
| | | String ext = ""; |
| | | int dotpos = targetName.indexOf("."); |
| | | if(dotpos > -1) { |
| | | ext = targetName.substring(dotpos); |
| | | targetName = targetName.substring(0, dotpos); |
| | | } |
| | | logger.fine("targetName: " + targetName + ", ext: " + ext); |
| | | int i = 1; |
| | | while(file.exists()) { |
| | | StringBuffer buf = new StringBuffer(); |
| | | buf.append(targetName); |
| | | buf.append("-"); |
| | | buf.append(i); |
| | | if(ext.length() > 0) { |
| | | buf.append(ext); |
| | | } |
| | | file = new File(dir, buf.toString()); |
| | | i++; |
| | | } |
| | | logger.fine("new file: " + file.getName()); |
| | | return file; |
| | | } |
| | | |
| | | private FileRef saveToFile(File targetFile, String contents) { |
| | | FileRef savedFile = null; |
| | | try { |
| | | FileRef datenRef = getBase(); |
| | | Object p = getRequest().getUserPrincipal(); |
| | | if(p instanceof Principal) { |
| | | File targetFile = new File(getTargetDir(relPath), fileName); |
| | | if(targetFile.exists()) { |
| | | /* |
| | | muss delete() sein? |
| | | pruefen: ueberschreibt der FileWriter den alteen Inhalt oder |
| | | entsteht eine unerwuenschte Mischung aus altem und neuem |
| | | Inhalt? |
| | | */ |
| | | targetFile.delete(); |
| | | } else { |
| | | targetFile.getParentFile().mkdirs(); |
| | | } |
| | | targetFile.createNewFile(); |
| | | FileWriter w = new FileWriter(targetFile); |
| | | w.write(contents); |
| | | w.flush(); |
| | | w.close(); |
| | | savedFile = new FileRef( |
| | | targetFile.getAbsolutePath(), |
| | | targetFile.isDirectory(), |
| | | targetFile.isHidden(), |
| | | targetFile.lastModified(), |
| | | targetFile.length()); |
| | | } |
| | | targetFile.createNewFile(); |
| | | FileWriter w = new FileWriter(targetFile); |
| | | //w.write(StringEscapeUtils.unescapeHtml(contents)); |
| | | w.write(contents); |
| | | w.flush(); |
| | | w.close(); |
| | | savedFile = new FileRef( |
| | | targetFile.getAbsolutePath(), |
| | | targetFile.isDirectory(), |
| | | targetFile.isHidden(), |
| | | targetFile.lastModified(), |
| | | targetFile.length()); |
| | | } catch (IOException ex) { |
| | | logger.log(Level.SEVERE, null, ex); |
| | | logger.log(Level.SEVERE, ex.getLocalizedMessage(), ex); |
| | | } |
| | | return savedFile; |
| | | } |
| | | |
| | | public FileRef saveTextFile(String relPath, String fileName, String contents) { |
| | | FileRef savedFile = null; |
| | | logger.fine(relPath + " " + fileName); |
| | | //FileRef datenRef = getBase(); |
| | | Object p = getRequest().getUserPrincipal(); |
| | | if(p instanceof Principal) { |
| | | File targetFile = new File(getTargetDir(relPath), fileName); |
| | | if(targetFile.exists()) { |
| | | /* |
| | | muss delete() sein? |
| | | pruefen: ueberschreibt der FileWriter den alteen Inhalt oder |
| | | entsteht eine unerwuenschte Mischung aus altem und neuem |
| | | Inhalt? |
| | | */ |
| | | targetFile.delete(); |
| | | } else { |
| | | targetFile.getParentFile().mkdirs(); |
| | | } |
| | | saveToFile(targetFile, contents); |
| | | } |
| | | return savedFile; |
| | | } |