From cbed80ba1ec72590c704a24a60d50862297c4cd9 Mon Sep 17 00:00:00 2001
From: Roberto Sánchez <roberto.sanchez@curisit.net>
Date: Tue, 17 Dec 2013 17:28:07 +0000
Subject: [PATCH] #333 feature - Create SECuris repo, first steps

---
 securis/pom.xml                                                  |   12 ++++
 securis/src/main/resources/log4j.xml                             |   26 ++++++++
 securis/src/main/resources/server.properties                     |    1 
 securis/src/main/java/net/curisit/securis/MainApp.java           |    1 
 securis/src/main/java/net/curisit/securis/ioc/SecurisModule.java |   96 ++++++++++++++++++++++++++++++++
 securis/src/main/resources/db/schema.sql                         |    0 
 6 files changed, 136 insertions(+), 0 deletions(-)

diff --git a/securis/pom.xml b/securis/pom.xml
index 62ddd71..48fd750 100644
--- a/securis/pom.xml
+++ b/securis/pom.xml
@@ -27,4 +27,16 @@
   		<version>0.0.1-SNAPSHOT</version>
   	</dependency>
   </dependencies>
+	  <build>
+		<plugins>
+		   <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-compiler-plugin</artifactId>
+            <configuration>
+                <source>1.7</source>
+                <target>1.7</target>
+            </configuration>
+        </plugin>
+		</plugins>
+	</build>
 </project>
\ No newline at end of file
diff --git a/securis/src/main/java/net/curisit/securis/MainApp.java b/securis/src/main/java/net/curisit/securis/MainApp.java
index fbba6f3..c241b4c 100644
--- a/securis/src/main/java/net/curisit/securis/MainApp.java
+++ b/securis/src/main/java/net/curisit/securis/MainApp.java
@@ -12,6 +12,7 @@
 
 	public static void main(String[] args) {
 		log.info("SeCuris init...");
+
 	}
 
 }
diff --git a/securis/src/main/java/net/curisit/securis/ioc/SecurisModule.java b/securis/src/main/java/net/curisit/securis/ioc/SecurisModule.java
new file mode 100644
index 0000000..70acdbf
--- /dev/null
+++ b/securis/src/main/java/net/curisit/securis/ioc/SecurisModule.java
@@ -0,0 +1,96 @@
+package net.curisit.securis.ioc;
+
+import java.io.File;
+import java.net.URI;
+import java.text.MessageFormat;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Properties;
+
+import javafx.application.Application;
+
+import javax.inject.Named;
+import javax.inject.Singleton;
+import javax.ws.rs.core.UriBuilder;
+import javax.ws.rs.core.UriBuilderException;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.google.inject.AbstractModule;
+import com.google.inject.Provides;
+
+public class SecurisModule extends AbstractModule {
+
+	Application app = null;
+
+	private static final int DEFAULT_PORT = 9997;
+	private static final String PROPERTIES_FILE_NAME = "/server.properties";
+
+	private static final Logger log = LoggerFactory.getLogger(SecurisModule.class);
+
+	public SecurisModule(Application app) {
+		this.app = app;
+	}
+
+	public SecurisModule() {
+		this.app = null;
+	}
+
+	@Override
+	protected void configure() {
+
+	}
+
+	public String getPassword() {
+		return getFilePassword() + " " + "cur1s1nt3grity";
+	}
+
+	public String getFilePassword() {
+		return "cur151T";
+	}
+
+	public String getUrl(File appDir) {
+		return String.format("jdbc:h2:%s/db/curisintegrity_cs;CIPHER=AES", appDir.getAbsolutePath());
+	}
+
+	@Named("base-uri")
+	@Provides
+	@Singleton
+	public URI getBaseURI() {
+		// TODO Read from configuration, where?
+		try {
+			// String url = MessageFormat.format("http://{0}/", InetAddress.getLocalHost().getHostAddress());
+			String url = MessageFormat.format("http://{0}/", "0.0.0.0");
+			log.debug("Server url{}", url);
+			return UriBuilder.fromUri(url).port(getPort()).build();
+		} catch (IllegalArgumentException | UriBuilderException e) {
+			return UriBuilder.fromUri("http://localhost/").port(getPort()).build();
+		}
+	}
+
+	private int getPort() {
+		Integer port;
+		Properties prop = new Properties();
+		try {
+			prop.load(getClass().getResourceAsStream(PROPERTIES_FILE_NAME));
+			port = Integer.valueOf(prop.getProperty("port"));
+			if (port == null)
+				return DEFAULT_PORT;
+			else
+				return port;
+		} catch (Exception ex) {
+			return DEFAULT_PORT;
+		}
+	}
+
+	protected List<String> getAppDbFiles() {
+
+		return Arrays.asList("/db/schema.sql");
+	}
+
+	protected Application getApp() {
+		return this.app;
+	}
+
+}
diff --git a/securis/src/main/resources/db/schema.sql b/securis/src/main/resources/db/schema.sql
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/securis/src/main/resources/db/schema.sql
diff --git a/securis/src/main/resources/log4j.xml b/securis/src/main/resources/log4j.xml
new file mode 100644
index 0000000..4ffc345
--- /dev/null
+++ b/securis/src/main/resources/log4j.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
+
+    <appender name="console" class="org.apache.log4j.ConsoleAppender">
+        <param name="Target" value="System.out"/>
+        <layout class="org.apache.log4j.PatternLayout">
+            <param name="ConversionPattern" value="%-5p %c{1} - %m%n"/>
+        </layout>
+    </appender>
+
+    <logger name="net.curisit">
+        <level value="INFO"/>
+    </logger>
+
+    <logger name="sandbox">
+        <level value="DEBUG"/>
+    </logger>
+
+    <root>
+        <priority value ="WARN" />
+        <appender-ref ref="console" />
+    </root>
+
+</log4j:configuration>
\ No newline at end of file
diff --git a/securis/src/main/resources/server.properties b/securis/src/main/resources/server.properties
new file mode 100644
index 0000000..d91904c
--- /dev/null
+++ b/securis/src/main/resources/server.properties
@@ -0,0 +1 @@
+port=9997

--
Gitblit v1.3.2