Dateiverwaltung für die WebBox
ulrich
2018-03-04 bb9f8c68f284497ed6d94fdc7ab23ce8c7a6aac7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
package de.uhilger.filecms.pub;
 
import java.io.File;
import java.util.Date;
 
/**
 *
 * @author ulrich
 */
public class FileDateComparator extends AbstractComparator {
  
  public FileDateComparator(String order) {
    this.order = order;
  }
 
  @Override
  public int compare(Object obj1, Object obj2) {
    File f1 = null;
    File f2 = null;
    if(obj1 instanceof File) {
      f1 = (File) obj1;
    }
    if(obj2 instanceof File) {
      f2 = (File) obj2;
    }
    if(f1 != null && f2 != null) {
      Date l1 = new Date(f1.lastModified());
      Date l2 = new Date(f2.lastModified());
      if(order != null && order.equalsIgnoreCase(ORDER_ASC)) {
          if(l1.before(l2)) {
            logger.fine("asc: " + f1.getName() + " kleiner " + f2.getName());
            return -1;
          } 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.before(l2)) {
            logger.fine("desc: " + f1.getName() + " groesser " + f2.getName());
            return 1;
          } 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;
    }
  }
  
}