From 17414d294543dddddad631bb427d2349326edfaf Mon Sep 17 00:00:00 2001
From: ulrich <undisclosed>
Date: Fri, 04 Aug 2017 13:49:30 +0000
Subject: [PATCH] Sortierung berichtigt

---
 src/java/de/uhilger/filecms/pub/FileDateComparator.java |   23 +++++++++++++++++------
 1 files changed, 17 insertions(+), 6 deletions(-)

diff --git a/src/java/de/uhilger/filecms/pub/FileDateComparator.java b/src/java/de/uhilger/filecms/pub/FileDateComparator.java
index 2413790..f94919c 100644
--- a/src/java/de/uhilger/filecms/pub/FileDateComparator.java
+++ b/src/java/de/uhilger/filecms/pub/FileDateComparator.java
@@ -2,6 +2,8 @@
 
 import java.io.File;
 import java.util.Comparator;
+import java.util.Date;
+import java.util.logging.Logger;
 
 /**
  *
@@ -9,6 +11,8 @@
  */
 public class FileDateComparator implements Comparator {
   
+  private static final Logger logger = Logger.getLogger(FileDateComparator.class.getName());
+
   private String order;
   
   public FileDateComparator(String order) {
@@ -26,26 +30,33 @@
       f2 = (File) obj2;
     }
     if(f1 != null && f2 != null) {
-      long l1 = f1.lastModified();
-      long l2 = f2.lastModified();
+      Date l1 = new Date(f1.lastModified());
+      Date l2 = new Date(f2.lastModified());
       if(order != null && order.equalsIgnoreCase("asc")) {
-          if(l1 < l2) {
+          if(l1.before(l2)) {
+            logger.fine("asc: " + f1.getName() + " kleiner " + f2.getName());
             return -1;
-          } else if(l2 > l1) {
+          } else if(l1.after(l2)) {
+            logger.fine("asc: " + f1.getName() + " groesser " + f2.getName());
             return 1;
           } else {
+            logger.fine("asc: " + f1.getName() + " gleich " + f2.getName());
             return 0;
           }
       } else {
-          if(l1 < l2) {
+          if(l1.before(l2)) {
+            logger.fine("desc: " + f1.getName() + " groesser " + f2.getName());
             return 1;
-          } else if(l2 > l1) {
+          } else if(l1.after(l2)) {
+            logger.fine("desc: " + f1.getName() + " kleiner " + f2.getName());
             return -1;
           } else {
+            logger.fine("desc: " + f1.getName() + " gleich " + f2.getName());
             return 0;
           }
       }
     } else {
+      logger.fine("f1 oder f2 null");
       return 0;
     }
   }

--
Gitblit v1.9.3