annotate src/main/java/de/mpiwg/itgroup/annotations/restlet/utils/JSONObjectComparator.java @ 63:9f8c9611848a

fixed bug with new rectangle shapes. added limit, offset and sortBy parameters to annotator/ and annotator/search.
author casties
date Fri, 23 Nov 2012 17:55:04 +0100
parents 9f653697437e
children 2b1e6df5e21a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
28
f4ed2ed33e5b Restinterface zur Anzeige von Tags hinzugefuegt-
dwinter
parents:
diff changeset
1 package de.mpiwg.itgroup.annotations.restlet.utils;
f4ed2ed33e5b Restinterface zur Anzeige von Tags hinzugefuegt-
dwinter
parents:
diff changeset
2
f4ed2ed33e5b Restinterface zur Anzeige von Tags hinzugefuegt-
dwinter
parents:
diff changeset
3 import java.util.Comparator;
31
9f653697437e annotationbrowser
dwinter
parents: 28
diff changeset
4 import java.util.List;
28
f4ed2ed33e5b Restinterface zur Anzeige von Tags hinzugefuegt-
dwinter
parents:
diff changeset
5
f4ed2ed33e5b Restinterface zur Anzeige von Tags hinzugefuegt-
dwinter
parents:
diff changeset
6 import org.json.JSONException;
f4ed2ed33e5b Restinterface zur Anzeige von Tags hinzugefuegt-
dwinter
parents:
diff changeset
7 import org.json.JSONObject;
f4ed2ed33e5b Restinterface zur Anzeige von Tags hinzugefuegt-
dwinter
parents:
diff changeset
8
f4ed2ed33e5b Restinterface zur Anzeige von Tags hinzugefuegt-
dwinter
parents:
diff changeset
9 public class JSONObjectComparator implements Comparator<JSONObject>{
f4ed2ed33e5b Restinterface zur Anzeige von Tags hinzugefuegt-
dwinter
parents:
diff changeset
10
f4ed2ed33e5b Restinterface zur Anzeige von Tags hinzugefuegt-
dwinter
parents:
diff changeset
11 private String attributeToSort;
f4ed2ed33e5b Restinterface zur Anzeige von Tags hinzugefuegt-
dwinter
parents:
diff changeset
12 public JSONObjectComparator(String attribute){
f4ed2ed33e5b Restinterface zur Anzeige von Tags hinzugefuegt-
dwinter
parents:
diff changeset
13 this.attributeToSort=attribute;
f4ed2ed33e5b Restinterface zur Anzeige von Tags hinzugefuegt-
dwinter
parents:
diff changeset
14 }
f4ed2ed33e5b Restinterface zur Anzeige von Tags hinzugefuegt-
dwinter
parents:
diff changeset
15
f4ed2ed33e5b Restinterface zur Anzeige von Tags hinzugefuegt-
dwinter
parents:
diff changeset
16 public int compare( JSONObject a, JSONObject b ) {
f4ed2ed33e5b Restinterface zur Anzeige von Tags hinzugefuegt-
dwinter
parents:
diff changeset
17 // je quadratischer, desto grösser
f4ed2ed33e5b Restinterface zur Anzeige von Tags hinzugefuegt-
dwinter
parents:
diff changeset
18 String sortA;
f4ed2ed33e5b Restinterface zur Anzeige von Tags hinzugefuegt-
dwinter
parents:
diff changeset
19 try {
f4ed2ed33e5b Restinterface zur Anzeige von Tags hinzugefuegt-
dwinter
parents:
diff changeset
20 sortA = a.getString(attributeToSort);
f4ed2ed33e5b Restinterface zur Anzeige von Tags hinzugefuegt-
dwinter
parents:
diff changeset
21 } catch (JSONException e) {
f4ed2ed33e5b Restinterface zur Anzeige von Tags hinzugefuegt-
dwinter
parents:
diff changeset
22 sortA ="";
f4ed2ed33e5b Restinterface zur Anzeige von Tags hinzugefuegt-
dwinter
parents:
diff changeset
23 }
f4ed2ed33e5b Restinterface zur Anzeige von Tags hinzugefuegt-
dwinter
parents:
diff changeset
24 String sortB;
f4ed2ed33e5b Restinterface zur Anzeige von Tags hinzugefuegt-
dwinter
parents:
diff changeset
25 try {
f4ed2ed33e5b Restinterface zur Anzeige von Tags hinzugefuegt-
dwinter
parents:
diff changeset
26 sortB = b.getString(attributeToSort);
f4ed2ed33e5b Restinterface zur Anzeige von Tags hinzugefuegt-
dwinter
parents:
diff changeset
27 } catch (JSONException e) {
f4ed2ed33e5b Restinterface zur Anzeige von Tags hinzugefuegt-
dwinter
parents:
diff changeset
28 sortB="";
f4ed2ed33e5b Restinterface zur Anzeige von Tags hinzugefuegt-
dwinter
parents:
diff changeset
29 }
f4ed2ed33e5b Restinterface zur Anzeige von Tags hinzugefuegt-
dwinter
parents:
diff changeset
30
f4ed2ed33e5b Restinterface zur Anzeige von Tags hinzugefuegt-
dwinter
parents:
diff changeset
31
f4ed2ed33e5b Restinterface zur Anzeige von Tags hinzugefuegt-
dwinter
parents:
diff changeset
32 return sortA.compareToIgnoreCase(sortB);
f4ed2ed33e5b Restinterface zur Anzeige von Tags hinzugefuegt-
dwinter
parents:
diff changeset
33 }
f4ed2ed33e5b Restinterface zur Anzeige von Tags hinzugefuegt-
dwinter
parents:
diff changeset
34
31
9f653697437e annotationbrowser
dwinter
parents: 28
diff changeset
35 /**
9f653697437e annotationbrowser
dwinter
parents: 28
diff changeset
36 * Sortiere array nach einem Parameter in den Annotationen
9f653697437e annotationbrowser
dwinter
parents: 28
diff changeset
37 * @param results
9f653697437e annotationbrowser
dwinter
parents: 28
diff changeset
38 * @return
9f653697437e annotationbrowser
dwinter
parents: 28
diff changeset
39 */
9f653697437e annotationbrowser
dwinter
parents: 28
diff changeset
40 public static void sortAnnotations(List<JSONObject> results,String attribute) {
9f653697437e annotationbrowser
dwinter
parents: 28
diff changeset
41 JSONObjectComparator comp = new JSONObjectComparator(attribute);
9f653697437e annotationbrowser
dwinter
parents: 28
diff changeset
42
9f653697437e annotationbrowser
dwinter
parents: 28
diff changeset
43
9f653697437e annotationbrowser
dwinter
parents: 28
diff changeset
44
9f653697437e annotationbrowser
dwinter
parents: 28
diff changeset
45 java.util.Collections.sort( results, comp);
9f653697437e annotationbrowser
dwinter
parents: 28
diff changeset
46
9f653697437e annotationbrowser
dwinter
parents: 28
diff changeset
47
9f653697437e annotationbrowser
dwinter
parents: 28
diff changeset
48
9f653697437e annotationbrowser
dwinter
parents: 28
diff changeset
49 }
28
f4ed2ed33e5b Restinterface zur Anzeige von Tags hinzugefuegt-
dwinter
parents:
diff changeset
50
f4ed2ed33e5b Restinterface zur Anzeige von Tags hinzugefuegt-
dwinter
parents:
diff changeset
51 }