Subversion Repositories SmartDukaan

Rev

Rev 3094 | Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
3084 vikas 1
package in.shop2020.web;
2
 
3
import java.lang.reflect.Type;
4
import java.util.ArrayList;
5
import java.util.List;
6
import java.util.Map;
7
import java.util.Map.Entry;
8
 
9
import javax.servlet.http.HttpServlet;
10
import javax.servlet.http.HttpServletRequest;
11
import javax.servlet.http.HttpServletResponse;
12
 
13
import com.google.appengine.api.datastore.DatastoreService;
14
import com.google.appengine.api.datastore.DatastoreServiceFactory;
15
import com.google.appengine.api.datastore.Entity;
16
import com.google.gson.Gson;
17
import com.google.gson.reflect.TypeToken;
18
 
19
public class UploadCatalogItemsServlet extends HttpServlet {
20
 
21
    private static final long serialVersionUID = -3936645972813167428L;
22
 
23
    public void doPost(HttpServletRequest req, HttpServletResponse resp) {
24
        String data = req.getParameter("data");
25
        Gson gson = new Gson();
26
        List<Map<String, String>> jsonItems = new ArrayList<Map<String, String>>();
27
        Type listOfMapType = new TypeToken<List<Map<String, String>>>() {}.getType();
28
        jsonItems = gson.fromJson(data, listOfMapType);
29
 
30
        for (Map<String, String> jsonItem : jsonItems) {
31
            Entity entity = new Entity("Catalog", Long.parseLong(jsonItem.get("id")));
32
            for (Entry<String, String> entry : jsonItem.entrySet()) {
33
                String key = entry.getKey();
34
                String value = entry.getValue();
35
                if (key.endsWith("_long")) {
36
                    entity.setProperty(key.replace("_long", ""), Long.parseLong(value));
37
                }
38
                else {
39
                    entity.setProperty(key, value);
40
                }
41
            }
42
 
43
            DatastoreService ds = DatastoreServiceFactory.getDatastoreService();
44
            ds.put(entity);
45
        }
46
    }
47
 
48
    public void doGet(HttpServletRequest req, HttpServletResponse resp) {
49
        doPost(req, resp);
50
    }
51
}