1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.exoplatform.ecm.webui.comparator;
18
19 import java.util.Calendar;
20 import java.util.Comparator;
21
22 import javax.jcr.Node;
23
24 import org.exoplatform.services.wcm.core.NodetypeConstant;
25
26
27
28
29
30
31
32 public class DateComparator implements Comparator<Node>{
33
34 public static final String ASCENDING_ORDER = "Ascending" ;
35 public static final String DESCENDING_ORDER = "Descending" ;
36 private String order_ ;
37
38 public DateComparator(String pOrder) {
39 order_ = pOrder ;
40 }
41
42 public int compare(Node node1, Node node2) {
43 try{
44 Calendar date1 = node1.hasProperty(NodetypeConstant.EXO_DATE_MODIFIED) ?
45 node1.getProperty(NodetypeConstant.EXO_DATE_MODIFIED).getDate() :
46 node1.getProperty(NodetypeConstant.EXO_DATE_CREATED).getDate();
47 Calendar date2 = node2.hasProperty(NodetypeConstant.EXO_DATE_MODIFIED) ?
48 node2.getProperty(NodetypeConstant.EXO_DATE_MODIFIED).getDate() :
49 node2.getProperty(NodetypeConstant.EXO_DATE_CREATED).getDate();
50
51 if(order_.equals(ASCENDING_ORDER)) {
52 return date1.compareTo(date2) ;
53 }
54 return date2.compareTo(date1) ;
55 }catch (Exception e) {
56 return 0;
57 }
58 }
59
60 }