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