From 3ef2ddd5cb1ee57317ffb757aceb86355a612a17 Mon Sep 17 00:00:00 2001
From: Roberto Sánchez <roberto.sanchez@curisit.net>
Date: Mon, 24 Feb 2014 14:55:10 +0000
Subject: [PATCH] #593 feature - Changed CRC logo inclusion in request to optional, the server will check if logo is mandatory or not

---
 src/main/java/net/curisit/securis/License.java |   78 ++++++++++++++++++++++++++++++++++-----
 1 files changed, 68 insertions(+), 10 deletions(-)

diff --git a/src/main/java/net/curisit/securis/License.java b/src/main/java/net/curisit/securis/License.java
index dd634bb..4ad5059 100644
--- a/src/main/java/net/curisit/securis/License.java
+++ b/src/main/java/net/curisit/securis/License.java
@@ -2,7 +2,6 @@
 
 import java.io.File;
 import java.net.URISyntaxException;
-import java.util.Date;
 
 import net.curisit.securis.utils.Params;
 
@@ -16,21 +15,45 @@
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 
+/**
+ * Main class when SeCuris client is used from command line.
+ * 
+ * <pre>
+ * usage: securis-client [-c] [-g] [-h] [-l <lic_file>] [-r <lic_file>] [-s
+ *       <url_license_server>] [-t]
+ * -c,--create                        Request a license file from server.
+ *                                    --rfile and --server parameters are
+ *                                    mandatory.
+ * -g,--gen_request                   Generate request file. If --rfile
+ *                                     parameter is missing then It is
+ *                                     generated in current directory.
+ *  -h,--help                          Show help.
+ *  -l,--validate <lic_file>           Validate lic file.
+ *  -r,--renew <lic_file>              Synchronize/renew the current license
+ *                                     file. --server parameter is mandatory.
+ *  -s,--server <url_license_server>   License server url.
+ *  -t,--test_lc                       Test if License Server (LC) is
+ *                                     available. --server parameter is
+ *                                     mandatory.
+ * </pre>
+ * 
+ * @author roberto <roberto.sanchez@curisit.net>
+ * 
+ */
 public class License {
 
-	static {
-		// BasicConfigurator.configure(new ConsoleAppender());
-		// PropertyConfigurator.configure("/log4j.xml");
-		// LogManager.getRootLogger().
-	}
-
-	// private static final Logger log = LoggerFactory.getLogger(License.class);
 	private static final Logger log = LogManager.getLogger(License.class);
 
+	/**
+	 * Aplication entry point when it used as CLI
+	 * 
+	 * @param args
+	 * @throws URISyntaxException
+	 */
 	public static void main(String[] args) throws URISyntaxException {
 		// Configuration conf = XMLConfigurationFactory.getInstance().getConfiguration("config", License.class.getResource("/log4j.xml").toURI());
 
-		log.info("Tool init {}", new Date());
+		log.debug("SeCuris client tool init ");
 
 		checkConfigFile();
 		CommandLine cmd = getCommandLine(args);
@@ -61,8 +84,43 @@
 				System.exit(0);
 			}
 
+			if (cmd.hasOption('c')) {
+				String reqFilename = cmd.getOptionValue("rfile");
+				checkMandatoryParameter(reqFilename, "rfile");
+				String server = cmd.getOptionValue("server");
+				checkMandatoryParameter(server, "server");
+
+				log.warn("This command is not yet implemented");
+				System.exit(0);
+			}
+
+			if (cmd.hasOption('t')) {
+				String server = cmd.getOptionValue("server");
+				checkMandatoryParameter(server, "server");
+
+				log.warn("This command is not yet implemented");
+				System.exit(0);
+			}
+
+			if (cmd.hasOption('r')) {
+				String licFilename = cmd.getOptionValue("sync");
+				checkMandatoryParameter(licFilename, "sync");
+				String server = cmd.getOptionValue("server");
+				checkMandatoryParameter(server, "server");
+
+				log.warn("This command is not yet implemented");
+				System.exit(0);
+			}
+
 		} catch (SeCurisException e) {
 			log.error("The command generated an error: {}", e.toString());
+		}
+	}
+
+	private static void checkMandatoryParameter(String value, String param) {
+		if (value == null) {
+			log.error("Parameter {} is mandatory. Use --help to get information about parameters", param);
+			System.exit(-5);
 		}
 	}
 
@@ -120,7 +178,7 @@
 		options.addOption("g", "gen_request", false, "Generate request file. If --rfile parameter is missing then It is generated in current directory.");
 		options.addOption("c", "create", false, "Request a license file from server. --rfile and --server parameters are mandatory.");
 		options.addOption("t", "test_lc", false, "Test if License Server (LC) is available. --server parameter is mandatory.");
-		options.addOption(OptionBuilder.withArgName("lic_file").withLongOpt("sync").withDescription("Synchronize/renew the current license file. --server parameter is mandatory.").hasArg(true).create('y'));
+		options.addOption(OptionBuilder.withArgName("lic_file").withLongOpt("renew").withDescription("Synchronize/renew the current license file. --server parameter is mandatory.").hasArg(true).create('r'));
 
 		return options;
 	}

--
Gitblit v1.3.2