adding doc
[mir.git] / source / Mir.java
index 91be32d..f3a0b79 100755 (executable)
 
 import mir.bundle.Bundle;
 import mir.config.MirPropertiesConfiguration;
+import mir.log.LoggerWrapper;
 import mir.servlet.*;
-import mir.util.ExceptionFunctions;
 import mir.util.StringRoutines;
-import mir.log.LoggerWrapper;
-import mircoders.entity.EntityUsers;
-import mircoders.global.MirGlobal;
-import mircoders.module.ModuleUsers;
-import mircoders.servlet.ServletHelper;
+import mir.util.ExceptionFunctions;
+import multex.Failure;
 
 import javax.servlet.ServletConfig;
 import javax.servlet.ServletException;
@@ -45,14 +42,15 @@ import javax.servlet.UnavailableException;
 import javax.servlet.http.*;
 import java.io.IOException;
 import java.io.PrintWriter;
+import java.io.StringWriter;
 import java.lang.reflect.Method;
 import java.util.*;
 
-import multex.Failure;
+import mircoders.module.ModuleUsers;
+import mircoders.global.MirGlobal;
+import mircoders.servlet.ServletHelper;
+import mircoders.entity.EntityUsers;
 
-/**
- * Mir.java - main servlet, that dispatches to servletmodules
- */
 public class Mir extends AbstractServlet {
   private static ModuleUsers usersModule = null;
   private final static Map servletModuleInstanceHash = new HashMap();
@@ -277,9 +275,7 @@ public class Mir extends AbstractServlet {
         throw new ServletModuleExc("*** error resolving classname for " + moduleName + " -- " + e.getMessage());
       }
     }
-    else {
-      return (ServletModule) servletModuleInstanceHash.get(moduleName);
-    }
+               return (ServletModule) servletModuleInstanceHash.get(moduleName);
   }
 
   private void handleUserError(HttpServletRequest aRequest, HttpServletResponse aResponse, ServletModuleUserExc anException) {
@@ -319,6 +315,9 @@ public class Mir extends AbstractServlet {
       Map responseData = ServletHelper.makeGenerationData(aRequest, aResponse, new Locale[] {getLocale(aRequest), getFallbackLocale()});
 
       responseData.put("errorstring", anException.toString());
+      StringWriter writer = new StringWriter();
+      anException.printStackTrace(new PrintWriter(writer));
+      responseData.put("stacktrace", writer.toString());
       responseData.put("date", new GregorianCalendar().getTime());
 
       ServletHelper.generateResponse(aResponse.getWriter(), responseData, MirPropertiesConfiguration.instance().getString("Mir.ErrorTemplate"));