rsanchez
2014-10-23 bc2cedc83f6353259ea1364f98ce60bf11d7ecf4
securis/src/main/java/net/curisit/securis/db/BlockedRequest.java
....@@ -5,23 +5,27 @@
55
66 import javax.persistence.Column;
77 import javax.persistence.Entity;
8
+import javax.persistence.EntityManager;
89 import javax.persistence.Id;
910 import javax.persistence.JoinColumn;
1011 import javax.persistence.ManyToOne;
1112 import javax.persistence.Table;
1213
13
-import org.codehaus.jackson.annotate.JsonAutoDetect;
14
-import org.codehaus.jackson.annotate.JsonIgnore;
15
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
16
-import org.codehaus.jackson.annotate.JsonProperty;
17
-import org.codehaus.jackson.map.annotate.JsonSerialize;
14
+import net.curisit.integrity.commons.Utils;
15
+
16
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
17
+import com.fasterxml.jackson.annotation.JsonIgnore;
18
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
19
+import com.fasterxml.jackson.annotation.JsonInclude;
20
+import com.fasterxml.jackson.annotation.JsonInclude.Include;
21
+import com.fasterxml.jackson.annotation.JsonProperty;
1822
1923 /**
2024 * Entity implementation class for Entity: pack
2125 *
2226 */
2327 @JsonAutoDetect
24
-@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
28
+@JsonInclude(Include.NON_NULL)
2529 @Entity
2630 @Table(name = "blocked_request")
2731 @JsonIgnoreProperties(ignoreUnknown = true)
....@@ -58,7 +62,7 @@
5862 if (!(obj instanceof BlockedRequest))
5963 return false;
6064 BlockedRequest other = (BlockedRequest) obj;
61
- return hash.equals(other.hash);
65
+ return (hash == null && other.hash == null) || hash.equals(other.hash);
6266 }
6367
6468 @Override
....@@ -73,6 +77,7 @@
7377
7478 public void setRequestData(String requestData) {
7579 this.requestData = requestData;
80
+ this.hash = generateHash(this.requestData);
7681 }
7782
7883 public User getBlockedBy() {
....@@ -82,4 +87,16 @@
8287 public void setBlockedBy(User blockedBy) {
8388 this.blockedBy = blockedBy;
8489 }
90
+
91
+ public static String generateHash(String reqData) {
92
+ String hash = reqData != null ? Utils.sha256(reqData) : null;
93
+ return hash;
94
+ }
95
+
96
+ public static boolean isRequestBlocked(String requestData, EntityManager em) {
97
+ String hash = generateHash(requestData);
98
+ BlockedRequest br = em.find(BlockedRequest.class, hash);
99
+ return br != null;
100
+ }
101
+
85102 }