From 311e88e6942f2c06febebca8d0a0146b1acb6314 Mon Sep 17 00:00:00 2001
From: Ulrich <undisclosed>
Date: Tue, 28 Feb 2017 12:57:10 +0000
Subject: [PATCH] cut, copy, paste (in Arbeit)

---
 src/java/de/uhilger/filecms/api/FileMgr.java |   38 +++++++++++++++++++++++++++++++++-----
 1 files changed, 33 insertions(+), 5 deletions(-)

diff --git a/src/java/de/uhilger/filecms/api/FileMgr.java b/src/java/de/uhilger/filecms/api/FileMgr.java
index d70f816..d045623 100644
--- a/src/java/de/uhilger/filecms/api/FileMgr.java
+++ b/src/java/de/uhilger/filecms/api/FileMgr.java
@@ -20,13 +20,13 @@
 
 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;
@@ -122,6 +122,31 @@
     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 {
@@ -162,7 +187,7 @@
   /* ---- 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());
@@ -171,15 +196,18 @@
     } 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;
   }

--
Gitblit v1.9.3