You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by ro...@apache.org on 2016/07/19 08:04:24 UTC

[2/4] james-project git commit: JAMES-1800 Add bean properties

JAMES-1800 Add bean properties


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/83da2c03
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/83da2c03
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/83da2c03

Branch: refs/heads/master
Commit: 83da2c03364baebdbfd9e328a342bbb7d49c10da
Parents: f117ec6
Author: Raphael Ouazana <ra...@linagora.com>
Authored: Wed Jul 13 11:15:22 2016 +0200
Committer: Raphael Ouazana <ra...@linagora.com>
Committed: Wed Jul 13 15:10:36 2016 +0200

----------------------------------------------------------------------
 .../james/jmap/model/FilterCondition.java       | 60 ++++++++++++++++++++
 .../apache/james/jmap/model/FilterOperator.java | 25 ++++++++
 .../james/jmap/model/FilterConditionTest.java   |  7 +++
 .../james/jmap/model/FilterOperatorTest.java    |  7 +++
 4 files changed, 99 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/83da2c03/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/FilterCondition.java
----------------------------------------------------------------------
diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/FilterCondition.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/FilterCondition.java
index 430d88e..76efb8a 100644
--- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/FilterCondition.java
+++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/FilterCondition.java
@@ -21,6 +21,7 @@ package org.apache.james.jmap.model;
 
 import java.util.Date;
 import java.util.List;
+import java.util.Objects;
 import java.util.Optional;
 
 import org.apache.commons.lang.NotImplementedException;
@@ -28,6 +29,8 @@ import org.apache.commons.lang.NotImplementedException;
 import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
 import com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder;
 import com.google.common.annotations.VisibleForTesting;
+import com.google.common.base.MoreObjects;
+import com.google.common.base.MoreObjects.ToStringHelper;
 import com.google.common.collect.ImmutableList;
 
 @JsonDeserialize(builder = FilterCondition.Builder.class)
@@ -271,4 +274,61 @@ public class FilterCondition implements Filter {
     public Optional<List<String>> getHeader() {
         return header;
     }
+
+    @Override
+    public final boolean equals(Object obj) {
+        if (obj instanceof FilterCondition) {
+            FilterCondition other = (FilterCondition) obj;
+            return Objects.equals(this.inMailboxes, other.inMailboxes)
+                && Objects.equals(this.notInMailboxes, other.notInMailboxes)
+                && Objects.equals(this.before, other.before)
+                && Objects.equals(this.after, other.after)
+                && Objects.equals(this.minSize, other.minSize)
+                && Objects.equals(this.maxSize, other.maxSize)
+                && Objects.equals(this.isFlagged, other.isFlagged)
+                && Objects.equals(this.isUnread, other.isUnread)
+                && Objects.equals(this.isAnswered, other.isAnswered)
+                && Objects.equals(this.isDraft, other.isDraft)
+                && Objects.equals(this.hasAttachment, other.hasAttachment)
+                && Objects.equals(this.text, other.text)
+                && Objects.equals(this.from, other.from)
+                && Objects.equals(this.to, other.to)
+                && Objects.equals(this.cc, other.cc)
+                && Objects.equals(this.bcc, other.bcc)
+                && Objects.equals(this.subject, other.subject)
+                && Objects.equals(this.body, other.body)
+                && Objects.equals(this.header, other.header);
+        }
+        return false;
+    }
+
+    @Override
+    public final int hashCode() {
+        return Objects.hash(inMailboxes, notInMailboxes, before, after, minSize, maxSize, isFlagged, isUnread, isAnswered, isDraft, hasAttachment, text, from, to, cc, bcc, subject, body, header);
+    }
+
+    @Override
+    public String toString() {
+        ToStringHelper helper = MoreObjects.toStringHelper(getClass());
+        inMailboxes.ifPresent(x -> helper.add("inMailboxes", x));
+        notInMailboxes.ifPresent(x -> helper.add("notInMailboxes", x));
+        before.ifPresent(x -> helper.add("before", x));
+        after.ifPresent(x -> helper.add("after", x));
+        minSize.ifPresent(x -> helper.add("minSize", x));
+        maxSize.ifPresent(x -> helper.add("maxSize", x));
+        isFlagged.ifPresent(x -> helper.add("isFlagged", x));
+        isUnread.ifPresent(x -> helper.add("isUnread", x));
+        isAnswered.ifPresent(x -> helper.add("isAnswered", x));
+        isDraft.ifPresent(x -> helper.add("isDraft", x));
+        hasAttachment.ifPresent(x -> helper.add("hasAttachment", x));
+        text.ifPresent(x -> helper.add("text", x));
+        from.ifPresent(x -> helper.add("from", x));
+        to.ifPresent(x -> helper.add("to", x));
+        cc.ifPresent(x -> helper.add("cc", x));
+        bcc.ifPresent(x -> helper.add("bcc", x));
+        subject.ifPresent(x -> helper.add("subject", x));
+        body.ifPresent(x -> helper.add("body", x));
+        header.ifPresent(x -> helper.add("header", x));
+        return helper.toString();
+    }
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/83da2c03/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/FilterOperator.java
----------------------------------------------------------------------
diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/FilterOperator.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/FilterOperator.java
index 6ebe95c..3a31228 100644
--- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/FilterOperator.java
+++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/FilterOperator.java
@@ -20,10 +20,12 @@
 package org.apache.james.jmap.model;
 
 import java.util.List;
+import java.util.Objects;
 
 import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
 import com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder;
 import com.google.common.annotations.VisibleForTesting;
+import com.google.common.base.MoreObjects;
 import com.google.common.base.Preconditions;
 import com.google.common.collect.ImmutableList;
 
@@ -78,4 +80,27 @@ public class FilterOperator implements Filter {
     public List<Filter> getConditions() {
         return conditions;
     }
+
+    @Override
+    public final boolean equals(Object obj) {
+        if (obj instanceof FilterOperator) {
+            FilterOperator other = (FilterOperator) obj;
+            return Objects.equals(this.operator, other.operator)
+                && Objects.equals(this.conditions, other.conditions);
+        }
+        return false;
+    }
+
+    @Override
+    public final int hashCode() {
+        return Objects.hash(operator, conditions);
+    }
+
+    @Override
+    public String toString() {
+        return MoreObjects.toStringHelper(getClass())
+                .add("operator", operator)
+                .add("conditions", conditions)
+                .toString();
+    }
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/83da2c03/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/FilterConditionTest.java
----------------------------------------------------------------------
diff --git a/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/FilterConditionTest.java b/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/FilterConditionTest.java
index 0ae7372..b60a935 100644
--- a/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/FilterConditionTest.java
+++ b/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/FilterConditionTest.java
@@ -28,6 +28,8 @@ import org.junit.Test;
 
 import com.google.common.collect.ImmutableList;
 
+import nl.jqno.equalsverifier.EqualsVerifier;
+
 public class FilterConditionTest {
 
     @Test
@@ -150,4 +152,9 @@ public class FilterConditionTest {
 
         assertThat(filterCondition).isEqualToComparingFieldByField(expectedFilterCondition);
     }
+
+    @Test
+    public void shouldRespectJavaBeanContract() {
+        EqualsVerifier.forClass(FilterCondition.class).verify();
+    }
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/83da2c03/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/FilterOperatorTest.java
----------------------------------------------------------------------
diff --git a/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/FilterOperatorTest.java b/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/FilterOperatorTest.java
index fb43062..920d2c6 100644
--- a/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/FilterOperatorTest.java
+++ b/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/FilterOperatorTest.java
@@ -25,6 +25,8 @@ import org.junit.Test;
 
 import com.google.common.collect.ImmutableList;
 
+import nl.jqno.equalsverifier.EqualsVerifier;
+
 public class FilterOperatorTest {
 
     @Test(expected=IllegalStateException.class)
@@ -54,4 +56,9 @@ public class FilterOperatorTest {
 
         assertThat(filterOperator).isEqualToComparingFieldByField(expectedFilterOperator);
     }
+
+    @Test
+    public void shouldRespectJavaBeanContract() {
+        EqualsVerifier.forClass(FilterOperator.class).verify();
+    }
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org