diff --git a/java/google/registry/config/RegistryEnvironment.java b/java/google/registry/config/RegistryEnvironment.java index 0c194ca73..16aec6da6 100644 --- a/java/google/registry/config/RegistryEnvironment.java +++ b/java/google/registry/config/RegistryEnvironment.java @@ -15,6 +15,7 @@ package google.registry.config; import com.google.common.annotations.VisibleForTesting; +import com.google.common.base.Ascii; import javax.annotation.Nullable; /** Registry environments. */ @@ -50,7 +51,7 @@ public enum RegistryEnvironment { /** Returns environment configured by system property {@value #PROPERTY}. */ public static RegistryEnvironment get() { - return valueOf(System.getProperty(PROPERTY, UNITTEST.name()).toUpperCase()); + return valueOf(Ascii.toUpperCase(System.getProperty(PROPERTY, UNITTEST.name()))); } /** diff --git a/java/google/registry/export/DatastoreBackupInfo.java b/java/google/registry/export/DatastoreBackupInfo.java index 312d4b220..a9a647827 100644 --- a/java/google/registry/export/DatastoreBackupInfo.java +++ b/java/google/registry/export/DatastoreBackupInfo.java @@ -21,6 +21,7 @@ import static org.joda.time.DateTimeZone.UTC; import com.google.appengine.api.datastore.Entity; import com.google.appengine.api.datastore.Text; import com.google.common.annotations.VisibleForTesting; +import com.google.common.base.Ascii; import com.google.common.base.Joiner; import com.google.common.base.Optional; import com.google.common.collect.ImmutableSet; @@ -140,7 +141,7 @@ public class DatastoreBackupInfo { "Status: " + getStatus(), "Started: " + startTime, "Ended: " + completeTime.orNull(), - "Duration: " + getRunningTime().toPeriod().toString().substring(2).toLowerCase(), + "Duration: " + Ascii.toLowerCase(getRunningTime().toPeriod().toString().substring(2)), "GCS: " + gcsFilename.orNull(), "Kinds: " + kinds, ""); diff --git a/java/google/registry/model/domain/fee/FeeCommandDescriptor.java b/java/google/registry/model/domain/fee/FeeCommandDescriptor.java index cc61f9944..d410cbf0c 100644 --- a/java/google/registry/model/domain/fee/FeeCommandDescriptor.java +++ b/java/google/registry/model/domain/fee/FeeCommandDescriptor.java @@ -14,6 +14,7 @@ package google.registry.model.domain.fee; +import com.google.common.base.Ascii; import com.google.common.base.CharMatcher; import google.registry.model.ImmutableObject; import javax.xml.bind.annotation.XmlAttribute; @@ -56,7 +57,7 @@ public class FeeCommandDescriptor extends ImmutableObject { // Require the xml string to be lowercase. if (command != null && CharMatcher.javaLowerCase().matchesAllOf(command)) { try { - return CommandName.valueOf(command.toUpperCase()); + return CommandName.valueOf(Ascii.toUpperCase(command)); } catch (IllegalArgumentException e) { // Swallow this and return UNKNOWN below because there's no matching CommandName. } diff --git a/java/google/registry/model/domain/launch/LaunchNotice.java b/java/google/registry/model/domain/launch/LaunchNotice.java index 92986d9cf..4858d14f9 100644 --- a/java/google/registry/model/domain/launch/LaunchNotice.java +++ b/java/google/registry/model/domain/launch/LaunchNotice.java @@ -20,6 +20,7 @@ import static com.google.common.io.BaseEncoding.base16; import static java.nio.charset.StandardCharsets.UTF_8; import static java.util.concurrent.TimeUnit.MILLISECONDS; +import com.google.common.base.Ascii; import com.google.common.base.CharMatcher; import com.google.common.base.Optional; import com.google.common.primitives.Ints; @@ -101,7 +102,7 @@ public class LaunchNotice extends ImmutableObject { String tcnId = getNoticeId().getTcnId(); checkArgument(tcnId.length() == 27); - int checksum = Ints.fromByteArray(base16().decode(tcnId.substring(0, 8).toUpperCase())); + int checksum = Ints.fromByteArray(base16().decode(Ascii.toUpperCase(tcnId.substring(0, 8)))); String noticeId = tcnId.substring(8); checkArgument(CharMatcher.inRange('0', '9').matchesAllOf(noticeId)); diff --git a/java/google/registry/rde/DomainResourceToXjcConverter.java b/java/google/registry/rde/DomainResourceToXjcConverter.java index 921decf08..66f0bcc27 100644 --- a/java/google/registry/rde/DomainResourceToXjcConverter.java +++ b/java/google/registry/rde/DomainResourceToXjcConverter.java @@ -14,6 +14,7 @@ package google.registry.rde; +import com.google.common.base.Ascii; import com.google.common.base.Optional; import com.google.common.collect.ImmutableSet; import com.googlecode.objectify.Ref; @@ -280,7 +281,7 @@ final class DomainResourceToXjcConverter { private static XjcDomainContactType convertDesignatedContact(DesignatedContact model) { XjcDomainContactType bean = new XjcDomainContactType(); ContactResource contact = model.getContactRef().get(); - bean.setType(XjcDomainContactAttrType.fromValue(model.getType().toString().toLowerCase())); + bean.setType(XjcDomainContactAttrType.fromValue(Ascii.toLowerCase(model.getType().toString()))); bean.setValue(contact.getContactId()); return bean; } diff --git a/java/google/registry/tmch/LordnLog.java b/java/google/registry/tmch/LordnLog.java index ca8f1c82a..3543c6a9d 100644 --- a/java/google/registry/tmch/LordnLog.java +++ b/java/google/registry/tmch/LordnLog.java @@ -18,6 +18,7 @@ import static com.google.common.base.MoreObjects.toStringHelper; import static com.google.common.base.Preconditions.checkArgument; import static com.google.common.base.Preconditions.checkNotNull; +import com.google.common.base.Ascii; import com.google.common.base.Splitter; import com.google.common.collect.ImmutableMap; import com.google.re2j.Pattern; @@ -218,7 +219,7 @@ public final class LordnLog implements Iterable> // + , whether the LORDN file has been accepted for // processing by the TMDB. Possible values are "accepted" or // "rejected". - Status status = Status.valueOf(firstLine.get(4).toUpperCase()); + Status status = Status.valueOf(Ascii.toUpperCase(firstLine.get(4))); // + , whether the LORDN Log has any warning result // codes. Possible values are "no-warnings" or "warnings- @@ -229,8 +230,11 @@ public final class LordnLog implements Iterable> // processed in the LORDN file. int dnLines = Integer.parseInt(firstLine.get(6)); int actual = lines.size() - 2; - checkArgument(dnLines == actual, - "Line 1: Number of entries (%d) differs from declaration (%d)", actual, dnLines); + checkArgument( + dnLines == actual, + "Line 1: Number of entries (%s) differs from declaration (%s)", + String.valueOf(actual), + String.valueOf(dnLines)); // Second line contains headers: roid,result-code checkArgument(lines.get(1).equals("roid,result-code"), @@ -244,8 +248,7 @@ public final class LordnLog implements Iterable> "Line %d: Expected 2 elements, found %d", i + 1, currentLine.size())); String roid = currentLine.get(0); int code = Integer.parseInt(currentLine.get(1)); - Result result = checkNotNull(RESULTS.get(code), - "Line %d: Unknown result code: %d", i, code); + Result result = checkNotNull(RESULTS.get(code), "Line %s: Unknown result code: %s", i, code); builder.put(roid, result); } diff --git a/java/google/registry/tools/AllocateDomainCommand.java b/java/google/registry/tools/AllocateDomainCommand.java index 64ff8ea78..40dc3f34a 100644 --- a/java/google/registry/tools/AllocateDomainCommand.java +++ b/java/google/registry/tools/AllocateDomainCommand.java @@ -26,6 +26,7 @@ import static google.registry.tools.CommandUtilities.addHeader; import com.beust.jcommander.Parameter; import com.beust.jcommander.Parameters; +import com.google.common.base.Ascii; import com.google.common.base.Function; import com.google.common.base.Joiner; import com.google.common.base.Splitter; @@ -134,7 +135,7 @@ final class AllocateDomainCommand extends MutatingEppToolCommand { ImmutableMap.Builder contactsMapBuilder = new ImmutableMap.Builder<>(); for (DesignatedContact contact : application.getContacts()) { contactsMapBuilder.put( - contact.getType().toString().toLowerCase(), + Ascii.toLowerCase(contact.getType().toString()), contact.getContactRef().get().getForeignKey()); } LaunchNotice launchNotice = application.getLaunchNotice(); diff --git a/java/google/registry/tools/CommandUtilities.java b/java/google/registry/tools/CommandUtilities.java index 95cd72689..553a3dbbd 100644 --- a/java/google/registry/tools/CommandUtilities.java +++ b/java/google/registry/tools/CommandUtilities.java @@ -14,6 +14,7 @@ package google.registry.tools; +import com.google.common.base.Ascii; import com.google.common.base.Strings; /** Container class for static utility methods. */ @@ -25,6 +26,6 @@ class CommandUtilities { /** Prompts for yes/no input using promptText, defaulting to no. */ static boolean promptForYes(String promptText) { - return System.console().readLine(promptText + " (y/N): ").toUpperCase().startsWith("Y"); + return Ascii.toUpperCase(System.console().readLine(promptText + " (y/N): ")).startsWith("Y"); } } diff --git a/java/google/registry/tools/ConvertIdnCommand.java b/java/google/registry/tools/ConvertIdnCommand.java index 10a45b910..c85411e57 100644 --- a/java/google/registry/tools/ConvertIdnCommand.java +++ b/java/google/registry/tools/ConvertIdnCommand.java @@ -19,6 +19,7 @@ import static google.registry.util.DomainNameUtils.canonicalizeDomainName; import com.beust.jcommander.Parameter; import com.beust.jcommander.Parameters; +import com.google.common.base.Ascii; import google.registry.tools.Command.GtechCommand; import google.registry.util.Idn; import java.io.IOException; @@ -37,7 +38,7 @@ final class ConvertIdnCommand implements Command, GtechCommand { public void run() throws IOException { for (String label : mainParameters) { if (label.startsWith(ACE_PREFIX)) { - System.out.println(Idn.toUnicode(label.toLowerCase())); + System.out.println(Idn.toUnicode(Ascii.toLowerCase(label))); } else { System.out.println(canonicalizeDomainName(label)); } diff --git a/java/google/registry/tools/DomainApplicationInfoCommand.java b/java/google/registry/tools/DomainApplicationInfoCommand.java index 70ecaee6a..891dcb804 100644 --- a/java/google/registry/tools/DomainApplicationInfoCommand.java +++ b/java/google/registry/tools/DomainApplicationInfoCommand.java @@ -18,6 +18,7 @@ import static google.registry.util.PreconditionsUtils.checkArgumentNotNull; import com.beust.jcommander.Parameter; import com.beust.jcommander.Parameters; +import com.google.common.base.Ascii; import com.google.template.soy.data.SoyMapData; import google.registry.model.domain.launch.LaunchPhase; import google.registry.tools.Command.GtechCommand; @@ -53,8 +54,8 @@ final class DomainApplicationInfoCommand extends EppToolCommand implements Gtech @Override void initEppToolCommand() { - LaunchPhase launchPhase = - checkArgumentNotNull(LaunchPhase.fromValue(phase.toLowerCase()), "Illegal launch phase."); + LaunchPhase launchPhase = checkArgumentNotNull( + LaunchPhase.fromValue(Ascii.toLowerCase(phase)), "Illegal launch phase."); setSoyTemplate( DomainApplicationInfoSoyInfo.getInstance(), diff --git a/java/google/registry/tools/RegistryToolEnvironment.java b/java/google/registry/tools/RegistryToolEnvironment.java index 7567cbfcf..85a7ae2e7 100644 --- a/java/google/registry/tools/RegistryToolEnvironment.java +++ b/java/google/registry/tools/RegistryToolEnvironment.java @@ -17,6 +17,7 @@ package google.registry.tools; import static com.google.common.base.Preconditions.checkArgument; import static com.google.common.base.Preconditions.checkState; +import com.google.common.base.Ascii; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import google.registry.config.RegistryEnvironment; @@ -61,7 +62,7 @@ enum RegistryToolEnvironment { * @see #get() */ static RegistryToolEnvironment parseFromArgs(String[] args) { - return valueOf(getFlagValue(args, FLAGS).toUpperCase()); + return valueOf(Ascii.toUpperCase(getFlagValue(args, FLAGS))); } /** diff --git a/java/google/registry/tools/server/VerifyOteAction.java b/java/google/registry/tools/server/VerifyOteAction.java index 5c8b63ad4..d6f990062 100644 --- a/java/google/registry/tools/server/VerifyOteAction.java +++ b/java/google/registry/tools/server/VerifyOteAction.java @@ -23,6 +23,7 @@ import static google.registry.util.CollectionUtils.isNullOrEmpty; import static google.registry.util.DomainNameUtils.ACE_PREFIX; import static java.util.Arrays.asList; +import com.google.common.base.Ascii; import com.google.common.base.Function; import com.google.common.base.Joiner; import com.google.common.base.Predicate; @@ -250,7 +251,7 @@ public class VerifyOteAction implements Runnable, JsonAction { /** Returns a more human-readable translation of the enum constant. */ String description() { - return this.name().replace('_', ' ').toLowerCase(); + return Ascii.toLowerCase(this.name().replace('_', ' ')); } /** An {@link EppInput} might match multiple actions, so check if this action matches. */ diff --git a/java/google/registry/ui/forms/FormField.java b/java/google/registry/ui/forms/FormField.java index 0dc499b04..b8181a8f5 100644 --- a/java/google/registry/ui/forms/FormField.java +++ b/java/google/registry/ui/forms/FormField.java @@ -18,6 +18,7 @@ import static com.google.common.base.Preconditions.checkArgument; import static com.google.common.base.Preconditions.checkNotNull; import static com.google.common.base.Preconditions.checkState; +import com.google.common.base.Ascii; import com.google.common.base.CharMatcher; import com.google.common.base.Function; import com.google.common.base.Functions; @@ -30,6 +31,7 @@ import com.google.common.collect.Range; import com.google.re2j.Pattern; import java.util.Collection; import java.util.List; +import java.util.Locale; import java.util.Map; import java.util.Set; import javax.annotation.Detainted; @@ -560,7 +562,7 @@ public final class FormField { @Nullable @Override public String apply(@Nullable String input) { - return input != null ? input.toUpperCase() : null; + return input != null ? input.toUpperCase(Locale.ENGLISH) : null; }}; private static final Function LOWERCASE_FUNCTION = @@ -568,7 +570,7 @@ public final class FormField { @Nullable @Override public String apply(@Nullable String input) { - return input != null ? input.toLowerCase() : null; + return input != null ? input.toLowerCase(Locale.ENGLISH) : null; }}; private static final Function REQUIRED_FUNCTION = @@ -587,8 +589,8 @@ public final class FormField { @Nullable @Override public Object apply(@Nullable Object input) { - return input instanceof CharSequence && ((CharSequence) input).length() == 0 - || input instanceof Collection && ((Collection) input).isEmpty() + return ((input instanceof CharSequence) && (((CharSequence) input).length() == 0)) + || ((input instanceof Collection) && ((Collection) input).isEmpty()) ? null : input; }}; @@ -709,7 +711,7 @@ public final class FormField { @Override public C apply(@Nullable O input) { try { - return input != null ? Enum.valueOf(enumClass, ((String) input).toUpperCase()) : null; + return input != null ? Enum.valueOf(enumClass, Ascii.toUpperCase((String) input)) : null; } catch (IllegalArgumentException e) { throw new FormFieldException( String.format("Enum %s does not contain '%s'", enumClass.getSimpleName(), input)); diff --git a/java/google/registry/ui/server/RegistrarFormFields.java b/java/google/registry/ui/server/RegistrarFormFields.java index b7f9f3761..8150ee387 100644 --- a/java/google/registry/ui/server/RegistrarFormFields.java +++ b/java/google/registry/ui/server/RegistrarFormFields.java @@ -19,6 +19,7 @@ import static com.google.common.collect.Range.atMost; import static com.google.common.collect.Range.closed; import static google.registry.util.DomainNameUtils.canonicalizeDomainName; +import com.google.common.base.Ascii; import com.google.common.base.Function; import com.google.common.base.Splitter; import com.google.common.collect.ImmutableList; @@ -354,7 +355,7 @@ public final class RegistrarFormFields { } for (String state : stateField.extractUntyped(args).asSet()) { if ("US".equals(countryCode)) { - state = state.toUpperCase(); + state = Ascii.toUpperCase(state); if (!StateCode.US_MAP.containsKey(state)) { throw new FormFieldException(stateField, "Unknown US state code."); } diff --git a/java/google/registry/util/Idn.java b/java/google/registry/util/Idn.java index ffb66dd20..dfc02f2ce 100644 --- a/java/google/registry/util/Idn.java +++ b/java/google/registry/util/Idn.java @@ -57,8 +57,8 @@ public final class Idn { } /** - * Translates a string from Unicode to ASCII Compatible Encoding (ACE), as defined by the ToASCII - * operation of RFC 3490. + * Translates a string from ASCII Compatible Encoding (ACE) to Unicode, as defined by the + * ToUnicode operation of RFC 3490. * *

This method always uses UTS46 transitional * processing. diff --git a/java/google/registry/util/RegistrarUtils.java b/java/google/registry/util/RegistrarUtils.java index f92901890..8f774bd40 100644 --- a/java/google/registry/util/RegistrarUtils.java +++ b/java/google/registry/util/RegistrarUtils.java @@ -16,11 +16,13 @@ package google.registry.util; import static com.google.common.base.CharMatcher.javaLetterOrDigit; +import com.google.common.base.Ascii; + /** Utilities for working with {@code Registrar} objects. */ public class RegistrarUtils { /** Strip out anything that isn't a letter or digit, and lowercase. */ public static String normalizeRegistrarName(String name) { - return javaLetterOrDigit().retainFrom(name).toLowerCase(); + return Ascii.toLowerCase(javaLetterOrDigit().retainFrom(name)); } /** @@ -29,6 +31,6 @@ public class RegistrarUtils { * in Datastore, and is suitable for use in email addresses. */ public static String normalizeClientId(String clientId) { - return clientId.toLowerCase().replaceAll("[^a-z0-9\\-]", ""); + return Ascii.toLowerCase(clientId).replaceAll("[^a-z0-9\\-]", ""); } } diff --git a/java/google/registry/util/UrlFetchUtils.java b/java/google/registry/util/UrlFetchUtils.java index 205d2fd27..30ff07108 100644 --- a/java/google/registry/util/UrlFetchUtils.java +++ b/java/google/registry/util/UrlFetchUtils.java @@ -26,6 +26,7 @@ import static java.nio.charset.StandardCharsets.UTF_8; import com.google.appengine.api.urlfetch.HTTPHeader; import com.google.appengine.api.urlfetch.HTTPRequest; import com.google.appengine.api.urlfetch.HTTPResponse; +import com.google.common.base.Ascii; import com.google.common.base.Optional; import com.google.common.net.MediaType; import java.security.NoSuchAlgorithmException; @@ -49,9 +50,9 @@ public final class UrlFetchUtils { } private static Optional getHeaderFirstInternal(Iterable hdrs, String name) { - name = name.toLowerCase(); + name = Ascii.toLowerCase(name); for (HTTPHeader header : hdrs) { - if (header.getName().toLowerCase().equals(name)) { + if (Ascii.toLowerCase(header.getName()).equals(name)) { return Optional.of(header.getValue()); } } diff --git a/javatests/google/registry/dns/writer/dnsupdate/DnsUpdateWriterTest.java b/javatests/google/registry/dns/writer/dnsupdate/DnsUpdateWriterTest.java index bc69bd281..686c04954 100644 --- a/javatests/google/registry/dns/writer/dnsupdate/DnsUpdateWriterTest.java +++ b/javatests/google/registry/dns/writer/dnsupdate/DnsUpdateWriterTest.java @@ -259,12 +259,12 @@ public class DnsUpdateWriterTest { Update update, String resourceName, int recordType, String... resourceData) { ArrayList expectedData = new ArrayList<>(); for (String resourceDatum : resourceData) { - expectedData.add(resourceDatum.toLowerCase()); + expectedData.add(resourceDatum); } ArrayList actualData = new ArrayList<>(); for (Record record : findUpdateRecords(update, resourceName, recordType)) { - actualData.add(record.rdataToString().toLowerCase()); + actualData.add(record.rdataToString()); } assertThat(actualData).containsExactlyElementsIn(expectedData); } diff --git a/javatests/google/registry/flows/domain/DomainTransferFlowTestCase.java b/javatests/google/registry/flows/domain/DomainTransferFlowTestCase.java index 3043a9988..9730ddbd4 100644 --- a/javatests/google/registry/flows/domain/DomainTransferFlowTestCase.java +++ b/javatests/google/registry/flows/domain/DomainTransferFlowTestCase.java @@ -26,6 +26,7 @@ import static google.registry.testing.DatastoreHelper.persistResource; import static google.registry.testing.GenericEppResourceSubject.assertAboutEppResources; import static google.registry.util.DateTimeUtils.END_OF_TIME; +import com.google.common.base.Ascii; import com.google.common.collect.ImmutableSet; import com.googlecode.objectify.Ref; import google.registry.flows.Flow; @@ -113,7 +114,7 @@ public class DomainTransferFlowTestCase createTld(tld); contact = persistActiveContact("jd1234"); domain = new DomainResource.Builder() - .setRepoId("1-".concat(tld.toUpperCase())) + .setRepoId("1-".concat(Ascii.toUpperCase(tld))) .setFullyQualifiedDomainName(label + "." + tld) .setCurrentSponsorClientId("TheRegistrar") .setCreationClientId("TheRegistrar") @@ -157,7 +158,7 @@ public class DomainTransferFlowTestCase .build()); subordinateHost = persistResource( new HostResource.Builder() - .setRepoId("2-".concat(tld.toUpperCase())) + .setRepoId("2-".concat(Ascii.toUpperCase(tld))) .setFullyQualifiedHostName("ns1." + label + "." + tld) .setCurrentSponsorClientId("TheRegistrar") .setCreationClientId("TheRegistrar") diff --git a/javatests/google/registry/rde/RdeReportActionTest.java b/javatests/google/registry/rde/RdeReportActionTest.java index 142f3768f..ac7227d61 100644 --- a/javatests/google/registry/rde/RdeReportActionTest.java +++ b/javatests/google/registry/rde/RdeReportActionTest.java @@ -38,6 +38,7 @@ import com.google.appengine.api.urlfetch.URLFetchService; import com.google.appengine.tools.cloudstorage.GcsFilename; import com.google.appengine.tools.cloudstorage.GcsService; import com.google.appengine.tools.cloudstorage.GcsServiceFactory; +import com.google.common.base.Ascii; import com.google.common.collect.ImmutableMap; import com.google.common.io.ByteSource; import google.registry.config.RegistryConfig; @@ -194,7 +195,7 @@ public class RdeReportActionTest { private static ImmutableMap mapifyHeaders(Iterable headers) { ImmutableMap.Builder builder = new ImmutableMap.Builder<>(); for (HTTPHeader header : headers) { - builder.put(header.getName().replace('-', '_').toUpperCase(), header.getValue()); + builder.put(Ascii.toUpperCase(header.getName().replace('-', '_')), header.getValue()); } return builder.build(); } diff --git a/javatests/google/registry/testing/DatastoreHelper.java b/javatests/google/registry/testing/DatastoreHelper.java index a4ef02327..6b046c782 100644 --- a/javatests/google/registry/testing/DatastoreHelper.java +++ b/javatests/google/registry/testing/DatastoreHelper.java @@ -36,6 +36,7 @@ import static google.registry.util.ResourceUtils.readResourceUtf8; import static java.util.Arrays.asList; import static org.joda.money.CurrencyUnit.USD; +import com.google.common.base.Ascii; import com.google.common.base.Function; import com.google.common.base.Optional; import com.google.common.base.Predicate; @@ -360,7 +361,7 @@ public class DatastoreHelper { } public static void createTld(String tld, ImmutableSortedMap tldStates) { - createTld(tld, tld.replaceFirst(ACE_PREFIX_REGEX, "").toUpperCase(), tldStates); + createTld(tld, Ascii.toUpperCase(tld.replaceFirst(ACE_PREFIX_REGEX, "")), tldStates); } public static void createTld( diff --git a/javatests/google/registry/testing/TaskQueueHelper.java b/javatests/google/registry/testing/TaskQueueHelper.java index d2c786ae5..020e2987b 100644 --- a/javatests/google/registry/testing/TaskQueueHelper.java +++ b/javatests/google/registry/testing/TaskQueueHelper.java @@ -30,6 +30,7 @@ import static java.util.Arrays.asList; import com.google.appengine.api.taskqueue.dev.QueueStateInfo; import com.google.appengine.api.taskqueue.dev.QueueStateInfo.HeaderWrapper; import com.google.appengine.api.taskqueue.dev.QueueStateInfo.TaskStateInfo; +import com.google.common.base.Ascii; import com.google.common.base.Function; import com.google.common.base.Joiner; import com.google.common.base.Predicate; @@ -94,7 +95,7 @@ public class TaskQueueHelper { public TaskMatcher header(String name, String value) { // Lowercase for case-insensitive comparison. - expected.headers.put(name.toLowerCase(), value); + expected.headers.put(Ascii.toLowerCase(name), value); return this; } @@ -310,7 +311,7 @@ public class TaskQueueHelper { for (HeaderWrapper header : info.getHeaders()) { // Lowercase header name for comparison since HTTP // header names are case-insensitive. - headerBuilder.put(header.getKey().toLowerCase(), header.getValue()); + headerBuilder.put(Ascii.toLowerCase(header.getKey()), header.getValue()); } this.headers = headerBuilder.build(); ImmutableMultimap.Builder inputParams = new ImmutableMultimap.Builder<>(); @@ -319,7 +320,7 @@ public class TaskQueueHelper { inputParams.putAll(UriParameters.parse(query)); } if (headers.containsEntry( - HttpHeaders.CONTENT_TYPE.toLowerCase(), MediaType.FORM_DATA.toString())) { + Ascii.toLowerCase(HttpHeaders.CONTENT_TYPE), MediaType.FORM_DATA.toString())) { inputParams.putAll(UriParameters.parse(info.getBody())); } this.params = inputParams.build();