// Programm 7-5a: BSP_ROOT/meinewebapp/WEB-INF/classes/muster/Gaestebuch.java
package muster;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*; import java.util.*;
public class Gaestebuch extends HttpServlet {
  static Hashtable ctrls = new Hashtable(); // Steuer- und Parameterliste
  static {
    ctrls.put("Home", new String[]{ "/muster/GaestebuchHome.jsp"} );
    ctrls.put("Anzeigen", new String[]{ "/muster/GaestebuchAnzeigen.jsp"} );
    ctrls.put("Liste", new String[]{ "/muster/GaestebuchListe.jsp"} );
    ctrls.put("Neu", new String[]{ "/muster/GaestebuchAendern.jsp"} );
    ctrls.put("Aendern", new String[]{ "/muster/GaestebuchAendern.jsp"} );
    ctrls.put("Speichern", new String[]{ "/muster/GaestebuchAendern.jsp"} );
 }
  public void doGet(HttpServletRequest rq, HttpServletResponse rs)
                                        throws ServletException, IOException {
    PrintWriter out = rs.getWriter();
    String fcode = rq.getParameter("fcode");
    fcode = fcode == null ? "Home" : fcode;
    String target = ((String[]) ctrls.get(fcode))[0];
    if ("Home".equals(fcode)) {                       //************* Home
      GaestebuchListe rset = new GaestebuchListe();
      rset.setListe();
      rq.setAttribute(fcode, rset);
    }
    else if ("Anzeigen".equals(fcode)) {               //************* Aendern
      GaestebuchAendern rset = new GaestebuchAendern();
      rset.setAnzeigen(rq.getParameter("gnr"));
      rq.setAttribute(fcode, rset);
    }
    else if ("Neu".equals(fcode)) {                   //************* Neu
      GaestebuchAendern rset = new GaestebuchAendern();
      rset.setNeu();
      rq.setAttribute(fcode, rset);
    }
    else if ("Speichern".equals(fcode)) {             //************* Speichern
      GaestebuchAendern rset = new GaestebuchAendern();
      rset.setAendern(rq.getParameter("gnr"), rq.getParameter("motto"),
                      rq.getParameter("kontakt"), rq.getParameter("text"));
      rset.setAnzeigen(rq.getParameter("gnr"));
      rq.setAttribute(fcode, rset);
    }
    else if ("Liste".equals(fcode)) {                 //************* Liste
      GaestebuchListe rset = new GaestebuchListe();
      rset.setListe();
      rq.setAttribute(fcode, rset);
    }
    else if ("Aendern".equals(fcode)) {               //************* Aendern
      GaestebuchAendern rset = new GaestebuchAendern();
      rset.setAnzeigen(rq.getParameter("gnr"));
      rq.setAttribute(fcode, rset);
    }
    rq.getRequestDispatcher(target).forward(rq, rs);
    out.print(rs);
  }
}