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