JAMES-1967 We should pass Locale.US as argument of toUpperCase calls
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/5823aaee Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/5823aaee Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/5823aaee Branch: refs/heads/master Commit: 5823aaee6c3f09f36f6d23b41778cc0b9938ca94 Parents: f6a61ae Author: benwa <[email protected]> Authored: Fri Mar 17 17:33:07 2017 +0700 Committer: benwa <[email protected]> Committed: Tue Mar 21 07:51:54 2017 +0700 ---------------------------------------------------------------------- .../james/mailbox/store/search/MessageSearches.java | 12 ++++++------ .../search/comparator/AbstractHeaderComparator.java | 2 +- .../mailbox/store/SearchUtilsMultipartMixedTest.java | 12 ++++++------ .../org/apache/james/mailbox/store/SearchUtilsTest.java | 12 ++++++------ .../apache/james/mailbox/jpa/migrator/JpaMigrator.java | 4 +++- .../java/org/apache/james/mpt/helper/ScriptBuilder.java | 3 ++- .../james/imap/decode/parser/EnableCommandParser.java | 4 ++-- .../james/imap/decode/parser/ImapParserFactory.java | 3 ++- .../smtp/netty/NettyStartTlsSMTPServerTest.java | 2 +- .../james/util/streams/ImmutableCollectorsTest.java | 7 ++++--- 10 files changed, 33 insertions(+), 28 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/5823aaee/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/MessageSearches.java ---------------------------------------------------------------------- diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/MessageSearches.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/MessageSearches.java index edc000d..140b34b 100644 --- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/MessageSearches.java +++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/MessageSearches.java @@ -417,7 +417,7 @@ public class MessageSearches implements Iterable<SimpleMessageSearchIndex.Search */ private boolean matchesAddress(SearchQuery.AddressOperator operator, String headerName, MailboxMessage message) throws MailboxException, IOException { - String text = operator.getAddress().toUpperCase(Locale.ENGLISH); + String text = operator.getAddress().toUpperCase(Locale.US); List<Header> headers = ResultUtils.createHeaders(message); for (Header header : headers) { String name = header.getName(); @@ -426,14 +426,14 @@ public class MessageSearches implements Iterable<SimpleMessageSearchIndex.Search AddressList aList = LenientAddressParser.DEFAULT.parseAddressList(value); for ( Address address : aList) { if (address instanceof Mailbox) { - if (AddressFormatter.DEFAULT.encode((Mailbox) address).toUpperCase(Locale.ENGLISH) + if (AddressFormatter.DEFAULT.encode((Mailbox) address).toUpperCase(Locale.US) .contains(text)) { return true; } } else if (address instanceof Group) { MailboxList mList = ((Group) address).getMailboxes(); for (Mailbox mailbox : mList) { - if (AddressFormatter.DEFAULT.encode(mailbox).toUpperCase(Locale.ENGLISH) + if (AddressFormatter.DEFAULT.encode(mailbox).toUpperCase(Locale.US) .contains(text)) { return true; } @@ -442,7 +442,7 @@ public class MessageSearches implements Iterable<SimpleMessageSearchIndex.Search } // Also try to match against raw header now - return value.toUpperCase(Locale.ENGLISH).contains(text); + return value.toUpperCase(Locale.US).contains(text); } } return false; @@ -464,7 +464,7 @@ public class MessageSearches implements Iterable<SimpleMessageSearchIndex.Search private boolean matches(SearchQuery.ContainsOperator operator, String headerName, MailboxMessage message) throws MailboxException, IOException { - String text = operator.getValue().toUpperCase(); + String text = operator.getValue().toUpperCase(Locale.US); boolean result = false; List<Header> headers = ResultUtils.createHeaders(message); for (Header header : headers) { @@ -472,7 +472,7 @@ public class MessageSearches implements Iterable<SimpleMessageSearchIndex.Search if (headerName.equalsIgnoreCase(name)) { String value = header.getValue(); if (value != null) { - if (value.toUpperCase().contains(text)) { + if (value.toUpperCase(Locale.US).contains(text)) { result = true; break; } http://git-wip-us.apache.org/repos/asf/james-project/blob/5823aaee/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/comparator/AbstractHeaderComparator.java ---------------------------------------------------------------------- diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/comparator/AbstractHeaderComparator.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/comparator/AbstractHeaderComparator.java index 4462361..9dfa4f1 100644 --- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/comparator/AbstractHeaderComparator.java +++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/comparator/AbstractHeaderComparator.java @@ -43,7 +43,7 @@ public abstract class AbstractHeaderComparator implements Comparator<MailboxMess String name = header.getName(); if (headerName.equalsIgnoreCase(name)) { final String value = header.getValue(); - return value.toUpperCase(Locale.ENGLISH); + return value.toUpperCase(Locale.US); } } catch (MailboxException e) { // skip the header line http://git-wip-us.apache.org/repos/asf/james-project/blob/5823aaee/mailbox/store/src/test/java/org/apache/james/mailbox/store/SearchUtilsMultipartMixedTest.java ---------------------------------------------------------------------- diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/SearchUtilsMultipartMixedTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/SearchUtilsMultipartMixedTest.java index 5f3f55f..2934060 100644 --- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/SearchUtilsMultipartMixedTest.java +++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/SearchUtilsMultipartMixedTest.java @@ -161,12 +161,12 @@ public class SearchUtilsMultipartMixedTest { assertTrue(new MessageSearches().isMatch(SearchQuery.bodyContains(SAMPLE_PART_TWO .toLowerCase(Locale.US)), row, recent)); assertTrue(new MessageSearches().isMatch(SearchQuery - .bodyContains(SAMPLE_INNER_MAIL_BODY_ONE.toUpperCase()), row, + .bodyContains(SAMPLE_INNER_MAIL_BODY_ONE.toUpperCase(Locale.US)), row, recent)); assertTrue(new MessageSearches().isMatch(SearchQuery.bodyContains(SAMPLE_PART_ONE - .toUpperCase()), row, recent)); + .toUpperCase(Locale.US)), row, recent)); assertTrue(new MessageSearches().isMatch(SearchQuery.bodyContains(SAMPLE_PART_TWO - .toUpperCase()), row, recent)); + .toUpperCase(Locale.US)), row, recent)); } @Test @@ -203,12 +203,12 @@ public class SearchUtilsMultipartMixedTest { assertTrue(new MessageSearches().isMatch(SearchQuery.mailContains(SAMPLE_PART_TWO .toLowerCase(Locale.US)), row, recent)); assertTrue(new MessageSearches().isMatch(SearchQuery - .mailContains(SAMPLE_INNER_MAIL_BODY_ONE.toUpperCase()), row, + .mailContains(SAMPLE_INNER_MAIL_BODY_ONE.toUpperCase(Locale.US)), row, recent)); assertTrue(new MessageSearches().isMatch(SearchQuery.mailContains(SAMPLE_PART_ONE - .toUpperCase()), row, recent)); + .toUpperCase(Locale.US)), row, recent)); assertTrue(new MessageSearches().isMatch(SearchQuery.mailContains(SAMPLE_PART_TWO - .toUpperCase()), row, recent)); + .toUpperCase(Locale.US)), row, recent)); } @Test http://git-wip-us.apache.org/repos/asf/james-project/blob/5823aaee/mailbox/store/src/test/java/org/apache/james/mailbox/store/SearchUtilsTest.java ---------------------------------------------------------------------- diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/SearchUtilsTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/SearchUtilsTest.java index 2454d86..181cfff 100644 --- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/SearchUtilsTest.java +++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/SearchUtilsTest.java @@ -188,7 +188,7 @@ public class SearchUtilsTest { @Test public void testShouldMatchCapsHeaderDateAfter() throws Exception { - builder.header(DATE_FIELD.toUpperCase(), RFC822_SUN_SEP_9TH_2001); + builder.header(DATE_FIELD.toUpperCase(Locale.US), RFC822_SUN_SEP_9TH_2001); MailboxMessage row = builder.build(); assertTrue(new MessageSearches().isMatch(SearchQuery.headerDateAfter(DATE_FIELD, getDate(9, 9, 2000), DateResolution.Day), row, recent)); @@ -242,7 +242,7 @@ public class SearchUtilsTest { @Test public void testShouldMatchCapsHeaderDateOn() throws Exception { - builder.header(DATE_FIELD.toUpperCase(), RFC822_SUN_SEP_9TH_2001); + builder.header(DATE_FIELD.toUpperCase(Locale.US), RFC822_SUN_SEP_9TH_2001); MailboxMessage row = builder.build(); assertFalse(new MessageSearches().isMatch(SearchQuery.headerDateOn(DATE_FIELD, getDate(9, 9, 2000), DateResolution.Day),row, recent)); @@ -332,7 +332,7 @@ public class SearchUtilsTest { @Test public void testMatchHeaderContainsCaps() throws Exception { - builder.header(SUBJECT_FIELD, TEXT.toUpperCase()); + builder.header(SUBJECT_FIELD, TEXT.toUpperCase(Locale.US)); MailboxMessage row = builder.build(); assertFalse(new MessageSearches().isMatch(SearchQuery.headerContains(DATE_FIELD, CUSTARD), row, recent)); @@ -348,7 +348,7 @@ public class SearchUtilsTest { @Test public void testMatchHeaderContainsLowers() throws Exception { - builder.header(SUBJECT_FIELD, TEXT.toUpperCase()); + builder.header(SUBJECT_FIELD, TEXT.toUpperCase(Locale.US)); MailboxMessage row = builder.build(); assertFalse(new MessageSearches().isMatch(SearchQuery.headerContains(DATE_FIELD, CUSTARD), row, recent)); @@ -364,7 +364,7 @@ public class SearchUtilsTest { @Test public void testMatchHeaderContains() throws Exception { - builder.header(SUBJECT_FIELD, TEXT.toUpperCase()); + builder.header(SUBJECT_FIELD, TEXT.toUpperCase(Locale.US)); MailboxMessage row = builder.build(); assertFalse(new MessageSearches().isMatch(SearchQuery.headerContains(DATE_FIELD, CUSTARD), row, recent)); @@ -396,7 +396,7 @@ public class SearchUtilsTest { @Test public void testShouldMatchCapsHeaderContains() throws Exception { - builder.header(SUBJECT_FIELD.toUpperCase(), TEXT); + builder.header(SUBJECT_FIELD.toUpperCase(Locale.US), TEXT); MailboxMessage row = builder.build(); assertFalse(new MessageSearches().isMatch(SearchQuery.headerContains(DATE_FIELD, CUSTARD), row, recent)); http://git-wip-us.apache.org/repos/asf/james-project/blob/5823aaee/mailbox/tool/src/main/java/org/apache/james/mailbox/jpa/migrator/JpaMigrator.java ---------------------------------------------------------------------- diff --git a/mailbox/tool/src/main/java/org/apache/james/mailbox/jpa/migrator/JpaMigrator.java b/mailbox/tool/src/main/java/org/apache/james/mailbox/jpa/migrator/JpaMigrator.java index 89c7242..6b5adc4 100644 --- a/mailbox/tool/src/main/java/org/apache/james/mailbox/jpa/migrator/JpaMigrator.java +++ b/mailbox/tool/src/main/java/org/apache/james/mailbox/jpa/migrator/JpaMigrator.java @@ -18,6 +18,8 @@ ****************************************************************/ package org.apache.james.mailbox.jpa.migrator; +import java.util.Locale; + import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.persistence.Persistence; @@ -55,7 +57,7 @@ public class JpaMigrator { EntityManager em = factory.createEntityManager(); for (String jira: jiras) { - JpaMigrateCommand jiraJpaMigratable = (JpaMigrateCommand) Class.forName(JPA_MIGRATION_COMMAND_PACKAGE + "." + jira.toUpperCase() + JpaMigrateCommand.class.getSimpleName()).newInstance(); + JpaMigrateCommand jiraJpaMigratable = (JpaMigrateCommand) Class.forName(JPA_MIGRATION_COMMAND_PACKAGE + "." + jira.toUpperCase(Locale.US) + JpaMigrateCommand.class.getSimpleName()).newInstance(); System.out.println("Now executing " + jira + " migration."); em.getTransaction().begin(); jiraJpaMigratable.migrate(em); http://git-wip-us.apache.org/repos/asf/james-project/blob/5823aaee/mpt/core/src/main/java/org/apache/james/mpt/helper/ScriptBuilder.java ---------------------------------------------------------------------- diff --git a/mpt/core/src/main/java/org/apache/james/mpt/helper/ScriptBuilder.java b/mpt/core/src/main/java/org/apache/james/mpt/helper/ScriptBuilder.java index db208c4..589fac2 100644 --- a/mpt/core/src/main/java/org/apache/james/mpt/helper/ScriptBuilder.java +++ b/mpt/core/src/main/java/org/apache/james/mpt/helper/ScriptBuilder.java @@ -28,6 +28,7 @@ import java.nio.channels.ReadableByteChannel; import java.nio.channels.SocketChannel; import java.nio.channels.WritableByteChannel; import java.nio.charset.Charset; +import java.util.Locale; import org.apache.commons.lang.StringUtils; @@ -1426,7 +1427,7 @@ public class ScriptBuilder { if (commandWordIndex == 3) { commandOkPhrase = "OK SELECT completed."; } else { - commandOkPhrase = "OK " + words[3].toUpperCase() + " SELECT completed."; + commandOkPhrase = "OK " + words[3].toUpperCase(Locale.US) + " SELECT completed."; } } else { commandOkPhrase = null; http://git-wip-us.apache.org/repos/asf/james-project/blob/5823aaee/protocols/imap/src/main/java/org/apache/james/imap/decode/parser/EnableCommandParser.java ---------------------------------------------------------------------- diff --git a/protocols/imap/src/main/java/org/apache/james/imap/decode/parser/EnableCommandParser.java b/protocols/imap/src/main/java/org/apache/james/imap/decode/parser/EnableCommandParser.java index 2a63430..bf486e1 100644 --- a/protocols/imap/src/main/java/org/apache/james/imap/decode/parser/EnableCommandParser.java +++ b/protocols/imap/src/main/java/org/apache/james/imap/decode/parser/EnableCommandParser.java @@ -41,11 +41,11 @@ public class EnableCommandParser extends AbstractImapCommandParser { protected ImapMessage decode(ImapCommand command, ImapRequestLineReader request, String tag, ImapSession session) throws DecodingException { List<String> caps = new ArrayList<String>(); String cap = request.astring(); - caps.add(cap.toUpperCase(Locale.UK)); + caps.add(cap.toUpperCase(Locale.US)); while (request.nextChar() == ' ') { request.consume(); cap = request.astring(); - caps.add(cap.toUpperCase(Locale.UK)); + caps.add(cap.toUpperCase(Locale.US)); } request.eol(); return new EnableRequest(tag, command, caps); http://git-wip-us.apache.org/repos/asf/james-project/blob/5823aaee/protocols/imap/src/main/java/org/apache/james/imap/decode/parser/ImapParserFactory.java ---------------------------------------------------------------------- diff --git a/protocols/imap/src/main/java/org/apache/james/imap/decode/parser/ImapParserFactory.java b/protocols/imap/src/main/java/org/apache/james/imap/decode/parser/ImapParserFactory.java index c133f51..15c65ac 100644 --- a/protocols/imap/src/main/java/org/apache/james/imap/decode/parser/ImapParserFactory.java +++ b/protocols/imap/src/main/java/org/apache/james/imap/decode/parser/ImapParserFactory.java @@ -20,6 +20,7 @@ package org.apache.james.imap.decode.parser; import java.util.HashMap; +import java.util.Locale; import java.util.Map; import org.apache.james.imap.api.ImapConstants; @@ -117,7 +118,7 @@ public class ImapParserFactory implements ImapCommandParserFactory { * @see org.apache.james.imap.decode.ImapCommandParserFactory#getParser(java.lang.String) */ public ImapCommandParser getParser(String commandName) { - Class<?> cmdClass = (Class<?>) _imapCommands.get(commandName.toUpperCase()); + Class<?> cmdClass = _imapCommands.get(commandName.toUpperCase(Locale.US)); if (cmdClass == null) { return null; http://git-wip-us.apache.org/repos/asf/james-project/blob/5823aaee/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/netty/NettyStartTlsSMTPServerTest.java ---------------------------------------------------------------------- diff --git a/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/netty/NettyStartTlsSMTPServerTest.java b/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/netty/NettyStartTlsSMTPServerTest.java index 7f0ba3f..a979e81 100644 --- a/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/netty/NettyStartTlsSMTPServerTest.java +++ b/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/netty/NettyStartTlsSMTPServerTest.java @@ -149,7 +149,7 @@ public class NettyStartTlsSMTPServerTest { public boolean isStartTLSAnnounced() { for (String reply: client.getReplyStrings()) { - if (reply.toUpperCase(Locale.UK).endsWith("STARTTLS")) { + if (reply.toUpperCase(Locale.US).endsWith("STARTTLS")) { return true; } } http://git-wip-us.apache.org/repos/asf/james-project/blob/5823aaee/server/container/util-java8/src/test/java/org/apache/james/util/streams/ImmutableCollectorsTest.java ---------------------------------------------------------------------- diff --git a/server/container/util-java8/src/test/java/org/apache/james/util/streams/ImmutableCollectorsTest.java b/server/container/util-java8/src/test/java/org/apache/james/util/streams/ImmutableCollectorsTest.java index d22f984..8c9c98b 100644 --- a/server/container/util-java8/src/test/java/org/apache/james/util/streams/ImmutableCollectorsTest.java +++ b/server/container/util-java8/src/test/java/org/apache/james/util/streams/ImmutableCollectorsTest.java @@ -24,6 +24,7 @@ import static org.assertj.core.data.MapEntry.entry; import java.util.Arrays; import java.util.List; +import java.util.Locale; import java.util.Map; import java.util.Set; @@ -95,7 +96,7 @@ public class ImmutableCollectorsTest { public void immutableMapCollectorShouldReturnEmptyImmutableMapWhenEmptyStream() { String[] data = {}; Map<String, Integer> actual = Arrays.stream(data) - .collect(Guavate.toImmutableMap(x -> x.toUpperCase(), x -> x.length())); + .collect(Guavate.toImmutableMap(x -> x.toUpperCase(Locale.US), String::length)); assertThat(actual).isInstanceOf(ImmutableMap.class); assertThat(actual).isEmpty(); } @@ -104,7 +105,7 @@ public class ImmutableCollectorsTest { public void immutableMapCollectorShouldReturnAppliedImmutableMapWhenOneElementStream() { String[] data = {"a"}; Map<String, Integer> actual = Arrays.stream(data) - .collect(Guavate.toImmutableMap(x -> x.toUpperCase(), x -> x.length())); + .collect(Guavate.toImmutableMap(x -> x.toUpperCase(Locale.US), String::length)); assertThat(actual).isInstanceOf(ImmutableMap.class); assertThat(actual).containsExactly(entry("A", 1)); } @@ -113,7 +114,7 @@ public class ImmutableCollectorsTest { public void immutableMapCollectorShouldReturnAppliedImmutableMapWhen3ElementsStream() { String[] data = {"a", "bb", "ccc"}; Map<String, Integer> actual = Arrays.stream(data) - .collect(Guavate.toImmutableMap(x -> x.toUpperCase(), x -> x.length())); + .collect(Guavate.toImmutableMap(x -> x.toUpperCase(Locale.US), String::length)); assertThat(actual).isInstanceOf(ImmutableMap.class); assertThat(actual).containsExactly(entry("A", 1), entry("BB", 2), entry("CCC", 3)); } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
