From 6d04b0ae0f4eeb9f0963b1595d0f2e7469fa5f3f Mon Sep 17 00:00:00 2001
From: Roberto Sánchez <roberto.sanchez@curisit.net>
Date: Thu, 26 Dec 2013 14:53:29 +0000
Subject: [PATCH] #333 feature - Added schema and JPA entities

---
 securis/src/main/java/net/curisit/securis/ioc/SecurisModule.java |   95 ++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 84 insertions(+), 11 deletions(-)

diff --git a/securis/src/main/java/net/curisit/securis/ioc/SecurisModule.java b/securis/src/main/java/net/curisit/securis/ioc/SecurisModule.java
index 72c9c1f..ce82b61 100644
--- a/securis/src/main/java/net/curisit/securis/ioc/SecurisModule.java
+++ b/securis/src/main/java/net/curisit/securis/ioc/SecurisModule.java
@@ -9,9 +9,11 @@
 
 import javax.inject.Named;
 import javax.inject.Singleton;
+import javax.sql.DataSource;
 import javax.ws.rs.core.UriBuilder;
 import javax.ws.rs.core.UriBuilderException;
 
+import org.h2.jdbcx.JdbcDataSource;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -31,7 +33,7 @@
 	}
 
 	public String getPassword() {
-		return getFilePassword() + " " + "cur1s1nt3grity";
+		return getFilePassword() + " " + "53curi5";
 	}
 
 	public String getFilePassword() {
@@ -39,7 +41,7 @@
 	}
 
 	public String getUrl(File appDir) {
-		return String.format("jdbc:h2:%s/db/curisintegrity_cs;CIPHER=AES", appDir.getAbsolutePath());
+		return String.format("jdbc:h2:%s/db/securis;CIPHER=AES", appDir.getAbsolutePath());
 	}
 
 	@Named("base-uri")
@@ -77,14 +79,85 @@
 		return Arrays.asList("/db/schema.sql");
 	}
 
-	// @Provides
-	// @Singleton
-	// public HelloWorld provideHelloWorld() {
-	// if (args.length > 0 && args[0].equals("fi")) {
-	// return new HelloWorldFI();
-	// } else {
-	// return new HelloWorldPL();
-	// }
-	// }
+	@Named("temporary-dir")
+	@Provides
+	@Singleton
+	public File getTemporaryDir() {
+		String tmp = getAppDir().getAbsolutePath();
+		tmp += File.separator + ".TEMP";
+		File ftmp = new File(tmp);
+		if (!ftmp.exists()) {
+			if (!ftmp.mkdirs())
+				return null;
+			log.debug("Created temporary directory for app in: {}", ftmp.getAbsolutePath());
+			ftmp.deleteOnExit();
+		}
+		return ftmp;
+	}
+
+	@Named("app-dir")
+	@Provides
+	@Singleton
+	public File getAppDir() {
+		String appDir = System.getProperty("user.home", System.getProperty("user.dir"));
+		if (appDir == null) {
+			appDir = ".";
+		}
+		appDir += File.separator + ".SeCuris";
+		File fAppDir = new File(appDir);
+		if (!fAppDir.exists()) {
+			if (!fAppDir.mkdirs())
+				return null;
+			log.debug("Created app working directory app in: {}", fAppDir.getAbsolutePath());
+		}
+		return fAppDir;
+	}
+
+	@Named("support-email")
+	@Provides
+	@Singleton
+	public String getSupportEmail() {
+		return "integrity@curistec.com";
+	}
+
+	@Named("hash-logo")
+	@Provides
+	@Singleton
+	public String getHashLogo() {
+		return "1b42616809d4cd8ccf109e3c30d0ab25067f160b30b7354a08ddd563de0096ba";
+	}
+
+	@Named("license-req-file-name")
+	@Provides
+	@Singleton
+	public String getLicenseReqFileName() {
+		return "license.req";
+	}
+
+	@Named("license-file-name")
+	@Provides
+	@Singleton
+	public String getLicenseFileName() {
+		return "license.lic";
+	}
+
+	@Provides
+	@Singleton
+	public DataSource getDataSource(@Named("app-dir") File appDir) {
+
+		JdbcDataSource dataSource = new JdbcDataSource();
+		dataSource.setURL(getUrl(appDir));
+		dataSource.setUser("curis");
+		dataSource.setPassword(getPassword());
+		log.debug("JdbcDataSource: {}", dataSource);
+		return dataSource;
+	}
+
+	@Named("db-files")
+	@Provides
+	@Singleton
+	public List<String> getDbFiles() {
+		return getAppDbFiles();
+	}
 
 }

--
Gitblit v1.3.2