Fixed date parsing in versions
[pithos] / web_client / src / gr / grnet / pithos / web / client / foldertree / FileVersions.java
1 package gr.grnet.pithos.web.client.foldertree;
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.JSONParser;
10 import com.google.gwt.json.client.JSONValue;
11
12 public class FileVersions extends Resource {
13         private List<Version> versions;
14         
15         public List<Version> getVersions() {
16                 return versions;
17         }
18
19         public static FileVersions createFromResponse(Response response) {
20                 FileVersions res =  new FileVersions();
21                 res.populate(response);
22                 return res;
23         }
24
25         private void populate(Response response) {
26                 versions = new ArrayList<Version>();
27         JSONValue json = JSONParser.parseStrict(response.getText());
28         JSONArray array = json.isObject().get("versions").isArray();
29         if (array != null) {
30             for (int i=0; i<array.size(); i++) {
31                 JSONArray o = array.get(i).isArray();
32                 if (o != null) {
33                         int num = (int) o.get(0).isNumber().doubleValue();
34                         Date date = new Date((long) (o.get(1).isNumber().doubleValue() * 1000)); //Convert to millis
35                         Version v = new Version(num, date);
36                         versions.add(v);
37                 }
38             }
39         }
40         }
41
42         @Override
43         public Date getLastModified() {
44                 return null;
45         }
46 }