package com.netifera.platform.util.comparators;
import java.util.Comparator;
@Deprecated // kevin will do it better
public class HostnameComparator implements Comparator<String> {
private String normalize(String name) {
int start = name.charAt(0) == '.' ? 1 : 0;
int end = name.length();
if (name.charAt(name.length()-1) == '.') {
end -= 1;
}
return name.substring(start, end);
}
public int compare(String name1, String name2) {
name1 = normalize(name1);
name2 = normalize(name2);
if (name1.compareTo(name2) == 0) {
return 0;
}
String[] members1 = name1.split("\\.+");
String[] members2 = name2.split("\\.+");
int i1 = 0, i2 = 0;
for (; i1 < members1.length && i2 < members2.length; i1++, i2++) {
int r = members1[members1.length - i1 - 1].compareToIgnoreCase(members2[members2.length - i2 - 1]);
if (r != 0) {
return r > 0 ? 1 : -1;
}
}
if (members1.length == members2.length) {
return 0;
}
return members1.length > members2.length ? -1 : 1;
}
}