rsanchez
2014-11-18 b33557d3faf3e45eff3d3e19f4a1549ffe907b4c
securis/src/main/java/net/curisit/securis/db/License.java
....@@ -28,6 +28,7 @@
2828
2929 import org.apache.logging.log4j.LogManager;
3030 import org.apache.logging.log4j.Logger;
31
+import org.hibernate.annotations.Type;
3132
3233 import com.fasterxml.jackson.annotation.JsonAutoDetect;
3334 import com.fasterxml.jackson.annotation.JsonIgnore;
....@@ -75,6 +76,7 @@
7576 @JoinColumn(name = "cancelled_by")
7677 private User cancelledBy;
7778
79
+ @Type(type = "net.curisit.securis.db.common.LicenseStatusType")
7880 private LicenseStatus status;
7981
8082 @Column(name = "full_name")
....@@ -316,7 +318,7 @@
316318
317319 public static class Status {
318320
319
- private static final Map<Integer, List<Integer>> transitions = Utils.createMap( //
321
+ private static final Map<Integer, List<LicenseStatus>> transitions = Utils.createMap( //
320322 Action.REQUEST, Arrays.asList(LicenseStatus.CREATED, LicenseStatus.REQUESTED), //
321323 Action.ACTIVATION, Arrays.asList(LicenseStatus.REQUESTED, LicenseStatus.PRE_ACTIVE, LicenseStatus.EXPIRED), //
322324 Action.SEND, Arrays.asList(LicenseStatus.ACTIVE, LicenseStatus.PRE_ACTIVE), //
....@@ -335,8 +337,8 @@
335337 * @return
336338 */
337339 public static boolean isActionValid(Integer action, LicenseStatus currentStatus) {
338
- List<Integer> validStatuses = transitions.get(action);
339
-
340
+ List<LicenseStatus> validStatuses = transitions.get(action);
341
+ LOG.info("Action {} is valid ? => {} current: {} OK? {}", action, validStatuses, currentStatus, validStatuses.contains(currentStatus));
340342 return validStatuses != null && validStatuses.contains(currentStatus);
341343 }
342344 }