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/BlockedRequest.java | 31 ++++++++++++++++++++++++-------
1 files changed, 24 insertions(+), 7 deletions(-)
diff --git a/securis/src/main/java/net/curisit/securis/db/BlockedRequest.java b/securis/src/main/java/net/curisit/securis/db/BlockedRequest.java
index 2233432..51eac7e 100644
--- a/securis/src/main/java/net/curisit/securis/db/BlockedRequest.java
+++ b/securis/src/main/java/net/curisit/securis/db/BlockedRequest.java
@@ -5,23 +5,27 @@
import javax.persistence.Column;
import javax.persistence.Entity;
+import javax.persistence.EntityManager;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
-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 net.curisit.integrity.commons.Utils;
+
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonInclude.Include;
+import com.fasterxml.jackson.annotation.JsonProperty;
/**
* Entity implementation class for Entity: pack
*
*/
@JsonAutoDetect
-@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
+@JsonInclude(Include.NON_NULL)
@Entity
@Table(name = "blocked_request")
@JsonIgnoreProperties(ignoreUnknown = true)
@@ -58,7 +62,7 @@
if (!(obj instanceof BlockedRequest))
return false;
BlockedRequest other = (BlockedRequest) obj;
- return hash.equals(other.hash);
+ return (hash == null && other.hash == null) || hash.equals(other.hash);
}
@Override
@@ -73,6 +77,7 @@
public void setRequestData(String requestData) {
this.requestData = requestData;
+ this.hash = generateHash(this.requestData);
}
public User getBlockedBy() {
@@ -82,4 +87,16 @@
public void setBlockedBy(User blockedBy) {
this.blockedBy = blockedBy;
}
+
+ public static String generateHash(String reqData) {
+ String hash = reqData != null ? Utils.sha256(reqData) : null;
+ return hash;
+ }
+
+ public static boolean isRequestBlocked(String requestData, EntityManager em) {
+ String hash = generateHash(requestData);
+ BlockedRequest br = em.find(BlockedRequest.class, hash);
+ return br != null;
+ }
+
}
--
Gitblit v1.3.2