rsanchez
2014-11-18 fdbc8ca146b8e3aff0425e2faf94c0b4a6e3dd28
securis/src/main/java/net/curisit/securis/services/LicenseResource.java
....@@ -52,9 +52,9 @@
5252 import net.curisit.securis.services.exception.SeCurisServiceException.ErrorCodes;
5353 import net.curisit.securis.services.helpers.LicenseHelper;
5454 import net.curisit.securis.services.helpers.UserHelper;
55
+import net.curisit.securis.utils.Config;
5556 import net.curisit.securis.utils.EmailManager;
5657 import net.curisit.securis.utils.JsonUtils;
57
-import net.curisit.securis.utils.Params;
5858 import net.curisit.securis.utils.TokenHelper;
5959
6060 import org.apache.commons.io.IOUtils;
....@@ -62,6 +62,9 @@
6262 import org.apache.logging.log4j.LogManager;
6363 import org.apache.logging.log4j.Logger;
6464
65
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
66
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
67
+import com.fasterxml.jackson.annotation.JsonProperty;
6568 import com.google.inject.persist.Transactional;
6669
6770 /**
....@@ -256,7 +259,7 @@
256259
257260 User user = userHelper.getUser(bsc.getUserPrincipal().getName(), em);
258261 try {
259
- String subject = MessageFormat.format(Params.get(Params.KEYS.EMAIL_LIC_DEFAULT_SUBJECT), lic.getPack().getAppName());
262
+ String subject = MessageFormat.format(Config.get(Config.KEYS.EMAIL_LIC_DEFAULT_SUBJECT), lic.getPack().getAppName());
260263 String email_tpl = IOUtils.toString(this.getClass().getResourceAsStream("/lic_email.template.en"));
261264 String body = MessageFormat.format(email_tpl, lic.getFullName(), app.getName());
262265 licFile = licenseHelper.createTemporaryLicenseFile(lic, app.getLicenseFilename());
....@@ -272,7 +275,7 @@
272275 }
273276 }
274277
275
- lic.setModificationTimestamp(new Date());
278
+ // lic.setModificationTimestamp(new Date());
276279 em.merge(lic);
277280 em.persist(licenseHelper.createLicenseHistoryAction(lic, user, LicenseHistory.Actions.SEND, "Email sent to: " + lic.getEmail()));
278281 return Response.ok(lic).build();
....@@ -295,7 +298,7 @@
295298 @Produces({
296299 MediaType.APPLICATION_JSON
297300 })
298
- public Response cancel(@PathParam("licId") Integer licId, @FormParam("reason") String reason, @Context BasicSecurityContext bsc)
301
+ public Response cancel(@PathParam("licId") Integer licId, CancellationLicenseActionBean actionData, @Context BasicSecurityContext bsc)
299302 throws SeCurisServiceException {
300303
301304 EntityManager em = emProvider.get();
....@@ -307,13 +310,13 @@
307310 + " can not be canceled from the current license status");
308311 }
309312
310
- if (reason == null && (lic.getStatus() == LicenseStatus.ACTIVE || lic.getStatus() == LicenseStatus.PRE_ACTIVE)) {
313
+ if (actionData.reason == null) {
311314 LOG.error("To cancel an active License we need a reason, lic ID: {}, user: {}", lic.getId(), bsc.getUserPrincipal().getName());
312315 throw new SeCurisServiceException(Status.FORBIDDEN.getStatusCode(), "Active license with id " + licId
313316 + " can not be canceled without a reason");
314317 }
315318
316
- licenseHelper.cancelLicense(lic, reason, bsc, em);
319
+ licenseHelper.cancelLicense(lic, actionData.reason, bsc, em);
317320 return Response.ok(lic).build();
318321 }
319322
....@@ -605,4 +608,11 @@
605608 f = new File(f, "config-server.lic");
606609 LOG.info("f: {}", f);
607610 }
611
+
612
+ @JsonAutoDetect
613
+ @JsonIgnoreProperties(ignoreUnknown = true)
614
+ static class CancellationLicenseActionBean {
615
+ @JsonProperty
616
+ private String reason;
617
+ }
608618 }