From c4d513ca26fe80946a5d90264de5d8e13e4ea974 Mon Sep 17 00:00:00 2001
From: rsanchez <rsanchez@curisit.net>
Date: Thu, 23 Oct 2014 17:21:24 +0000
Subject: [PATCH] #2021 feature - Added pack actions in server and in frontend
---
securis/src/main/java/net/curisit/securis/db/Pack.java | 37 +++++++++++++++++++++++++++++++++++++
1 files changed, 37 insertions(+), 0 deletions(-)
diff --git a/securis/src/main/java/net/curisit/securis/db/Pack.java b/securis/src/main/java/net/curisit/securis/db/Pack.java
index ff3a93e..65d8478 100644
--- a/securis/src/main/java/net/curisit/securis/db/Pack.java
+++ b/securis/src/main/java/net/curisit/securis/db/Pack.java
@@ -1,7 +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 java.util.Set;
import javax.persistence.CascadeType;
@@ -16,6 +19,8 @@
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.Table;
+
+import net.curisit.integrity.commons.Utils;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.JsonIgnore;
@@ -321,4 +326,36 @@
return (id == null ? 0 : id.hashCode());
}
+
+ public static class Action {
+ public static final int CREATE = 1;
+ public static final int ACTIVATION = 2;
+ public static final int PUT_ONHOLD = 3;
+ public static final int CANCEL = 4;
+ public static final int DELETE = 5;
+ }
+
+ public static class Status {
+
+ private static final Map<Integer, List<Integer>> transitions = Utils.createMap( //
+ Action.ACTIVATION, Arrays.asList(PackStatus.CREATED, PackStatus.ON_HOLD, PackStatus.EXPIRED), //
+ Action.PUT_ONHOLD, Arrays.asList(PackStatus.ACTIVE), //
+ Action.CANCEL, Arrays.asList(PackStatus.ACTIVE, PackStatus.ON_HOLD, PackStatus.EXPIRED), //
+ Action.DELETE, Arrays.asList(PackStatus.CANCELLED, PackStatus.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, PackStatus currentStatus) {
+ List<Integer> validStatuses = transitions.get(currentStatus);
+
+ return validStatuses != null && validStatuses.contains(currentStatus);
+ }
+ }
}
--
Gitblit v1.3.2