*
*/
-
package org.biojava.dasobert.dasregistry;
import java.util.*;
-/** a comparator to sort DasSources
+/**
+ * a comparator to sort DasSources
+ *
* @author Andreas Prlic, Thomas Down
*/
-
-public abstract class DasSourceComparator
- implements Comparator
+public abstract class DasSourceComparator implements Comparator
{
private final String name;
+
private static final Map COMPS_BY_NAME;
- private static final int TWODAYS = 1000 * 60 * 60 * 24 * 2;
+
+ private static final int TWODAYS = 1000 * 60 * 60 * 24 * 2;
public DasSourceComparator(String str)
{
- //System.out.println("new dasSourceComparator " + str);
+ // System.out.println("new dasSourceComparator " + str);
name = str;
}
};
public static final Comparator BY_NICKNAME = new DasSourceComparator(
- "nickname")
+ "nickname")
{
protected Comparable getField(DasSource ds)
{
return ds.getNickname();
}
};
- public static final Comparator BY_STATUS = new DasSourceComparator("status"){
- protected Comparable getField(DasSource ds) {
-
- Date now = new Date();
-
- if (ds.getLeaseDate().getTime() < (now.getTime() - TWODAYS))
- return new Integer(0);
- return new Integer(1);
- }
- };
-
-
+
+ public static final Comparator BY_STATUS = new DasSourceComparator(
+ "status")
+ {
+ protected Comparable getField(DasSource ds)
+ {
+
+ Date now = new Date();
+
+ if (ds.getLeaseDate().getTime() < (now.getTime() - TWODAYS))
+ return new Integer(0);
+ return new Integer(1);
+ }
+ };
+
public static final Comparator BY_REGISTER_DATE = new DasSourceComparator(
- "registerdate")
+ "registerdate")
{
protected Comparable getField(DasSource ds)
{
return ds.getRegisterDate();
}
};
+
public static final Comparator BY_LEASE_DATE = new DasSourceComparator(
- "leasedate")
+ "leasedate")
{
protected Comparable getField(DasSource ds)
{
return ds.getLeaseDate();
}
};
+
public static final Comparator BY_URL = new DasSourceComparator("url")
{
protected Comparable getField(DasSource ds)
return ds.getUrl();
}
};
+
public static final Comparator BY_ADMIN_EMAIL = new DasSourceComparator(
- "adminemail")
+ "adminemail")
{
protected Comparable getField(DasSource ds)
{
return ds.getAdminemail();
}
};
+
public static final Comparator BY_DESCRIPTION = new DasSourceComparator(
- "description")
+ "description")
{
protected Comparable getField(DasSource ds)
{
return ds.getDescription();
}
};
+
public static final Comparator BY_CAPABILITIES = new DasSourceComparator(
- "capabilities")
+ "capabilities")
{
protected Comparable getField(DasSource ds)
{
return caps.length == 0 ? "" : caps[0];
}
};
+
public static final Comparator BY_COORDINATE_SYSTEM = new DasSourceComparator(
- "coordinateSystem")
+ "coordinateSystem")
{
protected Comparable getField(DasSource ds)
{
COMPS_BY_NAME.put(BY_ADMIN_EMAIL.toString(), BY_ADMIN_EMAIL);
COMPS_BY_NAME.put(BY_DESCRIPTION.toString(), BY_DESCRIPTION);
COMPS_BY_NAME.put(BY_CAPABILITIES.toString(), BY_CAPABILITIES);
- COMPS_BY_NAME.put(BY_COORDINATE_SYSTEM.toString(), BY_COORDINATE_SYSTEM);
- COMPS_BY_NAME.put(BY_STATUS.toString(), BY_STATUS);
-
+ COMPS_BY_NAME
+ .put(BY_COORDINATE_SYSTEM.toString(), BY_COORDINATE_SYSTEM);
+ COMPS_BY_NAME.put(BY_STATUS.toString(), BY_STATUS);
+
}
public static Comparator fromString(String name)