From bc2cedc83f6353259ea1364f98ce60bf11d7ecf4 Mon Sep 17 00:00:00 2001
From: rsanchez <rsanchez@curisit.net>
Date: Thu, 23 Oct 2014 12:06:14 +0000
Subject: [PATCH] #2021 feature - Upgtaded Jackson annotations version and added request data hash management
---
securis/src/main/java/net/curisit/securis/db/License.java | 38 ++++++++++++++++++++++++++++++--------
1 files changed, 30 insertions(+), 8 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 239797c..e8ce296 100644
--- a/securis/src/main/java/net/curisit/securis/db/License.java
+++ b/securis/src/main/java/net/curisit/securis/db/License.java
@@ -8,6 +8,7 @@
import javax.persistence.Column;
import javax.persistence.Entity;
+import javax.persistence.EntityManager;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
@@ -17,14 +18,15 @@
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.Table;
+import javax.persistence.TypedQuery;
import net.curisit.integrity.commons.Utils;
-import org.codehaus.jackson.annotate.JsonAutoDetect;
-import org.codehaus.jackson.annotate.JsonIgnore;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.annotate.JsonProperty;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
/**
* Entity implementation class for Entity: license
@@ -36,7 +38,8 @@
@Table(name = "license")
@JsonIgnoreProperties(ignoreUnknown = true)
@NamedQueries({
- @NamedQuery(name = "list-licenses-by-pack", query = "SELECT l FROM License l where l.pack.id = :packId")
+ @NamedQuery(name = "list-licenses-by-pack", query = "SELECT l FROM License l where l.pack.id = :packId"),
+ @NamedQuery(name = "list-active-licenses-by-req-data", query = "SELECT l FROM License l where l.reqDataHash = :hash and l.status in ('AC', 'PA')")
})
public class License implements Serializable {
@@ -74,6 +77,10 @@
@Column(name = "request_data")
@JsonProperty("request_data")
private String requestData;
+
+ @Column(name = "request_data_hash")
+ @JsonIgnore
+ private String reqDataHash;
@Column(name = "license_data")
@JsonProperty("license_data")
@@ -286,6 +293,7 @@
public static final int DOWNLOAD = 5;
public static final int CANCEL = 6;
public static final int DELETE = 7;
+ public static final int BLOCK = 8;
}
public static class Status {
@@ -296,8 +304,8 @@
Action.SEND, Arrays.asList(LicenseStatus.ACTIVE, LicenseStatus.PRE_ACTIVE), //
Action.DOWNLOAD, Arrays.asList(LicenseStatus.ACTIVE, LicenseStatus.PRE_ACTIVE), //
Action.CANCEL, Arrays.asList(LicenseStatus.ACTIVE, LicenseStatus.PRE_ACTIVE, LicenseStatus.REQUESTED, LicenseStatus.EXPIRED), //
- Action.DELETE, Arrays.asList(LicenseStatus.CANCELLED, LicenseStatus.CREATED) //
-
+ Action.DELETE, Arrays.asList(LicenseStatus.CANCELLED, LicenseStatus.CREATED), //
+ Action.BLOCK, Arrays.asList(LicenseStatus.CANCELLED) //
);
/**
@@ -314,4 +322,18 @@
return validStatuses != null && validStatuses.contains(currentStatus);
}
}
+
+ public License findLicenseByRequestData(String requestData, EntityManager em) {
+ TypedQuery<License> query = em.createNamedQuery("list-active-licenses-by-req-data", License.class);
+ query.setParameter("hash", BlockedRequest.generateHash(requestData));
+ return null;
+ }
+
+ public String getReqDataHash() {
+ return reqDataHash;
+ }
+
+ public void setReqDataHash(String reqDataHash) {
+ this.reqDataHash = reqDataHash;
+ }
}
--
Gitblit v1.3.2