/* * 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 org.waterforpeople.mapping.app.web; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.waterforpeople.mapping.app.web.dto.MappingSummarizationRequest; import org.waterforpeople.mapping.app.web.dto.MappingSummarizationResponse; import org.waterforpeople.mapping.helper.MappingSummarizationHelper; import com.gallatinsystems.framework.rest.AbstractRestApiServlet; import com.gallatinsystems.framework.rest.RestRequest; import com.gallatinsystems.framework.rest.RestResponse; /** * Servlet that will process summarization API requests * * @author Christopher Fagiani */ public class MappingSummarizationServlet extends AbstractRestApiServlet { private static final long serialVersionUID = -3781006669225793054L; private MappingSummarizationHelper helper; public MappingSummarizationServlet() { helper = new MappingSummarizationHelper(); } /** * converts the incoming servlet request into a MappingSummarizationRequest */ @Override @SuppressWarnings("unused") protected RestRequest convertRequest() throws Exception { HttpServletRequest req = getRequest(); String action = req.getParameter(RestRequest.ACTION_PARAM); RestRequest restRequest = new MappingSummarizationRequest(); restRequest.populateFromHttpRequest(req); return restRequest; } /** * looks at the action in the request object and dispatches handling to the appropriate method. */ @Override protected RestResponse handleRequest(RestRequest request) throws Exception { MappingSummarizationResponse response = new MappingSummarizationResponse(); MappingSummarizationRequest summReq = (MappingSummarizationRequest) request; String result = helper.processSummarization(summReq.getRegionUUID(), summReq.getSummarizationType()); response.setColorCode(result); return response; } /** * write the response to the servlet response object */ @Override protected void writeOkResponse(RestResponse restResponse) throws Exception { HttpServletResponse resp = getResponse(); // for now, just output the value String val = ((MappingSummarizationResponse) restResponse) .getColorCode(); if (val != null) { resp.getWriter().print("The status color is: " + val); } else { resp.getWriter().print("NO DATA"); } } }