From fdbc8ca146b8e3aff0425e2faf94c0b4a6e3dd28 Mon Sep 17 00:00:00 2001
From: rsanchez <rsanchez@curisit.net>
Date: Tue, 18 Nov 2014 20:07:36 +0000
Subject: [PATCH] #396 fix - Corrected cancel action and added Settings entity
---
securis/src/main/java/net/curisit/securis/services/LicenseResource.java | 22 ++++++++++++++++------
1 files changed, 16 insertions(+), 6 deletions(-)
diff --git a/securis/src/main/java/net/curisit/securis/services/LicenseResource.java b/securis/src/main/java/net/curisit/securis/services/LicenseResource.java
index d4a1c04..927122e 100644
--- a/securis/src/main/java/net/curisit/securis/services/LicenseResource.java
+++ b/securis/src/main/java/net/curisit/securis/services/LicenseResource.java
@@ -52,9 +52,9 @@
import net.curisit.securis.services.exception.SeCurisServiceException.ErrorCodes;
import net.curisit.securis.services.helpers.LicenseHelper;
import net.curisit.securis.services.helpers.UserHelper;
+import net.curisit.securis.utils.Config;
import net.curisit.securis.utils.EmailManager;
import net.curisit.securis.utils.JsonUtils;
-import net.curisit.securis.utils.Params;
import net.curisit.securis.utils.TokenHelper;
import org.apache.commons.io.IOUtils;
@@ -62,6 +62,9 @@
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
import com.google.inject.persist.Transactional;
/**
@@ -256,7 +259,7 @@
User user = userHelper.getUser(bsc.getUserPrincipal().getName(), em);
try {
- String subject = MessageFormat.format(Params.get(Params.KEYS.EMAIL_LIC_DEFAULT_SUBJECT), lic.getPack().getAppName());
+ String subject = MessageFormat.format(Config.get(Config.KEYS.EMAIL_LIC_DEFAULT_SUBJECT), lic.getPack().getAppName());
String email_tpl = IOUtils.toString(this.getClass().getResourceAsStream("/lic_email.template.en"));
String body = MessageFormat.format(email_tpl, lic.getFullName(), app.getName());
licFile = licenseHelper.createTemporaryLicenseFile(lic, app.getLicenseFilename());
@@ -272,7 +275,7 @@
}
}
- lic.setModificationTimestamp(new Date());
+ // lic.setModificationTimestamp(new Date());
em.merge(lic);
em.persist(licenseHelper.createLicenseHistoryAction(lic, user, LicenseHistory.Actions.SEND, "Email sent to: " + lic.getEmail()));
return Response.ok(lic).build();
@@ -295,7 +298,7 @@
@Produces({
MediaType.APPLICATION_JSON
})
- public Response cancel(@PathParam("licId") Integer licId, @FormParam("reason") String reason, @Context BasicSecurityContext bsc)
+ public Response cancel(@PathParam("licId") Integer licId, CancellationLicenseActionBean actionData, @Context BasicSecurityContext bsc)
throws SeCurisServiceException {
EntityManager em = emProvider.get();
@@ -307,13 +310,13 @@
+ " can not be canceled from the current license status");
}
- if (reason == null && (lic.getStatus() == LicenseStatus.ACTIVE || lic.getStatus() == LicenseStatus.PRE_ACTIVE)) {
+ if (actionData.reason == null) {
LOG.error("To cancel an active License we need a reason, lic ID: {}, user: {}", lic.getId(), bsc.getUserPrincipal().getName());
throw new SeCurisServiceException(Status.FORBIDDEN.getStatusCode(), "Active license with id " + licId
+ " can not be canceled without a reason");
}
- licenseHelper.cancelLicense(lic, reason, bsc, em);
+ licenseHelper.cancelLicense(lic, actionData.reason, bsc, em);
return Response.ok(lic).build();
}
@@ -605,4 +608,11 @@
f = new File(f, "config-server.lic");
LOG.info("f: {}", f);
}
+
+ @JsonAutoDetect
+ @JsonIgnoreProperties(ignoreUnknown = true)
+ static class CancellationLicenseActionBean {
+ @JsonProperty
+ private String reason;
+ }
}
--
Gitblit v1.3.2