// Programm 5-14: BSP_ROOT/meinewebapp/WEB-INF/classes/meineapps/MusterDispatcher.java
package meineapps;

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;

public class MusterDispatcher extends HttpServlet {
  public void doPost(HttpServletRequest rq, HttpServletResponse rs)
                                     throws ServletException, IOException {
    doGet(rq, rs);
  }
/* Aktionsdidentifizierungen, zugleich Knopfbeschriftungen */
  final static String bsuchen = "Nach Code Suchen";
  final static String bweiter = "Weiter ohne Änderung";
  final static String bändern = "Ändern!";
  final static String blöschen = "Löschen!";
  final static String bneu = "Neuer Datensatz";
  final static String bhome = "Zur Startseite";
  final static String breset = "Zurücksetzen";
  final static String bliste = "Als Liste anzeigen";
  public void doGet(HttpServletRequest rq, HttpServletResponse rs)
                                        throws ServletException, IOException {
    PrintWriter out = rs.getWriter();   
/* Formularparameter einlesen */
    String ident = rq.getParameter("ident");
    ident = ident == null ? "" : ident;
    String wnr = rq.getParameter("wnr");
    wnr = wnr == null ? "" : wnr;
    String weinname = rq.getParameter("weinname");
    weinname = weinname == null ? "" : weinname;
    String praedikat  = rq.getParameter("praedikat");
    praedikat = praedikat == null ? "" : praedikat;
/* Farben der Eingabefeldlegenden */
    String cwnr = "black", cweinname = "black", cpraedikat = "black";
/* Dispatcher */
    if (bhome.equals(ident)) {                 // Zur Startseite
      rs.sendRedirect("/");
    }
    else if (bweiter.equals(ident)) {          // Weiter
      rs.sendRedirect(rq.getContextPath() + rq.getServletPath());
          /* z.B. "/meinewebapp" + "/servlet/meineapps.MusterDispatcher" */
    }
    else if (bliste.equals(ident)) {           // Alles auflisten
      rq.getRequestDispatcher("basics.Default").forward(rq, rs);
    }
    else if (bneu.equals(ident)) {             // Neu
      wnr = weinname = praedikat = "";
    }
    else if (true) {      // stellvertretend für alle weiteren Fällen!
    }
/* HTML, HTML-Formular */
    rs.setContentType("text/html");
    out.println("<TITLE>Muster-Dispatcher</TITLE><H1>Muster-Dispatcher</H1>");
    out.println("<FORM Method=GET><TABLE>\n"
    +"<TR><TD Align=right><FONT Color=" + cwnr + ">Schlüssel"
    +"    <TD><INPUT Type=text Name=wnr Value='" + wnr + "'>"
    +"    <TD><INPUT Name=ident Type=submit Value='" + bsuchen + "'>\n"
    +"<TR><TD Align=right><FONT Color=" + cweinname + ">Weinname"
    +"    <TD><INPUT Type=text Name=weinname Value='" + weinname + "'>"
    +"    <TD><INPUT Name=ident Type=submit Value='" + bweiter + "'>\n"
    +"<TR><TD Align=right><FONT Color=" + cpraedikat + ">Prädikat"
    +"    <TD><INPUT Type=text Name=praedikat Value='" + praedikat + "'>"
    +"    <TD><INPUT Name=ident Type=submit Value='" + bändern + "'>\n"
    +"<TR><TD><TD><TD><INPUT Name=ident Type=submit Value='" + bneu + "'>\n"
    +"<TR><TD Colspan=2><INPUT Name=ident Type=submit Value='" + bhome + "'>"
    +"        <INPUT Name=ident Type=reset Value='" + breset + "'>"
    +"    <TD><INPUT Name=ident Type=submit Value='" + blöschen + "'>\n"
    +"<TR><TD><TD><TD><INPUT Name=ident Type=submit Value='" + bliste + "'>\n"
    +"</TABLE></FORM>\n"
    );
  }
}