From d7ee99d10fc17ca29511b2f1e551fcd1dd1c2c8e Mon Sep 17 00:00:00 2001
From: Roberto Sánchez <roberto.sanchez@curisit.net>
Date: Mon, 23 Dec 2013 17:38:25 +0000
Subject: [PATCH] #333 feature - Added login and first main page design
---
securis/src/main/java/net/curisit/securis/MainApp.java | 49 +++++++++++++++++++++++++++++++------------------
1 files changed, 31 insertions(+), 18 deletions(-)
diff --git a/securis/src/main/java/net/curisit/securis/MainApp.java b/securis/src/main/java/net/curisit/securis/MainApp.java
index b8ae3b1..2d81bbb 100644
--- a/securis/src/main/java/net/curisit/securis/MainApp.java
+++ b/securis/src/main/java/net/curisit/securis/MainApp.java
@@ -12,14 +12,16 @@
import net.curisit.securis.ioc.RequestsModule;
import net.curisit.securis.ioc.SecurisModule;
+import org.eclipse.jetty.server.Handler;
import org.eclipse.jetty.server.Server;
-import org.eclipse.jetty.servlet.ErrorPageErrorHandler;
+import org.eclipse.jetty.server.handler.ContextHandlerCollection;
+import org.eclipse.jetty.server.handler.ResourceHandler;
import org.eclipse.jetty.servlet.FilterHolder;
import org.eclipse.jetty.servlet.ServletContextHandler;
import org.eclipse.jetty.servlet.ServletHolder;
+import org.eclipse.jetty.util.resource.Resource;
import org.jboss.resteasy.plugins.guice.GuiceResteasyBootstrapServletContextListener;
import org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher;
-import org.jboss.resteasy.util.HttpResponseCodes;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -52,8 +54,7 @@
private static void startServer(URI uri) throws Exception {
System.out.println("Starting jetty...");
- // ResourceConfig rc = new PackagesResourceConfig("net.curisit.securis.services", "org.codehaus.jackson.jaxrs");
- // IoCComponentProviderFactory ioc = new GuiceComponentProviderFactory(rc, injector);
+
server = new Server(9997);
ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
context.setContextPath("/");
@@ -64,25 +65,35 @@
context.addFilter(new FilterHolder(injector.getInstance(AuthFilter.class)), "/*", null);
ServletHolder sh = new ServletHolder(HttpServletDispatcher.class);
- // context.addServlet(DefaultServlet.class, "/*");
- context.addServlet(sh, "/");
- 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, "/");
+ sh.setName("resteasy");
+ context.addServlet(sh, "/*");
+ ResourceHandler staticResources = new ResourceHandler();
+ staticResources.setBaseResource(Resource.newResource(MainApp.class.getResource("/static").toURI()));
+ staticResources.setWelcomeFiles(new String[]
+ { "/login.html" });
+ context.setHandler(staticResources);
+
+ // 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());
- server.setHandler(context);
+ ContextHandlerCollection contexts = new ContextHandlerCollection();
+ contexts.setHandlers(new Handler[]
+ { staticResources, context });
+ // server.setHandler(contexts);
+
+ server.setHandler(context);
server.start();
server.join();
- // rc.packages("net.curisit.securis.services", "org.codehaus.jackson.jaxrs");
-
- // new CLStaticHttpHandler(new URLClassLoader(new URL[] {new URL("file:///home/username/staticfiles.jar")})), "/www")
}
@@ -98,6 +109,8 @@
@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>");
--
Gitblit v1.3.2