From f7be2173201d6ef2d559ef4e8fdfef5534eee29e Mon Sep 17 00:00:00 2001
From: Roberto Sánchez <roberto.sanchez@curisit.net>
Date: Mon, 24 Feb 2014 10:10:05 +0000
Subject: [PATCH] #593 feature - Added basic functionality (without server sync) to validate licenses and create request files

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

diff --git a/src/patch/java/net/curisit/securis/LicenseGenerator.java b/src/patch/java/net/curisit/securis/LicenseGenerator.java
index e2b96f6..cd696ff 100644
--- a/src/patch/java/net/curisit/securis/LicenseGenerator.java
+++ b/src/patch/java/net/curisit/securis/LicenseGenerator.java
@@ -2,6 +2,10 @@
 
 import java.io.File;
 import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.nio.file.Files;
+import java.nio.file.Paths;
+import java.nio.file.StandardOpenOption;
 import java.security.InvalidKeyException;
 import java.security.NoSuchAlgorithmException;
 import java.security.NoSuchProviderException;
@@ -14,6 +18,7 @@
 
 import net.curisit.securis.beans.LicenseBean;
 import net.curisit.securis.beans.RequestBean;
+import net.curisit.securis.utils.JsonUtils;
 
 import org.apache.commons.net.util.Base64;
 import org.slf4j.Logger;
@@ -62,6 +67,30 @@
 	}
 
 	/**
+	 * Generate a license file using a {@link LicenseBean}
+	 * 
+	 * @param license
+	 * @param file
+	 * @throws SeCurisException
+	 */
+	public void save(LicenseBean license, File file) throws SeCurisException {
+		byte[] json;
+		try {
+			json = JsonUtils.toJSON(license, 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);
+			throw new SeCurisException("Error creating json doc from license: " + license, e);
+		} catch (IOException e) {
+			log.error("Error creating license file: " + file, e);
+			throw new SeCurisException("Error creating json doc from license: " + license, e);
+		}
+
+		log.info("License saved in {}", file);
+
+	}
+
+	/**
 	 * TODO: This method should be removed from client code.
 	 * 
 	 * @param licBean

--
Gitblit v1.3.2