From 8e6db5714c3884cc74c3230abf7b20589ccd1552 Mon Sep 17 00:00:00 2001
From: Roberto Sánchez <roberto.sanchez@curisit.net>
Date: Wed, 05 Feb 2014 09:51:58 +0000
Subject: [PATCH] #0 feature - Upgrade to Bootstrap 3.1 and jQuery 1.11.0
---
securis/src/main/java/net/curisit/securis/db/License.java | 48 ++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 44 insertions(+), 4 deletions(-)
diff --git a/securis/src/main/java/net/curisit/securis/db/License.java b/securis/src/main/java/net/curisit/securis/db/License.java
index 5fc6ba7..325a43a 100644
--- a/securis/src/main/java/net/curisit/securis/db/License.java
+++ b/securis/src/main/java/net/curisit/securis/db/License.java
@@ -1,8 +1,10 @@
package net.curisit.securis.db;
import java.io.Serializable;
+import java.util.Arrays;
import java.util.Date;
import java.util.List;
+import java.util.Map;
import javax.persistence.Column;
import javax.persistence.Entity;
@@ -15,6 +17,8 @@
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.Table;
+
+import net.curisit.integrity.commons.Utils;
import org.codehaus.jackson.annotate.JsonAutoDetect;
import org.codehaus.jackson.annotate.JsonIgnore;
@@ -269,10 +273,46 @@
this.expirationDate = expirationDate;
}
+ public static class Action {
+ public static final int CREATE = 1;
+ public static final int REQUEST = 2;
+ public static final int ACTIVATION = 3;
+ public static final int SEND = 4;
+ public static final int DOWNLOAD = 5;
+ public static final int CANCEL = 6;
+ public static final int DELETE = 7;
+ }
+
public static class Status {
- public static final int CREATED = 0;
- public static final int SENT = 1;
- public static final int ACTIVE = 2;
- public static final int CANCELED = 3;
+ public static final int CREATED = 1;
+ public static final int REQUESTED = 2;
+ public static final int PREACTIVE = 3;
+ public static final int ACTIVE = 4;
+ public static final int EXPIRED = 5;
+ public static final int CANCELED = 6;
+ public static final int DELETED = 7;
+
+ private static final Map<Integer, List<Integer>> transitions = Utils.createMap( //
+ Action.REQUEST, Arrays.asList(CREATED, REQUESTED), //
+ Action.ACTIVATION, Arrays.asList(REQUESTED, PREACTIVE, EXPIRED), //
+ Action.SEND, Arrays.asList(ACTIVE, PREACTIVE), //
+ Action.DOWNLOAD, Arrays.asList(ACTIVE, PREACTIVE), //
+ Action.CANCEL, Arrays.asList(ACTIVE, PREACTIVE, REQUESTED, EXPIRED), //
+ Action.DELETE, Arrays.asList(CANCELED, CREATED) //
+
+ );
+
+ /**
+ * It checks if a given action is valid for the License, passing the action and the current license status
+ *
+ * @param oldStatus
+ * @param newStatus
+ * @return
+ */
+ public static boolean isActionValid(Integer action, Integer currentStatus) {
+ List<Integer> validStatuses = transitions.get(currentStatus);
+
+ return validStatuses != null && validStatuses.contains(currentStatus);
+ }
}
}
--
Gitblit v1.3.2