| .. | .. |
|---|
| 5 | 5 | |
|---|
| 6 | 6 | import javax.persistence.Column; |
|---|
| 7 | 7 | import javax.persistence.Entity; |
|---|
| 8 | +import javax.persistence.EntityManager; |
|---|
| 8 | 9 | import javax.persistence.Id; |
|---|
| 9 | 10 | import javax.persistence.JoinColumn; |
|---|
| 10 | 11 | import javax.persistence.ManyToOne; |
|---|
| 11 | 12 | import javax.persistence.Table; |
|---|
| 12 | 13 | |
|---|
| 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; |
|---|
| 18 | 22 | |
|---|
| 19 | 23 | /** |
|---|
| 20 | 24 | * Entity implementation class for Entity: pack |
|---|
| 21 | 25 | * |
|---|
| 22 | 26 | */ |
|---|
| 23 | 27 | @JsonAutoDetect |
|---|
| 24 | | -@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) |
|---|
| 28 | +@JsonInclude(Include.NON_NULL) |
|---|
| 25 | 29 | @Entity |
|---|
| 26 | 30 | @Table(name = "blocked_request") |
|---|
| 27 | 31 | @JsonIgnoreProperties(ignoreUnknown = true) |
|---|
| .. | .. |
|---|
| 58 | 62 | if (!(obj instanceof BlockedRequest)) |
|---|
| 59 | 63 | return false; |
|---|
| 60 | 64 | BlockedRequest other = (BlockedRequest) obj; |
|---|
| 61 | | - return hash.equals(other.hash); |
|---|
| 65 | + return (hash == null && other.hash == null) || hash.equals(other.hash); |
|---|
| 62 | 66 | } |
|---|
| 63 | 67 | |
|---|
| 64 | 68 | @Override |
|---|
| .. | .. |
|---|
| 73 | 77 | |
|---|
| 74 | 78 | public void setRequestData(String requestData) { |
|---|
| 75 | 79 | this.requestData = requestData; |
|---|
| 80 | + this.hash = generateHash(this.requestData); |
|---|
| 76 | 81 | } |
|---|
| 77 | 82 | |
|---|
| 78 | 83 | public User getBlockedBy() { |
|---|
| .. | .. |
|---|
| 82 | 87 | public void setBlockedBy(User blockedBy) { |
|---|
| 83 | 88 | this.blockedBy = blockedBy; |
|---|
| 84 | 89 | } |
|---|
| 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 | + |
|---|
| 85 | 102 | } |
|---|