Statistics
| Branch: | Tag: | Revision:

root / src / gr / ebs / gss / client / rest / resource / RestResource.java @ 44d84dc0

History | View | Annotate | Download (2.1 kB)

1
/*
2
 * Copyright 2009, 2010 Electronic Business Systems Ltd.
3
 *
4
 * This file is part of GSS.
5
 *
6
 * GSS is free software: you can redistribute it and/or modify
7
 * it under the terms of the GNU General Public License as published by
8
 * the Free Software Foundation, either version 3 of the License, or
9
 * (at your option) any later version.
10
 *
11
 * GSS is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 *
16
 * You should have received a copy of the GNU General Public License
17
 * along with GSS.  If not, see <http://www.gnu.org/licenses/>.
18
 */
19
package gr.ebs.gss.client.rest.resource;
20

    
21
import java.io.Serializable;
22

    
23
import com.google.gwt.json.client.JSONObject;
24
import com.google.gwt.user.client.ui.TreeItem;
25

    
26

    
27
/**
28
 * @author kman
29
 *
30
 */
31
public abstract class RestResource implements Serializable{
32
        String uri;
33

    
34
        public RestResource(String aUri) {
35
                super();
36
                setUri(aUri);
37
        }
38

    
39
        /**
40
         * Retrieve the uri.
41
         *
42
         * @return the uri
43
         */
44
        public String getUri() {
45
                return uri;
46
        }
47

    
48
        /**
49
         * Modify the uri.
50
         *
51
         * @param aUri the path to set
52
         */
53
        public void setUri(String aUri) {
54
                uri = aUri;
55
                if (uri!=null) {
56
                        // Remove any parameter part
57
                        int qm = uri.indexOf('?');
58
                        if (qm>=0) uri = uri.substring(0, qm);
59
                }
60
        }
61

    
62
        public abstract void createFromJSON(String text);
63

    
64
        protected String unmarshallString(JSONObject obj, String key){
65
                if(obj.get(key) != null)
66
                        if(obj.get(key).isString() != null)
67
                                return obj.get(key).isString().stringValue();
68
                return null;
69
        }
70

    
71
        protected boolean unmarshallBoolean(JSONObject obj, String key){
72
                if(obj.get(key) != null)
73
                        if(obj.get(key).isBoolean() != null)
74
                                return obj.get(key).isBoolean().booleanValue();
75
                return false;
76
        }
77

    
78
        public static native String getDate(Long ms)/*-{
79
                return (new Date(ms)).toUTCString();
80
        }-*/;
81

    
82
        public abstract String getLastModifiedSince();
83

    
84
        public void updateHistory(@SuppressWarnings("unused") TreeItem item, @SuppressWarnings("unused") String path) {
85
                // Most resources won't have to do anything here.
86
        }
87
}