This is an automated email from the ASF dual-hosted git repository.

btellier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git


The following commit(s) were added to refs/heads/master by this push:
     new 262dced  JAMES-3516 SearchUtil::getBaseSubject should not rely on 
regex to normalize spaces (#585)
262dced is described below

commit 262dcedfba4cdbc57f650da1f43b58b50f4f253b
Author: Tellier Benoit <[email protected]>
AuthorDate: Fri Aug 13 11:56:50 2021 +0700

    JAMES-3516 SearchUtil::getBaseSubject should not rely on regex to normalize 
spaces (#585)
    
    The usage of this method is now common due
    to the thread guessing stuff, we can easily
    get rid of the regex by relying on
    commonsString StringUtils::normalizeSpace
---
 .../org/apache/james/mailbox/store/search/SearchUtil.java    | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git 
a/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/SearchUtil.java
 
b/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/SearchUtil.java
index 3a45f7f..8046cc3 100644
--- 
a/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/SearchUtil.java
+++ 
b/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/SearchUtil.java
@@ -18,13 +18,12 @@
  ****************************************************************/
 package org.apache.james.mailbox.store.search;
 
-import static java.nio.charset.StandardCharsets.UTF_8;
-
 import java.util.HashSet;
 import java.util.Locale;
 import java.util.Set;
 import java.util.function.Predicate;
 
+import org.apache.commons.lang3.StringUtils;
 import org.apache.james.mailbox.model.MessageId;
 import org.apache.james.mailbox.model.ThreadId;
 import org.apache.james.mailbox.store.mail.model.MailboxMessage;
@@ -53,7 +52,7 @@ public class SearchUtil {
     private static final char OPEN_SQUARE_BRACKED = '[';
     private static final char CLOSE_SQUARE_BRACKED = ']';
     private static final char COLON = ':';
-    
+
     /**
      * Return the DISPLAY ADDRESS for the given {@link Mailbox}. 
      * 
@@ -240,11 +239,10 @@ public class SearchUtil {
             //    as described in "Internationalization Considerations".
             //    Convert all tabs and continuations to space.  Convert all
             //    multiple spaces to a single space.
-            String decodedSubject = 
MimeUtil.unfold(DecoderUtil.decodeEncodedWords(subject, DecodeMonitor.SILENT));
-            decodedSubject = new String(decodedSubject.getBytes(UTF_8), UTF_8);
-
             // replace all tabs with spaces and replace multiple spaces with 
one space
-            decodedSubject = decodedSubject.replaceAll("\t", " 
").replaceAll("( ){2,}", " ");
+            String decodedSubject = StringUtils.normalizeSpace(
+                MimeUtil.unfold(
+                    DecoderUtil.decodeEncodedWords(subject, 
DecodeMonitor.SILENT)));
             
             
             while (true) {

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to