From fafe1b3b2b35a3c032a367d5ed76b243f6d654a9 Mon Sep 17 00:00:00 2001
From: ulrich <undisclosed>
Date: Fri, 07 Jul 2017 06:11:29 +0000
Subject: [PATCH] API fuer Listings aus der oeffentlichen Ablage hinzugefuegt

---
 src/java/de/uhilger/filecms/pub/Catalog.java |   70 +++++++++++++++++++++++++++++++++++
 src/java/de/uhilger/filecms/api/FileMgr.java |    3 -
 2 files changed, 71 insertions(+), 2 deletions(-)

diff --git a/src/java/de/uhilger/filecms/api/FileMgr.java b/src/java/de/uhilger/filecms/api/FileMgr.java
index 3e9151e..f45497f 100644
--- a/src/java/de/uhilger/filecms/api/FileMgr.java
+++ b/src/java/de/uhilger/filecms/api/FileMgr.java
@@ -44,8 +44,7 @@
 import org.apache.commons.io.FileUtils;
 
 /**
- *
- * @author ulrich
+ * Methoden zur Verwaltung von Dateien
  */
 public class FileMgr extends Api {
   private static final Logger logger = Logger.getLogger(FileMgr.class.getName());
diff --git a/src/java/de/uhilger/filecms/pub/Catalog.java b/src/java/de/uhilger/filecms/pub/Catalog.java
new file mode 100644
index 0000000..b62a01a
--- /dev/null
+++ b/src/java/de/uhilger/filecms/pub/Catalog.java
@@ -0,0 +1,70 @@
+/*
+    Dateiverwaltung - File management in your browser
+    Copyright (C) 2017 Ulrich Hilger, http://uhilger.de
+
+    This program is free software: you can redistribute it and/or modify
+    it under the terms of the GNU Affero General Public License as
+    published by the Free Software Foundation, either version 3 of the
+    License, or (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU Affero General Public License for more details.
+
+    You should have received a copy of the GNU Affero General Public License
+    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+*/
+
+package de.uhilger.filecms.pub;
+
+import de.uhilger.filecms.api.Api;
+import de.uhilger.filecms.data.Bild;
+import de.uhilger.filecms.data.FileRef;
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.logging.Logger;
+
+/**
+ * Methoden zur Arbeit mit Inhalten in der oeffentlichen 
+ * Ablage einer WebBox
+ */
+public class Catalog extends Api {
+
+  private static final Logger logger = Logger.getLogger(Catalog.class.getName());
+  
+  /**
+   * Inhalte der WebBox listen. Hier wird nur ausgegeben was mit 
+   * einer relativen Pfadangabe ausgehend von www, der oeffentlichen 
+   * Ablage einer WeBox, erreichbar ist. 
+   * 
+   * Andere Inhalte werden nicht ausgegeben.
+   * 
+   * @param relPath der relative Pfad, der von www aus gelistet werden soll, ohne www
+   * @return Liste der Dateien und Ordner am Ort relPath
+   */
+  public List<FileRef> list(String relPath) {
+    Bild bild = new Bild();
+    List<FileRef> files = new ArrayList();
+    StringBuffer path = new StringBuffer(PUB_DIR_PATH); // www/
+    path.append(relPath);
+    File dir = new File(getBase().getAbsolutePath(), path.toString());
+    if(dir.exists()) {
+      File[] fileArray = dir.listFiles();
+      for(int i = 0; i < fileArray.length; i++) {
+        logger.fine(fileArray[i].toURI().toString());
+        String fname = fileArray[i].toURI().toString().replace("file:/", "");
+        if(fileArray[i].isDirectory()) {
+          fname = fname.substring(0, fname.length() - 1);
+        }
+        logger.fine(fname);
+        FileRef ref = new FileRef(fname, fileArray[i].isDirectory());
+        ref.setMimetype(bild.getMimeType(fileArray[i]));
+        files.add(ref);
+      }
+    }
+    return files;
+  }
+  
+}

--
Gitblit v1.9.3