Statistics
| Branch: | Tag: | Revision:

root / src / gr / grnet / pithos / web / client / Invitations.java @ b75210b5

History | View | Annotate | Download (1.7 kB)

1
package gr.grnet.pithos.web.client;
2

    
3
import java.util.ArrayList;
4
import java.util.Date;
5
import java.util.List;
6

    
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;
12

    
13
import gr.grnet.pithos.web.client.foldertree.Resource;
14

    
15
public class Invitations extends Resource {
16

    
17
        private int invitationsLeft = 0;
18
        
19
        private List<Invitation> sentInvitations = new ArrayList<Invitation>();
20
        
21
        @Override
22
        public Date getLastModified() {
23
                return null;
24
        }
25

    
26
        public int getInvitationsLeft() {
27
                return invitationsLeft;
28
        }
29

    
30
        public static Invitations createFromResponse(Response response) {
31
                Invitations result = new Invitations();
32
                result.populate(response);
33
                return result;
34
        }
35

    
36
        private void populate(Response response) {
37
        JSONValue json = JSONParser.parseStrict(response.getText());
38
        JSONObject o = json.isObject();
39
        if (o != null) {
40
                invitationsLeft = unmarshallInt(o, "invitations");
41
                JSONArray sent = o.get("sent").isArray();
42
                if (sent != null) {
43
                        for (int i=0; i<sent.size(); i++) {
44
                                JSONObject ob = sent.get(i).isObject();
45
                                if (ob != null) {
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);
51
                                }
52
                        }
53
                }
54
        }
55
        }
56

    
57
        public List<Invitation> getSentInvitations() {
58
                return sentInvitations;
59
        }
60

    
61
}