1 package gr.grnet.pithos.web.client;
3 import java.util.ArrayList;
7 import com.google.gwt.http.client.Response;
8 import com.google.gwt.json.client.JSONArray;
9 import com.google.gwt.json.client.JSONObject;
10 import com.google.gwt.json.client.JSONParser;
11 import com.google.gwt.json.client.JSONValue;
13 import gr.grnet.pithos.web.client.foldertree.Resource;
15 public class Invitations extends Resource {
17 private int invitationsLeft = 0;
19 private List<Invitation> sentInvitations = new ArrayList<Invitation>();
22 public Date getLastModified() {
26 public int getInvitationsLeft() {
27 return invitationsLeft;
30 public static Invitations createFromResponse(Response response) {
31 Invitations result = new Invitations();
32 result.populate(response);
36 private void populate(Response response) {
37 JSONValue json = JSONParser.parseStrict(response.getText());
38 JSONObject o = json.isObject();
40 invitationsLeft = unmarshallInt(o, "invitations");
41 JSONArray sent = o.get("sent").isArray();
43 for (int i=0; i<sent.size(); i++) {
44 JSONObject ob = sent.get(i).isObject();
46 boolean accepted = unmarshallBoolean(ob, "is_accepted");
47 String email = unmarshallString(ob, "email");
48 String realname = unmarshallString(ob, "realname");
49 Invitation inv = new Invitation(accepted, realname, email);
50 sentInvitations.add(inv);
57 public List<Invitation> getSentInvitations() {
58 return sentInvitations;