diff --git a/java/google/registry/backup/DeleteOldCommitLogsAction.java b/java/google/registry/backup/DeleteOldCommitLogsAction.java index af1d087ac..90a551e8b 100644 --- a/java/google/registry/backup/DeleteOldCommitLogsAction.java +++ b/java/google/registry/backup/DeleteOldCommitLogsAction.java @@ -236,7 +236,7 @@ public final class DeleteOldCommitLogsAction implements Runnable { enum Status { ALREADY_DELETED, AFTER_THRESHOLD, - SUCCESS; + SUCCESS } public abstract Status status(); diff --git a/java/google/registry/beam/spec11/SafeBrowsingTransforms.java b/java/google/registry/beam/spec11/SafeBrowsingTransforms.java index e5b253d81..b02d17044 100644 --- a/java/google/registry/beam/spec11/SafeBrowsingTransforms.java +++ b/java/google/registry/beam/spec11/SafeBrowsingTransforms.java @@ -116,7 +116,6 @@ public class SafeBrowsingTransforms { * @param clientSupplier a serializable CloseableHttpClient supplier */ @VisibleForTesting - @SuppressWarnings("unchecked") EvaluateSafeBrowsingFn( ValueProvider apiKeyProvider, Retrier retrier, diff --git a/java/google/registry/config/RegistryConfig.java b/java/google/registry/config/RegistryConfig.java index c40801fa9..11246e1e2 100644 --- a/java/google/registry/config/RegistryConfig.java +++ b/java/google/registry/config/RegistryConfig.java @@ -473,7 +473,7 @@ public final class RegistryConfig { PRODUCTION, /** Pilot mode, for everything else (e.g. sandbox). */ - PILOT; + PILOT } /** diff --git a/java/google/registry/cron/CommitLogFanoutAction.java b/java/google/registry/cron/CommitLogFanoutAction.java index 2f799093c..35df88bf3 100644 --- a/java/google/registry/cron/CommitLogFanoutAction.java +++ b/java/google/registry/cron/CommitLogFanoutAction.java @@ -15,7 +15,6 @@ package google.registry.cron; import static com.google.appengine.api.taskqueue.QueueFactory.getQueue; -import static java.util.concurrent.TimeUnit.SECONDS; import com.google.appengine.api.taskqueue.Queue; import com.google.appengine.api.taskqueue.TaskOptions; @@ -24,6 +23,7 @@ import google.registry.request.Action; import google.registry.request.Parameter; import google.registry.request.auth.Auth; import google.registry.util.TaskQueueUtils; +import java.time.Duration; import java.util.Optional; import java.util.Random; import javax.inject.Inject; @@ -50,11 +50,12 @@ public final class CommitLogFanoutAction implements Runnable { public void run() { Queue taskQueue = getQueue(queue); for (int bucketId : CommitLogBucket.getBucketIds()) { - TaskOptions taskOptions = TaskOptions.Builder.withUrl(endpoint) - .param(BUCKET_PARAM, Integer.toString(bucketId)) - .countdownMillis(jitterSeconds.isPresent() - ? random.nextInt((int) SECONDS.toMillis(jitterSeconds.get())) - : 0); + long delay = + jitterSeconds.map(i -> random.nextInt((int) Duration.ofSeconds(i).toMillis())).orElse(0); + TaskOptions taskOptions = + TaskOptions.Builder.withUrl(endpoint) + .param(BUCKET_PARAM, Integer.toString(bucketId)) + .countdownMillis(delay); taskQueueUtils.enqueue(taskQueue, taskOptions); } } diff --git a/java/google/registry/documentation/FlowDocumentation.java b/java/google/registry/documentation/FlowDocumentation.java index 94d2abbb6..4f76b9962 100644 --- a/java/google/registry/documentation/FlowDocumentation.java +++ b/java/google/registry/documentation/FlowDocumentation.java @@ -113,12 +113,9 @@ public class FlowDocumentation { /** Iterates through javadoc tags on the underlying class and calls specific parsing methods. */ private void parseTags(ClassDoc flowDoc) { for (Tag tag : flowDoc.tags()) { - switch (tag.name()) { - case "@error": - parseErrorTag(tag); - break; - default: - // Not a relevant tag. + // Everything else is not a relevant tag. + if ("@error".equals(tag.name())) { + parseErrorTag(tag); } } } diff --git a/java/google/registry/flows/domain/DomainFlowUtils.java b/java/google/registry/flows/domain/DomainFlowUtils.java index dadf05a23..bf3424dda 100644 --- a/java/google/registry/flows/domain/DomainFlowUtils.java +++ b/java/google/registry/flows/domain/DomainFlowUtils.java @@ -509,7 +509,6 @@ public class DomainFlowUtils { * (if opening the message interval). This may cause an autorenew billing event to have an end * time earlier than its event time (i.e. if it's being ended before it was ever triggered). */ - @SuppressWarnings("unchecked") public static void updateAutorenewRecurrenceEndTime(DomainBase domain, DateTime newEndTime) { Optional autorenewPollMessage = Optional.ofNullable(ofy().load().key(domain.getAutorenewPollMessage()).now()); diff --git a/java/google/registry/keyring/api/PgpHelper.java b/java/google/registry/keyring/api/PgpHelper.java index 0707c01f4..5e3849ef4 100644 --- a/java/google/registry/keyring/api/PgpHelper.java +++ b/java/google/registry/keyring/api/PgpHelper.java @@ -74,8 +74,6 @@ public final class PgpHelper { public static PGPPublicKey lookupPublicKey( PGPPublicKeyRingCollection keyring, String query, KeyRequirement want) { try { - // Safe by specification. - @SuppressWarnings("unchecked") Iterator results = keyring.getKeyRings(checkNotNull(query, "query"), true, true); verify(results.hasNext(), "No public key found matching substring: %s", query); @@ -98,7 +96,6 @@ public final class PgpHelper { * @throws VerifyException if either keys couldn't be found. * @see #lookupPublicKey */ - @SuppressWarnings("deprecation") public static PGPKeyPair lookupKeyPair( PGPPublicKeyRingCollection publics, PGPSecretKeyRingCollection privates, @@ -130,8 +127,6 @@ public final class PgpHelper { */ public static Optional lookupPublicSubkey( PGPPublicKeyRing ring, KeyRequirement want) { - // Safe by specification. - @SuppressWarnings("unchecked") Iterator keys = ring.getPublicKeys(); while (keys.hasNext()) { PGPPublicKey key = keys.next(); diff --git a/java/google/registry/model/EntityClasses.java b/java/google/registry/model/EntityClasses.java index e8787e5eb..64ac80f30 100644 --- a/java/google/registry/model/EntityClasses.java +++ b/java/google/registry/model/EntityClasses.java @@ -53,7 +53,6 @@ import google.registry.model.tmch.TmchCrl; public final class EntityClasses { /** Set of entity classes. */ - @SuppressWarnings("unchecked") // varargs public static final ImmutableSet> ALL_CLASSES = ImmutableSet.of( AllocationToken.class, diff --git a/java/google/registry/model/ImmutableObject.java b/java/google/registry/model/ImmutableObject.java index 9e11f9a34..ac8e5fc8c 100644 --- a/java/google/registry/model/ImmutableObject.java +++ b/java/google/registry/model/ImmutableObject.java @@ -140,7 +140,7 @@ public abstract class ImmutableObject implements Cloneable { } /** Helper function to recursively hydrate an ImmutableObject. */ - private static final Object hydrate(Object value) { + private static Object hydrate(Object value) { if (value instanceof Key) { return hydrate(ofy().load().key((Key) value).now()); } else if (value instanceof Map) { diff --git a/java/google/registry/model/billing/BillingEvent.java b/java/google/registry/model/billing/BillingEvent.java index 1440977dc..1bd18747b 100644 --- a/java/google/registry/model/billing/BillingEvent.java +++ b/java/google/registry/model/billing/BillingEvent.java @@ -608,7 +608,6 @@ public abstract class BillingEvent extends ImmutableObject } @Override - @SuppressWarnings("unchecked") public Modification build() { Modification instance = getInstance(); checkNotNull(instance.reason); diff --git a/java/google/registry/model/domain/DesignatedContact.java b/java/google/registry/model/domain/DesignatedContact.java index cf71f25af..ee1535931 100644 --- a/java/google/registry/model/domain/DesignatedContact.java +++ b/java/google/registry/model/domain/DesignatedContact.java @@ -53,7 +53,7 @@ public class DesignatedContact extends ImmutableObject { @XmlEnumValue("tech") TECH, /** The registrant type is not reflected in XML and exists only for internal use. */ - REGISTRANT; + REGISTRANT } public static DesignatedContact create(Type type, Key contact) { diff --git a/java/google/registry/model/domain/launch/LaunchCheckExtension.java b/java/google/registry/model/domain/launch/LaunchCheckExtension.java index 225eef35c..642137d0d 100644 --- a/java/google/registry/model/domain/launch/LaunchCheckExtension.java +++ b/java/google/registry/model/domain/launch/LaunchCheckExtension.java @@ -60,7 +60,7 @@ public class LaunchCheckExtension extends ImmutableObject implements CommandExte /** A check to see if there are matching trademarks on the specified domain names. */ @XmlEnumValue("claims") - CLAIMS; + CLAIMS } /** diff --git a/java/google/registry/model/domain/launch/LaunchCreateExtension.java b/java/google/registry/model/domain/launch/LaunchCreateExtension.java index a834bcffb..02d187fb2 100644 --- a/java/google/registry/model/domain/launch/LaunchCreateExtension.java +++ b/java/google/registry/model/domain/launch/LaunchCreateExtension.java @@ -72,7 +72,7 @@ public class LaunchCreateExtension extends LaunchExtension implements CommandExt * uses a "first-come, first-served" model. */ @XmlEnumValue("registration") - REGISTRATION; + REGISTRATION } @XmlAttribute diff --git a/java/google/registry/model/domain/rgp/RestoreCommand.java b/java/google/registry/model/domain/rgp/RestoreCommand.java index 8ac49ba15..739566000 100644 --- a/java/google/registry/model/domain/rgp/RestoreCommand.java +++ b/java/google/registry/model/domain/rgp/RestoreCommand.java @@ -28,7 +28,7 @@ public class RestoreCommand { REQUEST, @XmlEnumValue("report") - REPORT; + REPORT } /** The restore operation. */ diff --git a/java/google/registry/model/eppinput/EppInput.java b/java/google/registry/model/eppinput/EppInput.java index 6992e7cbc..ce542e9a3 100644 --- a/java/google/registry/model/eppinput/EppInput.java +++ b/java/google/registry/model/eppinput/EppInput.java @@ -151,14 +151,10 @@ public class EppInput extends ImmutableObject { /** Get the extension based on type, or null. If there are multiple, it chooses the first. */ public Optional getSingleExtension(Class clazz) { - return Optional.ofNullable( - getCommandWrapper() - .getExtensions() - .stream() - .filter(clazz::isInstance) - .map(clazz::cast) - .findFirst() - .orElse(null)); + return getCommandWrapper().getExtensions().stream() + .filter(clazz::isInstance) + .map(clazz::cast) + .findFirst(); } /** A tag that goes inside of an EPP {@literal }. */ @@ -225,7 +221,7 @@ public class EppInput extends ImmutableObject { REJECT, @XmlEnumValue("request") - REQUEST; + REQUEST } @XmlAttribute(name = "op") @@ -251,7 +247,7 @@ public class EppInput extends ImmutableObject { /** Request the next poll message. */ @XmlEnumValue("req") - REQUEST; + REQUEST } @XmlAttribute diff --git a/java/google/registry/model/mark/MarkContact.java b/java/google/registry/model/mark/MarkContact.java index d38be76bf..9de3fcb15 100644 --- a/java/google/registry/model/mark/MarkContact.java +++ b/java/google/registry/model/mark/MarkContact.java @@ -31,7 +31,7 @@ public class MarkContact extends CommonMarkContactFields { AGENT, @XmlEnumValue("thirdParty") - THIRD_PARTY; + THIRD_PARTY } @XmlAttribute diff --git a/java/google/registry/model/mark/MarkHolder.java b/java/google/registry/model/mark/MarkHolder.java index 5575926ef..f05036dba 100644 --- a/java/google/registry/model/mark/MarkHolder.java +++ b/java/google/registry/model/mark/MarkHolder.java @@ -31,7 +31,7 @@ public class MarkHolder extends CommonMarkContactFields { ASSIGNEE, @XmlEnumValue("licensee") - LICENSEE; + LICENSEE } @XmlAttribute diff --git a/java/google/registry/model/registrar/Registrar.java b/java/google/registry/model/registrar/Registrar.java index 019ccd549..f45e79b18 100644 --- a/java/google/registry/model/registrar/Registrar.java +++ b/java/google/registry/model/registrar/Registrar.java @@ -165,7 +165,7 @@ public class Registrar extends ImmutableObject implements Buildable, Jsonifiable * This registrar is completely disabled and cannot perform any EPP actions whatsoever, nor log * in to the registrar console. */ - DISABLED; + DISABLED } /** Regex for E.164 phone number format specified by {@code contact.xsd}. */ diff --git a/java/google/registry/monitoring/whitebox/CheckApiMetric.java b/java/google/registry/monitoring/whitebox/CheckApiMetric.java index d69e6eccf..5ace99012 100644 --- a/java/google/registry/monitoring/whitebox/CheckApiMetric.java +++ b/java/google/registry/monitoring/whitebox/CheckApiMetric.java @@ -32,7 +32,7 @@ public abstract class CheckApiMetric { private final String displayLabel; - private Tier(String displayLabel) { + Tier(String displayLabel) { this.displayLabel = displayLabel; } @@ -49,7 +49,7 @@ public abstract class CheckApiMetric { private final String displayLabel; - private Availability(String displayLabel) { + Availability(String displayLabel) { this.displayLabel = displayLabel; } @@ -67,7 +67,7 @@ public abstract class CheckApiMetric { private final String displayLabel; - private Status(String displayLabel) { + Status(String displayLabel) { this.displayLabel = displayLabel; } diff --git a/java/google/registry/proxy/WebWhoisProtocolsModule.java b/java/google/registry/proxy/WebWhoisProtocolsModule.java index d1f6d0341..c8f656dd4 100644 --- a/java/google/registry/proxy/WebWhoisProtocolsModule.java +++ b/java/google/registry/proxy/WebWhoisProtocolsModule.java @@ -86,7 +86,7 @@ public class WebWhoisProtocolsModule { httpServerCodecProvider, httpServerExpectContinueHandlerProvider, webWhoisRedirectHandlerProvides); - }; + } @Provides @HttpsWhoisProtocol @@ -101,7 +101,7 @@ public class WebWhoisProtocolsModule { httpServerCodecProvider, httpServerExpectContinueHandlerProvider, webWhoisRedirectHandlerProvides); - }; + } @Provides static HttpServerCodec provideHttpServerCodec() { diff --git a/java/google/registry/proxy/handler/WebWhoisRedirectHandler.java b/java/google/registry/proxy/handler/WebWhoisRedirectHandler.java index 9ab57b86e..ae1445182 100644 --- a/java/google/registry/proxy/handler/WebWhoisRedirectHandler.java +++ b/java/google/registry/proxy/handler/WebWhoisRedirectHandler.java @@ -105,7 +105,6 @@ public class WebWhoisRedirectHandler extends SimpleChannelInboundHandler HTTPS is a 301 redirect, whereas HTTPS -> web WHOIS site is 302 redirect. response = new DefaultFullHttpResponse(HTTP_1_1, isHttps ? FOUND : MOVED_PERMANENTLY); diff --git a/java/google/registry/rdap/RdapActionBase.java b/java/google/registry/rdap/RdapActionBase.java index d0a313d90..38c3df19b 100644 --- a/java/google/registry/rdap/RdapActionBase.java +++ b/java/google/registry/rdap/RdapActionBase.java @@ -235,10 +235,7 @@ public abstract class RdapActionBase implements Runnable { if (userAuthInfo.isUserAdmin()) { return true; } - if (registrarAccessor.getAllClientIdWithRoles().isEmpty()) { - return false; - } - return true; + return !registrarAccessor.getAllClientIdWithRoles().isEmpty(); } DeletedItemHandling getDeletedItemHandling() { diff --git a/java/google/registry/rde/RydeEncoder.java b/java/google/registry/rde/RydeEncoder.java index 31e142808..fe3b49df4 100644 --- a/java/google/registry/rde/RydeEncoder.java +++ b/java/google/registry/rde/RydeEncoder.java @@ -54,10 +54,6 @@ public final class RydeEncoder extends FilterOutputStream { private final OutputStream sigOutput; private final RydePgpSigningOutputStream signer; - private final OutputStream encryptLayer; - private final OutputStream kompressor; - private final OutputStream fileLayer; - private final OutputStream tarLayer; // We use a Closer to handle the stream .close, to make sure it's done correctly. private final Closer closer = Closer.create(); private boolean isClosed = false; @@ -73,10 +69,12 @@ public final class RydeEncoder extends FilterOutputStream { super(null); this.sigOutput = sigOutput; signer = closer.register(new RydePgpSigningOutputStream(checkNotNull(rydeOutput), signingKey)); - encryptLayer = closer.register(openEncryptor(signer, RYDE_USE_INTEGRITY_PACKET, receiverKeys)); - kompressor = closer.register(openCompressor(encryptLayer)); - fileLayer = closer.register(openPgpFileWriter(kompressor, filenamePrefix + ".tar", modified)); - tarLayer = + OutputStream encryptLayer = + closer.register(openEncryptor(signer, RYDE_USE_INTEGRITY_PACKET, receiverKeys)); + OutputStream kompressor = closer.register(openCompressor(encryptLayer)); + OutputStream fileLayer = + closer.register(openPgpFileWriter(kompressor, filenamePrefix + ".tar", modified)); + OutputStream tarLayer = closer.register(openTarWriter(fileLayer, dataLength, filenamePrefix + ".xml", modified)); this.out = tarLayer; } diff --git a/java/google/registry/rde/RydePgpSigningOutputStream.java b/java/google/registry/rde/RydePgpSigningOutputStream.java index 7a9ccb127..b965539a7 100644 --- a/java/google/registry/rde/RydePgpSigningOutputStream.java +++ b/java/google/registry/rde/RydePgpSigningOutputStream.java @@ -96,7 +96,6 @@ public class RydePgpSigningOutputStream extends ImprovedOutputStream { * googler who was also uncertain about the precise reason why it's needed. */ private static void addUserInfoToSignature(PGPPublicKey publicKey, PGPSignatureGenerator signer) { - @SuppressWarnings("unchecked") // safe by specification. Iterator uidIter = publicKey.getUserIDs(); if (uidIter.hasNext()) { PGPSignatureSubpacketGenerator spg = new PGPSignatureSubpacketGenerator(); diff --git a/java/google/registry/reporting/icann/DnsCountQueryCoordinator.java b/java/google/registry/reporting/icann/DnsCountQueryCoordinator.java index c2aaf5680..be8d6f902 100644 --- a/java/google/registry/reporting/icann/DnsCountQueryCoordinator.java +++ b/java/google/registry/reporting/icann/DnsCountQueryCoordinator.java @@ -34,7 +34,7 @@ public interface DnsCountQueryCoordinator { * * If your report query requires any additional parameters, add them here. */ - public class Params { + class Params { public BigqueryConnection bigquery; /** The Google Cloud project id. */ diff --git a/java/google/registry/reporting/icann/DnsCountQueryCoordinatorModule.java b/java/google/registry/reporting/icann/DnsCountQueryCoordinatorModule.java index 12d989956..8aaa1671c 100644 --- a/java/google/registry/reporting/icann/DnsCountQueryCoordinatorModule.java +++ b/java/google/registry/reporting/icann/DnsCountQueryCoordinatorModule.java @@ -33,8 +33,6 @@ public class DnsCountQueryCoordinatorModule { @Config("projectId") String projectId) { DnsCountQueryCoordinator.Params params = new DnsCountQueryCoordinator.Params(bigquery, projectId); - DnsCountQueryCoordinator result = - instantiate(getClassFromString(customClass, DnsCountQueryCoordinator.class), params); - return result; + return instantiate(getClassFromString(customClass, DnsCountQueryCoordinator.class), params); } } diff --git a/java/google/registry/reporting/icann/IcannReportingModule.java b/java/google/registry/reporting/icann/IcannReportingModule.java index 82750f802..22fdf013e 100644 --- a/java/google/registry/reporting/icann/IcannReportingModule.java +++ b/java/google/registry/reporting/icann/IcannReportingModule.java @@ -88,14 +88,12 @@ public final class IcannReportingModule { static BigqueryConnection provideBigqueryConnection( BigqueryConnection.Builder bigQueryConnectionBuilder) { try { - BigqueryConnection connection = - bigQueryConnectionBuilder - .setExecutorService(MoreExecutors.newDirectExecutorService()) - .setDatasetId(ICANN_REPORTING_DATA_SET) - .setOverwrite(true) - .setPollInterval(Duration.standardSeconds(1)) - .build(); - return connection; + return bigQueryConnectionBuilder + .setExecutorService(MoreExecutors.newDirectExecutorService()) + .setDatasetId(ICANN_REPORTING_DATA_SET) + .setOverwrite(true) + .setPollInterval(Duration.standardSeconds(1)) + .build(); } catch (Throwable e) { throw new RuntimeException("Could not initialize BigqueryConnection!", e); } diff --git a/java/google/registry/request/auth/AuthenticatedRegistrarAccessor.java b/java/google/registry/request/auth/AuthenticatedRegistrarAccessor.java index 4fd31b7b3..581fc3f3e 100644 --- a/java/google/registry/request/auth/AuthenticatedRegistrarAccessor.java +++ b/java/google/registry/request/auth/AuthenticatedRegistrarAccessor.java @@ -293,11 +293,10 @@ public class AuthenticatedRegistrarAccessor { // both GAE project admin and members of the gSuiteSupportGroupEmailAddress are considered // admins for the RegistrarConsole. - return bypassAdminCheck - ? false - : userAuthInfo.isUserAdmin() + return !bypassAdminCheck + && (userAuthInfo.isUserAdmin() || checkIsSupport( - lazyGroupsConnection, user.getEmail(), gSuiteSupportGroupEmailAddress); + lazyGroupsConnection, user.getEmail(), gSuiteSupportGroupEmailAddress)); } /** diff --git a/java/google/registry/tmch/Marksdb.java b/java/google/registry/tmch/Marksdb.java index 7afe5b459..2d771e910 100644 --- a/java/google/registry/tmch/Marksdb.java +++ b/java/google/registry/tmch/Marksdb.java @@ -98,7 +98,6 @@ public final class Marksdb { } } - @SuppressWarnings("deprecation") private static void pgpVerifySignature(byte[] data, byte[] signature, PGPPublicKey publicKey) throws PGPException, SignatureException { Security.addProvider(new BouncyCastleProvider()); diff --git a/java/google/registry/tmch/TmchData.java b/java/google/registry/tmch/TmchData.java index d35c67012..7858ef1db 100644 --- a/java/google/registry/tmch/TmchData.java +++ b/java/google/registry/tmch/TmchData.java @@ -30,7 +30,6 @@ public final class TmchData { private static final String BEGIN_ENCODED_SMD = "-----BEGIN ENCODED SMD-----"; private static final String END_ENCODED_SMD = "-----END ENCODED SMD-----"; - @SuppressWarnings("deprecation") static PGPPublicKey loadPublicKey(ByteSource pgpPublicKeyFile) { try (InputStream input = pgpPublicKeyFile.openStream(); InputStream decoder = PGPUtil.getDecoderStream(input)) { diff --git a/java/google/registry/tools/BigqueryParameters.java b/java/google/registry/tools/BigqueryParameters.java index 48eea4d67..2a7d9c08e 100644 --- a/java/google/registry/tools/BigqueryParameters.java +++ b/java/google/registry/tools/BigqueryParameters.java @@ -53,13 +53,11 @@ final class BigqueryParameters { /** Returns a new BigqueryConnection constructed according to the delegate's flag settings. */ BigqueryConnection newConnection(BigqueryConnection.Builder connectionBuilder) throws Exception { - BigqueryConnection connection = - connectionBuilder - .setExecutorService(Executors.newFixedThreadPool(bigqueryNumThreads)) - .setDatasetId(bigqueryDataset) - .setOverwrite(bigqueryOverwrite) - .setPollInterval(bigqueryPollInterval) - .build(); - return connection; + return connectionBuilder + .setExecutorService(Executors.newFixedThreadPool(bigqueryNumThreads)) + .setDatasetId(bigqueryDataset) + .setOverwrite(bigqueryOverwrite) + .setPollInterval(bigqueryPollInterval) + .build(); } } diff --git a/java/google/registry/tools/CommandRunner.java b/java/google/registry/tools/CommandRunner.java index e82237a8e..dc8522429 100644 --- a/java/google/registry/tools/CommandRunner.java +++ b/java/google/registry/tools/CommandRunner.java @@ -20,5 +20,5 @@ package google.registry.tools; *

This exists only to allow us to test ShellCommand. */ interface CommandRunner { - public void run(String[] args) throws Exception; + void run(String[] args) throws Exception; } diff --git a/java/google/registry/tools/RegistrarContactCommand.java b/java/google/registry/tools/RegistrarContactCommand.java index 671640871..ab8c7f359 100644 --- a/java/google/registry/tools/RegistrarContactCommand.java +++ b/java/google/registry/tools/RegistrarContactCommand.java @@ -307,8 +307,7 @@ final class RegistrarContactCommand extends MutatingCommand { private void unsetOtherWhoisAbuseFlags( ImmutableSet contacts, @Nullable String emailAddressNotToChange) { for (RegistrarContact contact : contacts) { - if (((emailAddressNotToChange == null) - || !contact.getEmailAddress().equals(emailAddressNotToChange)) + if (!contact.getEmailAddress().equals(emailAddressNotToChange) && contact.getVisibleInDomainWhoisAsAbuse()) { RegistrarContact newContact = contact.asBuilder().setVisibleInDomainWhoisAsAbuse(false).build(); diff --git a/java/google/registry/tools/params/ParameterConverterValidator.java b/java/google/registry/tools/params/ParameterConverterValidator.java index a05936f79..b296d82bc 100644 --- a/java/google/registry/tools/params/ParameterConverterValidator.java +++ b/java/google/registry/tools/params/ParameterConverterValidator.java @@ -41,8 +41,7 @@ public abstract class ParameterConverterValidator convert(value); } catch (IllegalArgumentException e) { ParameterException pe = - new ParameterException(String.format("%s=%s %s", name, value, messageForInvalid)); - pe.initCause(e); + new ParameterException(String.format("%s=%s %s", name, value, messageForInvalid), e); throw pe; } } diff --git a/java/google/registry/tools/server/ResaveAllHistoryEntriesAction.java b/java/google/registry/tools/server/ResaveAllHistoryEntriesAction.java index 5983f0a0f..6f48430f9 100644 --- a/java/google/registry/tools/server/ResaveAllHistoryEntriesAction.java +++ b/java/google/registry/tools/server/ResaveAllHistoryEntriesAction.java @@ -47,7 +47,6 @@ public class ResaveAllHistoryEntriesAction implements Runnable { @Inject Response response; @Inject ResaveAllHistoryEntriesAction() {} - @SuppressWarnings("unchecked") @Override public void run() { mrRunner diff --git a/java/google/registry/ui/server/SoyTemplateUtils.java b/java/google/registry/ui/server/SoyTemplateUtils.java index ec7106a55..612054a74 100644 --- a/java/google/registry/ui/server/SoyTemplateUtils.java +++ b/java/google/registry/ui/server/SoyTemplateUtils.java @@ -51,9 +51,10 @@ public final class SoyTemplateUtils { for (SoyFileInfo soyInfo : soyInfos) { builder.add(getResource(soyInfo.getClass(), soyInfo.getFileName())); } - Map globals = new HashMap<>(); + Map globals; try { - globals.putAll(SoyUtils.parseCompileTimeGlobals(asCharSource(SOY_GLOBALS, UTF_8))); + globals = + new HashMap<>(SoyUtils.parseCompileTimeGlobals(asCharSource(SOY_GLOBALS, UTF_8))); } catch (IOException e) { throw new RuntimeException("Failed to load soy globals", e); } diff --git a/java/google/registry/ui/server/registrar/ConsoleRegistrarCreatorAction.java b/java/google/registry/ui/server/registrar/ConsoleRegistrarCreatorAction.java index bb2cb98d7..6328d92d3 100644 --- a/java/google/registry/ui/server/registrar/ConsoleRegistrarCreatorAction.java +++ b/java/google/registry/ui/server/registrar/ConsoleRegistrarCreatorAction.java @@ -351,22 +351,18 @@ public final class ConsoleRegistrarCreatorAction implements Runnable { return; } String environment = Ascii.toLowerCase(String.valueOf(registryEnvironment)); - StringBuilder builder = new StringBuilder(); - builder - .append( - String.format( + String body = + String.format( "The following registrar was created in %s by %s:\n", - environment, registrarAccessor.userIdForLogging())) - .append(toEmailLine(clientId, "clientId")) - .append(toEmailLine(name, "name")) - .append(toEmailLine(billingAccount, "billingAccount")) - .append(toEmailLine(ianaId, "ianaId")) - .append(toEmailLine(referralEmail, "referralEmail")) - .append(toEmailLine(driveId, "driveId")) - .append( - String.format("Gave user %s web access to the registrar\n", consoleUserEmail.get())); + environment, registrarAccessor.userIdForLogging()) + + toEmailLine(clientId, "clientId") + + toEmailLine(name, "name") + + toEmailLine(billingAccount, "billingAccount") + + toEmailLine(ianaId, "ianaId") + + toEmailLine(referralEmail, "referralEmail") + + toEmailLine(driveId, "driveId") + + String.format("Gave user %s web access to the registrar\n", consoleUserEmail.get()); sendEmailUtils.sendEmail( - String.format("Registrar %s created in %s", clientId.get(), environment), - builder.toString()); + String.format("Registrar %s created in %s", clientId.get(), environment), body); } } diff --git a/java/google/registry/ui/server/registrar/RegistrarSettingsAction.java b/java/google/registry/ui/server/registrar/RegistrarSettingsAction.java index cd28a0d86..36d7c5827 100644 --- a/java/google/registry/ui/server/registrar/RegistrarSettingsAction.java +++ b/java/google/registry/ui/server/registrar/RegistrarSettingsAction.java @@ -246,8 +246,7 @@ public class RegistrarSettingsAction implements Runnable, JsonActionRunner.JsonA .map(RegistrarContact::toDiffableFieldMap) .collect(toImmutableSet()); // Use LinkedHashMap here to preserve ordering; null values mean we can't use ImmutableMap. - LinkedHashMap result = new LinkedHashMap<>(); - result.putAll(registrar.toDiffableFieldMap()); + LinkedHashMap result = new LinkedHashMap<>(registrar.toDiffableFieldMap()); result.put("contacts", expandedContacts); return result; } diff --git a/java/google/registry/util/PosixTarHeader.java b/java/google/registry/util/PosixTarHeader.java index 6ec20fc9b..e346870f8 100644 --- a/java/google/registry/util/PosixTarHeader.java +++ b/java/google/registry/util/PosixTarHeader.java @@ -105,7 +105,7 @@ public final class PosixTarHeader { DIRECTORY, /** This indicates we read a file from an archive with an unsupported type. */ - UNSUPPORTED; + UNSUPPORTED } public static final int HEADER_LENGTH = 512; diff --git a/java/google/registry/util/UrlFetchUtils.java b/java/google/registry/util/UrlFetchUtils.java index bf30b0174..4f6e60105 100644 --- a/java/google/registry/util/UrlFetchUtils.java +++ b/java/google/registry/util/UrlFetchUtils.java @@ -20,7 +20,6 @@ import static com.google.common.net.HttpHeaders.AUTHORIZATION; import static com.google.common.net.HttpHeaders.CONTENT_DISPOSITION; import static com.google.common.net.HttpHeaders.CONTENT_LENGTH; import static com.google.common.net.HttpHeaders.CONTENT_TYPE; -import static java.lang.String.format; import static java.nio.charset.StandardCharsets.UTF_8; import com.google.appengine.api.urlfetch.HTTPHeader; @@ -73,18 +72,20 @@ public final class UrlFetchUtils { checkState( !data.contains(boundary), "Multipart data contains autogenerated boundary: %s", boundary); - StringBuilder multipart = new StringBuilder(); - multipart.append(format("--%s\r\n", boundary)); - multipart.append(format("%s: form-data; name=\"%s\"; filename=\"%s\"\r\n", - CONTENT_DISPOSITION, name, filename)); - multipart.append(format("%s: %s\r\n", CONTENT_TYPE, contentType.toString())); - multipart.append("\r\n"); - multipart.append(data); - multipart.append("\r\n"); - multipart.append(format("--%s--\r\n", boundary)); - byte[] payload = multipart.toString().getBytes(UTF_8); + String multipart = + String.format("--%s\r\n", boundary) + + String.format( + "%s: form-data; name=\"%s\"; filename=\"%s\"\r\n", + CONTENT_DISPOSITION, name, filename) + + String.format("%s: %s\r\n", CONTENT_TYPE, contentType) + + "\r\n" + + data + + "\r\n" + + String.format("--%s--\r\n", boundary); + byte[] payload = multipart.getBytes(UTF_8); request.addHeader( - new HTTPHeader(CONTENT_TYPE, format("multipart/form-data; boundary=\"%s\"", boundary))); + new HTTPHeader( + CONTENT_TYPE, String.format("multipart/form-data;" + " boundary=\"%s\"", boundary))); request.addHeader(new HTTPHeader(CONTENT_LENGTH, Integer.toString(payload.length))); request.setPayload(payload); } diff --git a/javatests/google/registry/dns/writer/clouddns/CloudDnsWriterTest.java b/javatests/google/registry/dns/writer/clouddns/CloudDnsWriterTest.java index d71fff2d4..e2490efa7 100644 --- a/javatests/google/registry/dns/writer/clouddns/CloudDnsWriterTest.java +++ b/javatests/google/registry/dns/writer/clouddns/CloudDnsWriterTest.java @@ -425,7 +425,6 @@ public class CloudDnsWriterTest { } @Test - @SuppressWarnings("unchecked") public void retryMutateZoneOnError() { CloudDnsWriter spyWriter = spy(writer); // First call - throw. Second call - do nothing. diff --git a/javatests/google/registry/documentation/FlowDocumentationTest.java b/javatests/google/registry/documentation/FlowDocumentationTest.java index 00e5178e9..19091a9e0 100644 --- a/javatests/google/registry/documentation/FlowDocumentationTest.java +++ b/javatests/google/registry/documentation/FlowDocumentationTest.java @@ -16,6 +16,7 @@ package google.registry.documentation; import static com.google.common.truth.Truth.assert_; import static google.registry.util.BuildPathUtils.getProjectRoot; +import static java.nio.charset.StandardCharsets.UTF_8; import com.google.common.base.Joiner; import java.io.IOException; @@ -47,7 +48,7 @@ public class FlowDocumentationTest { Path goldenMarkdownPath = GOLDEN_MARKDOWN_FILEPATH; - String goldenMarkdown = new String(Files.readAllBytes(goldenMarkdownPath), "UTF-8"); + String goldenMarkdown = new String(Files.readAllBytes(goldenMarkdownPath), UTF_8); // Don't use Truth's isEqualTo() because the output is huge and unreadable for large files. DocumentationGenerator generator = new DocumentationGenerator(); diff --git a/javatests/google/registry/export/ExportDomainListsActionTest.java b/javatests/google/registry/export/ExportDomainListsActionTest.java index d89ef8960..94b4059c6 100644 --- a/javatests/google/registry/export/ExportDomainListsActionTest.java +++ b/javatests/google/registry/export/ExportDomainListsActionTest.java @@ -86,7 +86,7 @@ public class ExportDomainListsActionTest extends MapreduceTestCase extends ShardableTestCase { ImmutableMap.Builder builder = new ImmutableMap.Builder<>(); for (Map.Entry entry : gracePeriods.entrySet()) { builder.put( - ((Function) - gracePeriod -> - GracePeriod.create( - gracePeriod.getType(), - gracePeriod.getExpirationTime(), - gracePeriod.getClientId(), - null)) - .apply(entry.getKey()), + GracePeriod.create( + entry.getKey().getType(), + entry.getKey().getExpirationTime(), + entry.getKey().getClientId(), + null), stripBillingEventId(entry.getValue())); } return builder.build(); diff --git a/javatests/google/registry/rde/BouncyCastleTest.java b/javatests/google/registry/rde/BouncyCastleTest.java index 25052fba9..293df648d 100644 --- a/javatests/google/registry/rde/BouncyCastleTest.java +++ b/javatests/google/registry/rde/BouncyCastleTest.java @@ -383,7 +383,6 @@ public class BouncyCastleTest { * Googler who was also uncertain about the precise reason why it's needed. */ private void addUserInfoToSignature(PGPPublicKey publicKey, PGPSignatureGenerator signer) { - @SuppressWarnings("unchecked") // Safe by specification. Iterator uidIter = publicKey.getUserIDs(); if (uidIter.hasNext()) { PGPSignatureSubpacketGenerator spg = new PGPSignatureSubpacketGenerator(); diff --git a/javatests/google/registry/rde/RdeUploadActionTest.java b/javatests/google/registry/rde/RdeUploadActionTest.java index b110c26a6..2b35eb434 100644 --- a/javatests/google/registry/rde/RdeUploadActionTest.java +++ b/javatests/google/registry/rde/RdeUploadActionTest.java @@ -76,7 +76,6 @@ import google.registry.testing.sftp.SftpServerRule; import google.registry.util.Retrier; import google.registry.util.TaskQueueUtils; import java.io.File; -import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; @@ -353,7 +352,7 @@ public class RdeUploadActionTest { + "upload; last upload attempt was at 2010-10-16T22:23:00.000Z (97 minutes ago)"); } - private String slurp(InputStream is) throws FileNotFoundException, IOException { + private String slurp(InputStream is) throws IOException { return CharStreams.toString(new InputStreamReader(is, UTF_8)); } } diff --git a/javatests/google/registry/rde/RydeGpgIntegrationTest.java b/javatests/google/registry/rde/RydeGpgIntegrationTest.java index d6cfd7b6c..119ed27c3 100644 --- a/javatests/google/registry/rde/RydeGpgIntegrationTest.java +++ b/javatests/google/registry/rde/RydeGpgIntegrationTest.java @@ -30,7 +30,6 @@ import google.registry.testing.GpgSystemCommandRule; import google.registry.testing.ShardableTestCase; import java.io.File; import java.io.FileInputStream; -import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; @@ -208,7 +207,7 @@ public class RydeGpgIntegrationTest extends ShardableTestCase { assertThat(slurp(xmlFile)).isEqualTo(content.get()); } - private String slurp(File file) throws FileNotFoundException, IOException { + private String slurp(File file) throws IOException { return CharStreams.toString(new InputStreamReader(new FileInputStream(file), UTF_8)); } diff --git a/javatests/google/registry/reporting/billing/PublishInvoicesActionTest.java b/javatests/google/registry/reporting/billing/PublishInvoicesActionTest.java index 8ccde1d33..c93feb570 100644 --- a/javatests/google/registry/reporting/billing/PublishInvoicesActionTest.java +++ b/javatests/google/registry/reporting/billing/PublishInvoicesActionTest.java @@ -45,9 +45,6 @@ import org.junit.runners.JUnit4; @RunWith(JUnit4.class) public class PublishInvoicesActionTest { - private Dataflow dataflow; - private Projects projects; - private Jobs jobs; private Get get; private BillingEmailUtils emailUtils; @@ -60,9 +57,9 @@ public class PublishInvoicesActionTest { @Before public void setUp() throws IOException { - dataflow = mock(Dataflow.class); - projects = mock(Projects.class); - jobs = mock(Jobs.class); + Dataflow dataflow = mock(Dataflow.class); + Projects projects = mock(Projects.class); + Jobs jobs = mock(Jobs.class); get = mock(Get.class); when(dataflow.projects()).thenReturn(projects); when(projects.jobs()).thenReturn(jobs); diff --git a/javatests/google/registry/testing/TestCacheRule.java b/javatests/google/registry/testing/TestCacheRule.java index 8906d866f..a809b8d99 100644 --- a/javatests/google/registry/testing/TestCacheRule.java +++ b/javatests/google/registry/testing/TestCacheRule.java @@ -82,8 +82,7 @@ public class TestCacheRule extends ExternalResource { } public TestCacheRule build() { - TestCacheRule rule = new TestCacheRule(ImmutableList.copyOf(cacheHandlerMap.values())); - return rule; + return new TestCacheRule(ImmutableList.copyOf(cacheHandlerMap.values())); } } diff --git a/javatests/google/registry/tmch/NordnUploadActionTest.java b/javatests/google/registry/tmch/NordnUploadActionTest.java index 2903c8065..8a5739890 100644 --- a/javatests/google/registry/tmch/NordnUploadActionTest.java +++ b/javatests/google/registry/tmch/NordnUploadActionTest.java @@ -168,7 +168,6 @@ public class NordnUploadActionTest { assertThat(action.loadAllTasks(queue, "tld")).containsExactly(task); } - @SuppressWarnings("unchecked") @Test public void test_loadAllTasks_retryLogic_allFailures() { Queue queue = mock(Queue.class); diff --git a/javatests/google/registry/tools/CreateRegistrarCommandTest.java b/javatests/google/registry/tools/CreateRegistrarCommandTest.java index 1f5b3f9ba..73cc0af1c 100644 --- a/javatests/google/registry/tools/CreateRegistrarCommandTest.java +++ b/javatests/google/registry/tools/CreateRegistrarCommandTest.java @@ -235,7 +235,6 @@ public class CreateRegistrarCommandTest extends CommandTestCase