root / src / gr / grnet / pithos / web / client / Invitations.java @ b75210b5
History | View | Annotate | Download (1.7 kB)
1 | fd1da2eb | Christos Stathis | package gr.grnet.pithos.web.client; |
---|---|---|---|
2 | fd1da2eb | Christos Stathis | |
3 | 6b48912a | Christos Stathis | import java.util.ArrayList; |
4 | fd1da2eb | Christos Stathis | import java.util.Date; |
5 | 6b48912a | Christos Stathis | import java.util.List; |
6 | fd1da2eb | Christos Stathis | |
7 | 5300a16e | Christos Stathis | import com.google.gwt.http.client.Response; |
8 | 6b48912a | Christos Stathis | import com.google.gwt.json.client.JSONArray; |
9 | 5300a16e | Christos Stathis | import com.google.gwt.json.client.JSONObject; |
10 | 5300a16e | Christos Stathis | import com.google.gwt.json.client.JSONParser; |
11 | 5300a16e | Christos Stathis | import com.google.gwt.json.client.JSONValue; |
12 | 5300a16e | Christos Stathis | |
13 | fd1da2eb | Christos Stathis | import gr.grnet.pithos.web.client.foldertree.Resource; |
14 | fd1da2eb | Christos Stathis | |
15 | fd1da2eb | Christos Stathis | public class Invitations extends Resource { |
16 | fd1da2eb | Christos Stathis | |
17 | 5300a16e | Christos Stathis | private int invitationsLeft = 0; |
18 | fd1da2eb | Christos Stathis | |
19 | 6b48912a | Christos Stathis | private List<Invitation> sentInvitations = new ArrayList<Invitation>(); |
20 | 6b48912a | Christos Stathis | |
21 | fd1da2eb | Christos Stathis | @Override
|
22 | fd1da2eb | Christos Stathis | public Date getLastModified() { |
23 | fd1da2eb | Christos Stathis | return null; |
24 | fd1da2eb | Christos Stathis | } |
25 | fd1da2eb | Christos Stathis | |
26 | fd1da2eb | Christos Stathis | public int getInvitationsLeft() { |
27 | fd1da2eb | Christos Stathis | return invitationsLeft;
|
28 | fd1da2eb | Christos Stathis | } |
29 | fd1da2eb | Christos Stathis | |
30 | 5300a16e | Christos Stathis | public static Invitations createFromResponse(Response response) { |
31 | 5300a16e | Christos Stathis | Invitations result = new Invitations();
|
32 | 5300a16e | Christos Stathis | result.populate(response); |
33 | 5300a16e | Christos Stathis | return result;
|
34 | 5300a16e | Christos Stathis | } |
35 | 5300a16e | Christos Stathis | |
36 | 5300a16e | Christos Stathis | private void populate(Response response) { |
37 | 5300a16e | Christos Stathis | JSONValue json = JSONParser.parseStrict(response.getText()); |
38 | 5300a16e | Christos Stathis | JSONObject o = json.isObject(); |
39 | 6b48912a | Christos Stathis | if (o != null) { |
40 | 5300a16e | Christos Stathis | invitationsLeft = unmarshallInt(o, "invitations");
|
41 | 6b48912a | Christos Stathis | JSONArray sent = o.get("sent").isArray();
|
42 | 6b48912a | Christos Stathis | if (sent != null) { |
43 | 6b48912a | Christos Stathis | for (int i=0; i<sent.size(); i++) { |
44 | 6b48912a | Christos Stathis | JSONObject ob = sent.get(i).isObject(); |
45 | 6b48912a | Christos Stathis | if (ob != null) { |
46 | 6b48912a | Christos Stathis | boolean accepted = unmarshallBoolean(ob, "is_accepted"); |
47 | 6b48912a | Christos Stathis | String email = unmarshallString(ob, "email"); |
48 | 6b48912a | Christos Stathis | String realname = unmarshallString(ob, "realname"); |
49 | 6b48912a | Christos Stathis | Invitation inv = new Invitation(accepted, realname, email);
|
50 | 6b48912a | Christos Stathis | sentInvitations.add(inv); |
51 | 6b48912a | Christos Stathis | } |
52 | 6b48912a | Christos Stathis | } |
53 | 6b48912a | Christos Stathis | } |
54 | 6b48912a | Christos Stathis | } |
55 | 6b48912a | Christos Stathis | } |
56 | 6b48912a | Christos Stathis | |
57 | 6b48912a | Christos Stathis | public List<Invitation> getSentInvitations() { |
58 | 6b48912a | Christos Stathis | return sentInvitations;
|
59 | 5300a16e | Christos Stathis | } |
60 | 5300a16e | Christos Stathis | |
61 | fd1da2eb | Christos Stathis | } |