rsanchez
2014-12-11 36edce38f6b17f73322fa38404d6e01818a44fd2
securis/src/main/java/net/curisit/securis/services/LicenseResource.java
....@@ -4,10 +4,7 @@
44 import java.io.IOException;
55 import java.text.MessageFormat;
66 import java.util.Date;
7
-import java.util.HashMap;
87 import java.util.List;
9
-import java.util.Map;
10
-import java.util.Set;
118
129 import javax.inject.Inject;
1310 import javax.inject.Provider;
....@@ -42,7 +39,6 @@
4239 import net.curisit.securis.db.LicenseHistory;
4340 import net.curisit.securis.db.LicenseStatus;
4441 import net.curisit.securis.db.Pack;
45
-import net.curisit.securis.db.PackMetadata;
4642 import net.curisit.securis.db.PackStatus;
4743 import net.curisit.securis.db.User;
4844 import net.curisit.securis.security.BasicSecurityContext;
....@@ -380,10 +376,7 @@
380376 if (lic.getRequestData() != null) {
381377 License existingLicense = License.findLicenseByRequestData(lic.getRequestData(), em);
382378 if (existingLicense != null) {
383
- return Response.status(DefaultExceptionHandler.DEFAULT_APP_ERROR_STATUS_CODE)
384
- .header(DefaultExceptionHandler.ERROR_CODE_MESSAGE_HEADER, ErrorCodes.DUPLICATED_REQUEST_DATA)
385
- .header(DefaultExceptionHandler.ERROR_MESSAGE_HEADER, "There is already an active license for current request data")
386
- .type(MediaType.APPLICATION_JSON).entity(existingLicense).build();
379
+ throw new SeCurisServiceException(ErrorCodes.DUPLICATED_REQUEST_DATA, "There is already an active license for current request data");
387380 }
388381
389382 if (pack.getNumAvailables() > 0) {
....@@ -414,7 +407,7 @@
414407 em.persist(lic);
415408 em.persist(licenseHelper.createLicenseHistoryAction(lic, createdBy, LicenseHistory.Actions.CREATE));
416409 if (lic.getStatus() == LicenseStatus.ACTIVE) {
417
- em.persist(licenseHelper.createLicenseHistoryAction(lic, createdBy, LicenseHistory.Actions.CREATE, "Activated on creation"));
410
+ em.persist(licenseHelper.createLicenseHistoryAction(lic, createdBy, LicenseHistory.Actions.ACTIVATE, "Activated on creation"));
418411 }
419412
420413 return Response.ok(lic).build();
....@@ -425,22 +418,13 @@
425418 Pack pack = em.find(Pack.class, license.getPackId());
426419 RequestBean rb = validateRequestData(pack, license.getRequestData());
427420 try {
428
- LicenseBean lb = licenseGenerator.generateLicense(rb, extractPackMetadata(pack.getMetadata()), license.getExpirationDate(),
429
- pack.getLicenseTypeCode(), license.getCode());
421
+ LicenseBean lb = licenseGenerator.generateLicense(rb, licenseHelper.extractPackMetadata(pack.getMetadata()),
422
+ licenseHelper.getExpirationDateFromPack(pack, false), license.getCode(), pack.getAppName());
430423 sl = new SignedLicenseBean(lb);
431424 } catch (SeCurisException e) {
432425 throw new SeCurisServiceException(ErrorCodes.INVALID_LICENSE_REQUEST_DATA, "Error generating license: " + e.toString());
433426 }
434427 return sl;
435
- }
436
-
437
- private Map<String, Object> extractPackMetadata(Set<PackMetadata> packMetadata) {
438
- Map<String, Object> metadata = new HashMap<>();
439
- for (PackMetadata md : packMetadata) {
440
- metadata.put(md.getKey(), md.getValue());
441
- }
442
-
443
- return metadata;
444428 }
445429
446430 /**