From d0cb11fcb8aa56081291f40746ec1c85844ed6a5 Mon Sep 17 00:00:00 2001
From: Roberto Sánchez <roberto.sanchez@curisit.net>
Date: Thu, 26 Dec 2013 16:44:48 +0000
Subject: [PATCH] #333 feature - Fixed some JPA config issues

---
 securis/src/main/java/net/curisit/securis/MainApp.java |   34 +++++++++++++++-------------------
 1 files changed, 15 insertions(+), 19 deletions(-)

diff --git a/securis/src/main/java/net/curisit/securis/MainApp.java b/securis/src/main/java/net/curisit/securis/MainApp.java
index 2d81bbb..62d5e13 100644
--- a/securis/src/main/java/net/curisit/securis/MainApp.java
+++ b/securis/src/main/java/net/curisit/securis/MainApp.java
@@ -1,6 +1,7 @@
 package net.curisit.securis;
 
 import java.net.URI;
+import java.util.Properties;
 
 import javax.inject.Inject;
 import javax.inject.Named;
@@ -29,6 +30,8 @@
 import com.google.inject.Injector;
 import com.google.inject.Key;
 import com.google.inject.name.Names;
+import com.google.inject.persist.PersistFilter;
+import com.google.inject.persist.jpa.JpaPersistModule;
 
 public class MainApp {
 
@@ -44,8 +47,17 @@
 	public static void main(String[] args) throws Exception {
 		log.info("SeCuris init...");
 
-		injector = Guice.createInjector(new SecurisModule(), new RequestsModule());
-		// createBiDirectionalGuiceBridge(ServiceLocatorFactory.getInstance().create("default"), new SecurisModule());
+		SecurisModule securisModule = new SecurisModule();
+		JpaPersistModule jpaPersistModule = new JpaPersistModule("localdb");
+		Properties props = new Properties();
+		props.put("javax.persistence.jdbc.password", securisModule.getPassword());
+		props.put("javax.persistence.jdbc.url", securisModule.getUrl(securisModule.getAppDir()));
+		log.info("BD Url: {} {}", securisModule.getUrl(securisModule.getAppDir()), securisModule.getPassword());
+		jpaPersistModule.properties(props);
+
+		injector = Guice.createInjector(securisModule, new RequestsModule(), jpaPersistModule);
+		// injector.getInstance(JpaInitializer.class);
+
 		startServer(injector.getInstance(Key.get(URI.class, Names.named("base-uri"))));
 		while (true) {
 			Thread.currentThread().sleep(100);
@@ -63,7 +75,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(PersistFilter.class)), "/*", null);
 		ServletHolder sh = new ServletHolder(HttpServletDispatcher.class);
 		sh.setName("resteasy");
 		context.addServlet(sh, "/*");
@@ -97,9 +109,6 @@
 
 	}
 
-	/**
-	 * User: Nuwan.N.Bandara
-	 */
 	@Provider
 	public static class DefaultExceptionHandler implements ExceptionMapper<Exception> {
 
@@ -122,16 +131,3 @@
 	}
 
 }
-
-/*
- * Constraint constraint = new Constraint(); constraint.setName(Constraint.__FORM_AUTH);; constraint.setRoles(new String[]{"user","admin","moderator"}); constraint.setAuthenticate(true);
- * 
- * ConstraintMapping constraintMapping = new ConstraintMapping(); constraintMapping.setConstraint(constraint); constraintMapping.setPathSpec("/*");
- * 
- * ConstraintSecurityHandler securityHandler = new ConstraintSecurityHandler(); securityHandler.addConstraintMapping(constraintMapping); HashLoginService loginService = new HashLoginService(); loginService.putUser("username", new
- * Password("password"), new String[] {"user"}); securityHandler.setLoginService(loginService);
- * 
- * FormAuthenticator authenticator = new FormAuthenticator("/login", "/login", false); securityHandler.setAuthenticator(authenticator);
- * 
- * context.setSecurityHandler(securityHandler);
- */
\ No newline at end of file

--
Gitblit v1.3.2