/* * Copyright (C) 2010-2012 Stichting Akvo (Akvo Foundation) * * This file is part of Akvo FLOW. * * Akvo FLOW is free software: you can redistribute it and modify it under the terms of * the GNU Affero General Public License (AGPL) as published by the Free Software Foundation, * either version 3 of the License or any later version. * * Akvo FLOW is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU Affero General Public License included below for more details. * * The full license text can also be seen at <http://www.gnu.org/licenses/agpl.html>. */ package com.gallatinsystems.device.app.web; import java.io.IOException; import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.gallatinsystems.device.dao.DeviceDAO; import com.gallatinsystems.device.domain.Device; import com.gallatinsystems.device.domain.DeviceSurveyJobQueue; import com.gallatinsystems.survey.dao.DeviceSurveyJobQueueDAO; /** * Servlet class to handle the device (handheld) related management tasks. * * @deprecated */ public class DeviceManagerServlet extends HttpServlet { private static final long serialVersionUID = 1979457951988807893L; private static final Logger log = Logger .getLogger(DeviceManagerServlet.class.getName()); private DeviceDAO deviceDao = new DeviceDAO(); public void doGet(HttpServletRequest req, HttpServletResponse resp) { String action = req.getParameter("action"); if ("listDevices".equals(action)) { DeviceSurveyJobQueueDAO dsjqDAO = new DeviceSurveyJobQueueDAO(); List<DeviceSurveyJobQueue> jobs = dsjqDAO.listAllJobsInQueue(); for (DeviceSurveyJobQueue item : jobs) { try { resp.getWriter().print(item.toString()); } catch (IOException e) { log.log(Level.SEVERE, "Could not execute list device", e); } } } else { try { resp.getWriter().print("need an action"); } catch (IOException e) { log.log(Level.SEVERE, "Could not write error", e); } } } public void doPost(HttpServletRequest req, HttpServletResponse resp) { String action = req.getParameter("action"); String outputString = null; if ("saveDevice".equals(action)) { outputString = createDevice(req); } else { String devicePhoneNumber = req.getParameter("devicePhoneNumber"); Long surveyId = new Long(req.getParameter("surveyId")); DeviceSurveyJobQueueDAO dsjqDAO = new DeviceSurveyJobQueueDAO(); DeviceSurveyJobQueue dsjq = new DeviceSurveyJobQueue(); dsjq.setDevicePhoneNumber(devicePhoneNumber); dsjq.setSurveyID(surveyId); Long deviceId = dsjqDAO.save(dsjq); resp.setContentType("text/html"); outputString = "Device: " + deviceId + " created"; } try { resp.getWriter().print(outputString); } catch (IOException e) { log.log(Level.SEVERE, "Could not execute device operation", e); } } @SuppressWarnings("unused") private String createDevice(HttpServletRequest req) { StringBuilder sb = new StringBuilder(); String deviceType = req.getParameter("deviceType"); String esn = req.getParameter("esn"); String inServiceDateString = req.getParameter("inServiceDateString"); String osVersion = req.getParameter("osVersion"); String countryIdString = req.getParameter("countryIdString"); String phoneNumber = req.getParameter("devicePhoneNumber"); String outServiceDateString = req.getParameter("outServiceDateString"); phoneNumber = phoneNumber.replace("-", ""); Device device = new Device(); device.setDeviceType(Device.DeviceType.CELL_PHONE_ANDROID); device.setEsn(esn); device.setPhoneNumber(phoneNumber); deviceDao.save(device); sb.append(device.toString()); return sb.toString(); } }