Switch from Guava Optionals to Java 8 Optionals

This was a surprisingly involved change. Some of the difficulties included
java.util.Optional purposely not being Serializable (so I had to move a
few Optionals in mapreduce classes to @Nullable) and having to add the Truth
Java8 extension library for assertion support.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=171863777
This commit is contained in:
mcilwain 2017-10-11 13:09:26 -07:00 committed by jianglai
parent 184b2b56ac
commit c0f8da0c6e
581 changed files with 1325 additions and 932 deletions

View file

@ -26,7 +26,6 @@ import static org.joda.time.DateTimeZone.UTC;
import com.beust.jcommander.Parameter;
import com.google.common.base.Joiner;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Sets;
@ -48,6 +47,7 @@ import java.util.Arrays;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.Set;
import javax.annotation.Nullable;
import org.joda.money.CurrencyUnit;
@ -282,16 +282,16 @@ abstract class CreateOrUpdateRegistrarCommand extends MutatingCommand {
builder.setRegistrarName(registrarName);
}
if (email != null) {
builder.setEmailAddress(email.orNull());
builder.setEmailAddress(email.orElse(null));
}
if (url != null) {
builder.setUrl(url.orNull());
builder.setUrl(url.orElse(null));
}
if (phone != null) {
builder.setPhoneNumber(phone.orNull());
builder.setPhoneNumber(phone.orElse(null));
}
if (fax != null) {
builder.setFaxNumber(fax.orNull());
builder.setFaxNumber(fax.orElse(null));
}
if (registrarType != null) {
builder.setType(registrarType);
@ -300,7 +300,7 @@ abstract class CreateOrUpdateRegistrarCommand extends MutatingCommand {
builder.setState(registrarState);
}
if (driveFolderId != null) {
builder.setDriveFolderId(driveFolderId.orNull());
builder.setDriveFolderId(driveFolderId.orElse(null));
}
if (!allowedTlds.isEmpty()) {
checkArgument(addAllowedTlds.isEmpty(),
@ -348,10 +348,10 @@ abstract class CreateOrUpdateRegistrarCommand extends MutatingCommand {
builder.setClientCertificateHash(clientCertificateHash);
}
if (ianaId != null) {
builder.setIanaIdentifier(ianaId.orNull());
builder.setIanaIdentifier(ianaId.orElse(null));
}
if (billingId != null) {
builder.setBillingIdentifier(billingId.orNull());
builder.setBillingIdentifier(billingId.orElse(null));
}
if (billingAccountMap != null) {
LinkedHashMap<CurrencyUnit, String> newBillingAccountMap = new LinkedHashMap<>();

View file

@ -21,7 +21,6 @@ import static google.registry.util.DomainNameUtils.canonicalizeDomainName;
import com.beust.jcommander.Parameter;
import com.google.common.base.CharMatcher;
import com.google.common.base.Joiner;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.ImmutableSortedMap;
@ -39,6 +38,7 @@ import google.registry.tools.params.TransitionListParameter.BillingCostTransitio
import google.registry.tools.params.TransitionListParameter.TldStateTransitions;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.Set;
import javax.annotation.Nullable;
import javax.inject.Inject;
@ -338,7 +338,7 @@ abstract class CreateOrUpdateTldCommand extends MutatingCommand {
}
if (driveFolderId != null) {
builder.setDriveFolderId(driveFolderId.orNull());
builder.setDriveFolderId(driveFolderId.orElse(null));
}
if (createBillingCost != null) {
@ -366,7 +366,7 @@ abstract class CreateOrUpdateTldCommand extends MutatingCommand {
}
if (lordnUsername != null) {
builder.setLordnUsername(lordnUsername.orNull());
builder.setLordnUsername(lordnUsername.orElse(null));
}
if (claimsPeriodEnd != null) {
@ -400,7 +400,7 @@ abstract class CreateOrUpdateTldCommand extends MutatingCommand {
}
if (lrpPeriod != null) {
builder.setLrpPeriod(lrpPeriod.orNull());
builder.setLrpPeriod(lrpPeriod.orElse(null));
}
ImmutableSet<String> newReservedListNames = getReservedLists(oldRegistry);

View file

@ -28,12 +28,12 @@ import static java.util.stream.Collectors.toCollection;
import com.beust.jcommander.Parameter;
import com.beust.jcommander.Parameters;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Streams;
import google.registry.model.registrar.Registrar;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
import javax.annotation.Nullable;
/** Command to create a Registrar. */
@ -65,7 +65,7 @@ final class CreateRegistrarCommand extends CreateOrUpdateRegistrarCommand
checkArgumentNotNull(icannReferralEmail, "--icann_referral_email is a required field");
checkArgumentNotNull(street, "Address fields are required when creating a registrar");
// Default new registrars to active.
registrarState = Optional.fromNullable(registrarState).or(ACTIVE);
registrarState = Optional.ofNullable(registrarState).orElse(ACTIVE);
}
@Nullable

View file

@ -22,7 +22,6 @@ import static google.registry.util.DateTimeUtils.START_OF_TIME;
import com.beust.jcommander.Parameter;
import com.beust.jcommander.Parameters;
import com.google.common.base.Optional;
import com.google.common.base.Strings;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.ImmutableSortedMap;
@ -30,6 +29,7 @@ import com.google.common.collect.Maps;
import google.registry.model.registry.Registry;
import google.registry.model.registry.Registry.TldState;
import java.util.Map;
import java.util.Optional;
import javax.annotation.Nullable;
import org.joda.money.CurrencyUnit;
import org.joda.money.Money;
@ -109,6 +109,6 @@ class CreateTldCommand extends CreateOrUpdateTldCommand {
Optional<Map.Entry<DateTime, TldState>> getTldStateTransitionToAdd() {
return initialTldState != null
? Optional.of(Maps.immutableEntry(START_OF_TIME, initialTldState))
: Optional.<Map.Entry<DateTime, TldState>>absent();
: Optional.<Map.Entry<DateTime, TldState>>empty();
}
}

View file

@ -26,7 +26,6 @@ import static java.util.Collections.emptyList;
import com.beust.jcommander.Parameter;
import com.beust.jcommander.Parameters;
import com.google.common.base.Joiner;
import com.google.common.base.Optional;
import com.google.common.net.InternetDomainName;
import com.googlecode.objectify.cmd.LoadType;
import com.googlecode.objectify.cmd.Query;
@ -46,6 +45,7 @@ import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
import javax.annotation.CheckReturnValue;
import javax.inject.Inject;
import org.joda.time.DateTime;
@ -91,14 +91,14 @@ final class GenerateApplicationsReportCommand implements RemoteApiCommand {
System.err.printf("Application ID %d not found\n", applicationId);
continue;
}
result.addAll(validate(domainApplication, now).asSet());
validate(domainApplication, now).ifPresent(result::add);
}
} else {
LoadType<DomainApplication> loader = ofy().load().type(DomainApplication.class);
Query<DomainApplication> domainApplications =
(tld == null) ? loader : loader.filter("tld", tld);
for (DomainApplication domainApplication : domainApplications) {
result.addAll(validate(domainApplication, now).asSet());
validate(domainApplication, now).ifPresent(result::add);
}
}
Files.write(output, result, UTF_8);
@ -113,7 +113,7 @@ final class GenerateApplicationsReportCommand implements RemoteApiCommand {
// Ignore deleted applications.
if (isBeforeOrAt(domainApplication.getDeletionTime(), now)) {
return Optional.absent();
return Optional.empty();
}
// Defensive invalid punycode check.

View file

@ -31,7 +31,6 @@ import static org.joda.time.DateTimeZone.UTC;
import com.beust.jcommander.Parameter;
import com.beust.jcommander.Parameters;
import com.google.common.base.Joiner;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Iterables;
import com.google.common.collect.Multimap;
@ -57,6 +56,7 @@ import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import java.util.Set;
import java.util.TreeSet;
import org.joda.time.DateTime;
@ -186,13 +186,14 @@ final class GenerateAuctionDataCommand implements RemoteApiCommand {
/** Return a record line for the given application. */
private String emitApplication(DomainApplication domainApplication, ContactResource registrant) {
Optional<PostalInfo> postalInfo =
Optional.fromNullable(registrant.getInternationalizedPostalInfo())
.or(Optional.fromNullable(registrant.getLocalizedPostalInfo()));
Optional.ofNullable(
Optional.ofNullable(registrant.getInternationalizedPostalInfo())
.orElse(registrant.getLocalizedPostalInfo()));
Optional<ContactAddress> address =
Optional.fromNullable(postalInfo.isPresent() ? postalInfo.get().getAddress() : null);
Optional.ofNullable(postalInfo.isPresent() ? postalInfo.get().getAddress() : null);
List<String> street =
address.isPresent() ? address.get().getStreet() : ImmutableList.<String>of();
Optional<ContactPhoneNumber> phoneNumber = Optional.fromNullable(registrant.getVoiceNumber());
Optional<ContactPhoneNumber> phoneNumber = Optional.ofNullable(registrant.getVoiceNumber());
// Each line containing an auction participant has the following format:
//
@ -228,9 +229,11 @@ final class GenerateAuctionDataCommand implements RemoteApiCommand {
private static String emitRegistrar(Registrar registrar) {
// TODO(b/19016140): Determine if this set-up is required.
Optional<RegistrarContact> contact =
Optional.fromNullable(Iterables.getFirst(registrar.getContacts(), null));
Optional<RegistrarAddress> address = Optional.fromNullable(registrar.getLocalizedAddress())
.or(Optional.fromNullable(registrar.getInternationalizedAddress()));
Optional.ofNullable(Iterables.getFirst(registrar.getContacts(), null));
Optional<RegistrarAddress> address =
Optional.ofNullable(
Optional.ofNullable(registrar.getLocalizedAddress())
.orElse(registrar.getInternationalizedAddress()));
List<String> street =
address.isPresent() ? address.get().getStreet() : ImmutableList.<String>of();

View file

@ -19,13 +19,13 @@ import static google.registry.model.ofy.ObjectifyService.ofy;
import com.beust.jcommander.Parameter;
import com.beust.jcommander.Parameters;
import com.google.common.base.Joiner;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableList;
import com.googlecode.objectify.Work;
import google.registry.model.billing.RegistrarCredit;
import google.registry.model.billing.RegistrarCreditBalance.BalanceMap;
import google.registry.model.registrar.Registrar;
import google.registry.tools.Command.RemoteApiCommand;
import java.util.Optional;
import org.joda.money.Money;
/** Command to list registrar credits and balances. */

View file

@ -21,11 +21,11 @@ import static google.registry.util.ResourceUtils.readResourceUtf8;
import com.beust.jcommander.Parameter;
import com.beust.jcommander.Parameters;
import com.google.common.base.Joiner;
import com.google.common.base.Optional;
import google.registry.bigquery.BigqueryUtils.TableType;
import google.registry.tools.BigqueryCommandUtilities.TableCreationException;
import google.registry.util.SqlTemplate;
import java.util.List;
import java.util.Optional;
/** Command to make synthetic billing tables and views in Bigquery. */
@Parameters(separators = " =", commandDescription = "Make synthetic billing tables in Bigquery")
@ -55,7 +55,7 @@ final class MakeBillingTablesCommand extends BigqueryCommand {
@Override
public void runWithBigquery() throws Exception {
// Make the source dataset default to the default destination dataset if it has not been set.
sourceDatasetId = Optional.fromNullable(sourceDatasetId).or(bigquery().getDatasetId());
sourceDatasetId = Optional.ofNullable(sourceDatasetId).orElse(bigquery().getDatasetId());
checkArgument(!tlds.isEmpty(), "Must specify at least 1 TLD to include in billing data table");
// TODO(b/19016191): Should check that input tables exist up front, and avoid later errors.
try {

View file

@ -27,7 +27,6 @@ import static google.registry.util.DiffUtils.prettyPrintEntityDeepDiff;
import static java.util.stream.Collectors.joining;
import com.google.common.base.MoreObjects;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
@ -40,6 +39,7 @@ import java.util.HashSet;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import java.util.Set;
import javax.annotation.Nullable;
@ -104,7 +104,7 @@ public abstract class MutatingCommand extends ConfirmingCommand implements Remot
if (type == ChangeType.UPDATE) {
String diffText = prettyPrintEntityDeepDiff(
oldEntity.toDiffableFieldMap(), newEntity.toDiffableFieldMap());
changeText = Optional.fromNullable(emptyToNull(diffText)).or("[no changes]\n");
changeText = Optional.ofNullable(emptyToNull(diffText)).orElse("[no changes]\n");
} else {
changeText = MoreObjects.firstNonNull(oldEntity, newEntity) + "\n";
}

View file

@ -27,7 +27,6 @@ import com.beust.jcommander.Parameter;
import com.beust.jcommander.Parameters;
import com.google.common.base.Enums;
import com.google.common.base.Joiner;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet;
import google.registry.model.common.GaeUserIdConverter;
@ -45,6 +44,7 @@ import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import java.util.Set;
import javax.annotation.Nullable;
@ -240,10 +240,10 @@ final class RegistrarContactCommand extends MutatingCommand {
builder.setName(name);
builder.setEmailAddress(email);
if (phone != null) {
builder.setPhoneNumber(phone.orNull());
builder.setPhoneNumber(phone.orElse(null));
}
if (fax != null) {
builder.setFaxNumber(fax.orNull());
builder.setFaxNumber(fax.orElse(null));
}
builder.setTypes(nullToEmpty(contactTypes));
@ -276,10 +276,10 @@ final class RegistrarContactCommand extends MutatingCommand {
builder.setEmailAddress(email);
}
if (phone != null) {
builder.setPhoneNumber(phone.orNull());
builder.setPhoneNumber(phone.orElse(null));
}
if (fax != null) {
builder.setFaxNumber(fax.orNull());
builder.setFaxNumber(fax.orElse(null));
}
if (contactTypes != null) {
builder.setTypes(contactTypes);

View file

@ -20,7 +20,6 @@ import static google.registry.util.X509Utils.loadCertificate;
import com.beust.jcommander.Parameter;
import com.beust.jcommander.Parameters;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableList;
import com.google.re2j.Pattern;
import google.registry.config.RegistryEnvironment;
@ -32,6 +31,7 @@ import google.registry.util.StringGenerator;
import java.nio.file.Path;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
import java.util.Set;
import javax.inject.Inject;
import javax.inject.Named;

View file

@ -19,12 +19,12 @@ import static google.registry.util.ListNamingUtils.convertFilePathToName;
import static java.nio.charset.StandardCharsets.UTF_8;
import com.beust.jcommander.Parameters;
import com.google.common.base.Optional;
import com.google.common.base.Strings;
import google.registry.model.registry.label.ReservedList;
import google.registry.model.registry.label.ReservedList.Builder;
import google.registry.util.SystemClock;
import java.nio.file.Files;
import java.util.Optional;
/** Command to safely update {@link ReservedList} on Datastore. */
@Parameters(separators = " =", commandDescription = "Update a ReservedList in Datastore.")

View file

@ -24,7 +24,6 @@ import static google.registry.util.CollectionUtils.nullToEmpty;
import com.beust.jcommander.Parameter;
import com.beust.jcommander.Parameters;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Maps;
import com.googlecode.objectify.Key;
@ -33,6 +32,7 @@ import google.registry.model.registry.Registry;
import google.registry.model.registry.Registry.TldState;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.Set;
import javax.annotation.Nullable;
import org.joda.time.DateTime;
@ -123,7 +123,7 @@ class UpdateTldCommand extends CreateOrUpdateTldCommand {
Optional<Map.Entry<DateTime, TldState>> getTldStateTransitionToAdd() {
return setCurrentTldState != null
? Optional.of(Maps.immutableEntry(DateTime.now(DateTimeZone.UTC), setCurrentTldState))
: Optional.<Map.Entry<DateTime, TldState>>absent();
: Optional.<Map.Entry<DateTime, TldState>>empty();
}
@Override

View file

@ -24,13 +24,13 @@ import static java.nio.charset.StandardCharsets.US_ASCII;
import com.beust.jcommander.Parameter;
import com.beust.jcommander.Parameters;
import com.google.common.base.Optional;
import google.registry.flows.TlsCredentials;
import google.registry.model.registrar.Registrar;
import google.registry.tools.Command.RemoteApiCommand;
import google.registry.tools.params.PathParameter;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.Optional;
import javax.annotation.Nullable;
/** A command to test registrar login credentials. */

View file

@ -14,8 +14,8 @@
package google.registry.tools.params;
import com.google.common.base.Optional;
import google.registry.util.TypeUtils.TypeInstantiator;
import java.util.Optional;
/**
* Class for parameters that can handle special string "null" or empty values to
@ -39,7 +39,7 @@ public class OptionalParameterConverterValidator<T, C extends ParameterConverter
@Override
public final Optional<T> convert(String value) {
if (value.equals(NULL_STRING) || value.isEmpty()) {
return Optional.absent();
return Optional.empty();
} else {
return Optional.of(validator.convert(value));
}

View file

@ -19,7 +19,6 @@ import static google.registry.request.Action.Method.POST;
import static java.util.Arrays.asList;
import static javax.servlet.http.HttpServletResponse.SC_OK;
import com.google.common.base.Optional;
import google.registry.config.RegistryConfig.Config;
import google.registry.groups.GroupsConnection;
import google.registry.groups.GroupsConnection.Role;
@ -36,6 +35,7 @@ import google.registry.util.FormattingLogger;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.List;
import java.util.Optional;
import javax.annotation.Nullable;
import javax.inject.Inject;
@ -83,13 +83,13 @@ public class CreateGroupsAction implements Runnable {
// that type.
groupsConnection.createGroup(groupKey);
groupsConnection.addMemberToGroup(parentGroup, groupKey, Role.MEMBER);
return Optional.<Exception>absent();
return Optional.<Exception>empty();
} catch (Exception e) {
return Optional.of(e);
}
});
// Return the correct server response based on the results of the group creations.
if (Optional.presentInstances(results).iterator().hasNext()) {
if (results.stream().filter(Optional::isPresent).count() > 0) {
StringWriter responseString = new StringWriter();
PrintWriter responseWriter = new PrintWriter(responseString);
for (int i = 0; i < results.size(); i++) {

View file

@ -22,7 +22,6 @@ import com.google.appengine.api.datastore.Entity;
import com.google.appengine.api.datastore.EntityNotFoundException;
import com.google.appengine.api.datastore.Key;
import com.google.appengine.api.datastore.KeyFactory;
import com.google.common.base.Optional;
import com.google.common.base.Splitter;
import com.google.common.collect.ImmutableList;
import com.googlecode.objectify.VoidWork;
@ -33,6 +32,7 @@ import google.registry.request.Parameter;
import google.registry.request.Response;
import google.registry.request.auth.Auth;
import google.registry.util.FormattingLogger;
import java.util.Optional;
import javax.inject.Inject;
/**
@ -105,16 +105,16 @@ public class DeleteEntityAction implements Runnable {
private Optional<Object> loadOfyEntity(Key rawKey) {
EntityMetadata<Object> metadata = ofy().factory().getMetadata(rawKey.getKind());
return Optional.fromNullable(metadata == null ? null : ofy().load().key(create(rawKey)).now());
return Optional.ofNullable(metadata == null ? null : ofy().load().key(create(rawKey)).now());
}
private Optional<Entity> loadRawEntity(Key rawKey) {
try {
return Optional.fromNullable(getDatastoreService().get(rawKey));
return Optional.ofNullable(getDatastoreService().get(rawKey));
} catch (EntityNotFoundException e) {
logger.warningfmt(e, "Could not load entity from Datastore service with key %s",
rawKey.toString());
return Optional.absent();
return Optional.empty();
}
}
}

View file

@ -21,7 +21,6 @@ import static com.google.common.collect.ImmutableSet.toImmutableSet;
import com.google.common.base.Function;
import com.google.common.base.Functions;
import com.google.common.base.Joiner;
import com.google.common.base.Optional;
import com.google.common.base.Splitter;
import com.google.common.base.Strings;
import com.google.common.collect.ImmutableBiMap;
@ -41,6 +40,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import java.util.Set;
import java.util.stream.Stream;
import javax.inject.Inject;

View file

@ -19,12 +19,12 @@ import static google.registry.request.RequestParameters.extractBooleanParameter;
import static google.registry.request.RequestParameters.extractOptionalParameter;
import static google.registry.request.RequestParameters.extractRequiredParameter;
import com.google.common.base.Optional;
import com.google.common.base.Splitter;
import com.google.common.collect.ImmutableSet;
import dagger.Module;
import dagger.Provides;
import google.registry.request.Parameter;
import java.util.Optional;
import javax.servlet.http.HttpServletRequest;
/**
@ -36,7 +36,7 @@ public class ToolsServerModule {
@Provides
@Parameter("clientId")
static Optional<String> provideClientId(HttpServletRequest req) {
return Optional.fromNullable(emptyToNull(req.getParameter(CreateGroupsAction.CLIENT_ID_PARAM)));
return Optional.ofNullable(emptyToNull(req.getParameter(CreateGroupsAction.CLIENT_ID_PARAM)));
}
@Provides
@ -49,7 +49,7 @@ public class ToolsServerModule {
@Parameter("fullFieldNames")
static Optional<Boolean> provideFullFieldNames(HttpServletRequest req) {
String s = emptyToNull(req.getParameter(ListObjectsAction.FULL_FIELD_NAMES_PARAM));
return (s == null) ? Optional.<Boolean>absent() : Optional.of(Boolean.parseBoolean(s));
return (s == null) ? Optional.<Boolean>empty() : Optional.of(Boolean.parseBoolean(s));
}
@Provides
@ -74,7 +74,7 @@ public class ToolsServerModule {
@Parameter("printHeaderRow")
static Optional<Boolean> providePrintHeaderRow(HttpServletRequest req) {
String s = emptyToNull(req.getParameter(ListObjectsAction.PRINT_HEADER_ROW_PARAM));
return (s == null) ? Optional.<Boolean>absent() : Optional.of(Boolean.parseBoolean(s));
return (s == null) ? Optional.<Boolean>empty() : Optional.of(Boolean.parseBoolean(s));
}
@Provides

View file

@ -18,13 +18,13 @@ import static com.google.common.base.Preconditions.checkArgument;
import static google.registry.model.registry.label.PremiumListUtils.savePremiumListAndEntries;
import static google.registry.request.Action.Method.POST;
import com.google.common.base.Optional;
import com.google.common.base.Splitter;
import com.google.common.collect.ImmutableMap;
import google.registry.model.registry.label.PremiumList;
import google.registry.request.Action;
import google.registry.request.auth.Auth;
import java.util.List;
import java.util.Optional;
import javax.inject.Inject;
/**

View file

@ -25,7 +25,6 @@ import static google.registry.util.DomainNameUtils.ACE_PREFIX;
import com.google.common.base.Ascii;
import com.google.common.base.Joiner;
import com.google.common.base.Optional;
import com.google.common.base.Predicate;
import com.google.common.base.Predicates;
import com.google.common.collect.FluentIterable;
@ -51,6 +50,7 @@ import java.util.ArrayList;
import java.util.EnumSet;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.stream.Stream;
import javax.inject.Inject;
@ -205,7 +205,7 @@ public class VerifyOteAction implements Runnable, JsonAction {
this.requirement = requirement;
this.typeFilter = typeFilter;
if (eppInputFilter == null) {
this.eppInputFilter = Optional.<Predicate<EppInput>>absent();
this.eppInputFilter = Optional.<Predicate<EppInput>>empty();
} else {
this.eppInputFilter = Optional.of(eppInputFilter);
}
@ -260,7 +260,7 @@ public class VerifyOteAction implements Runnable, JsonAction {
// xmlBytes can be null on contact create and update for safe-harbor compliance.
final Optional<EppInput> eppInput =
(xmlBytes == null)
? Optional.<EppInput>absent()
? Optional.<EppInput>empty()
: Optional.of(unmarshal(EppInput.class, xmlBytes));
if (!statCounts.addAll(
EnumSet.allOf(StatType.class)