Rev 3094 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
package in.shop2020.web;import java.lang.reflect.Type;import java.util.ArrayList;import java.util.List;import java.util.Map;import java.util.Map.Entry;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import com.google.appengine.api.datastore.DatastoreService;import com.google.appengine.api.datastore.DatastoreServiceFactory;import com.google.appengine.api.datastore.Entity;import com.google.gson.Gson;import com.google.gson.reflect.TypeToken;public class UploadCatalogItemsServlet extends HttpServlet {private static final long serialVersionUID = -3936645972813167428L;public void doPost(HttpServletRequest req, HttpServletResponse resp) {String data = req.getParameter("data");Gson gson = new Gson();List<Map<String, String>> jsonItems = new ArrayList<Map<String, String>>();Type listOfMapType = new TypeToken<List<Map<String, String>>>() {}.getType();jsonItems = gson.fromJson(data, listOfMapType);for (Map<String, String> jsonItem : jsonItems) {Entity entity = new Entity("Catalog", Long.parseLong(jsonItem.get("id")));for (Entry<String, String> entry : jsonItem.entrySet()) {String key = entry.getKey();String value = entry.getValue();if (key.endsWith("_long")) {entity.setProperty(key.replace("_long", ""), Long.parseLong(value));}else {entity.setProperty(key, value);}}DatastoreService ds = DatastoreServiceFactory.getDatastoreService();ds.put(entity);}}public void doGet(HttpServletRequest req, HttpServletResponse resp) {doPost(req, resp);}}