JSONObjectComparator.java revision 6cff4ad7aa317bab05ab9dc1249dbea652944750
1package autotest.common.table; 2 3import autotest.common.table.DataSource.SortSpec; 4 5import com.google.gwt.json.client.JSONObject; 6 7import java.util.Comparator; 8 9public class JSONObjectComparator implements Comparator<JSONObject> { 10 SortSpec[] sortSpecs; 11 12 public JSONObjectComparator(SortSpec[] specs) { 13 sortSpecs = new SortSpec[specs.length]; 14 System.arraycopy(specs, 0, sortSpecs, 0, specs.length); 15 } 16 17 public int compare(JSONObject arg0, JSONObject arg1) { 18 int compareValue = 0; 19 for (SortSpec sortSpec : sortSpecs) { 20 String key0 = arg0.get(sortSpec.getField()).toString().toLowerCase(); 21 String key1 = arg1.get(sortSpec.getField()).toString().toLowerCase(); 22 compareValue = key0.compareTo(key1) * sortSpec.getDirectionMultiplier(); 23 if (compareValue != 0) { 24 break; 25 } 26 } 27 return compareValue; 28 } 29}