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 ma...@apache.org on 2018/05/21 09:38:51 UTC
[3/6] james-project git commit: JAMES-2398 Extract
UpdatedRepresentation inner class
JAMES-2398 Extract UpdatedRepresentation inner class
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/570d1ea5
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/570d1ea5
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/570d1ea5
Branch: refs/heads/master
Commit: 570d1ea5cedd424819fcf6d4ee0d1d544051f642
Parents: 0e1f12b
Author: Raphael Ouazana <ra...@linagora.com>
Authored: Wed May 16 15:20:17 2018 +0200
Committer: Matthieu Baechler <ma...@apache.org>
Committed: Mon May 21 11:37:43 2018 +0200
----------------------------------------------------------------------
.../james/backends/es/ElasticSearchIndexer.java | 46 -------------
.../backends/es/UpdatedRepresentation.java | 69 ++++++++++++++++++++
.../backends/es/ElasticSearchIndexerTest.java | 10 +--
...lasticSearchListeningMessageSearchIndex.java | 5 +-
...icSearchListeningMessageSearchIndexTest.java | 2 +-
5 files changed, 78 insertions(+), 54 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/570d1ea5/backends-common/elasticsearch/src/main/java/org/apache/james/backends/es/ElasticSearchIndexer.java
----------------------------------------------------------------------
diff --git a/backends-common/elasticsearch/src/main/java/org/apache/james/backends/es/ElasticSearchIndexer.java b/backends-common/elasticsearch/src/main/java/org/apache/james/backends/es/ElasticSearchIndexer.java
index 57dbc9e..5b59b20 100644
--- a/backends-common/elasticsearch/src/main/java/org/apache/james/backends/es/ElasticSearchIndexer.java
+++ b/backends-common/elasticsearch/src/main/java/org/apache/james/backends/es/ElasticSearchIndexer.java
@@ -19,7 +19,6 @@
package org.apache.james.backends.es;
import java.util.List;
-import java.util.Objects;
import java.util.Optional;
import javax.inject.Inject;
@@ -30,61 +29,16 @@ import org.elasticsearch.action.bulk.BulkRequestBuilder;
import org.elasticsearch.action.bulk.BulkResponse;
import org.elasticsearch.action.index.IndexResponse;
import org.elasticsearch.client.Client;
-import org.elasticsearch.common.Strings;
import org.elasticsearch.common.ValidationException;
import org.elasticsearch.index.query.QueryBuilder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.google.common.base.MoreObjects;
import com.google.common.base.Preconditions;
public class ElasticSearchIndexer {
private static int DEBUG_MAX_LENGTH_CONTENT = 1000;
- public static class UpdatedRepresentation {
- private final String id;
- private final String updatedDocumentPart;
-
- public UpdatedRepresentation(String id, String updatedDocumentPart) {
- Preconditions.checkArgument(!Strings.isNullOrEmpty(id), "Updated id must be specified " + id);
- Preconditions.checkArgument(!Strings.isNullOrEmpty(updatedDocumentPart), "Updated document must be specified");
- this.id = id;
- this.updatedDocumentPart = updatedDocumentPart;
- }
-
- public String getId() {
- return id;
- }
-
- public String getUpdatedDocumentPart() {
- return updatedDocumentPart;
- }
-
- @Override
- public final boolean equals(Object o) {
- if (o instanceof UpdatedRepresentation) {
- UpdatedRepresentation other = (UpdatedRepresentation) o;
- return Objects.equals(id, other.id)
- && Objects.equals(updatedDocumentPart, other.updatedDocumentPart);
- }
- return false;
- }
-
- @Override
- public final int hashCode() {
- return Objects.hash(id, updatedDocumentPart);
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(this)
- .add("id", id)
- .add("updatedDocumentPart", updatedDocumentPart)
- .toString();
- }
- }
-
private static final Logger LOGGER = LoggerFactory.getLogger(ElasticSearchIndexer.class);
private final Client client;
http://git-wip-us.apache.org/repos/asf/james-project/blob/570d1ea5/backends-common/elasticsearch/src/main/java/org/apache/james/backends/es/UpdatedRepresentation.java
----------------------------------------------------------------------
diff --git a/backends-common/elasticsearch/src/main/java/org/apache/james/backends/es/UpdatedRepresentation.java b/backends-common/elasticsearch/src/main/java/org/apache/james/backends/es/UpdatedRepresentation.java
new file mode 100644
index 0000000..92ce8c8
--- /dev/null
+++ b/backends-common/elasticsearch/src/main/java/org/apache/james/backends/es/UpdatedRepresentation.java
@@ -0,0 +1,69 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one *
+ * or more contributor license agreements. See the NOTICE file *
+ * distributed with this work for additional information *
+ * regarding copyright ownership. The ASF licenses this file *
+ * to you under the Apache License, Version 2.0 (the *
+ * "License"); you may not use this file except in compliance *
+ * with the License. You may obtain a copy of the License at *
+ * *
+ * http://www.apache.org/licenses/LICENSE-2.0 *
+ * *
+ * Unless required by applicable law or agreed to in writing, *
+ * software distributed under the License is distributed on an *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY *
+ * KIND, either express or implied. See the License for the *
+ * specific language governing permissions and limitations *
+ * under the License. *
+ ****************************************************************/
+package org.apache.james.backends.es;
+
+import java.util.Objects;
+
+import org.elasticsearch.common.Strings;
+
+import com.google.common.base.MoreObjects;
+import com.google.common.base.Preconditions;
+
+public class UpdatedRepresentation {
+ private final String id;
+ private final String updatedDocumentPart;
+
+ public UpdatedRepresentation(String id, String updatedDocumentPart) {
+ Preconditions.checkArgument(!Strings.isNullOrEmpty(id), "Updated id must be specified " + id);
+ Preconditions.checkArgument(!Strings.isNullOrEmpty(updatedDocumentPart), "Updated document must be specified");
+ this.id = id;
+ this.updatedDocumentPart = updatedDocumentPart;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public String getUpdatedDocumentPart() {
+ return updatedDocumentPart;
+ }
+
+ @Override
+ public final boolean equals(Object o) {
+ if (o instanceof UpdatedRepresentation) {
+ UpdatedRepresentation other = (UpdatedRepresentation) o;
+ return Objects.equals(id, other.id)
+ && Objects.equals(updatedDocumentPart, other.updatedDocumentPart);
+ }
+ return false;
+ }
+
+ @Override
+ public final int hashCode() {
+ return Objects.hash(id, updatedDocumentPart);
+ }
+
+ @Override
+ public String toString() {
+ return MoreObjects.toStringHelper(this)
+ .add("id", id)
+ .add("updatedDocumentPart", updatedDocumentPart)
+ .toString();
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/james-project/blob/570d1ea5/backends-common/elasticsearch/src/test/java/org/apache/james/backends/es/ElasticSearchIndexerTest.java
----------------------------------------------------------------------
diff --git a/backends-common/elasticsearch/src/test/java/org/apache/james/backends/es/ElasticSearchIndexerTest.java b/backends-common/elasticsearch/src/test/java/org/apache/james/backends/es/ElasticSearchIndexerTest.java
index db53ccd..c2ab50d 100644
--- a/backends-common/elasticsearch/src/test/java/org/apache/james/backends/es/ElasticSearchIndexerTest.java
+++ b/backends-common/elasticsearch/src/test/java/org/apache/james/backends/es/ElasticSearchIndexerTest.java
@@ -105,7 +105,7 @@ public class ElasticSearchIndexerTest {
testee.indexMessage(messageId, content);
embeddedElasticSearch.awaitForElasticSearch();
- testee.updateMessages(Lists.newArrayList(new ElasticSearchIndexer.UpdatedRepresentation(messageId, "{\"message\": \"mastering out Elasticsearch\"}")));
+ testee.updateMessages(Lists.newArrayList(new UpdatedRepresentation(messageId, "{\"message\": \"mastering out Elasticsearch\"}")));
embeddedElasticSearch.awaitForElasticSearch();
try (Client client = node.client()) {
@@ -127,22 +127,22 @@ public class ElasticSearchIndexerTest {
@Test(expected = IllegalArgumentException.class)
public void updateMessageShouldThrowWhenJsonIsNull() throws InterruptedException {
- testee.updateMessages(Lists.newArrayList(new ElasticSearchIndexer.UpdatedRepresentation("1", null)));
+ testee.updateMessages(Lists.newArrayList(new UpdatedRepresentation("1", null)));
}
@Test(expected = IllegalArgumentException.class)
public void updateMessageShouldThrowWhenIdIsNull() throws InterruptedException {
- testee.updateMessages(Lists.newArrayList(new ElasticSearchIndexer.UpdatedRepresentation(null, "{\"message\": \"mastering out Elasticsearch\"}")));
+ testee.updateMessages(Lists.newArrayList(new UpdatedRepresentation(null, "{\"message\": \"mastering out Elasticsearch\"}")));
}
@Test(expected = IllegalArgumentException.class)
public void updateMessageShouldThrowWhenJsonIsEmpty() throws InterruptedException {
- testee.updateMessages(Lists.newArrayList(new ElasticSearchIndexer.UpdatedRepresentation("1", "")));
+ testee.updateMessages(Lists.newArrayList(new UpdatedRepresentation("1", "")));
}
@Test(expected = IllegalArgumentException.class)
public void updateMessageShouldThrowWhenIdIsEmpty() throws InterruptedException {
- testee.updateMessages(Lists.newArrayList(new ElasticSearchIndexer.UpdatedRepresentation("", "{\"message\": \"mastering out Elasticsearch\"}")));
+ testee.updateMessages(Lists.newArrayList(new UpdatedRepresentation("", "{\"message\": \"mastering out Elasticsearch\"}")));
}
@Test
http://git-wip-us.apache.org/repos/asf/james-project/blob/570d1ea5/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/events/ElasticSearchListeningMessageSearchIndex.java
----------------------------------------------------------------------
diff --git a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/events/ElasticSearchListeningMessageSearchIndex.java b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/events/ElasticSearchListeningMessageSearchIndex.java
index eaced67..eda8f7b 100644
--- a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/events/ElasticSearchListeningMessageSearchIndex.java
+++ b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/events/ElasticSearchListeningMessageSearchIndex.java
@@ -30,6 +30,7 @@ import java.util.stream.Collectors;
import javax.inject.Inject;
import org.apache.james.backends.es.ElasticSearchIndexer;
+import org.apache.james.backends.es.UpdatedRepresentation;
import org.apache.james.mailbox.MailboxManager.MessageCapabilities;
import org.apache.james.mailbox.MailboxManager.SearchCapabilities;
import org.apache.james.mailbox.MailboxSession;
@@ -181,9 +182,9 @@ public class ElasticSearchListeningMessageSearchIndex extends ListeningMessageSe
}
}
- private ElasticSearchIndexer.UpdatedRepresentation createUpdatedDocumentPartFromUpdatedFlags(Mailbox mailbox, UpdatedFlags updatedFlags) {
+ private UpdatedRepresentation createUpdatedDocumentPartFromUpdatedFlags(Mailbox mailbox, UpdatedFlags updatedFlags) {
try {
- return new ElasticSearchIndexer.UpdatedRepresentation(
+ return new UpdatedRepresentation(
indexIdFor(mailbox, updatedFlags.getUid()),
messageToElasticSearchJson.getUpdatedJsonMessagePart(
updatedFlags.getNewFlags(),
http://git-wip-us.apache.org/repos/asf/james-project/blob/570d1ea5/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/events/ElasticSearchListeningMessageSearchIndexTest.java
----------------------------------------------------------------------
diff --git a/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/events/ElasticSearchListeningMessageSearchIndexTest.java b/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/events/ElasticSearchListeningMessageSearchIndexTest.java
index c8fb778..30e600f 100644
--- a/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/events/ElasticSearchListeningMessageSearchIndexTest.java
+++ b/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/events/ElasticSearchListeningMessageSearchIndexTest.java
@@ -33,7 +33,7 @@ import java.util.Optional;
import javax.mail.Flags;
import org.apache.james.backends.es.ElasticSearchIndexer;
-import org.apache.james.backends.es.ElasticSearchIndexer.UpdatedRepresentation;
+import org.apache.james.backends.es.UpdatedRepresentation;
import org.apache.james.mailbox.MailboxSession;
import org.apache.james.mailbox.MailboxSession.User;
import org.apache.james.mailbox.MessageUid;
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org