package us.deans.incomeanalyser;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class IncomeAnalyser_Controller extends HttpServlet {

	private static final long serialVersionUID = 1L;
	
	public IncomeAnalyser_Controller() {
        super();
	}
	
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

		response.setContentType("text/html");
		PrintWriter out = response.getWriter();
		out.println("<html><body><h2>Income Analyser Controller (Servlet)</h2></body></html>");
		
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
	
		IncomeAnalyser_Model model = new IncomeAnalyser_Model();
		IncomeAnalyser_Engine engine = new IncomeAnalyzer_Engine_001();
		
		model.setHourlyRate(Double.parseDouble(request.getParameter("hr_rate").trim()));
		model.setTaxForm(request.getParameter("tax_form").trim());
		model.setFilingStatus(request.getParameter("filing_status").trim());
		model.setState(request.getParameter("state").trim());
		model.setIaEngine(engine);
		model.calculate();

		request.setAttribute("income", model);

		// forward the request to the JSP
		RequestDispatcher dispatcher = request.getRequestDispatcher("/IncomeAnalyser_View.jsp");
		dispatcher.forward(request, response);		
		
	
	}

}
