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;
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();
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) {
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"));