From d14d78390fda6a8604966d596ee178966262a9bc Mon Sep 17 00:00:00 2001
From: ulrich <not disclosed>
Date: Sat, 23 Dec 2017 10:05:56 +0000
Subject: [PATCH] Sortierung nach Name hinzugefuegt

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

diff --git a/src/java/de/uhilger/filecms/api/FileMgr.java b/src/java/de/uhilger/filecms/api/FileMgr.java
index f45497f..48d67b5 100644
--- a/src/java/de/uhilger/filecms/api/FileMgr.java
+++ b/src/java/de/uhilger/filecms/api/FileMgr.java
@@ -20,6 +20,9 @@
 
 import de.uhilger.filecms.data.Bild;
 import de.uhilger.filecms.data.FileRef;
+import de.uhilger.filecms.pub.AbstractComparator;
+import de.uhilger.filecms.pub.FileDateComparator;
+import de.uhilger.filecms.pub.FileNameComparator;
 import java.awt.Container;
 import java.awt.Image;
 import java.awt.MediaTracker;
@@ -34,6 +37,7 @@
 import java.io.Reader;
 import java.security.Principal;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Enumeration;
 import java.util.Iterator;
 import java.util.List;
@@ -68,6 +72,26 @@
    * @return 
    */
   public List<FileRef> list(String relPath) {
+    return listInt(relPath, "name", AbstractComparator.ORDER_ASC);
+  }
+  
+  public List<FileRef> listOrdered(String relPath, String orderBy, String order) {
+    return listInt(relPath, orderBy, order);
+  }
+  
+  /**
+   * Inhalte der WebBox listen. Hier wird nur der relative Pfad 
+   * ausgehend von www oder home ausgegeben sowie zudem ausgehend 
+   * von $daten und $basis, sofern der Benutzer die Rolle wbxAdmin hat.
+   * 
+   * Andere Inhalte werden nicht ausgegeben.
+   * 
+   * @param relPath
+   * @param orderBy 'name'
+   * @param order AbstractComparator.ORDER_ASC oder AbstractComparator.ORDER_DESC
+   * @return 
+   */
+  private List<FileRef> listInt(String relPath, String orderBy, String order) {
     Bild bild = new Bild();
     List<FileRef> files = new ArrayList();
     if(relPath.length() == 0) {
@@ -90,6 +114,11 @@
       File dir = new File(path);
       if(dir.exists()) {
         File[] fileArray = dir.listFiles();
+        if(orderBy != null && orderBy.equalsIgnoreCase("name")) {
+          Arrays.sort(fileArray, new FileNameComparator(order));
+        } else {
+          Arrays.sort(fileArray, new FileNameComparator(AbstractComparator.ORDER_ASC));          
+        }
         for(int i = 0; i < fileArray.length; i++) {
           logger.fine(fileArray[i].toURI().toString());
           String fname = fileArray[i].toURI().toString().replace("file:/", "");
@@ -106,6 +135,7 @@
     return files;
   }
   
+  
   public FileRef newFolder(String relPath, String folderName) {
     logger.finer(relPath);
     String targetPath = null;

--
Gitblit v1.9.3