Rev 3526 | Rev 4976 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
package in.shop2020.web;import java.util.ArrayList;import java.util.Calendar;import java.util.Date;import java.util.List;import java.util.TimeZone;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.json.JSONArray;import org.json.JSONException;import org.json.JSONObject;import com.google.appengine.api.datastore.DatastoreService;import com.google.appengine.api.datastore.DatastoreServiceFactory;import com.google.appengine.api.datastore.Entity;public class AddDataLogServlet extends HttpServlet {private static final long serialVersionUID = -8236918415987438049L;public void doPost(HttpServletRequest req, HttpServletResponse resp) {Entity entity = new Entity("DataLog");entity.setProperty("logTime", new Date());setTime(req, entity);setEventType(req, entity);setSessionId(req, entity);setUserId(req, entity);setEmail(req, entity);setLogData(req, entity);DatastoreService ds = DatastoreServiceFactory.getDatastoreService();ds.put(entity);}public void doGet(HttpServletRequest req, HttpServletResponse resp) {doPost(req, resp);}private void setTime(HttpServletRequest req, Entity entity) {Date date = new Date(Long.valueOf(req.getParameter("time")));entity.setProperty("date", date);Calendar cal = Calendar.getInstance(TimeZone.getTimeZone("IST"));cal.setTime(date);cal.set(Calendar.HOUR_OF_DAY, 0);cal.set(Calendar.MINUTE, 0);cal.set(Calendar.SECOND, 0);cal.set(Calendar.MILLISECOND, 0);entity.setProperty("shortdate", cal.getTime());}private void setEventType(HttpServletRequest req, Entity entity) {entity.setProperty("eventType", req.getParameter("eventType"));}private void setSessionId(HttpServletRequest req, Entity entity) {entity.setProperty("sessionId", req.getParameter("sessionId"));}private void setUserId(HttpServletRequest req, Entity entity) {Integer userId = 0;try {userId = Integer.valueOf(req.getParameter("userId"));}catch (NumberFormatException e) {}entity.setProperty("userId", userId);}private void setEmail(HttpServletRequest req, Entity entity) {entity.setProperty("email", req.getParameter("email"));}private void setLogData(HttpServletRequest req, Entity entity) {try {String jsonLogData = req.getParameter("jsonLogData");if (jsonLogData == null) {return;}JSONObject logDataJson = new JSONObject(req.getParameter("jsonLogData"));for (String key : JSONObject.getNames(logDataJson)) {if (key.endsWith("_long_list")) {JSONArray vals = logDataJson.getJSONArray(key);List<Long> lVals = new ArrayList<Long>();for (int i = 0; i<vals.length(); i++) {lVals.add(vals.getLong(i));}entity.setProperty(key.replace("_long_list", ""), lVals);} else if (key.endsWith("_long")) {entity.setProperty(key.replace("_long", ""), logDataJson.getLong(key));}else {entity.setProperty(key, logDataJson.getString(key));}}} catch (JSONException e) {e.printStackTrace();}}}