package server.servlets;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

public class PhoneInsert extends HttpServlet {

    public static String getSql(
            String firstname,
            String lastname,
            String address1,
            String address2,
            String phone1,
            String phone2,
            String phone3) {

        return "insert into phonelist"
                + "(firstname,lastname,"
                + "address1,address2,phone1,phone2,phone3) values "
                + "(" + quote(firstname)
                + quote(lastname)
                + quote(address1)
                + quote(address2)
                + quote(phone1)
                + quote(phone2)
                + nocommaQuote(phone3) + ")";
    }

    public static String nocommaQuote(String s) {
        return "'" + s + "'";
    }

    public static String quote(String s) {
        return "'" + s + "',";
    }

    public static String getForm() {
        return
                "<HTML>"
                + "<HEAD>"
                + "<TITLE>Phone Book</TITLE></HEAD>"
                + "<BODY>"
                + "<CENTER>"
                + "<H1>Telephone Book</H1>"
                + "<FORM ACTION=HelloWorldExample METHOD=GET><TABLE>"
                + "<TR>"
                + "  <TD>Last Name</TD>"
                + "  <TD><INPUT TYPE=TEXT SIZE=20 NAME=lastname></TD></TR><TR>"
                + "  <TD>First Name</TD>"
                + "  <TD><INPUT TYPE=TEXT SIZE=20 NAME=firstname></TD></TR><TR>"
                + "  <TD>address1</TD>"
                + "  <TD><INPUT TYPE=TEXT SIZE=20 NAME=address1></TD></TR><TR>"
                + "  <TD>address2</TD>"
                + "  <TD><INPUT TYPE=TEXT SIZE=20 NAME=address2></TD></TR><TR>"
                + "  <TD>Phone1</TD>"
                + "  <TD><INPUT TYPE=TEXT SIZE=20 NAME=phone1></TD></TR>"
                + "  <TD>Phone2</TD>"
                + "  <TD><INPUT TYPE=TEXT SIZE=20 NAME=phone2></TD></TR>"
                + "  <TD>Phone3</TD>"
                + "  <TD><INPUT TYPE=TEXT SIZE=20 NAME=phone3></TD></TR>"
                + "</TABLE>"
                + "<INPUT TYPE=Submit NAME=Add VALUE=Add New Entry>"
                + "<INPUT TYPE=Reset VALUE=Reset>"
                + "</FORM><BR>"
                + "</BODY></HTML>";
    }

    public void doGet(HttpServletRequest request,
                      HttpServletResponse response)
            throws IOException, ServletException {
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        String fn = request.getParameter("firstname");
        String ln = request.getParameter("lastname");
        String a1 = request.getParameter("address1");
        String a2 = request.getParameter("address2");
        String p1 = request.getParameter("phone1");
        String p2 = request.getParameter("phone2");
        String p3 = request.getParameter("phone3");
        out.println("<html>");
        out.println("<body bgcolor=\"white\">");
        out.println("<body>");
        if (fn != null) {
            String sql = getSql(fn, ln, a1, a2, p1, p2, p3);
            out.println("sql inserted=" + sql);
            Execute.statement(sql);
        } else
            out.println(getForm());

        out.println("</body>");
        out.println("</html>");
    }
}