Repository: james-project
Updated Branches:
  refs/heads/master e6e347cf7 -> 0a11a4410


JAMES-1900: Headers in ES should be decoded


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

Branch: refs/heads/master
Commit: 0a11a4410e3a5e1434eb7a2bdcece3aebd04ccf9
Parents: e6e347c
Author: Quynh Nguyen <qngu...@linagora.com>
Authored: Fri Dec 30 09:24:25 2016 +0700
Committer: Quynh Nguyen <qngu...@linagora.com>
Committed: Wed Jan 4 10:01:27 2017 +0700

----------------------------------------------------------------------
 .../mailbox/elasticsearch/json/HeaderCollection.java      |  4 +++-
 .../mailbox/elasticsearch/json/HeaderCollectionTest.java  | 10 +++++++++-
 2 files changed, 12 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/0a11a441/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/HeaderCollection.java
----------------------------------------------------------------------
diff --git 
a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/HeaderCollection.java
 
b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/HeaderCollection.java
index fff42f7..709c964 100644
--- 
a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/HeaderCollection.java
+++ 
b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/HeaderCollection.java
@@ -26,6 +26,8 @@ import com.google.common.collect.ImmutableMultimap;
 import com.google.common.collect.ImmutableSet;
 import com.google.common.collect.Multimap;
 import org.apache.james.mailbox.store.search.SearchUtil;
+import org.apache.james.mime4j.codec.DecodeMonitor;
+import org.apache.james.mime4j.codec.DecoderUtil;
 import org.apache.james.mime4j.dom.address.Address;
 import org.apache.james.mime4j.dom.address.Group;
 import org.apache.james.mime4j.dom.address.Mailbox;
@@ -81,7 +83,7 @@ public class HeaderCollection {
             Preconditions.checkNotNull(field);
             String headerName = field.getName().toLowerCase();
             String headerValue = field.getBody();
-            headers.put(headerName, headerValue);
+            headers.put(headerName, 
DecoderUtil.decodeEncodedWords(headerValue, DecodeMonitor.SILENT));
             handleSpecificHeader(headerName, headerValue);
             return this;
         }

http://git-wip-us.apache.org/repos/asf/james-project/blob/0a11a441/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/json/HeaderCollectionTest.java
----------------------------------------------------------------------
diff --git 
a/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/json/HeaderCollectionTest.java
 
b/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/json/HeaderCollectionTest.java
index 64bbb97..dbea3c5 100644
--- 
a/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/json/HeaderCollectionTest.java
+++ 
b/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/json/HeaderCollectionTest.java
@@ -62,7 +62,15 @@ public class HeaderCollectionTest {
     }
 
     @Test
-    public void addressWithTwoDisplayNamesOnTheSameFieldShouldBeRetreived() {
+    public void displayNamesShouldBeRetrievedWhenEncodedWord() {
+        HeaderCollection headerCollection = HeaderCollection.builder().add(new 
FieldImpl("From", "=?UTF-8?B?RnLDqWTDqXJpYyBNQVJUSU4=?= <fmar...@linagora.com>, 
Graham CROSMARIE <gcrosma...@linagora.com>")).build();
+        assertThat(headerCollection.getFromAddressSet())
+            .extracting(EMailer::getName)
+            .contains("Frédéric MARTIN");
+    }
+
+    @Test
+    public void addressWithTwoDisplayNamesOnTheSameFieldShouldBeRetrieved() {
         HeaderCollection headerCollection = HeaderCollection.builder().add(new 
FieldImpl("From", "Christophe Hamerling <chamerl...@linagora.com>, Graham 
CROSMARIE <gcrosma...@linagora.com>")).build();
         assertThat(headerCollection.getFromAddressSet())
             .containsOnly(new EMailer("Christophe Hamerling", 
"chamerl...@linagora.com"),


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

Reply via email to