package server.servlets;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Properties;
public class FormC extends HttpServlet {
static final String FORMC_PROPERTY_FILE = Globals.FORMC_PROPERTY_FILE;
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
System.out.println("Loading FormC");
HttpSession session = request.getSession(true);
String user = (String) session.getValue("userId");
if (user == null) {
response.sendRedirect(getRedirectURL());
} else {
FormCData fcData = (FormCData) session.getValue("fcData");
getFormC(request, response, session, out, fcData, user);
}
}
public void doPost(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException {
doGet(request, response);
}
private String getRedirectURL() {
try {
Properties prop = FileUtil.loadProperties("FormC.Property");
System.out.println("The loginURL is " + prop.getProperty("LoginURL"));
return prop.getProperty("LoginURL");
} catch (PropFileException pfnf) {
pfnf.printStackTrace();
return null;
}
}
private void getFormC(HttpServletRequest request,
HttpServletResponse response,
HttpSession session,
PrintWriter out,
FormCData fcData,
String user) {
String nextAction = (String) session.getValue("nextAction");
System.out.println("Next action is " + nextAction);
if (!nextAction.equals("FormC"))
nextAction = request.getParameter("txtNextAction");
if ((fcData == null) || (nextAction.equals("FormC"))) {
session.putValue("nextAction", "CollectData");
fcDataInit(session, out, fcData, user);
} else if (nextAction.equals("CollectData")) {
selectFormC(request, session, out, fcData);
} else if (nextAction.equals("DisplayData")) {
displayFormCData(request, session, out, fcData);
} else if (nextAction.equals("SQL")) {
out.println(fcData.getSqlFormC());
}
}
private void fcDataInit(HttpSession session, PrintWriter out,
FormCData fcData, String user) {
if (fcData == null) {
fcData = new FormCData();
if (fcData.init()) {
session.putValue("fcData", fcData);
out.println(fcData.getDefaultFormC(user));
} else {
out.println(fcData.getErrorFormC());
}
} else {
out.println(fcData.getDefaultFormC(user));
}
}
private void selectFormC(HttpServletRequest request, HttpSession session,
PrintWriter out, FormCData fcData) {
String term = request.getParameter("cboTerm");
String course = request.getParameter("cboCourse");
String section = request.getParameter("cboSection");
out.println(fcData.getSelectFormC(term, course, section));
}
private void displayFormCData(HttpServletRequest request,
HttpSession session,
PrintWriter out,
FormCData fcData) {
String[] iNames = RequestUtil.getParmNames(request);
String[] iValues = RequestUtil.getParmValues(iNames, request);
out.println(fcData.getDisplayFormC(iNames, iValues));
}
}