package com.idega.user.business;
import java.text.Collator;
import java.util.Comparator;
import java.util.Locale;
import com.idega.core.data.ICTreeNode;
import com.idega.user.data.Group;
/**
* @author Sigtryggur
* Comparator to handle sorting of groups within divisions
*/
public class PlayerComparator implements Comparator {
private Locale _locale;
public PlayerComparator(Locale locale) {
this._locale = locale;
}
public int compare(Object arg0, Object arg1) {
int comp = 0;
try {
Collator collator = Collator.getInstance(this._locale);
Group group0 = (Group) arg0;
Group group1 = (Group) arg1;
ICTreeNode parent0 = group0.getParentNode();
ICTreeNode parent1 = group0.getParentNode();
if (parent0 != null && parent1 == null) {
comp = -1;
} else if (parent0 == null && parent1 != null) {
comp = 1;
} else if (parent0 != null && parent1 != null) {
String parentName0 = parent0.getNodeName();
String parentName1 = parent1.getNodeName();
System.out.println(parentName0);
System.out.println(parentName1);
comp = collator.compare(parentName0, parentName1);
}
if(comp == 0) {
String groupName0 = group0.getName();
String groupName1 = group1.getName();
System.out.println(groupName0);
System.out.println(groupName1);
comp = collator.compare(groupName0, groupName1);
}
}
catch(Exception e) {
e.printStackTrace();
}
System.out.println(comp);
return comp;
}
}