From b83a0ba903b56562751963c106b4c20352c26087 Mon Sep 17 00:00:00 2001
From: Roberto Sánchez <roberto.sanchez@curisit.net>
Date: Tue, 21 Jan 2014 10:43:29 +0000
Subject: [PATCH] #396 feature - Refactoring error management
---
securis/src/main/java/net/curisit/securis/MainApp.java | 36 +++++-------------------------------
1 files changed, 5 insertions(+), 31 deletions(-)
diff --git a/securis/src/main/java/net/curisit/securis/MainApp.java b/securis/src/main/java/net/curisit/securis/MainApp.java
index bf2388b..deb8cab 100644
--- a/securis/src/main/java/net/curisit/securis/MainApp.java
+++ b/securis/src/main/java/net/curisit/securis/MainApp.java
@@ -5,10 +5,6 @@
import javax.inject.Inject;
import javax.inject.Named;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ExceptionMapper;
-import javax.ws.rs.ext.Provider;
import net.curisit.securis.ioc.RequestsModule;
import net.curisit.securis.ioc.SecurisModule;
@@ -17,6 +13,7 @@
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.handler.ContextHandlerCollection;
import org.eclipse.jetty.server.handler.ResourceHandler;
+import org.eclipse.jetty.servlet.ErrorPageErrorHandler;
import org.eclipse.jetty.servlet.FilterHolder;
import org.eclipse.jetty.servlet.ServletContextHandler;
import org.eclipse.jetty.servlet.ServletHolder;
@@ -35,7 +32,7 @@
public class MainApp {
- private static final Logger log = LoggerFactory.getLogger(MainApp.class);
+ static final Logger log = LoggerFactory.getLogger(MainApp.class);
private static Server server;
private static Injector injector = null;
@@ -74,7 +71,7 @@
context.setInitParameter("resteasy.role.based.security", "true");
context.setInitParameter("resteasy.providers", DefaultExceptionHandler.class.getName());
- context.addFilter(new FilterHolder(injector.getInstance(AuthFilter.class)), "/*", null);
+ // context.addFilter(new FilterHolder(injector.getInstance(AuthFilter.class)), "/*", null);
context.addFilter(new FilterHolder(injector.getInstance(PersistFilter.class)), "/*", null);
ServletHolder sh = new ServletHolder(HttpServletDispatcher.class);
sh.setName("resteasy");
@@ -86,16 +83,14 @@
{ "/main.html" });
context.setHandler(staticResources);
- // ErrorPageErrorHandler errorHandler = new ErrorPageErrorHandler();
- // context.setErrorHandler(errorHandler);
+ ErrorPageErrorHandler errorHandler = new ErrorPageErrorHandler();
+ context.setErrorHandler(errorHandler);
// errorHandler.addErrorPage(HttpResponseCodes.SC_FORBIDDEN, "/login");
// errorHandler.addErrorPage(HttpResponseCodes.SC_NOT_FOUND, "/");
// errorHandler.addErrorPage(javax.ws.rs.NotFoundException.class, "/");
// errorHandler.addErrorPage(javax.ws.rs.ForbiddenException.class, "/");
// errorHandler.addErrorPage(javax.ws.rs.ForbiddenException.class.getCanonicalName(), "/");
// errorHandler.addErrorPage(ErrorPageErrorHandler.GLOBAL_ERROR_PAGE, "/");
- context.setWelcomeFiles(new String[]
- { "/index" });
log.info("Error Handlers: " + context.getErrorHandler());
ContextHandlerCollection contexts = new ContextHandlerCollection();
@@ -107,27 +102,6 @@
server.start();
server.join();
log.info("Started server in: http://127.0.0.1:9997/");
- }
-
- @Provider
- public static class DefaultExceptionHandler implements ExceptionMapper<Exception> {
-
- public DefaultExceptionHandler() {
- log.info("Creating DefaultExceptionHandler ");
- }
-
- @Override
- public Response toResponse(Exception e) {
- // log.info("Creating DefaultExceptionHandler ");
- e.printStackTrace();
- // For simplicity I am preparing error xml by hand.
- // Ideally we should create an ErrorResponse class to hold the error info.
- StringBuilder response = new StringBuilder("<response>");
- response.append("<status>ERROR</status>");
- response.append("<message>" + e.getMessage() + "</message>");
- response.append("</response>");
- return Response.serverError().entity(response.toString()).type(MediaType.APPLICATION_XML).build();
- }
}
}
--
Gitblit v1.3.2