1   /*
2    * Atlassian Source Code Template.
3    * User: sfarquhar
4    * Date: 30/08/2002
5    * Time: 12:15:13
6    * CVS Revision: $Revision: 1.1 $
7    * Last CVS Commit: $Date: 2003/09/30 07:15:46 $
8    * Author of last CVS Commit: $Author: mcannon $
9    */
10  package com.atlassian.core.ofbiz.comparators;
11  
12  import org.ofbiz.core.entity.GenericValue;
13  
14  import java.util.Comparator;
15  import java.util.Date;
16  
17  public class OFBizDateComparator implements Comparator
18  {
19      String fieldname;
20  
21      public OFBizDateComparator(String fieldname)
22      {
23          this.fieldname = fieldname;
24      }
25  
26      public int compare(Object o1, Object o2)
27      {
28          GenericValue i1 = (GenericValue) o1;
29          GenericValue i2 = (GenericValue) o2;
30  
31          if (i1 == null && i2 == null)
32               return 0;
33           else if (i2 == null) // any value is less than null
34               return -1;
35           else if (i1 == null) // null is greater than any value
36               return 1;
37  
38          Date u1 = i1.getTimestamp(fieldname);
39          Date u2 = i2.getTimestamp(fieldname);
40  
41  
42          if (u1 == null && u2 == null)
43              return 0;
44          if (u1 == null)
45              return -1;
46          if (u2 == null)
47              return 1;
48  
49          return u1.compareTo(u2);
50      }
51  }