/** * The contents of this file are subject to the Mozilla Public License * Version 1.1 (the "License"); you may not use this file except in * compliance with the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the * License for the specific language governing rights and limitations under * the License. * * The Original Code is OpenELIS code. * * Copyright (C) The Minnesota Department of Health. All Rights Reserved. */ package us.mn.state.health.lims.common.servlet.reports; import java.io.IOException; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; import javax.servlet.RequestDispatcher; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import us.mn.state.health.lims.common.provider.reports.BaseReportsProvider; import us.mn.state.health.lims.common.provider.reports.ReportsProviderFactory; /** * @author benzd1 * */ public class ReportsServlet extends HttpServlet { private BaseReportsProvider reportProvider = null; /* (non-Javadoc) * @see javax.servlet.http.HttpServlet#doGet(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) */ public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { String reportsProvider = request.getParameter("provider"); Map paramMap = request.getParameterMap(); HashMap parameters = new HashMap(); Set keySet = paramMap.keySet(); Collection values = paramMap.values(); Iterator itKey = keySet.iterator(); List keyList = new ArrayList(); while (itKey.hasNext()) { String key = (String)itKey.next(); keyList.add(key); } Iterator itVal = values.iterator(); List valList = new ArrayList(); while (itVal.hasNext()) { String[] vals = (String[])itVal.next(); valList.add(vals[0]); } //populate HashMap for (int i = 0; i < keyList.size(); i++) { parameters.put(keyList.get(i), valList.get(i)); } reportProvider = (BaseReportsProvider)ReportsProviderFactory .getInstance().getReportsProvider(reportsProvider); reportProvider.setServlet(this); //bugzilla 2274: added error handling boolean success = reportProvider.processRequest(parameters, request, response); //if unsuccessful route back to reports menu if (!success) { ServletContext context = getServletContext(); RequestDispatcher dispatcher = context.getRequestDispatcher("/MainMenu.do"); dispatcher.forward(request, response); } } }