package edu.ucsf.mousedatabase.servlets; import java.io.IOException; import java.util.Properties; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.google.gson.Gson; import static edu.ucsf.mousedatabase.HTMLGeneration.*; import edu.ucsf.mousedatabase.DBConnect; import edu.ucsf.mousedatabase.HTMLUtilities; import edu.ucsf.mousedatabase.objects.ChangeRequest; /** * Servlet implementation class SubmitChangeRequestServlet */ public class SubmitChangeRequestServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public SubmitChangeRequestServlet() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { HTMLUtilities.logRequest(request); String message = ""; boolean success = false; try { ChangeRequest changeRequest = new ChangeRequest(); changeRequest.setMouseID(stringToInt(request.getParameter("mouseID"))); changeRequest.setEmail(request.getParameter("email")); changeRequest.setFirstname(request.getParameter("firstname")); changeRequest.setLastname(request.getParameter("lastname")); changeRequest.setUserComment(request.getParameter("userComment")); changeRequest.setActionRequested(request.getParameter("actionRequested")); changeRequest.setCryoLiveStatus(request.getParameter("cryoLiveStatus")); changeRequest.setGeneticBackgroundInfo(request.getParameter("geneticBackgroundInfo")); int holderId = stringToInt(request.getParameter("holderId")); changeRequest.setHolderId(holderId); if (holderId == -2) { changeRequest.setHolderName(request.getParameter("holderName")); } int facilityId = stringToInt(request.getParameter("facilityId")); changeRequest.setFacilityId(facilityId); if (facilityId == -2) { changeRequest.setFacilityName(request.getParameter("facilityName")); } request.getSession().setAttribute("changeRequest", changeRequest); message = changeRequest.validate(); if (!message.isEmpty()) { return; } int existingRequest = DBConnect.changeRequestExists(changeRequest); if (existingRequest >= 0) { message = "You have already submitted this change request."; return; } changeRequest.setStatus("new"); changeRequest.setRequestSource("Change request form"); DBConnect.insertChangeRequest(changeRequest); success = true; } catch (Exception e) { message = e.getMessage(); } finally { response.sendRedirect(siteRoot + "ChangeRequestForm.jsp?mouseID=" + request.getParameter("mouseID") + "&success=" + urlEncode(Boolean.toString(success)) + "&message=" + urlEncode(message)); } } }