package com.uc.irp.server; import java.io.IOException; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Map; import java.util.logging.Logger; import javax.jdo.PersistenceManager; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.mortbay.util.ajax.JSON; import com.google.appengine.api.datastore.Text; public class UploadServlet extends HttpServlet { private static final Logger log = Logger.getLogger(UploadServlet.class .getName()); public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException { String content = req.getParameter("content"); log.info("Content received from clients: " + content); Map jsonMap = (Map) JSON.parse(content); Text textContent = new Text(content); IncidentReport incidentReport = new IncidentReport(textContent); Object sid = jsonMap.get("Subscriber Id"); if (null != sid){ incidentReport.setSubscriberId(sid.toString()); } Object event = jsonMap.get("Event"); if (null != event){ incidentReport.setEvent(event.toString()); } Object location = jsonMap.get("Location"); if (null != location){ String loc = location.toString(); String cloc = ""; String[]loca = loc.split(","); for (String items: loca){ if (items.contains("mLatitude") || items.contains("mLongitude")){ cloc += items + ","; } } if (null != loc){ int s = loc.indexOf("mLatitude="); } incidentReport.setLocation(cloc); } try { Object tm = jsonMap.get("Time"); if (tm != null){ incidentReport.setCaptureTime(SimpleDateFormat .getDateTimeInstance() .parse(tm.toString())); } } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } PersistenceManager pm = PMF.get().getPersistenceManager(); String result = "FAIL"; try { pm.makePersistent(incidentReport); result = "OK"; } finally { pm.close(); } resp.setContentType("text/plain"); resp.getWriter().print(result); } }