package com.occamlab.te.config;
import java.util.Comparator;
/**
* Compares two ConfigEntry objects for order.
*
*/
public class ConfigComparator implements Comparator<ConfigEntry> {
private String denull(String s) {
return s == null ? "" : s;
}
public int compare(ConfigEntry o1, ConfigEntry o2) {
int i = o1.organization.compareTo(o2.organization);
if (i != 0)
return i;
i = o1.standard.compareTo(o2.standard);
if (i != 0)
return i;
i = o1.version.compareTo(o2.version);
if (i != 0)
return i;
if (o1.suite != null && o2.suite != null) {
return denull(o1.revision).compareTo(denull(o2.revision));
}
if (o1.suite == null && o2.suite != null) {
return -1;
}
if (o1.suite != null && o2.suite == null) {
return 1;
}
return 0;
}
}