From 3de8fa2128c740e131676683dec649bb44c8ea73 Mon Sep 17 00:00:00 2001
From: Roberto Sánchez <roberto.sanchez@curisit.net>
Date: Mon, 24 Feb 2014 13:22:01 +0000
Subject: [PATCH] #593 feature - Changed log lib to log4j2 and bugfixing

---
 src/patch/java/net/curisit/securis/LicenseGenerator.java |   25 ++++++++++++++++++-------
 1 files changed, 18 insertions(+), 7 deletions(-)

diff --git a/src/patch/java/net/curisit/securis/LicenseGenerator.java b/src/patch/java/net/curisit/securis/LicenseGenerator.java
index cd696ff..72da188 100644
--- a/src/patch/java/net/curisit/securis/LicenseGenerator.java
+++ b/src/patch/java/net/curisit/securis/LicenseGenerator.java
@@ -8,21 +8,22 @@
 import java.nio.file.StandardOpenOption;
 import java.security.InvalidKeyException;
 import java.security.NoSuchAlgorithmException;
-import java.security.NoSuchProviderException;
 import java.security.Signature;
 import java.security.SignatureException;
 import java.security.spec.InvalidKeySpecException;
 import java.text.MessageFormat;
 import java.util.Date;
 import java.util.Map;
+import java.util.TreeMap;
 
 import net.curisit.securis.beans.LicenseBean;
 import net.curisit.securis.beans.RequestBean;
+import net.curisit.securis.beans.SignedLicenseBean;
 import net.curisit.securis.utils.JsonUtils;
 
 import org.apache.commons.net.util.Base64;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 /**
  * License generator and signer
@@ -31,7 +32,7 @@
  */
 public class LicenseGenerator {
 
-	private static final Logger log = LoggerFactory.getLogger(LicenseGenerator.class);
+	private static final Logger log = LogManager.getLogger(LicenseGenerator.class);
 
 	private static LicenseGenerator singleton = new LicenseGenerator();
 
@@ -55,9 +56,10 @@
 	 * @return
 	 * @throws SeCurisException
 	 */
-	public LicenseBean generateLicense(RequestBean req, Map<String, Object> metadata, Date expirationDate, String licenseCode) throws SeCurisException {
+	public LicenseBean generateLicense(RequestBean req, Map<String, Object> metadata, Date expirationDate, String licenseType, String licenseCode) throws SeCurisException {
 		log.info(MessageFormat.format("Generating license: MAC: {0}, Customer code: {1}, AppCode: {2}", req.getMacAddresses(), req.getCustomerCode(), req.getAppCode()));
 		LicenseBean license = new LicenseBean(req);
+		license.setLicenseType(licenseType);
 		license.setLicenseCode(licenseCode);
 		license.setExpirationDate(expirationDate);
 		license.setMetadata(metadata);
@@ -74,9 +76,10 @@
 	 * @throws SeCurisException
 	 */
 	public void save(LicenseBean license, File file) throws SeCurisException {
+		SignedLicenseBean signedLic = new SignedLicenseBean(license);
 		byte[] json;
 		try {
-			json = JsonUtils.toJSON(license, true).getBytes("utf-8");
+			json = JsonUtils.toJSON(signedLic, true).getBytes("utf-8");
 			Files.write(Paths.get(file.toURI()), json, StandardOpenOption.CREATE);
 		} catch (UnsupportedEncodingException e) {
 			log.error("Error creating json doc from license: " + license, e);
@@ -128,7 +131,15 @@
 		throw new SeCurisException("License could not be generated");
 	}
 
-	public static void main(String[] args) throws IOException, NoSuchAlgorithmException, InvalidKeySpecException, NoSuchProviderException, InvalidKeyException, SignatureException {
+	public static void main(String[] args) throws SeCurisException {
+		Paths.get(new File("/Users/cproberto/Documents/wsCurisIT/SeCurisClient/license.req").toURI());
+
+		RequestBean req = ReqGenerator.getInstance().loadRequest(new File("/Users/cproberto/Documents/wsCurisIT/SeCurisClient/license.req"));
+		Map<String, Object> metadata = new TreeMap<>();
+		metadata.put("maxUsers", 23);
+		metadata.put("maxInstances", 12);
+		LicenseBean lic = LicenseGenerator.getInstance().generateLicense(req, metadata, new Date(new Date().getTime() + 3600 * 1000), "L01", "LIC-9812987123-12837129873");
+		LicenseGenerator.getInstance().save(lic, new File("/Users/cproberto/Documents/wsCurisIT/SeCurisClient/license.lic"));
 
 		System.out.print("os.arch: " + System.getProperty("os.arch") + " " + System.getProperty("os.name"));
 

--
Gitblit v1.3.2