diff --git a/core/src/main/java/google/registry/batch/CloudTasksUtils.java b/core/src/main/java/google/registry/batch/CloudTasksUtils.java index 21efc43cd..59e7eb3ef 100644 --- a/core/src/main/java/google/registry/batch/CloudTasksUtils.java +++ b/core/src/main/java/google/registry/batch/CloudTasksUtils.java @@ -207,7 +207,7 @@ public class CloudTasksUtils implements Serializable { Service service, Multimap params, Optional jitterSeconds) { - if (!jitterSeconds.isPresent() || jitterSeconds.get() <= 0) { + if (jitterSeconds.isEmpty() || jitterSeconds.get() <= 0) { return createTask(path, method, service, params); } return createTaskWithDelay( diff --git a/core/src/main/java/google/registry/batch/DeleteExpiredDomainsAction.java b/core/src/main/java/google/registry/batch/DeleteExpiredDomainsAction.java index 01d681ee5..66f95888b 100644 --- a/core/src/main/java/google/registry/batch/DeleteExpiredDomainsAction.java +++ b/core/src/main/java/google/registry/batch/DeleteExpiredDomainsAction.java @@ -171,7 +171,7 @@ public class DeleteExpiredDomainsAction implements Runnable { tm().transact( () -> { Domain transDomain = tm().loadByKey(domain.createVKey()); - if (!domain.getAutorenewEndTime().isPresent() + if (domain.getAutorenewEndTime().isEmpty() || domain.getAutorenewEndTime().get().isAfter(tm().getTransactionTime())) { logger.atSevere().log( "Failed to delete domain %s because of its autorenew end time: %s.", diff --git a/core/src/main/java/google/registry/batch/SendExpiringCertificateNotificationEmailAction.java b/core/src/main/java/google/registry/batch/SendExpiringCertificateNotificationEmailAction.java index 1701ce9f6..df2b6f536 100644 --- a/core/src/main/java/google/registry/batch/SendExpiringCertificateNotificationEmailAction.java +++ b/core/src/main/java/google/registry/batch/SendExpiringCertificateNotificationEmailAction.java @@ -151,7 +151,7 @@ public class SendExpiringCertificateNotificationEmailAction implements Runnable DateTime lastExpiringCertNotificationSentDate, CertificateType certificateType, Optional certificate) { - if (!certificate.isPresent() + if (certificate.isEmpty() || !certificateChecker.shouldReceiveExpiringNotification( lastExpiringCertNotificationSentDate, certificate.get())) { return false; diff --git a/core/src/main/java/google/registry/bsa/BsaDownloadAction.java b/core/src/main/java/google/registry/bsa/BsaDownloadAction.java index 120130328..3cb5346e6 100644 --- a/core/src/main/java/google/registry/bsa/BsaDownloadAction.java +++ b/core/src/main/java/google/registry/bsa/BsaDownloadAction.java @@ -116,7 +116,7 @@ public class BsaDownloadAction implements Runnable { return null; } Optional scheduleOptional = downloadScheduler.schedule(); - if (!scheduleOptional.isPresent()) { + if (scheduleOptional.isEmpty()) { logger.atInfo().log("Nothing to do."); return null; } diff --git a/core/src/main/java/google/registry/bsa/BsaRefreshAction.java b/core/src/main/java/google/registry/bsa/BsaRefreshAction.java index a727d993a..14492c3be 100644 --- a/core/src/main/java/google/registry/bsa/BsaRefreshAction.java +++ b/core/src/main/java/google/registry/bsa/BsaRefreshAction.java @@ -102,7 +102,7 @@ public class BsaRefreshAction implements Runnable { return null; } Optional maybeSchedule = scheduler.schedule(); - if (!maybeSchedule.isPresent()) { + if (maybeSchedule.isEmpty()) { logger.atInfo().log("No completed downloads yet. Exiting."); return null; } diff --git a/core/src/main/java/google/registry/bsa/persistence/RefreshScheduler.java b/core/src/main/java/google/registry/bsa/persistence/RefreshScheduler.java index e55822d5b..04f01b993 100644 --- a/core/src/main/java/google/registry/bsa/persistence/RefreshScheduler.java +++ b/core/src/main/java/google/registry/bsa/persistence/RefreshScheduler.java @@ -52,7 +52,7 @@ public class RefreshScheduler { } // No previously completed refreshes. Need start time of a completed download as // lower bound of refresh checks. - if (!mostRecentDownload.isPresent()) { + if (mostRecentDownload.isEmpty()) { return Optional.empty(); } diff --git a/core/src/main/java/google/registry/dns/writer/clouddns/CloudDnsWriter.java b/core/src/main/java/google/registry/dns/writer/clouddns/CloudDnsWriter.java index b47633a22..6baef1d9a 100644 --- a/core/src/main/java/google/registry/dns/writer/clouddns/CloudDnsWriter.java +++ b/core/src/main/java/google/registry/dns/writer/clouddns/CloudDnsWriter.java @@ -128,7 +128,7 @@ public class CloudDnsWriter extends BaseDnsWriter { // Return early if no DNS records should be published. // desiredRecordsBuilder is populated with an empty set to indicate that all existing records // should be deleted. - if (!domain.isPresent() || !domain.get().shouldPublishToDns()) { + if (domain.isEmpty() || !domain.get().shouldPublishToDns()) { desiredRecords.put(absoluteDomainName, ImmutableSet.of()); return; } @@ -192,7 +192,7 @@ public class CloudDnsWriter extends BaseDnsWriter { Optional host = loadByForeignKey(Host.class, hostName, clock.nowUtc()); // Return early if the host is deleted. - if (!host.isPresent()) { + if (host.isEmpty()) { desiredRecords.put(absoluteHostName, ImmutableSet.of()); return; } @@ -247,7 +247,7 @@ public class CloudDnsWriter extends BaseDnsWriter { Optional tld = Tlds.findTldForName(host); // Host not managed by our registry, no need to update DNS. - if (!tld.isPresent()) { + if (tld.isEmpty()) { logger.atSevere().log("publishHost called for invalid host '%s'.", hostName); return; } diff --git a/core/src/main/java/google/registry/dns/writer/dnsupdate/DnsUpdateWriter.java b/core/src/main/java/google/registry/dns/writer/dnsupdate/DnsUpdateWriter.java index 9337dd8b2..20a749f4c 100644 --- a/core/src/main/java/google/registry/dns/writer/dnsupdate/DnsUpdateWriter.java +++ b/core/src/main/java/google/registry/dns/writer/dnsupdate/DnsUpdateWriter.java @@ -157,7 +157,7 @@ public class DnsUpdateWriter extends BaseDnsWriter { Optional tld = Tlds.findTldForName(host); // host not managed by our registry, no need to update DNS. - if (!tld.isPresent()) { + if (tld.isEmpty()) { return; } diff --git a/core/src/main/java/google/registry/export/ExportPremiumTermsAction.java b/core/src/main/java/google/registry/export/ExportPremiumTermsAction.java index 580da742b..781bbcbb8 100644 --- a/core/src/main/java/google/registry/export/ExportPremiumTermsAction.java +++ b/core/src/main/java/google/registry/export/ExportPremiumTermsAction.java @@ -115,7 +115,7 @@ public class ExportPremiumTermsAction implements Runnable { "Skipping premium terms export for TLD %s because Drive folder isn't specified.", tldStr); return Optional.of("Skipping export because no Drive folder is associated with this TLD"); } - if (!tld.getPremiumListName().isPresent()) { + if (tld.getPremiumListName().isEmpty()) { logger.atInfo().log("No premium terms to export for TLD '%s'.", tldStr); return Optional.of("No premium lists configured"); } diff --git a/core/src/main/java/google/registry/export/sheet/SyncRegistrarsSheet.java b/core/src/main/java/google/registry/export/sheet/SyncRegistrarsSheet.java index 523a2351d..1dd9bf616 100644 --- a/core/src/main/java/google/registry/export/sheet/SyncRegistrarsSheet.java +++ b/core/src/main/java/google/registry/export/sheet/SyncRegistrarsSheet.java @@ -63,7 +63,7 @@ class SyncRegistrarsSheet { boolean wereRegistrarsModified() { Optional cursor = tm().transact(() -> tm().loadByKeyIfPresent(Cursor.createGlobalVKey(SYNC_REGISTRAR_SHEET))); - DateTime lastUpdateTime = !cursor.isPresent() ? START_OF_TIME : cursor.get().getCursorTime(); + DateTime lastUpdateTime = cursor.isEmpty() ? START_OF_TIME : cursor.get().getCursorTime(); for (Registrar registrar : Registrar.loadAllCached()) { if (DateTimeUtils.isAtOrAfter(registrar.getLastUpdateTime(), lastUpdateTime)) { return true; diff --git a/core/src/main/java/google/registry/export/sheet/SyncRegistrarsSheetAction.java b/core/src/main/java/google/registry/export/sheet/SyncRegistrarsSheetAction.java index edc79371b..f8e2510de 100644 --- a/core/src/main/java/google/registry/export/sheet/SyncRegistrarsSheetAction.java +++ b/core/src/main/java/google/registry/export/sheet/SyncRegistrarsSheetAction.java @@ -112,11 +112,11 @@ public class SyncRegistrarsSheetAction implements Runnable { @Override public void run() { final Optional sheetId = Optional.ofNullable(idParam.orElse(idConfig.orElse(null))); - if (!sheetId.isPresent()) { + if (sheetId.isEmpty()) { Result.MISSINGNO.send(response, null); return; } - if (!idParam.isPresent()) { + if (idParam.isEmpty()) { if (!syncRegistrarsSheet.wereRegistrarsModified()) { Result.NOTMODIFIED.send(response, null); return; diff --git a/core/src/main/java/google/registry/flows/ResourceFlowUtils.java b/core/src/main/java/google/registry/flows/ResourceFlowUtils.java index 33551927a..ebe0cfd80 100644 --- a/core/src/main/java/google/registry/flows/ResourceFlowUtils.java +++ b/core/src/main/java/google/registry/flows/ResourceFlowUtils.java @@ -122,7 +122,7 @@ public final class ResourceFlowUtils { /** Check that the given AuthInfo is present for a resource being transferred. */ public static void verifyAuthInfoPresentForResourceTransfer(Optional authInfo) throws EppException { - if (!authInfo.isPresent()) { + if (authInfo.isEmpty()) { throw new MissingTransferRequestAuthInfoException(); } } @@ -160,7 +160,7 @@ public final class ResourceFlowUtils { domain.getReferencedContacts().stream() .filter(key -> key.getKey().equals(authRepoId)) .findFirst(); - if (!foundContact.isPresent()) { + if (foundContact.isEmpty()) { throw new BadAuthInfoForResourceException(); } // Check the authInfo against the contact. diff --git a/core/src/main/java/google/registry/flows/TlsCredentials.java b/core/src/main/java/google/registry/flows/TlsCredentials.java index e3fa2d0ea..3bcf1caf7 100644 --- a/core/src/main/java/google/registry/flows/TlsCredentials.java +++ b/core/src/main/java/google/registry/flows/TlsCredentials.java @@ -105,7 +105,7 @@ public class TlsCredentials implements TransportCredentials { } // In the rare unexpected case that the client inet address wasn't passed along at all, then // by default deny access. - if (!clientInetAddr.isPresent()) { + if (clientInetAddr.isEmpty()) { logger.atWarning().log( "Authentication error: Missing IP address for registrar %s.", registrar.getRegistrarId()); throw new BadRegistrarIpAddressException(clientInetAddr); @@ -129,8 +129,8 @@ public class TlsCredentials implements TransportCredentials { @VisibleForTesting void validateCertificateHash(Registrar registrar) throws AuthenticationErrorException { - if (!registrar.getClientCertificateHash().isPresent() - && !registrar.getFailoverClientCertificateHash().isPresent()) { + if (registrar.getClientCertificateHash().isEmpty() + && registrar.getFailoverClientCertificateHash().isEmpty()) { if (requireSslCertificates) { throw new RegistrarCertificateNotConfiguredException(); } else { @@ -140,7 +140,7 @@ public class TlsCredentials implements TransportCredentials { } } // Check that the request included the certificate hash - if (!clientCertificateHash.isPresent()) { + if (clientCertificateHash.isEmpty()) { logger.atInfo().log( "Request from registrar %s did not include X-SSL-Certificate.", registrar.getRegistrarId()); diff --git a/core/src/main/java/google/registry/flows/contact/ContactTransferQueryFlow.java b/core/src/main/java/google/registry/flows/contact/ContactTransferQueryFlow.java index 305bb69c0..08ad280cc 100644 --- a/core/src/main/java/google/registry/flows/contact/ContactTransferQueryFlow.java +++ b/core/src/main/java/google/registry/flows/contact/ContactTransferQueryFlow.java @@ -75,7 +75,7 @@ public final class ContactTransferQueryFlow implements TransactionalFlow { } // Note that the authorization info on the command (if present) has already been verified. If // it's present, then the other checks are unnecessary. - if (!authInfo.isPresent() + if (authInfo.isEmpty() && !registrarId.equals(contact.getTransferData().getGainingRegistrarId()) && !registrarId.equals(contact.getTransferData().getLosingRegistrarId())) { throw new NotAuthorizedToViewTransferException(); diff --git a/core/src/main/java/google/registry/flows/domain/DomainCheckFlow.java b/core/src/main/java/google/registry/flows/domain/DomainCheckFlow.java index 2ee16dc08..3599d0e2f 100644 --- a/core/src/main/java/google/registry/flows/domain/DomainCheckFlow.java +++ b/core/src/main/java/google/registry/flows/domain/DomainCheckFlow.java @@ -219,7 +219,7 @@ public final class DomainCheckFlow implements TransactionalFlow { domainCheckResults, tldStates, allocationToken); - boolean isAvailable = !message.isPresent(); + boolean isAvailable = message.isEmpty(); checksBuilder.add(DomainCheck.create(isAvailable, domainName, message.orElse(null))); if (isAvailable) { availableDomains.add(domainName); @@ -289,7 +289,7 @@ public final class DomainCheckFlow implements TransactionalFlow { throws EppException { Optional feeCheckOpt = eppInput.getSingleExtension(FeeCheckCommandExtension.class); - if (!feeCheckOpt.isPresent()) { + if (feeCheckOpt.isEmpty()) { return ImmutableList.of(); // No fee checks were requested. } FeeCheckCommandExtension feeCheck = feeCheckOpt.get(); diff --git a/core/src/main/java/google/registry/flows/domain/DomainCreateFlow.java b/core/src/main/java/google/registry/flows/domain/DomainCreateFlow.java index 9c46627be..886ccbd1c 100644 --- a/core/src/main/java/google/registry/flows/domain/DomainCreateFlow.java +++ b/core/src/main/java/google/registry/flows/domain/DomainCreateFlow.java @@ -276,7 +276,7 @@ public final class DomainCreateFlow implements MutatingFlow { now, eppInput.getSingleExtension(AllocationTokenExtension.class)); boolean defaultTokenUsed = false; - if (!allocationToken.isPresent()) { + if (allocationToken.isEmpty()) { allocationToken = DomainFlowUtils.checkForDefaultToken( tld, command.getDomainName(), CommandName.CREATE, registrarId, now); @@ -519,7 +519,7 @@ public final class DomainCreateFlow implements MutatingFlow { if (behavior.equals(RegistrationBehavior.BYPASS_TLD_STATE) || behavior.equals(RegistrationBehavior.ANCHOR_TENANT)) { // Non-trademarked names with the state check bypassed are always available - if (!claimsList.getClaimKey(domainLabel).isPresent()) { + if (claimsList.getClaimKey(domainLabel).isEmpty()) { return; } if (!currentState.equals(START_DATE_SUNRISE)) { diff --git a/core/src/main/java/google/registry/flows/domain/DomainFlowUtils.java b/core/src/main/java/google/registry/flows/domain/DomainFlowUtils.java index f4e39e3c8..d330c1454 100644 --- a/core/src/main/java/google/registry/flows/domain/DomainFlowUtils.java +++ b/core/src/main/java/google/registry/flows/domain/DomainFlowUtils.java @@ -215,7 +215,7 @@ public class DomainFlowUtils { throw new DomainNameExistsAsTldException(); } Optional tldParsed = findTldForName(domainName); - if (!tldParsed.isPresent()) { + if (tldParsed.isEmpty()) { throw new TldDoesNotExistException(domainName.parent().toString()); } if (domainName.parts().size() != tldParsed.get().parts().size() + 1) { @@ -256,7 +256,7 @@ public class DomainFlowUtils { Optional idnTableName = IDN_LABEL_VALIDATOR.findValidIdnTableForTld( domainName.parts().get(0), domainName.parent().toString()); - if (!idnTableName.isPresent()) { + if (idnTableName.isEmpty()) { throw new InvalidIdnDomainLabelException(); } return idnTableName.get(); @@ -368,7 +368,7 @@ public class DomainFlowUtils { } ImmutableList invalidDigestTypes = dsData.stream() - .filter(ds -> !DigestType.fromWireValue(ds.getDigestType()).isPresent()) + .filter(ds -> DigestType.fromWireValue(ds.getDigestType()).isEmpty()) .collect(toImmutableList()); if (!invalidDigestTypes.isEmpty()) { throw new InvalidDsRecordException( @@ -816,7 +816,7 @@ public class DomainFlowUtils { FeesAndCredits feesAndCredits, boolean defaultTokenUsed) throws EppException { - if (feesAndCredits.hasAnyPremiumFees() && !feeCommand.isPresent()) { + if (feesAndCredits.hasAnyPremiumFees() && feeCommand.isEmpty()) { throw new FeesRequiredForPremiumNameException(); } validateFeesAckedIfPresent(feeCommand, feesAndCredits, defaultTokenUsed); @@ -837,7 +837,7 @@ public class DomainFlowUtils { // Check for the case where a fee command extension was required but not provided. // This only happens when the total fees are non-zero and include custom fees requiring the // extension. - if (!feeCommand.isPresent()) { + if (feeCommand.isEmpty()) { if (!feesAndCredits.getEapCost().isZero()) { throw new FeesRequiredDuringEarlyAccessProgramException(feesAndCredits.getEapCost()); } @@ -1049,7 +1049,7 @@ public class DomainFlowUtils { /** Validate the secDNS extension, if present. */ static Optional validateSecDnsExtension( Optional secDnsCreate) throws EppException { - if (!secDnsCreate.isPresent()) { + if (secDnsCreate.isEmpty()) { return Optional.empty(); } if (secDnsCreate.get().getDsData() == null) { diff --git a/core/src/main/java/google/registry/flows/domain/DomainRenewFlow.java b/core/src/main/java/google/registry/flows/domain/DomainRenewFlow.java index fb32a269e..f56d43cc7 100644 --- a/core/src/main/java/google/registry/flows/domain/DomainRenewFlow.java +++ b/core/src/main/java/google/registry/flows/domain/DomainRenewFlow.java @@ -182,7 +182,7 @@ public final class DomainRenewFlow implements MutatingFlow { CommandName.RENEW, eppInput.getSingleExtension(AllocationTokenExtension.class)); boolean defaultTokenUsed = false; - if (!allocationToken.isPresent()) { + if (allocationToken.isEmpty()) { allocationToken = DomainFlowUtils.checkForDefaultToken( tld, existingDomain.getDomainName(), CommandName.RENEW, registrarId, now); diff --git a/core/src/main/java/google/registry/flows/domain/DomainTransferQueryFlow.java b/core/src/main/java/google/registry/flows/domain/DomainTransferQueryFlow.java index c2a21b469..feb724c01 100644 --- a/core/src/main/java/google/registry/flows/domain/DomainTransferQueryFlow.java +++ b/core/src/main/java/google/registry/flows/domain/DomainTransferQueryFlow.java @@ -81,7 +81,7 @@ public final class DomainTransferQueryFlow implements TransactionalFlow { } // Note that the authorization info on the command (if present) has already been verified. If // it's present, then the other checks are unnecessary. - if (!authInfo.isPresent() + if (authInfo.isEmpty() && !registrarId.equals(transferData.getGainingRegistrarId()) && !registrarId.equals(transferData.getLosingRegistrarId())) { throw new NotAuthorizedToViewTransferException(); diff --git a/core/src/main/java/google/registry/flows/domain/DomainTransferRequestFlow.java b/core/src/main/java/google/registry/flows/domain/DomainTransferRequestFlow.java index cb87ef483..d9aed6315 100644 --- a/core/src/main/java/google/registry/flows/domain/DomainTransferRequestFlow.java +++ b/core/src/main/java/google/registry/flows/domain/DomainTransferRequestFlow.java @@ -201,7 +201,7 @@ public final class DomainTransferRequestFlow implements MutatingFlow { Optional feesAndCredits; if (period.getValue() == 0) { feesAndCredits = Optional.empty(); - } else if (!existingDomain.getCurrentBulkToken().isPresent()) { + } else if (existingDomain.getCurrentBulkToken().isEmpty()) { feesAndCredits = Optional.of(pricingLogic.getTransferPrice(tld, targetId, now, existingBillingRecurrence)); } else { diff --git a/core/src/main/java/google/registry/flows/domain/token/AllocationTokenFlowUtils.java b/core/src/main/java/google/registry/flows/domain/token/AllocationTokenFlowUtils.java index a187cdbb2..c7b084ab5 100644 --- a/core/src/main/java/google/registry/flows/domain/token/AllocationTokenFlowUtils.java +++ b/core/src/main/java/google/registry/flows/domain/token/AllocationTokenFlowUtils.java @@ -182,7 +182,7 @@ public class AllocationTokenFlowUtils { maybeTokenEntity = tm().transact(() -> tm().loadByKeyIfPresent(VKey.create(AllocationToken.class, token))); - if (!maybeTokenEntity.isPresent()) { + if (maybeTokenEntity.isEmpty()) { throw new InvalidAllocationTokenException(); } if (maybeTokenEntity.get().isRedeemed()) { @@ -199,7 +199,7 @@ public class AllocationTokenFlowUtils { DateTime now, Optional extension) throws EppException { - if (!extension.isPresent()) { + if (extension.isEmpty()) { return Optional.empty(); } AllocationToken tokenEntity = loadToken(extension.get().getAllocationToken()); @@ -222,7 +222,7 @@ public class AllocationTokenFlowUtils { CommandName commandName, Optional extension) throws EppException { - if (!extension.isPresent()) { + if (extension.isEmpty()) { return Optional.empty(); } AllocationToken tokenEntity = loadToken(extension.get().getAllocationToken()); @@ -254,7 +254,7 @@ public class AllocationTokenFlowUtils { public static Domain maybeApplyBulkPricingRemovalToken( Domain domain, Optional allocationToken) { - if (!allocationToken.isPresent() + if (allocationToken.isEmpty() || !TokenBehavior.REMOVE_BULK_PRICING.equals(allocationToken.get().getTokenBehavior())) { return domain; } diff --git a/core/src/main/java/google/registry/flows/host/HostFlowUtils.java b/core/src/main/java/google/registry/flows/host/HostFlowUtils.java index f38eb252b..5a27b94ba 100644 --- a/core/src/main/java/google/registry/flows/host/HostFlowUtils.java +++ b/core/src/main/java/google/registry/flows/host/HostFlowUtils.java @@ -81,7 +81,7 @@ public class HostFlowUtils { public static Optional lookupSuperordinateDomain( InternetDomainName hostName, DateTime now) throws EppException { Optional tld = findTldForName(hostName); - if (!tld.isPresent()) { + if (tld.isEmpty()) { // This is an host on a TLD we don't run, therefore obviously external, so we are done. return Optional.empty(); } @@ -91,7 +91,7 @@ public class HostFlowUtils { .skip(hostName.parts().size() - (tld.get().parts().size() + 1)) .collect(joining(".")); Optional superordinateDomain = loadByForeignKey(Domain.class, domainName, now); - if (!superordinateDomain.isPresent() || !isActive(superordinateDomain.get(), now)) { + if (superordinateDomain.isEmpty() || !isActive(superordinateDomain.get(), now)) { throw new SuperordinateDomainDoesNotExistException(domainName); } return superordinateDomain; diff --git a/core/src/main/java/google/registry/flows/picker/FlowPicker.java b/core/src/main/java/google/registry/flows/picker/FlowPicker.java index 34d7fedcf..68819ec74 100644 --- a/core/src/main/java/google/registry/flows/picker/FlowPicker.java +++ b/core/src/main/java/google/registry/flows/picker/FlowPicker.java @@ -148,23 +148,25 @@ public class FlowPicker { *

This provider must be tried before {@link #RESOURCE_CRUD_FLOW_PROVIDER}. Otherwise, the * regular domain update flow will match first. */ - private static final FlowProvider DOMAIN_RESTORE_FLOW_PROVIDER = new FlowProvider() { - @Override - Class get( - EppInput eppInput, InnerCommand innerCommand, ResourceCommand resourceCommand) { - if (!(resourceCommand instanceof DomainCommand.Update)) { - return null; - } - Optional rgpUpdateExtension = - eppInput.getSingleExtension(RgpUpdateExtension.class); - if (!rgpUpdateExtension.isPresent()) { - return null; - } - // Restore command with an op of "report" is not currently supported. - return (rgpUpdateExtension.get().getRestoreCommand().getRestoreOp() == RestoreOp.REQUEST) - ? DomainRestoreRequestFlow.class - : UnimplementedRestoreFlow.class; - }}; + private static final FlowProvider DOMAIN_RESTORE_FLOW_PROVIDER = + new FlowProvider() { + @Override + Class get( + EppInput eppInput, InnerCommand innerCommand, ResourceCommand resourceCommand) { + if (!(resourceCommand instanceof DomainCommand.Update)) { + return null; + } + Optional rgpUpdateExtension = + eppInput.getSingleExtension(RgpUpdateExtension.class); + if (rgpUpdateExtension.isEmpty()) { + return null; + } + // Restore command with an op of "report" is not currently supported. + return (rgpUpdateExtension.get().getRestoreCommand().getRestoreOp() == RestoreOp.REQUEST) + ? DomainRestoreRequestFlow.class + : UnimplementedRestoreFlow.class; + } + }; /** * The claims check flow is keyed on the type of the {@link ResourceCommand} and on having the @@ -180,7 +182,7 @@ public class FlowPicker { } Optional launchCheck = eppInput.getSingleExtension(LaunchCheckExtension.class); - if (!launchCheck.isPresent() + if (launchCheck.isEmpty() || CheckType.AVAILABILITY.equals(launchCheck.get().getCheckType())) { // We don't distinguish between registry phases for "avail", so don't bother checking // phase. diff --git a/core/src/main/java/google/registry/flows/poll/PollAckFlow.java b/core/src/main/java/google/registry/flows/poll/PollAckFlow.java index 51d09e897..aa3b74f94 100644 --- a/core/src/main/java/google/registry/flows/poll/PollAckFlow.java +++ b/core/src/main/java/google/registry/flows/poll/PollAckFlow.java @@ -86,7 +86,7 @@ public final class PollAckFlow implements MutatingFlow { // it as if it doesn't exist yet. Same for if the message ID year isn't the same as the actual // poll message's event time (that means they're passing in an old already-acked ID). Optional maybePollMessage = tm().loadByKeyIfPresent(pollMessageKey); - if (!maybePollMessage.isPresent() + if (maybePollMessage.isEmpty() || !isBeforeOrAt(maybePollMessage.get().getEventTime(), now) || !makePollMessageExternalId(maybePollMessage.get()).equals(messageId)) { throw new MessageDoesNotExistException(messageId); diff --git a/core/src/main/java/google/registry/flows/poll/PollRequestFlow.java b/core/src/main/java/google/registry/flows/poll/PollRequestFlow.java index c07db4b7a..92f74399b 100644 --- a/core/src/main/java/google/registry/flows/poll/PollRequestFlow.java +++ b/core/src/main/java/google/registry/flows/poll/PollRequestFlow.java @@ -66,7 +66,7 @@ public final class PollRequestFlow implements TransactionalFlow { // Return the oldest message from the queue. DateTime now = tm().getTransactionTime(); Optional maybePollMessage = getFirstPollMessage(registrarId, now); - if (!maybePollMessage.isPresent()) { + if (maybePollMessage.isEmpty()) { return responseBuilder.setResultFromCode(SUCCESS_WITH_NO_MESSAGES).build(); } PollMessage pollMessage = maybePollMessage.get(); diff --git a/core/src/main/java/google/registry/flows/session/LoginFlow.java b/core/src/main/java/google/registry/flows/session/LoginFlow.java index 7992d6b49..369960b28 100644 --- a/core/src/main/java/google/registry/flows/session/LoginFlow.java +++ b/core/src/main/java/google/registry/flows/session/LoginFlow.java @@ -123,7 +123,7 @@ public class LoginFlow implements MutatingFlow { serviceExtensionUrisBuilder.add(uri); } Optional registrar = Registrar.loadByRegistrarIdCached(login.getClientId()); - if (!registrar.isPresent()) { + if (registrar.isEmpty()) { throw new BadRegistrarIdException(login.getClientId()); } @@ -155,7 +155,7 @@ public class LoginFlow implements MutatingFlow { }); // Load fresh from database (bypassing the cache) to ensure we don't save stale data. Optional freshRegistrar = Registrar.loadByRegistrarId(login.getClientId()); - if (!freshRegistrar.isPresent()) { + if (freshRegistrar.isEmpty()) { throw new BadRegistrarIdException(login.getClientId()); } tm().put(freshRegistrar.get().asBuilder().setPassword(newPassword).build()); diff --git a/core/src/main/java/google/registry/model/domain/DomainBase.java b/core/src/main/java/google/registry/model/domain/DomainBase.java index 13a55e213..f9c204484 100644 --- a/core/src/main/java/google/registry/model/domain/DomainBase.java +++ b/core/src/main/java/google/registry/model/domain/DomainBase.java @@ -539,7 +539,7 @@ public class DomainBase extends EppResource for (GracePeriod gracePeriod : almostBuilt.getGracePeriods()) { if (isBeforeOrAt(gracePeriod.getExpirationTime(), now)) { builder.removeGracePeriod(gracePeriod); - if (!newLastEppUpdateTime.isPresent() + if (newLastEppUpdateTime.isEmpty() || isBeforeOrAt(newLastEppUpdateTime.get(), gracePeriod.getExpirationTime())) { newLastEppUpdateTime = Optional.of(gracePeriod.getExpirationTime()); } diff --git a/core/src/main/java/google/registry/model/domain/RegistryLock.java b/core/src/main/java/google/registry/model/domain/RegistryLock.java index 46495a25b..0351e6ddb 100644 --- a/core/src/main/java/google/registry/model/domain/RegistryLock.java +++ b/core/src/main/java/google/registry/model/domain/RegistryLock.java @@ -219,7 +219,7 @@ public final class RegistryLock extends UpdateAutoTimestampEntity implements Bui /** Returns true iff the lock was requested >= 1 hour ago and has not been verified. */ public boolean isLockRequestExpired(DateTime now) { - return !getLockCompletionTime().isPresent() + return getLockCompletionTime().isEmpty() && isBeforeOrAt(getLockRequestTime(), now.minusHours(1)); } @@ -227,7 +227,7 @@ public final class RegistryLock extends UpdateAutoTimestampEntity implements Bui public boolean isUnlockRequestExpired(DateTime now) { Optional unlockRequestTimestamp = getUnlockRequestTime(); return unlockRequestTimestamp.isPresent() - && !getUnlockCompletionTime().isPresent() + && getUnlockCompletionTime().isEmpty() && isBeforeOrAt(unlockRequestTimestamp.get(), now.minusHours(1)); } diff --git a/core/src/main/java/google/registry/model/server/ServerSecret.java b/core/src/main/java/google/registry/model/server/ServerSecret.java index 6a24d98b0..a25176f91 100644 --- a/core/src/main/java/google/registry/model/server/ServerSecret.java +++ b/core/src/main/java/google/registry/model/server/ServerSecret.java @@ -46,7 +46,7 @@ public class ServerSecret extends CrossTldSingleton { // Make sure we're in a transaction and attempt to load any existing secret, then // create it if it's absent. Optional secret = tm().loadSingleton(ServerSecret.class); - if (!secret.isPresent()) { + if (secret.isEmpty()) { secret = Optional.of(create(UUID.randomUUID())); tm().insert(secret.get()); } diff --git a/core/src/main/java/google/registry/model/tld/label/PremiumListDao.java b/core/src/main/java/google/registry/model/tld/label/PremiumListDao.java index 1e465d6d9..92795b704 100644 --- a/core/src/main/java/google/registry/model/tld/label/PremiumListDao.java +++ b/core/src/main/java/google/registry/model/tld/label/PremiumListDao.java @@ -115,7 +115,7 @@ public final class PremiumListDao { */ public static Optional getPremiumPrice(String premiumListName, String label) { Optional maybeLoadedList = getLatestRevision(premiumListName); - if (!maybeLoadedList.isPresent()) { + if (maybeLoadedList.isEmpty()) { return Optional.empty(); } PremiumList loadedList = maybeLoadedList.get(); diff --git a/core/src/main/java/google/registry/rdap/AbstractJsonableObject.java b/core/src/main/java/google/registry/rdap/AbstractJsonableObject.java index 5a3972201..63e980540 100644 --- a/core/src/main/java/google/registry/rdap/AbstractJsonableObject.java +++ b/core/src/main/java/google/registry/rdap/AbstractJsonableObject.java @@ -387,7 +387,7 @@ abstract class AbstractJsonableObject implements Jsonable { */ static void verifyAllowedJsonKeyName(String name, @Nullable Member member, Class clazz) { Optional> allowedFieldNames = getNameRestriction(clazz); - if (!allowedFieldNames.isPresent()) { + if (allowedFieldNames.isEmpty()) { return; } checkState( @@ -416,7 +416,7 @@ abstract class AbstractJsonableObject implements Jsonable { // We ignore any Optional that are empty, as if they didn't exist at all if (object instanceof Optional) { Optional optional = (Optional) object; - if (!optional.isPresent()) { + if (optional.isEmpty()) { return; } object = optional.get(); diff --git a/core/src/main/java/google/registry/rdap/RdapDomainAction.java b/core/src/main/java/google/registry/rdap/RdapDomainAction.java index a95bd6334..0e01bbd42 100644 --- a/core/src/main/java/google/registry/rdap/RdapDomainAction.java +++ b/core/src/main/java/google/registry/rdap/RdapDomainAction.java @@ -64,7 +64,7 @@ public class RdapDomainAction extends RdapActionBase { Domain.class, pathSearchString, shouldIncludeDeleted() ? START_OF_TIME : rdapJsonFormatter.getRequestTime()); - if (!domain.isPresent() || !isAuthorized(domain.get())) { + if (domain.isEmpty() || !isAuthorized(domain.get())) { // RFC7480 5.3 - if the server wishes to respond that it doesn't have data satisfying the // query, it MUST reply with 404 response code. // diff --git a/core/src/main/java/google/registry/rdap/RdapDomainSearchAction.java b/core/src/main/java/google/registry/rdap/RdapDomainSearchAction.java index 031eb9501..5145506e6 100644 --- a/core/src/main/java/google/registry/rdap/RdapDomainSearchAction.java +++ b/core/src/main/java/google/registry/rdap/RdapDomainSearchAction.java @@ -342,7 +342,7 @@ public class RdapDomainSearchAction extends RdapSearchActionBase { Host.class, partialStringQuery.getInitialString(), shouldIncludeDeleted() ? START_OF_TIME : getRequestTime()); - return (!host.isPresent() + return (host.isEmpty() || !desiredRegistrar.get().equals(host.get().getPersistedCurrentSponsorRegistrarId())) ? ImmutableList.of() : ImmutableList.of(host.get().createVKey()); diff --git a/core/src/main/java/google/registry/rdap/RdapEntitySearchAction.java b/core/src/main/java/google/registry/rdap/RdapEntitySearchAction.java index d59867297..7314a37d1 100644 --- a/core/src/main/java/google/registry/rdap/RdapEntitySearchAction.java +++ b/core/src/main/java/google/registry/rdap/RdapEntitySearchAction.java @@ -121,7 +121,7 @@ public class RdapEntitySearchAction extends RdapSearchActionBase { // Check the subtype. Subtype subtype; - if (!subtypeParam.isPresent() || subtypeParam.get().equalsIgnoreCase("all")) { + if (subtypeParam.isEmpty() || subtypeParam.get().equalsIgnoreCase("all")) { subtype = Subtype.ALL; } else if (subtypeParam.get().equalsIgnoreCase("contacts")) { subtype = Subtype.CONTACTS; @@ -133,7 +133,7 @@ public class RdapEntitySearchAction extends RdapSearchActionBase { CursorType cursorType; Optional cursorQueryString; - if (!cursorString.isPresent()) { + if (cursorString.isEmpty()) { cursorType = CursorType.NONE; cursorQueryString = Optional.empty(); } else { diff --git a/core/src/main/java/google/registry/rdap/RdapModule.java b/core/src/main/java/google/registry/rdap/RdapModule.java index b54c9336f..4a97c47e9 100644 --- a/core/src/main/java/google/registry/rdap/RdapModule.java +++ b/core/src/main/java/google/registry/rdap/RdapModule.java @@ -101,7 +101,7 @@ public final class RdapModule { @Provides static RdapAuthorization provideRdapAuthorization( AuthResult authResult, AuthenticatedRegistrarAccessor registrarAccessor) { - if (!authResult.userAuthInfo().isPresent()) { + if (authResult.userAuthInfo().isEmpty()) { return RdapAuthorization.PUBLIC_AUTHORIZATION; } UserAuthInfo userAuthInfo = authResult.userAuthInfo().get(); diff --git a/core/src/main/java/google/registry/rdap/RdapNameserverAction.java b/core/src/main/java/google/registry/rdap/RdapNameserverAction.java index ac45c5a43..25ecce780 100644 --- a/core/src/main/java/google/registry/rdap/RdapNameserverAction.java +++ b/core/src/main/java/google/registry/rdap/RdapNameserverAction.java @@ -66,7 +66,7 @@ public class RdapNameserverAction extends RdapActionBase { Host.class, pathSearchString, shouldIncludeDeleted() ? START_OF_TIME : getRequestTime()); - if (!host.isPresent() || !isAuthorized(host.get())) { + if (host.isEmpty() || !isAuthorized(host.get())) { // RFC7480 5.3 - if the server wishes to respond that it doesn't have data satisfying the // query, it MUST reply with 404 response code. // diff --git a/core/src/main/java/google/registry/rdap/RdapNameserverSearchAction.java b/core/src/main/java/google/registry/rdap/RdapNameserverSearchAction.java index 1f1bd9796..180ea651c 100644 --- a/core/src/main/java/google/registry/rdap/RdapNameserverSearchAction.java +++ b/core/src/main/java/google/registry/rdap/RdapNameserverSearchAction.java @@ -175,7 +175,7 @@ public class RdapNameserverSearchAction extends RdapSearchActionBase { RdapSearchPattern partialStringQuery) { Optional domain = loadByForeignKeyCached(Domain.class, partialStringQuery.getSuffix(), getRequestTime()); - if (!domain.isPresent()) { + if (domain.isEmpty()) { // Don't allow wildcards with suffixes which are not domains we manage. That would risk a // table scan in many easily foreseeable cases. The user might ask for ns*.zombo.com, // forcing us to query for all hosts beginning with ns, then filter for those ending in diff --git a/core/src/main/java/google/registry/rdap/RdapSearchActionBase.java b/core/src/main/java/google/registry/rdap/RdapSearchActionBase.java index 6a9e59afb..7e3f64d06 100644 --- a/core/src/main/java/google/registry/rdap/RdapSearchActionBase.java +++ b/core/src/main/java/google/registry/rdap/RdapSearchActionBase.java @@ -121,7 +121,7 @@ public abstract class RdapSearchActionBase extends RdapActionBase { */ protected boolean shouldBeVisible(EppResource eppResource) { return isAuthorized(eppResource) - && (!registrarParam.isPresent() + && (registrarParam.isEmpty() || registrarParam.get().equals(eppResource.getPersistedCurrentSponsorRegistrarId())); } @@ -135,7 +135,7 @@ public abstract class RdapSearchActionBase extends RdapActionBase { */ protected boolean shouldBeVisible(Registrar registrar) { return isAuthorized(registrar) - && (!registrarParam.isPresent() || registrarParam.get().equals(registrar.getRegistrarId())); + && (registrarParam.isEmpty() || registrarParam.get().equals(registrar.getRegistrarId())); } /** diff --git a/core/src/main/java/google/registry/rde/RdeReportAction.java b/core/src/main/java/google/registry/rde/RdeReportAction.java index 5ff9bef1f..555a52b04 100644 --- a/core/src/main/java/google/registry/rde/RdeReportAction.java +++ b/core/src/main/java/google/registry/rde/RdeReportAction.java @@ -99,7 +99,7 @@ public final class RdeReportAction implements Runnable, EscrowTask { RdeRevision.getCurrentRevision(tld, watermark, FULL) .orElseThrow( () -> new IllegalStateException("RdeRevision was not set on generated deposit")); - if (!prefix.isPresent()) { + if (prefix.isEmpty()) { prefix = Optional.of(findMostRecentPrefixForWatermark(watermark, bucket, tld, gcsUtils)); } String name = prefix.get() + RdeNamingUtils.makeRydeFilename(tld, watermark, FULL, 1, revision); diff --git a/core/src/main/java/google/registry/rde/RdeStagingAction.java b/core/src/main/java/google/registry/rde/RdeStagingAction.java index 636f8ea20..f5b3e5a40 100644 --- a/core/src/main/java/google/registry/rde/RdeStagingAction.java +++ b/core/src/main/java/google/registry/rde/RdeStagingAction.java @@ -352,7 +352,7 @@ public final class RdeStagingAction implements Runnable { } private ImmutableSetMultimap getManualPendingDeposits() { - if (!directory.isPresent()) { + if (directory.isEmpty()) { throw new BadRequestException("Directory parameter required in manual operation"); } if (directory.get().startsWith("/")) { diff --git a/core/src/main/java/google/registry/rde/RdeUploadAction.java b/core/src/main/java/google/registry/rde/RdeUploadAction.java index 523ea97e5..2ff4906a8 100644 --- a/core/src/main/java/google/registry/rde/RdeUploadAction.java +++ b/core/src/main/java/google/registry/rde/RdeUploadAction.java @@ -138,7 +138,7 @@ public final class RdeUploadAction implements Runnable, EscrowTask { public void runWithLock(final DateTime watermark) throws Exception { // If a prefix is not provided,try to determine the prefix. This should only happen when the RDE // upload cron job runs to catch up any un-retried (i. e. expected) RDE failures. - if (!prefix.isPresent()) { + if (prefix.isEmpty()) { prefix = Optional.of(findMostRecentPrefixForWatermark(watermark, bucket, tld, gcsUtils)); } logger.atInfo().log("Verifying readiness to upload the RDE deposit."); diff --git a/core/src/main/java/google/registry/rde/RydeEncryption.java b/core/src/main/java/google/registry/rde/RydeEncryption.java index 154068a31..f8f27959a 100644 --- a/core/src/main/java/google/registry/rde/RydeEncryption.java +++ b/core/src/main/java/google/registry/rde/RydeEncryption.java @@ -161,7 +161,7 @@ final class RydeEncryption { .filter(ciphertext -> ciphertext.getKeyID() == privateKey.getKeyID()) .findAny(); // If we can't find one with our key ID, then we can't decrypt the file! - if (!cyphertext.isPresent()) { + if (cyphertext.isEmpty()) { String keyIds = PgpUtils.stream(ciphertextList, PGPPublicKeyEncryptedData.class) .map(ciphertext -> Long.toHexString(ciphertext.getKeyID())) diff --git a/core/src/main/java/google/registry/reporting/billing/CopyDetailReportsAction.java b/core/src/main/java/google/registry/reporting/billing/CopyDetailReportsAction.java index b768931c9..7d012cd5f 100644 --- a/core/src/main/java/google/registry/reporting/billing/CopyDetailReportsAction.java +++ b/core/src/main/java/google/registry/reporting/billing/CopyDetailReportsAction.java @@ -104,7 +104,7 @@ public final class CopyDetailReportsAction implements Runnable { // TODO(larryruili): Determine a safer way of enforcing this. String registrarId = Iterables.get(Splitter.on('_').split(detailReportName), 3); Optional registrar = Registrar.loadByRegistrarId(registrarId); - if (!registrar.isPresent()) { + if (registrar.isEmpty()) { logger.atWarning().log( "Registrar %s not found in database for file '%s'.", registrar, detailReportName); continue; diff --git a/core/src/main/java/google/registry/request/RequestHandler.java b/core/src/main/java/google/registry/request/RequestHandler.java index 309d3bd0e..26bddd504 100644 --- a/core/src/main/java/google/registry/request/RequestHandler.java +++ b/core/src/main/java/google/registry/request/RequestHandler.java @@ -132,7 +132,7 @@ public class RequestHandler { } String path = req.getRequestURI(); Optional route = router.route(path); - if (!route.isPresent()) { + if (route.isEmpty()) { logger.atInfo().log("No action found for: %s", path); rsp.sendError(SC_NOT_FOUND); return; @@ -144,7 +144,7 @@ public class RequestHandler { } Optional authResult = requestAuthenticator.authorize(route.get().action().auth().authSettings(), req); - if (!authResult.isPresent()) { + if (authResult.isEmpty()) { rsp.sendError(SC_FORBIDDEN, "Not authorized"); return; } diff --git a/core/src/main/java/google/registry/request/auth/AuthenticatedRegistrarAccessor.java b/core/src/main/java/google/registry/request/auth/AuthenticatedRegistrarAccessor.java index 3d91ce893..7bc6a8fec 100644 --- a/core/src/main/java/google/registry/request/auth/AuthenticatedRegistrarAccessor.java +++ b/core/src/main/java/google/registry/request/auth/AuthenticatedRegistrarAccessor.java @@ -262,7 +262,7 @@ public class AuthenticatedRegistrarAccessor { Lazy lazyGroupsConnection, String userEmail, Optional gSuiteSupportGroupEmailAddress) { - if (!gSuiteSupportGroupEmailAddress.isPresent()) { + if (gSuiteSupportGroupEmailAddress.isEmpty()) { return false; } try { @@ -282,7 +282,7 @@ public class AuthenticatedRegistrarAccessor { AuthResult authResult, Optional gSuiteSupportGroupEmailAddress, Lazy lazyGroupsConnection) { - if (!authResult.userAuthInfo().isPresent()) { + if (authResult.userAuthInfo().isEmpty()) { return false; } @@ -300,7 +300,7 @@ public class AuthenticatedRegistrarAccessor { /** Returns a map of registrar IDs to roles for all registrars that the user has access to. */ private static ImmutableSetMultimap createRoleMap( AuthResult authResult, boolean isAdmin, String registryAdminRegistrarId) { - if (!authResult.userAuthInfo().isPresent()) { + if (authResult.userAuthInfo().isEmpty()) { return ImmutableSetMultimap.of(); } ImmutableSetMultimap.Builder builder = new ImmutableSetMultimap.Builder<>(); diff --git a/core/src/main/java/google/registry/request/lock/LockHandlerImpl.java b/core/src/main/java/google/registry/request/lock/LockHandlerImpl.java index cafb6cce5..0609d9b91 100644 --- a/core/src/main/java/google/registry/request/lock/LockHandlerImpl.java +++ b/core/src/main/java/google/registry/request/lock/LockHandlerImpl.java @@ -147,7 +147,7 @@ public class LockHandlerImpl implements LockHandler { try { for (String lockName : lockNames) { Optional lock = lockAcquirer.acquireLock(lockName, tld, leaseLength); - if (!lock.isPresent()) { + if (lock.isEmpty()) { logger.atInfo().log("Couldn't acquire lock named: %s for TLD %s.", lockName, tld); return false; } diff --git a/core/src/main/java/google/registry/tools/ConfigureTldCommand.java b/core/src/main/java/google/registry/tools/ConfigureTldCommand.java index 408b7423a..c52add665 100644 --- a/core/src/main/java/google/registry/tools/ConfigureTldCommand.java +++ b/core/src/main/java/google/registry/tools/ConfigureTldCommand.java @@ -237,7 +237,7 @@ public class ConfigureTldCommand extends MutatingCommand { private void checkPremiumList(Tld newTld) { Optional premiumListName = newTld.getPremiumListName(); - if (!premiumListName.isPresent()) { + if (premiumListName.isEmpty()) { return; } Optional premiumList = PremiumListDao.getLatestRevision(premiumListName.get()); diff --git a/core/src/main/java/google/registry/tools/CreateBulkPricingPackageCommand.java b/core/src/main/java/google/registry/tools/CreateBulkPricingPackageCommand.java index 317ee1476..ffd24170d 100644 --- a/core/src/main/java/google/registry/tools/CreateBulkPricingPackageCommand.java +++ b/core/src/main/java/google/registry/tools/CreateBulkPricingPackageCommand.java @@ -31,7 +31,7 @@ public final class CreateBulkPricingPackageCommand extends CreateOrUpdateBulkPri @Override BulkPricingPackage getOldBulkPricingPackage(String tokenString) { checkArgument( - !BulkPricingPackage.loadByTokenString(tokenString).isPresent(), + BulkPricingPackage.loadByTokenString(tokenString).isEmpty(), "BulkPricingPackage with token %s already exists", tokenString); return null; diff --git a/core/src/main/java/google/registry/tools/CreatePremiumListCommand.java b/core/src/main/java/google/registry/tools/CreatePremiumListCommand.java index 84c742ea9..a4b3bcde5 100644 --- a/core/src/main/java/google/registry/tools/CreatePremiumListCommand.java +++ b/core/src/main/java/google/registry/tools/CreatePremiumListCommand.java @@ -47,7 +47,7 @@ public class CreatePremiumListCommand extends CreateOrUpdatePremiumListCommand { currency = CurrencyUnit.of(currencyUnit); name = Strings.isNullOrEmpty(name) ? convertFilePathToName(inputFile) : name; checkArgument( - !PremiumListDao.getLatestRevision(name).isPresent(), + PremiumListDao.getLatestRevision(name).isEmpty(), "A premium list already exists by this name"); if (!override) { assertTldExists( diff --git a/core/src/main/java/google/registry/tools/CreateRegistrarCommand.java b/core/src/main/java/google/registry/tools/CreateRegistrarCommand.java index 83f43c795..e5c1cf885 100644 --- a/core/src/main/java/google/registry/tools/CreateRegistrarCommand.java +++ b/core/src/main/java/google/registry/tools/CreateRegistrarCommand.java @@ -81,9 +81,7 @@ final class CreateRegistrarCommand extends CreateOrUpdateRegistrarCommand clientId); } checkState( - !Registrar.loadByRegistrarId(clientId).isPresent(), - "Registrar %s already exists", - clientId); + Registrar.loadByRegistrarId(clientId).isEmpty(), "Registrar %s already exists", clientId); List collisions = Streams.stream(Registrar.loadAll()) .filter(registrar -> normalizeRegistrarId(registrar.getRegistrarId()).equals(clientId)) diff --git a/core/src/main/java/google/registry/tools/CreateReservedListCommand.java b/core/src/main/java/google/registry/tools/CreateReservedListCommand.java index e25bf2c25..9819331ff 100644 --- a/core/src/main/java/google/registry/tools/CreateReservedListCommand.java +++ b/core/src/main/java/google/registry/tools/CreateReservedListCommand.java @@ -47,8 +47,7 @@ final class CreateReservedListCommand extends CreateOrUpdateReservedListCommand @Override protected String prompt() throws Exception { name = Strings.isNullOrEmpty(name) ? convertFilePathToName(input) : name; - checkArgument( - !ReservedList.get(name).isPresent(), "A reserved list already exists by this name"); + checkArgument(ReservedList.get(name).isEmpty(), "A reserved list already exists by this name"); if (!override) { validateListName(name); } diff --git a/core/src/main/java/google/registry/tools/CreateUserCommand.java b/core/src/main/java/google/registry/tools/CreateUserCommand.java index 056c906f6..fb48bbdae 100644 --- a/core/src/main/java/google/registry/tools/CreateUserCommand.java +++ b/core/src/main/java/google/registry/tools/CreateUserCommand.java @@ -28,8 +28,7 @@ public class CreateUserCommand extends CreateOrUpdateUserCommand { @Nullable @Override User getExistingUser(String email) { - checkArgument( - !UserDao.loadUser(email).isPresent(), "A user with email %s already exists", email); + checkArgument(UserDao.loadUser(email).isEmpty(), "A user with email %s already exists", email); return null; } } diff --git a/core/src/main/java/google/registry/tools/DeleteAllocationTokensCommand.java b/core/src/main/java/google/registry/tools/DeleteAllocationTokensCommand.java index 4effbcf4b..03e13bee6 100644 --- a/core/src/main/java/google/registry/tools/DeleteAllocationTokensCommand.java +++ b/core/src/main/java/google/registry/tools/DeleteAllocationTokensCommand.java @@ -76,7 +76,7 @@ final class DeleteAllocationTokensCommand extends UpdateOrDeleteAllocationTokens // since the query ran. This also filters out per-domain tokens if they're not to be deleted. ImmutableSet> tokensToDelete = tm().loadByKeys(batch).values().stream() - .filter(t -> withDomains || !t.getDomainName().isPresent()) + .filter(t -> withDomains || t.getDomainName().isEmpty()) .filter(t -> t.getTokenType().isOneTimeUse()) .filter(t -> !t.isRedeemed()) .map(AllocationToken::createVKey) diff --git a/core/src/main/java/google/registry/tools/DomainLockUtils.java b/core/src/main/java/google/registry/tools/DomainLockUtils.java index b40fccb4f..c9abc8fe8 100644 --- a/core/src/main/java/google/registry/tools/DomainLockUtils.java +++ b/core/src/main/java/google/registry/tools/DomainLockUtils.java @@ -102,7 +102,7 @@ public final class DomainLockUtils { RegistryLock lock = getByVerificationCode(verificationCode); checkArgument( - !lock.getLockCompletionTime().isPresent(), + lock.getLockCompletionTime().isEmpty(), "Domain %s is already locked", lock.getDomainName()); @@ -129,7 +129,7 @@ public final class DomainLockUtils { DateTime now = tm().getTransactionTime(); RegistryLock previousLock = getByVerificationCode(verificationCode); checkArgument( - !previousLock.getUnlockCompletionTime().isPresent(), + previousLock.getUnlockCompletionTime().isEmpty(), "Domain %s is already unlocked", previousLock.getDomainName()); @@ -298,7 +298,7 @@ public final class DomainLockUtils { checkArgument( lock.isLocked(), "Lock object for domain %s is not currently locked", domainName); checkArgument( - !lock.getUnlockRequestTime().isPresent() || lock.isUnlockRequestExpired(now), + lock.getUnlockRequestTime().isEmpty() || lock.isUnlockRequestExpired(now), "A pending unlock action already exists for %s", domainName); checkArgument( diff --git a/core/src/main/java/google/registry/tools/GetAllocationTokenCommand.java b/core/src/main/java/google/registry/tools/GetAllocationTokenCommand.java index cbd0e1099..a6a0f14f0 100644 --- a/core/src/main/java/google/registry/tools/GetAllocationTokenCommand.java +++ b/core/src/main/java/google/registry/tools/GetAllocationTokenCommand.java @@ -62,7 +62,7 @@ final class GetAllocationTokenCommand implements Command { if (loadedTokens.containsKey(token)) { AllocationToken loadedToken = loadedTokens.get(token); System.out.println(loadedToken.toString()); - if (!loadedToken.getRedemptionHistoryId().isPresent()) { + if (loadedToken.getRedemptionHistoryId().isEmpty()) { System.out.printf("Token %s was not redeemed.\n", token); } else { VKey domainKey = diff --git a/core/src/main/java/google/registry/tools/LoadTestCommand.java b/core/src/main/java/google/registry/tools/LoadTestCommand.java index 7a7a1a398..aa6a405e9 100644 --- a/core/src/main/java/google/registry/tools/LoadTestCommand.java +++ b/core/src/main/java/google/registry/tools/LoadTestCommand.java @@ -96,7 +96,7 @@ class LoadTestCommand extends ConfirmingCommand implements CommandWithConnection errorPrintStream.printf("No such TLD: %s\n", tld); return false; } - if (!Registrar.loadByRegistrarId(clientId).isPresent()) { + if (Registrar.loadByRegistrarId(clientId).isEmpty()) { errorPrintStream.printf("No such client: %s\n", clientId); return false; } diff --git a/core/src/main/java/google/registry/tools/UnrenewDomainCommand.java b/core/src/main/java/google/registry/tools/UnrenewDomainCommand.java index 0bf1d6bbc..eddd2882f 100644 --- a/core/src/main/java/google/registry/tools/UnrenewDomainCommand.java +++ b/core/src/main/java/google/registry/tools/UnrenewDomainCommand.java @@ -93,8 +93,7 @@ class UnrenewDomainCommand extends ConfirmingCommand { continue; } Optional domain = loadByForeignKey(Domain.class, domainName, now); - if (!domain.isPresent() - || domain.get().getStatusValues().contains(StatusValue.PENDING_DELETE)) { + if (domain.isEmpty() || domain.get().getStatusValues().contains(StatusValue.PENDING_DELETE)) { domainsDeletingBuilder.add(domainName); continue; } diff --git a/core/src/main/java/google/registry/tools/server/CreateGroupsAction.java b/core/src/main/java/google/registry/tools/server/CreateGroupsAction.java index 49f83dc89..c818c8daf 100644 --- a/core/src/main/java/google/registry/tools/server/CreateGroupsAction.java +++ b/core/src/main/java/google/registry/tools/server/CreateGroupsAction.java @@ -113,11 +113,11 @@ public class CreateGroupsAction implements Runnable { } private Registrar initAndLoadRegistrar() { - if (!clientId.isPresent()) { + if (clientId.isEmpty()) { respondToBadRequest("Error creating Google Groups, missing parameter: clientId"); } Optional registrar = Registrar.loadByRegistrarId(clientId.get()); - if (!registrar.isPresent()) { + if (registrar.isEmpty()) { respondToBadRequest(String.format( "Error creating Google Groups; could not find registrar with id %s", clientId.get())); } diff --git a/core/src/main/java/google/registry/tools/server/ListObjectsAction.java b/core/src/main/java/google/registry/tools/server/ListObjectsAction.java index 67fa98c05..f03aeae97 100644 --- a/core/src/main/java/google/registry/tools/server/ListObjectsAction.java +++ b/core/src/main/java/google/registry/tools/server/ListObjectsAction.java @@ -139,7 +139,7 @@ public abstract class ListObjectsAction implements Ru private ImmutableSet getFieldsToUse(ImmutableSet objects) { // Get the list of fields from the received parameter. List fieldsToUse; - if ((fields == null) || !fields.isPresent()) { + if ((fields == null) || fields.isEmpty()) { fieldsToUse = new ArrayList<>(); } else { fieldsToUse = Splitter.on(',').splitToList(fields.get()); diff --git a/core/src/main/java/google/registry/ui/server/RegistrarFormFields.java b/core/src/main/java/google/registry/ui/server/RegistrarFormFields.java index ffd9e4991..e42a64de7 100644 --- a/core/src/main/java/google/registry/ui/server/RegistrarFormFields.java +++ b/core/src/main/java/google/registry/ui/server/RegistrarFormFields.java @@ -360,7 +360,7 @@ public final class RegistrarFormFields { return ImmutableList.of(); } Optional>> contactsAsMaps = CONTACTS_AS_MAPS.extractUntyped(args); - if (!contactsAsMaps.isPresent()) { + if (contactsAsMaps.isEmpty()) { return ImmutableList.of(); } ImmutableList.Builder result = new ImmutableList.Builder<>(); diff --git a/core/src/main/java/google/registry/ui/server/console/ConsoleApiAction.java b/core/src/main/java/google/registry/ui/server/console/ConsoleApiAction.java index d3071d0d1..002478a76 100644 --- a/core/src/main/java/google/registry/ui/server/console/ConsoleApiAction.java +++ b/core/src/main/java/google/registry/ui/server/console/ConsoleApiAction.java @@ -35,7 +35,7 @@ public abstract class ConsoleApiAction implements Runnable { @Override public final void run() { // Shouldn't be even possible because of Auth annotations on the various implementing classes - if (!consoleApiParams.authResult().userAuthInfo().get().consoleUser().isPresent()) { + if (consoleApiParams.authResult().userAuthInfo().get().consoleUser().isEmpty()) { consoleApiParams.response().setStatus(HttpStatusCodes.STATUS_CODE_UNAUTHORIZED); return; } @@ -62,7 +62,7 @@ public abstract class ConsoleApiAction implements Runnable { Arrays.stream(consoleApiParams.request().getCookies()) .filter(c -> XsrfTokenManager.X_CSRF_TOKEN.equals(c.getName())) .findFirst(); - if (!maybeCookie.isPresent() + if (maybeCookie.isEmpty() || !consoleApiParams.xsrfTokenManager().validateToken(maybeCookie.get().getValue())) { consoleApiParams.response().setStatus(HttpStatusCodes.STATUS_CODE_UNAUTHORIZED); return false; diff --git a/core/src/main/java/google/registry/ui/server/console/ConsoleDomainGetAction.java b/core/src/main/java/google/registry/ui/server/console/ConsoleDomainGetAction.java index af284528f..b8dbf0940 100644 --- a/core/src/main/java/google/registry/ui/server/console/ConsoleDomainGetAction.java +++ b/core/src/main/java/google/registry/ui/server/console/ConsoleDomainGetAction.java @@ -60,12 +60,12 @@ public class ConsoleDomainGetAction implements JsonGetAction { @Override public void run() { - if (!authResult.isAuthenticated() || !authResult.userAuthInfo().isPresent()) { + if (!authResult.isAuthenticated() || authResult.userAuthInfo().isEmpty()) { response.setStatus(HttpStatusCodes.STATUS_CODE_UNAUTHORIZED); return; } UserAuthInfo authInfo = authResult.userAuthInfo().get(); - if (!authInfo.consoleUser().isPresent()) { + if (authInfo.consoleUser().isEmpty()) { response.setStatus(HttpStatusCodes.STATUS_CODE_UNAUTHORIZED); return; } @@ -75,7 +75,7 @@ public class ConsoleDomainGetAction implements JsonGetAction { () -> EppResourceUtils.loadByForeignKeyCached( Domain.class, paramDomain, tm().getTransactionTime())); - if (!possibleDomain.isPresent()) { + if (possibleDomain.isEmpty()) { response.setStatus(HttpStatusCodes.STATUS_CODE_NOT_FOUND); return; } diff --git a/core/src/main/java/google/registry/ui/server/console/RegistrarsAction.java b/core/src/main/java/google/registry/ui/server/console/RegistrarsAction.java index 51bcb1f48..cc14d8dc8 100644 --- a/core/src/main/java/google/registry/ui/server/console/RegistrarsAction.java +++ b/core/src/main/java/google/registry/ui/server/console/RegistrarsAction.java @@ -107,7 +107,7 @@ public class RegistrarsAction implements JsonGetAction { return; } - if (!registrar.isPresent()) { + if (registrar.isEmpty()) { response.setStatus(HttpStatusCodes.STATUS_CODE_BAD_REQUEST); response.setPayload(gson.toJson("'registrar' parameter is not present")); return; @@ -164,7 +164,7 @@ public class RegistrarsAction implements JsonGetAction { tm().transact( () -> { checkArgument( - !Registrar.loadByRegistrarId(registrar.getRegistrarId()).isPresent(), + Registrar.loadByRegistrarId(registrar.getRegistrarId()).isEmpty(), "Registrar with registrarId %s already exists", registrar.getRegistrarId()); tm().putAll(registrar, contact); diff --git a/core/src/main/java/google/registry/ui/server/console/settings/ContactAction.java b/core/src/main/java/google/registry/ui/server/console/settings/ContactAction.java index e0cd3b35f..ccb63a4be 100644 --- a/core/src/main/java/google/registry/ui/server/console/settings/ContactAction.java +++ b/core/src/main/java/google/registry/ui/server/console/settings/ContactAction.java @@ -109,7 +109,7 @@ public class ContactAction implements JsonGetAction { return; } - if (!contacts.isPresent()) { + if (contacts.isEmpty()) { response.setStatus(HttpStatusCodes.STATUS_CODE_BAD_REQUEST); response.setPayload(gson.toJson("Contacts parameter is not present")); return; diff --git a/core/src/main/java/google/registry/ui/server/console/settings/SecurityAction.java b/core/src/main/java/google/registry/ui/server/console/settings/SecurityAction.java index 11ed0647f..7d56ffd23 100644 --- a/core/src/main/java/google/registry/ui/server/console/settings/SecurityAction.java +++ b/core/src/main/java/google/registry/ui/server/console/settings/SecurityAction.java @@ -77,7 +77,7 @@ public class SecurityAction implements JsonGetAction { return; } - if (!registrar.isPresent()) { + if (registrar.isEmpty()) { response.setStatus(HttpStatusCodes.STATUS_CODE_BAD_REQUEST); response.setPayload(gson.toJson("'registrar' parameter is not present")); return; diff --git a/core/src/main/java/google/registry/ui/server/console/settings/WhoisRegistrarFieldsAction.java b/core/src/main/java/google/registry/ui/server/console/settings/WhoisRegistrarFieldsAction.java index 4b37ce5b1..08b8c39c7 100644 --- a/core/src/main/java/google/registry/ui/server/console/settings/WhoisRegistrarFieldsAction.java +++ b/core/src/main/java/google/registry/ui/server/console/settings/WhoisRegistrarFieldsAction.java @@ -69,7 +69,7 @@ public class WhoisRegistrarFieldsAction implements JsonGetAction { @Override public void run() { - if (!registrar.isPresent()) { + if (registrar.isEmpty()) { response.setStatus(HttpStatusCodes.STATUS_CODE_BAD_REQUEST); response.setPayload(gson.toJson("'registrar' parameter is not present")); return; diff --git a/core/src/main/java/google/registry/ui/server/registrar/ConsoleRegistrarCreatorAction.java b/core/src/main/java/google/registry/ui/server/registrar/ConsoleRegistrarCreatorAction.java index d3c0eaacf..bb0cab70f 100644 --- a/core/src/main/java/google/registry/ui/server/registrar/ConsoleRegistrarCreatorAction.java +++ b/core/src/main/java/google/registry/ui/server/registrar/ConsoleRegistrarCreatorAction.java @@ -233,7 +233,7 @@ public final class ConsoleRegistrarCreatorAction extends HtmlAction { tm().transact( () -> { checkState( - !Registrar.loadByRegistrarId(registrar.getRegistrarId()).isPresent(), + Registrar.loadByRegistrarId(registrar.getRegistrarId()).isEmpty(), "Registrar with client ID %s already exists", registrar.getRegistrarId()); tm().putAll(registrar, contact); diff --git a/core/src/main/java/google/registry/ui/server/registrar/HtmlAction.java b/core/src/main/java/google/registry/ui/server/registrar/HtmlAction.java index 6ff65c9e2..3c83ac288 100644 --- a/core/src/main/java/google/registry/ui/server/registrar/HtmlAction.java +++ b/core/src/main/java/google/registry/ui/server/registrar/HtmlAction.java @@ -67,7 +67,7 @@ public abstract class HtmlAction implements Runnable { response.setHeader(X_FRAME_OPTIONS, "SAMEORIGIN"); // Disallow iframing. response.setHeader("X-Ui-Compatible", "IE=edge"); // Ask IE not to be silly. - if (!authResult.userAuthInfo().isPresent()) { + if (authResult.userAuthInfo().isEmpty()) { response.setStatus(SC_MOVED_TEMPORARILY); String location; try { diff --git a/core/src/main/java/google/registry/ui/server/registrar/RegistrarSettingsAction.java b/core/src/main/java/google/registry/ui/server/registrar/RegistrarSettingsAction.java index b574d6eb4..455a6869e 100644 --- a/core/src/main/java/google/registry/ui/server/registrar/RegistrarSettingsAction.java +++ b/core/src/main/java/google/registry/ui/server/registrar/RegistrarSettingsAction.java @@ -383,7 +383,7 @@ public class RegistrarSettingsAction implements Runnable, JsonActionRunner.JsonA */ private boolean validateCertificate( Optional existingCertificate, String certificateString) { - if (!existingCertificate.isPresent() || !existingCertificate.get().equals(certificateString)) { + if (existingCertificate.isEmpty() || !existingCertificate.get().equals(certificateString)) { try { certificateChecker.validateCertificate(certificateString); } catch (InsecureCertificateException e) { @@ -514,7 +514,7 @@ public class RegistrarSettingsAction implements Runnable, JsonActionRunner.JsonA } // If there was a domain WHOIS abuse contact in the old set, the new set must have one. if (getDomainWhoisVisibleAbuseContact(existingContacts).isPresent() - && !domainWhoisAbuseContact.isPresent()) { + && domainWhoisAbuseContact.isEmpty()) { throw new ContactRequirementException( "An abuse contact visible in domain WHOIS query must be designated"); } @@ -569,7 +569,7 @@ public class RegistrarSettingsAction implements Runnable, JsonActionRunner.JsonA updatedContact -> updatedContact.getEmailAddress().equals(contact.getEmailAddress())) .findFirst(); - if (!updatedContactOptional.isPresent()) { + if (updatedContactOptional.isEmpty()) { throw new FormException( String.format( "Cannot delete the contact %s that has registry lock enabled", diff --git a/core/src/main/java/google/registry/ui/server/registrar/RegistryLockGetAction.java b/core/src/main/java/google/registry/ui/server/registrar/RegistryLockGetAction.java index aa04bfa43..eb601e80d 100644 --- a/core/src/main/java/google/registry/ui/server/registrar/RegistryLockGetAction.java +++ b/core/src/main/java/google/registry/ui/server/registrar/RegistryLockGetAction.java @@ -210,11 +210,11 @@ public final class RegistryLockGetAction implements JsonGetAction { .put(DOMAIN_NAME_PARAM, lock.getDomainName()) .put(LOCKED_TIME_PARAM, lock.getLockCompletionTime().map(DateTime::toString).orElse("")) .put(LOCKED_BY_PARAM, lock.isSuperuser() ? "admin" : lock.getRegistrarPocId()) - .put(IS_LOCK_PENDING_PARAM, !lock.getLockCompletionTime().isPresent()) + .put(IS_LOCK_PENDING_PARAM, lock.getLockCompletionTime().isEmpty()) .put( IS_UNLOCK_PENDING_PARAM, lock.getUnlockRequestTime().isPresent() - && !lock.getUnlockCompletionTime().isPresent() + && lock.getUnlockCompletionTime().isEmpty() && !lock.isUnlockRequestExpired(now)) .put(USER_CAN_UNLOCK_PARAM, isAdmin || !lock.isSuperuser()) .build(); diff --git a/core/src/main/java/google/registry/whois/DomainLookupCommand.java b/core/src/main/java/google/registry/whois/DomainLookupCommand.java index 328bb2d96..a83756344 100644 --- a/core/src/main/java/google/registry/whois/DomainLookupCommand.java +++ b/core/src/main/java/google/registry/whois/DomainLookupCommand.java @@ -62,7 +62,7 @@ public class DomainLookupCommand implements WhoisCommand { Optional tld = findTldForName(domainName); // Google Registry Policy: Do not return records under TLDs for which we're not // authoritative. - if (!tld.isPresent() || !getTlds().contains(tld.get().toString())) { + if (tld.isEmpty() || !getTlds().contains(tld.get().toString())) { throw new WhoisException(now, SC_NOT_FOUND, ERROR_PREFIX + " not found."); } // Include `getResponse` and `isBlockedByBsa` in one transaction to reduce latency. diff --git a/core/src/main/java/google/registry/whois/DomainWhoisResponse.java b/core/src/main/java/google/registry/whois/DomainWhoisResponse.java index d4a3f4312..b275ed50c 100644 --- a/core/src/main/java/google/registry/whois/DomainWhoisResponse.java +++ b/core/src/main/java/google/registry/whois/DomainWhoisResponse.java @@ -146,7 +146,7 @@ final class DomainWhoisResponse extends WhoisResponseImpl { /** Emit the contact entry of the given type. */ DomainEmitter emitContact( String contactType, Optional> contact, boolean preferUnicode) { - if (!contact.isPresent()) { + if (contact.isEmpty()) { return this; } // If we refer to a contact that doesn't exist, that's a bug. It means referential integrity diff --git a/core/src/main/java/google/registry/whois/WhoisReader.java b/core/src/main/java/google/registry/whois/WhoisReader.java index d722b0cc3..5f20e769e 100644 --- a/core/src/main/java/google/registry/whois/WhoisReader.java +++ b/core/src/main/java/google/registry/whois/WhoisReader.java @@ -196,7 +196,7 @@ class WhoisReader { // We don't know at this point whether we have a domain name or a host name. We have to // search through our configured TLDs to see if there's one that prefixes the name. Optional tld = findTldForName(targetName); - if (!tld.isPresent()) { + if (tld.isEmpty()) { // This target is not under any configured TLD, so just try it as a registrar name. logger.atInfo().log("Attempting registrar lookup using %s as a registrar.", arg1); return commandFactory.registrarLookup(arg1); diff --git a/core/src/test/java/google/registry/beam/TestPipelineExtension.java b/core/src/test/java/google/registry/beam/TestPipelineExtension.java index 924e00288..da2a1536a 100644 --- a/core/src/test/java/google/registry/beam/TestPipelineExtension.java +++ b/core/src/test/java/google/registry/beam/TestPipelineExtension.java @@ -285,7 +285,7 @@ public class TestPipelineExtension extends Pipeline options.as(ApplicationNameOptions.class).setAppName(getAppName(context)); // if the enforcement level has not been set by the user do auto-inference - if (!enforcement.isPresent()) { + if (enforcement.isEmpty()) { final boolean isCrashingRunner = CrashingRunner.class.isAssignableFrom(options.getRunner()); checkState( diff --git a/core/src/test/java/google/registry/flows/domain/DomainCreateFlowTest.java b/core/src/test/java/google/registry/flows/domain/DomainCreateFlowTest.java index 92b89b90e..a8233240e 100644 --- a/core/src/test/java/google/registry/flows/domain/DomainCreateFlowTest.java +++ b/core/src/test/java/google/registry/flows/domain/DomainCreateFlowTest.java @@ -2742,7 +2742,6 @@ class DomainCreateFlowTest extends ResourceFlowTestCase Stream optionalToStream(Optional optional) { - return optional.map(Stream::of).orElseGet(Stream::empty); - } - private void assertHistoryEntriesContainBillingEventsAndGracePeriods( DateTime expectedExpirationTime, DateTime implicitTransferTime, @@ -314,7 +309,7 @@ class DomainTransferRequestFlowTest ImmutableSet expectedBillingBases = Streams.concat( Stream.of(losingClientAutorenew, gainingClientAutorenew), - optionalToStream(optionalTransferBillingEvent)) + optionalTransferBillingEvent.stream()) .collect(toImmutableSet()); assertBillingEvents(Sets.union(expectedBillingBases, extraBillingBases)); // Assert that the domain's TransferData server-approve billing events match the above. @@ -331,8 +326,7 @@ class DomainTransferRequestFlowTest // Assert that the full set of server-approve billing events is exactly the extra ones plus // the transfer billing event (if present) and the gaining client autorenew. ImmutableSet expectedServeApproveBillingBases = - Streams.concat( - Stream.of(gainingClientAutorenew), optionalToStream(optionalTransferBillingEvent)) + Streams.concat(Stream.of(gainingClientAutorenew), optionalTransferBillingEvent.stream()) .collect(toImmutableSet()); assertBillingEventsEqual( Iterables.filter( diff --git a/core/src/test/java/google/registry/webdriver/WebDriverScreenDiffer.java b/core/src/test/java/google/registry/webdriver/WebDriverScreenDiffer.java index 5e2d5129a..8ef619593 100644 --- a/core/src/test/java/google/registry/webdriver/WebDriverScreenDiffer.java +++ b/core/src/test/java/google/registry/webdriver/WebDriverScreenDiffer.java @@ -181,7 +181,7 @@ class WebDriverScreenDiffer implements ScreenDiffer { .setIsSizeDifferent(false) .setNumDiffPixels(totalPixels); - if (!maybeGoldenImage.isPresent()) { + if (maybeGoldenImage.isEmpty()) { return commonBuilder.setIsMissingGoldenImage(true).build(); } BufferedImage goldenImage = maybeGoldenImage.get();