From fb1bbf788b8c2ec2cc292c66c851c7f0b9b19357 Mon Sep 17 00:00:00 2001
From: rsanchez <rsanchez@curisit.net>
Date: Fri, 12 Dec 2014 12:01:18 +0000
Subject: [PATCH] #2140 fix - Added securis client properties file and some issues on API services

---
 securis/src/main/java/net/curisit/securis/services/ApiResource.java |   16 +++++++++++++---
 1 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/securis/src/main/java/net/curisit/securis/services/ApiResource.java b/securis/src/main/java/net/curisit/securis/services/ApiResource.java
index 2df1325..d432621 100644
--- a/securis/src/main/java/net/curisit/securis/services/ApiResource.java
+++ b/securis/src/main/java/net/curisit/securis/services/ApiResource.java
@@ -54,7 +54,6 @@
 @Path("/api")
 public class ApiResource {
 
-    @SuppressWarnings("unused")
     private static final Logger LOG = LogManager.getLogger(ApiResource.class);
 
     @Inject
@@ -189,9 +188,15 @@
             throw new SeCurisServiceException(ErrorCodes.LICENSE_NOT_READY_FOR_RENEW, "The license is still valid, not ready for renew");
         }
 
-        SignedLicenseBean lic = createLicense(previousLic, emProvider.get(), true);
+        EntityManager em = emProvider.get();
+        License lic = License.findLicenseByCode(previousLic.getLicenseCode(), em);
+        if (lic.getStatus() != LicenseStatus.ACTIVE) {
+            throw new SeCurisServiceException(ErrorCodes.LICENSE_NOT_READY_FOR_RENEW, "Only licenses with status 'Active' can be renew");
+        }
 
-        return Response.ok(lic).build();
+        SignedLicenseBean signedLic = createLicense(previousLic, em, true);
+
+        return Response.ok(signedLic).build();
     }
 
     /**
@@ -215,6 +220,11 @@
     @Transactional
     public Response validate(LicenseBean currentLic, @Context BasicSecurityContext bsc) throws IOException, SeCurisServiceException, SeCurisException {
         LOG.info("Validate license: {}", currentLic);
+
+        if (currentLic.getExpirationDate().before(new Date())) {
+            throw new SeCurisServiceException(ErrorCodes.LICENSE_IS_EXPIRED, "The license is expired");
+        }
+
         EntityManager em = emProvider.get();
         try {
             SignatureHelper.getInstance().validateSignature(currentLic);

--
Gitblit v1.3.2