| | |
| | | |
| | | 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.security.Principal; |
| | |
| | | return new FileRef(targetDir.getAbsolutePath(), true); |
| | | } |
| | | |
| | | public String getCode(String relPath, String fileName) { |
| | | String code = null; |
| | | |
| | | Object p = getRequest().getUserPrincipal(); |
| | | if(p instanceof Principal) { |
| | | FileReader reader = null; |
| | | try { |
| | | File targetFile = new File(getTargetDir(relPath), fileName); |
| | | reader = new FileReader(targetFile); |
| | | StringBuffer buf = new StringBuffer(); |
| | | char[] readBuffer = new char[1024]; |
| | | int charsRead = reader.read(readBuffer); |
| | | while(charsRead > -1) { |
| | | buf.append(readBuffer, 0, charsRead); |
| | | charsRead = reader.read(readBuffer); |
| | | } |
| | | code = buf.toString(); |
| | | } catch (FileNotFoundException ex) { |
| | | Logger.getLogger(FileMgr.class.getName()).log(Level.SEVERE, null, ex); |
| | | } catch (IOException ex) { |
| | | Logger.getLogger(FileMgr.class.getName()).log(Level.SEVERE, null, ex); |
| | | } finally { |
| | | try { |
| | | reader.close(); |
| | | } catch (IOException ex) { |
| | | Logger.getLogger(FileMgr.class.getName()).log(Level.SEVERE, null, ex); |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | 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 { |
| | | FileRef datenRef = getBase(); |
| | | File daten = new File(datenRef.getAbsolutePath()); |
| | | //File daten = new File(datenRef.getAbsolutePath()); |
| | | Object p = getRequest().getUserPrincipal(); |
| | | if(p instanceof Principal) { |
| | | File targetFile = new File(getTargetDir(relPath), fileName); |