Skip to content

Commit

Permalink
Fix Error Prone StringCaseLocaleUsage warning (#7315)
Browse files Browse the repository at this point in the history
  • Loading branch information
courtneyeh authored Jun 29, 2023
1 parent 0b5ef8a commit b08b8c0
Show file tree
Hide file tree
Showing 32 changed files with 76 additions and 39 deletions.
1 change: 0 additions & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -228,7 +228,6 @@ allprojects {
check('MethodInputParametersMustBeFinal', net.ltgt.gradle.errorprone.CheckSeverity.OFF)
check('BannedMethod', net.ltgt.gradle.errorprone.CheckSeverity.OFF)
check('ExperimentalCliOptionMustBeCorrectlyDisplayed', net.ltgt.gradle.errorprone.CheckSeverity.OFF)
check('StringCaseLocaleUsage', net.ltgt.gradle.errorprone.CheckSeverity.OFF)

// These are experimental checks that we want enabled
check('MissingBraces', net.ltgt.gradle.errorprone.CheckSeverity.WARN)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
Expand Down Expand Up @@ -167,7 +168,8 @@ public Optional<String> updateSigningRecord(

private Optional<String> updateLocalRecord(
final SigningHistory signingHistory, final Consumer<String> statusConsumer) {
String validatorString = signingHistory.pubkey.toBytes().toUnprefixedHexString().toLowerCase();
String validatorString =
signingHistory.pubkey.toBytes().toUnprefixedHexString().toLowerCase(Locale.ROOT);
final String hexValidatorPubkey = signingHistory.pubkey.toHexString();

statusConsumer.accept("Importing " + validatorString);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Locale;
import java.util.Optional;
import java.util.Set;
import tech.pegasys.teku.api.schema.BLSPubKey;
Expand Down Expand Up @@ -127,7 +128,7 @@ private void writeValidatorSigningRecord(
}

private String toDisplayString(final BLSPubKey pubkey) {
return pubkey.toBytes().toUnprefixedHexString().toLowerCase();
return pubkey.toBytes().toUnprefixedHexString().toLowerCase(Locale.ROOT);
}

private void displayUpdateErrors() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
import com.google.common.annotations.VisibleForTesting;
import com.google.common.collect.Lists;
import java.util.List;
import java.util.Locale;
import java.util.Optional;
import java.util.Set;
import java.util.function.Function;
Expand Down Expand Up @@ -243,7 +244,7 @@ private Optional<Integer> validatorParameterToIndex(
throw new ChainDataUnavailableException();
}

if (validatorParameter.toLowerCase().startsWith("0x")) {
if (validatorParameter.toLowerCase(Locale.ROOT).startsWith("0x")) {
final Bytes48 keyBytes = getBytes48FromParameter(validatorParameter);
try {
return spec.getValidatorIndex(state, BLSPublicKey.fromBytesCompressed(keyBytes));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import java.util.Locale;
import java.util.Objects;
import tech.pegasys.teku.spec.datastructures.networking.libp2p.rpc.metadata.MetadataMessage;
import tech.pegasys.teku.spec.datastructures.networking.libp2p.rpc.metadata.versions.altair.MetadataMessageAltair;
Expand Down Expand Up @@ -67,14 +68,14 @@ public Metadata(
public Metadata(final MetadataMessage metadataMessage) {
this.sequenceNumber = metadataMessage.getSeqNumber().toString();
this.attestationSubnetSubscriptions =
metadataMessage.getAttnets().sszSerialize().toHexString().toLowerCase();
metadataMessage.getAttnets().sszSerialize().toHexString().toLowerCase(Locale.ROOT);
if (metadataMessage instanceof MetadataMessageAltair) {
this.syncCommitteeSubscriptions =
((MetadataMessageAltair) metadataMessage)
.getSyncnets()
.sszSerialize()
.toHexString()
.toLowerCase();
.toLowerCase(Locale.ROOT);
} else {
this.syncCommitteeSubscriptions = null;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,13 @@
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
import java.io.IOException;
import java.util.Locale;
import tech.pegasys.teku.api.schema.BLSPubKey;

public class BLSPubKeySerializer extends JsonSerializer<BLSPubKey> {
@Override
public void serialize(BLSPubKey value, JsonGenerator gen, SerializerProvider serializers)
throws IOException {
gen.writeString(value.toHexString().toLowerCase());
gen.writeString(value.toHexString().toLowerCase(Locale.ROOT));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,13 @@
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
import java.io.IOException;
import java.util.Locale;
import tech.pegasys.teku.bls.BLSPublicKey;

public class BLSPublicKeySerializer extends JsonSerializer<BLSPublicKey> {
@Override
public void serialize(BLSPublicKey value, JsonGenerator gen, SerializerProvider serializers)
throws IOException {
gen.writeString(value.toHexString().toLowerCase());
gen.writeString(value.toHexString().toLowerCase(Locale.ROOT));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,13 @@
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
import java.io.IOException;
import java.util.Locale;
import tech.pegasys.teku.api.schema.BLSSignature;

public class BLSSignatureSerializer extends JsonSerializer<BLSSignature> {
@Override
public void serialize(BLSSignature value, JsonGenerator gen, SerializerProvider serializers)
throws IOException {
gen.writeString(value.toHexString().toLowerCase());
gen.writeString(value.toHexString().toLowerCase(Locale.ROOT));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,14 @@
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
import java.io.IOException;
import java.util.Locale;
import tech.pegasys.teku.api.schema.KZGCommitment;

public class KZGCommitmentSerializer extends JsonSerializer<KZGCommitment> {
@Override
public void serialize(
final KZGCommitment value, final JsonGenerator gen, final SerializerProvider serializers)
throws IOException {
gen.writeString(value.toHexString().toLowerCase());
gen.writeString(value.toHexString().toLowerCase(Locale.ROOT));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,13 @@
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
import java.io.IOException;
import java.util.Locale;
import tech.pegasys.teku.infrastructure.ssz.collections.SszBitvector;

public class SszBitvectorSerializer extends JsonSerializer<SszBitvector> {
@Override
public void serialize(SszBitvector value, JsonGenerator gen, SerializerProvider serializers)
throws IOException {
gen.writeString(value.sszSerialize().toHexString().toLowerCase());
gen.writeString(value.sszSerialize().toHexString().toLowerCase(Locale.ROOT));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
import com.fasterxml.jackson.core.JsonProcessingException;
import java.lang.reflect.Constructor;
import java.util.Arrays;
import java.util.Locale;
import java.util.Map;
import net.jqwik.api.ForAll;
import net.jqwik.api.Property;
Expand Down Expand Up @@ -106,7 +107,7 @@ public class JsonProviderPropertyTest {
void roundTripBytes32(@ForAll @Size(32) final byte[] value) throws JsonProcessingException {
Bytes32 data = Bytes32.wrap(value);
String serialized = jsonProvider.objectToJSON(data);
assertEquals(Q + data.toHexString().toLowerCase() + Q, serialized);
assertEquals(Q + data.toHexString().toLowerCase(Locale.ROOT) + Q, serialized);
Bytes32 deserialize = jsonProvider.jsonToObject(serialized, Bytes32.class);
assertEquals(data, deserialize);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
import static org.junit.jupiter.api.Assertions.assertTrue;

import com.fasterxml.jackson.core.JsonProcessingException;
import java.util.Locale;
import org.apache.tuweni.bytes.Bytes;
import org.apache.tuweni.bytes.Bytes32;
import org.apache.tuweni.units.bigints.UInt256;
Expand All @@ -40,7 +41,7 @@ class JsonProviderTest {
public void bytes32ShouldSerializeToJsonAndBack() throws JsonProcessingException {
Bytes32 data = Bytes32.random();
String serialized = jsonProvider.objectToJSON(data);
assertEquals(Q + data.toHexString().toLowerCase() + Q, serialized);
assertEquals(Q + data.toHexString().toLowerCase(Locale.ROOT) + Q, serialized);

Bytes32 deserialize = jsonProvider.jsonToObject(serialized, Bytes32.class);
assertEquals(data, deserialize);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@

import com.fasterxml.jackson.annotation.JsonProperty;
import com.google.common.collect.ImmutableMap;
import java.util.Locale;
import tech.pegasys.teku.ethtests.finder.TestDefinition;
import tech.pegasys.teku.reference.TestDataUtils;
import tech.pegasys.teku.reference.TestExecutor;
Expand All @@ -38,7 +39,7 @@ public class ForkUpgradeTestExecutor implements TestExecutor {
@Override
public void runTest(final TestDefinition testDefinition) throws Throwable {
final MetaData metadata = TestDataUtils.loadYaml(testDefinition, "meta.yaml", MetaData.class);
final String fork = metadata.fork.toUpperCase();
final String fork = metadata.fork.toUpperCase(Locale.ROOT);
final SpecMilestone specMilestone = SpecMilestone.valueOf(fork);
processUpgrade(testDefinition, specMilestone);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@

import com.fasterxml.jackson.annotation.JsonProperty;
import com.google.common.collect.ImmutableMap;
import java.util.Locale;
import java.util.Optional;
import org.assertj.core.api.Assertions;
import tech.pegasys.teku.bls.BLSSignatureVerifier;
Expand Down Expand Up @@ -45,7 +46,7 @@ public void runTest(final TestDefinition testDefinition) throws Throwable {
}

private void processUpgrade(final TestDefinition testDefinition, final MetaData metadata) {
final String postFork = metadata.postFork.toUpperCase();
final String postFork = metadata.postFork.toUpperCase(Locale.ROOT);
final SpecMilestone milestone = SpecMilestone.valueOf(postFork);
final UInt64 forkEpoch = UInt64.valueOf(metadata.forkEpoch);
final SpecConfig config =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
import static org.apache.commons.lang3.StringUtils.isMixedCase;

import java.nio.charset.StandardCharsets;
import java.util.Locale;
import org.apache.tuweni.bytes.Bytes;
import tech.pegasys.teku.infrastructure.bytes.Bytes20;
import tech.pegasys.teku.infrastructure.crypto.Hash;
Expand Down Expand Up @@ -75,7 +76,7 @@ public static Eth1Address fromHexString(String value) {
* @return The encoded address with mixed-case checksum.
*/
private static String toChecksumAddress(String value) {
final String address = value.replace("0x", "").toLowerCase();
final String address = value.replace("0x", "").toLowerCase(Locale.ROOT);
final String hashString =
Hash.keccak256(Bytes.wrap(address.getBytes(StandardCharsets.US_ASCII)))
.toString()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
import java.io.UncheckedIOException;
import java.nio.charset.StandardCharsets;
import java.time.Duration;
import java.util.Locale;
import java.util.Optional;
import java.util.concurrent.ExecutionException;
import java.util.function.Consumer;
Expand Down Expand Up @@ -116,7 +117,7 @@ void setUp(final SpecContext specContext) throws IOException {
schemaDefinitions = SchemaDefinitionsBellatrix.required(specContext.getSchemaDefinitions());

signedValidatorRegistrationsRequest = readResource("builder/signedValidatorRegistrations.json");
final String milestoneFolder = "builder/" + milestone.toString().toLowerCase();
final String milestoneFolder = "builder/" + milestone.toString().toLowerCase(Locale.ROOT);
signedBlindedBlockContainerRequest =
readResource(milestoneFolder + "/signedBlindedBlockContainer.json");
signedBuilderBidResponse = readResource(milestoneFolder + "/signedBuilderBid.json");
Expand Down Expand Up @@ -332,7 +333,7 @@ void getHeader_wrongFork(final SpecContext specContext) {
specContext.assumeCapellaActive();

final String milestoneFolder =
"builder/" + milestone.getPreviousMilestone().toString().toLowerCase();
"builder/" + milestone.getPreviousMilestone().toString().toLowerCase(Locale.ROOT);

signedBuilderBidResponse = readResource(milestoneFolder + "/signedBuilderBid.json");

Expand Down Expand Up @@ -551,6 +552,7 @@ private static String readResource(final String resource) {
}

private static String changeResponseVersion(final String json, final SpecMilestone newVersion) {
return json.replaceFirst("(?<=version\":\\s?\")\\w+", newVersion.toString().toLowerCase());
return json.replaceFirst(
"(?<=version\":\\s?\")\\w+", newVersion.toString().toLowerCase(Locale.ROOT));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,13 @@
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
import java.io.IOException;
import java.util.Locale;
import tech.pegasys.teku.infrastructure.bytes.Bytes20;

public class Bytes20Serializer extends JsonSerializer<Bytes20> {
@Override
public void serialize(Bytes20 value, JsonGenerator gen, SerializerProvider serializers)
throws IOException {
gen.writeString(value.toHexString().toLowerCase());
gen.writeString(value.toHexString().toLowerCase(Locale.ROOT));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,13 @@
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
import java.io.IOException;
import java.util.Locale;
import org.apache.tuweni.bytes.Bytes;

public class BytesSerializer extends JsonSerializer<Bytes> {
@Override
public void serialize(Bytes value, JsonGenerator gen, SerializerProvider provider)
throws IOException {
gen.writeString(value.toHexString().toLowerCase());
gen.writeString(value.toHexString().toLowerCase(Locale.ROOT));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -22,14 +22,16 @@
import java.nio.file.attribute.PosixFilePermission;
import java.util.HashSet;
import java.util.List;
import java.util.Locale;
import java.util.Set;
import java.util.stream.Collectors;

public class OSUtils {

public static final String CR = System.getProperty("line.separator");
public static final String SLASH = System.getProperty("file.separator");
public static final boolean IS_WIN = System.getProperty("os.name").toLowerCase().contains("win");
public static final boolean IS_WIN =
System.getProperty("os.name").toLowerCase(Locale.ROOT).contains("win");

public static String toOSPath(String nixPath) {
if (IS_WIN) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,13 @@
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
import java.io.IOException;
import java.util.Locale;
import tech.pegasys.teku.infrastructure.bytes.Bytes20;

public class Bytes20Serializer extends JsonSerializer<Bytes20> {
@Override
public void serialize(Bytes20 value, JsonGenerator gen, SerializerProvider serializers)
throws IOException {
gen.writeString(value.toHexString().toLowerCase());
gen.writeString(value.toHexString().toLowerCase(Locale.ROOT));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,13 @@
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
import java.io.IOException;
import java.util.Locale;
import tech.pegasys.teku.infrastructure.bytes.Bytes4;

public class Bytes4Serializer extends JsonSerializer<Bytes4> {
@Override
public void serialize(Bytes4 value, JsonGenerator gen, SerializerProvider serializers)
throws IOException {
gen.writeString(value.toHexString().toLowerCase());
gen.writeString(value.toHexString().toLowerCase(Locale.ROOT));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,13 @@
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
import java.io.IOException;
import java.util.Locale;
import org.apache.tuweni.bytes.Bytes;

public class BytesSerializer extends JsonSerializer<Bytes> {
@Override
public void serialize(Bytes value, JsonGenerator gen, SerializerProvider provider)
throws IOException {
gen.writeString(value.toHexString().toLowerCase());
gen.writeString(value.toHexString().toLowerCase(Locale.ROOT));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
import static org.assertj.core.api.Assertions.assertThatThrownBy;

import io.netty.buffer.ByteBuf;
import java.util.Locale;
import org.apache.tuweni.bytes.Bytes;
import org.junit.jupiter.api.Test;
import tech.pegasys.teku.networking.eth2.rpc.core.encodings.RpcEncoding;
Expand All @@ -42,7 +43,7 @@ public void shouldEncodeErrorResponse() {
final Bytes actual = errorMessageResponseEncoder.encodeErrorResponse(ex);

// sanity check that the encoded string is what we expect
assertThat(actual.toHexString().toLowerCase())
assertThat(actual.toHexString().toLowerCase(Locale.ROOT))
.isEqualTo("0x010bff060000734e61507059010f0000c839768d4261642072657175657374");

// when we then decode the byte stream, the same RpcException that got encoded is raised
Expand Down
Loading

0 comments on commit b08b8c0

Please sign in to comment.