From fcf951f23acc8160a4433892cd15680d247fe126 Mon Sep 17 00:00:00 2001
From: Roberto Sánchez <roberto.sanchez@curisit.net>
Date: Mon, 24 Feb 2014 11:26:46 +0000
Subject: [PATCH] #593 feature - Proper configuration for log4j2 and slf4j

---
 src/main/java/net/curisit/securis/utils/Params.java    |    1 +
 src/main/java/net/curisit/securis/SignatureHelper.java |    3 +--
 pom.xml                                                |   12 ++++++------
 src/main/java/net/curisit/securis/License.java         |   41 +++++++++++++++++++++++++++++++++++++++++
 4 files changed, 49 insertions(+), 8 deletions(-)

diff --git a/pom.xml b/pom.xml
index 23a9cdd..2ee657e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -17,11 +17,6 @@
   </build>
   <dependencies>
   	<dependency>
-  		<groupId>org.slf4j</groupId>
-  		<artifactId>log4j-over-slf4j</artifactId>
-  		<version>1.7.6</version>
-  	</dependency>
-  	<dependency>
   		<groupId>org.apache.commons</groupId>
   		<artifactId>commons-lang3</artifactId>
   		<version>3.2.1</version>
@@ -48,7 +43,12 @@
   	</dependency>
   	<dependency>
   		<groupId>org.apache.logging.log4j</groupId>
-  		<artifactId>log4j-api</artifactId>
+  		<artifactId>log4j-slf4j-impl</artifactId>
+  		<version>2.0-rc1</version>
+  	</dependency>
+  	<dependency>
+  		<groupId>org.apache.logging.log4j</groupId>
+  		<artifactId>log4j-core</artifactId>
   		<version>2.0-rc1</version>
   	</dependency>
   </dependencies>
diff --git a/src/main/java/net/curisit/securis/License.java b/src/main/java/net/curisit/securis/License.java
index 5b6e1e3..87fd7b7 100644
--- a/src/main/java/net/curisit/securis/License.java
+++ b/src/main/java/net/curisit/securis/License.java
@@ -1,5 +1,9 @@
 package net.curisit.securis;
 
+import java.io.File;
+
+import net.curisit.securis.utils.Params;
+
 import org.apache.commons.cli.CommandLine;
 import org.apache.commons.cli.CommandLineParser;
 import org.apache.commons.cli.HelpFormatter;
@@ -12,10 +16,47 @@
 
 public class License {
 
+	static {
+		// BasicConfigurator.configure(new ConsoleAppender());
+		// PropertyConfigurator.configure("/log4j.xml");
+		// LogManager.getRootLogger().
+	}
+
 	private static final Logger log = LoggerFactory.getLogger(License.class);
 
 	public static void main(String[] args) {
+		log.info("Tool init");
+		checkConfigFile();
 		CommandLine cmd = getCommandLine(args);
+
+		try {
+			if (cmd.hasOption('g')) {
+				String filename = cmd.getOptionValue("rfile");
+				if (filename == null)
+					filename = "./license.req";
+				LicenseManager.getInstance().createRequestFile(new File(filename));
+				System.exit(0);
+			}
+
+		} catch (SeCurisException e) {
+			log.error("The command generated an error: {}", e.toString());
+		}
+	}
+
+	/**
+	 * Checks that config file exists and contains mandatory parameters
+	 */
+	private static void checkConfigFile() {
+		String appCode = Params.get(Params.KEYS.APPLICATION_CODE);
+		if (appCode == null) {
+			log.error("Manadatory parameter {} is not set in config file", Params.KEYS.APPLICATION_CODE);
+			System.exit(-3);
+		}
+		String customerCode = Params.get(Params.KEYS.CUSTOMER_CODE);
+		if (customerCode == null) {
+			log.error("Manadatory parameter {} is not set in config file", Params.KEYS.CUSTOMER_CODE);
+			System.exit(-4);
+		}
 	}
 
 	private static CommandLine getCommandLine(String[] args) {
diff --git a/src/main/java/net/curisit/securis/SignatureHelper.java b/src/main/java/net/curisit/securis/SignatureHelper.java
index 189fd73..e25f28e 100644
--- a/src/main/java/net/curisit/securis/SignatureHelper.java
+++ b/src/main/java/net/curisit/securis/SignatureHelper.java
@@ -26,7 +26,6 @@
 
 import org.apache.commons.io.FileUtils;
 import org.apache.commons.net.util.Base64;
-import org.apache.log4j.xml.DOMConfigurator;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -130,7 +129,7 @@
 
 	public static void main(String[] args) throws SeCurisException {
 		// org.apache.log4j.Logger.getRootLogger().addAppender(new Appender);
-		DOMConfigurator.configure("/Users/cproberto/Documents/wsCurisIT/SeCurisClient/src/main/resources/log4j.xml");
+		// DOMConfigurator.configure("/Users/cproberto/Documents/wsCurisIT/SeCurisClient/src/main/resources/log4j.xml");
 		RequestBean req = ReqGenerator.getInstance().createRequest("CI", "Roberto");
 
 		LicenseGenerator lg = LicenseGenerator.getInstance();
diff --git a/src/main/java/net/curisit/securis/utils/Params.java b/src/main/java/net/curisit/securis/utils/Params.java
index 9b8da6b..b6479ee 100644
--- a/src/main/java/net/curisit/securis/utils/Params.java
+++ b/src/main/java/net/curisit/securis/utils/Params.java
@@ -31,6 +31,7 @@
 			loadParameters(KEY_CONFIG_FILE);
 		} catch (IOException e) {
 			log.error("Config file {} was not found in classpath", KEY_CONFIG_FILE);
+			System.exit(-2);
 		}
 	}
 

--
Gitblit v1.3.2