X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=source%2Fmir%2Fservlet%2FServletModuleDispatch.java;h=a8efff348d82200ed0ad2ad7db74836893a5f740;hb=51f9f2adefc3445e8aaf6889c616ce54df427b8e;hp=5263fedecefe99b30da065bc14b36997d3d02f22;hpb=5bf2a1fa11c1529a731ab6b4521b8254c1fa100f;p=mir.git diff --git a/source/mir/servlet/ServletModuleDispatch.java b/source/mir/servlet/ServletModuleDispatch.java index 5263fede..a8efff34 100755 --- a/source/mir/servlet/ServletModuleDispatch.java +++ b/source/mir/servlet/ServletModuleDispatch.java @@ -16,60 +16,60 @@ import mir.misc.*; */ public final class ServletModuleDispatch { - static Logfile theLog; + static Logfile theLog; - static { - theLog = Logfile.getInstance("/tmp/smod.dispatch"); - } + static { + theLog = Logfile.getInstance("/tmp/smod.dispatch"); + } - /** - * privater Konstruktor, um versehentliche Instantiierung zu verhindern - */ - private ServletModuleDispatch () { - } + /** + * privater Konstruktor, um versehentliche Instantiierung zu verhindern + */ + private ServletModuleDispatch () { + } - /** - * Die Dispatch-Routine ruft das von dem Hauptservlet kommende ServletModule - * mit dem per HttpServletRequest angegebenen Paramter do auf. - * Ist kein Parameter angegeben, so wird versucht, in die defaultAction - * des ServletModules zu springen. - * - * @param req Http-Request, das vom Dispatcher an die Methode des - * ServletModules durchgereicht wird - * @param res Http-Response, die vom Dispatcher an die Methode des - * ServletModules durchgereicht wird - * @param sMod ServletModule, an das dispatched wird. - * @param mod Name des Modules als String (für Logfile) - */ + /** + * Die Dispatch-Routine ruft das von dem Hauptservlet kommende ServletModule + * mit dem per HttpServletRequest angegebenen Paramter do auf. + * Ist kein Parameter angegeben, so wird versucht, in die defaultAction + * des ServletModules zu springen. + * + * @param req Http-Request, das vom Dispatcher an die Methode des + * ServletModules durchgereicht wird + * @param res Http-Response, die vom Dispatcher an die Methode des + * ServletModules durchgereicht wird + * @param sMod ServletModule, an das dispatched wird. + * @param mod Name des Modules als String (für Logfile) + */ - public static void dispatch(ServletModule sMod, HttpServletRequest req, - HttpServletResponse res) throws ServletModuleException - { - //sMod.predeliver(req,res); + public static void dispatch(ServletModule sMod, HttpServletRequest req, + HttpServletResponse res) throws ServletModuleException + { + //sMod.predeliver(req,res); - String doParam = req.getParameter("do"); - //theLog.printInfo("SerletModuleDispatch: " + sMod.toString() + " with method " + doParam); - if (doParam == null) { - if (sMod.defaultAction() != null) doParam = sMod.defaultAction(); - else throw new ServletModuleException("Parameter do nicht angegeben!"); - } + String doParam = req.getParameter("do"); + theLog.printInfo("SerletModuleDispatch: " + sMod.toString() + " with method " + doParam); + if (doParam == null) { + if (sMod.defaultAction() != null) doParam = sMod.defaultAction(); + else throw new ServletModuleException("no parameter do supplied!"); + } - Class[] params= { HttpServletRequest.class, HttpServletResponse.class}; + Class[] params= { HttpServletRequest.class, HttpServletResponse.class}; - try { - Method method = sMod.getClass().getMethod(doParam,params); - if (method != null) { - method.invoke(sMod,new Object[] {req,res} ); - return; - } - else theLog.printDebugInfo("method lookup unsuccesful"); - } - catch ( NoSuchMethodException e) { throw new ServletModuleException("no such method!" + e.toString());} - catch ( SecurityException e) { throw new ServletModuleException("method not allowed!" + e.toString());} - catch ( InvocationTargetException e) {throw new ServletModuleException("target method exception!" + e.getTargetException().toString());} - catch ( IllegalAccessException e) { throw new ServletModuleException("illegal method not allowed!" + e.toString());} -// catch ( Exception e ) { throw new ServletModuleException(e.toString()); } + try { + Method method = sMod.getClass().getMethod(doParam,params); + if (method != null) { + method.invoke(sMod,new Object[] {req,res} ); + return; + } + else theLog.printDebugInfo("method lookup unsuccesful"); + } + catch ( NoSuchMethodException e) { throw new ServletModuleException("no such method!" + e.toString());} + catch ( SecurityException e) { throw new ServletModuleException("method not allowed!" + e.toString());} + catch ( InvocationTargetException e) {e.printStackTrace();throw new ServletModuleException("target method exception!" + e.getTargetException().toString());} + catch ( IllegalAccessException e) { throw new ServletModuleException("illegal method not allowed!" + e.toString());} +// catch ( Exception e ) { throw new ServletModuleException(e.toString()); } - throw new ServletModuleException("delivery failed! -- "); - } -} \ No newline at end of file + throw new ServletModuleException("delivery failed! -- "); + } +}