package de.memtext.util; import java.io.IOException; import jakarta.servlet.ServletException; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import javax.xml.transform.ErrorListener; import javax.xml.transform.TransformerException; import de.superx.servlet.ServletBasics; /** * Abstrakte Basisklasse für ServletHelper-Objekt, nimmt request und response * und den Logger auf. Objekte, die erweitern müssen (wie bei Thread) run() * aufrufen. Dann wird die Authentifizierung geprüft und wenn die OK ist, wird * die perform()-Methode des eigentlichen Objekts aufgerufen (die z.B. Maske * aufbaut oder Tabelle holt). wenn eine Exception auftritt sorgt run() dafür, * dass der Fehler gemeldet wird. Als Variablen enthält diese Klasse bereits den * StringBuffer returnText mit dem geplanten Rückgabetext. Und userid mit der * UserId (wenn Authentifizierung OK) */ public abstract class ServletHelper extends ServletBasics { public ServletHelper(HttpServletRequest request, HttpServletResponse response, String sessiontype) throws IOException { super(request, response, sessiontype); } /** * Prüft falls gewünscht die Authentifizierung (existiert eine * superx-Session) danach wird die abstrakte Methode perform aufgerufen. Die * meisten Exceptions werden also Infomeldung an den User weitergegeben * * @param isAuthentificationCheckWanted * @throws IOException */ public void run(boolean isAuthentificationCheckWanted) throws IOException, ServletException { try { if (isAuthentificationCheckWanted) { checkSessionType(); } perform(); } catch (Exception e) { } } abstract protected void perform() throws Exception; class DummyErrorListener implements ErrorListener { @Override public void warning(TransformerException exception) throws TransformerException { } @Override public void error(TransformerException exception) throws TransformerException { } @Override public void fatalError(TransformerException exception) throws TransformerException { System.out.println(exception); } } } //Created on 30.09.2004 at 08:59:42 //Created on 27.02.2006 at 18:50:31 //refactored to servletBasis 10.8.2011