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

@ -27,7 +27,6 @@ import com.google.appengine.tools.mapreduce.Mapper;
import com.google.appengine.tools.mapreduce.Reducer; import com.google.appengine.tools.mapreduce.Reducer;
import com.google.appengine.tools.mapreduce.ReducerInput; import com.google.appengine.tools.mapreduce.ReducerInput;
import com.google.auto.value.AutoValue; import com.google.auto.value.AutoValue;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMultiset; import com.google.common.collect.ImmutableMultiset;
import com.googlecode.objectify.Key; import com.googlecode.objectify.Key;
@ -100,7 +99,7 @@ public final class DeleteOldCommitLogsAction implements Runnable {
new DeleteOldCommitLogsMapper(), new DeleteOldCommitLogsMapper(),
new DeleteOldCommitLogsReducer(deletionThreshold, isDryRun), new DeleteOldCommitLogsReducer(deletionThreshold, isDryRun),
ImmutableList.of( ImmutableList.of(
new CommitLogManifestInput(Optional.of(deletionThreshold)), new CommitLogManifestInput(deletionThreshold),
EppResourceInputs.createKeyInput(EppResource.class))))); EppResourceInputs.createKeyInput(EppResource.class)))));
} }

View file

@ -19,13 +19,13 @@ import static google.registry.request.RequestParameters.extractOptionalIntParame
import static google.registry.request.RequestParameters.extractOptionalParameter; import static google.registry.request.RequestParameters.extractOptionalParameter;
import com.google.api.services.bigquery.model.TableFieldSchema; import com.google.api.services.bigquery.model.TableFieldSchema;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList;
import dagger.Module; import dagger.Module;
import dagger.Provides; import dagger.Provides;
import dagger.multibindings.IntoMap; import dagger.multibindings.IntoMap;
import dagger.multibindings.StringKey; import dagger.multibindings.StringKey;
import google.registry.request.Parameter; import google.registry.request.Parameter;
import java.util.Optional;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
/** /**

View file

@ -33,7 +33,6 @@ import static google.registry.util.PipelineUtils.createJobPath;
import com.google.appengine.tools.mapreduce.Mapper; import com.google.appengine.tools.mapreduce.Mapper;
import com.google.appengine.tools.mapreduce.Reducer; import com.google.appengine.tools.mapreduce.Reducer;
import com.google.appengine.tools.mapreduce.ReducerInput; import com.google.appengine.tools.mapreduce.ReducerInput;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet; import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Range; import com.google.common.collect.Range;
@ -62,6 +61,7 @@ import google.registry.request.Response;
import google.registry.request.auth.Auth; import google.registry.request.auth.Auth;
import google.registry.util.Clock; import google.registry.util.Clock;
import google.registry.util.FormattingLogger; import google.registry.util.FormattingLogger;
import java.util.Optional;
import java.util.Set; import java.util.Set;
import javax.inject.Inject; import javax.inject.Inject;
import org.joda.money.Money; import org.joda.money.Money;
@ -97,7 +97,7 @@ public class ExpandRecurringBillingEventsAction implements Runnable {
Cursor cursor = ofy().load().key(Cursor.createGlobalKey(RECURRING_BILLING)).now(); Cursor cursor = ofy().load().key(Cursor.createGlobalKey(RECURRING_BILLING)).now();
DateTime executeTime = clock.nowUtc(); DateTime executeTime = clock.nowUtc();
DateTime persistedCursorTime = (cursor == null ? START_OF_TIME : cursor.getCursorTime()); DateTime persistedCursorTime = (cursor == null ? START_OF_TIME : cursor.getCursorTime());
DateTime cursorTime = cursorTimeParam.or(persistedCursorTime); DateTime cursorTime = cursorTimeParam.orElse(persistedCursorTime);
checkArgument( checkArgument(
cursorTime.isBefore(executeTime), cursorTime.isBefore(executeTime),
"Cursor time must be earlier than execution time."); "Cursor time must be earlier than execution time.");

View file

@ -18,7 +18,6 @@ import static com.google.common.net.MediaType.PLAIN_TEXT_UTF_8;
import static javax.servlet.http.HttpServletResponse.SC_BAD_REQUEST; import static javax.servlet.http.HttpServletResponse.SC_BAD_REQUEST;
import com.google.appengine.api.datastore.DatastoreService; import com.google.appengine.api.datastore.DatastoreService;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableSet; import com.google.common.collect.ImmutableSet;
import google.registry.batch.MapreduceEntityCleanupUtil.EligibleJobResults; import google.registry.batch.MapreduceEntityCleanupUtil.EligibleJobResults;
import google.registry.mapreduce.MapreduceRunner; import google.registry.mapreduce.MapreduceRunner;
@ -28,6 +27,7 @@ import google.registry.request.Response;
import google.registry.request.auth.Auth; import google.registry.request.auth.Auth;
import google.registry.util.Clock; import google.registry.util.Clock;
import google.registry.util.FormattingLogger; import google.registry.util.FormattingLogger;
import java.util.Optional;
import java.util.Set; import java.util.Set;
import javax.inject.Inject; import javax.inject.Inject;
import org.joda.time.DateTime; import org.joda.time.DateTime;
@ -164,7 +164,7 @@ public class MapreduceEntityCleanupAction implements Runnable {
handleBadRequest(ERROR_NON_POSITIVE_JOBS_TO_DELETE); handleBadRequest(ERROR_NON_POSITIVE_JOBS_TO_DELETE);
return; return;
} }
int defaultedDaysOld = daysOld.or(DEFAULT_DAYS_OLD); int defaultedDaysOld = daysOld.orElse(DEFAULT_DAYS_OLD);
// Only generate the detailed response payload if there aren't too many jobs involved. // Only generate the detailed response payload if there aren't too many jobs involved.
boolean verbose = boolean verbose =
numJobsToDelete.isPresent() && (numJobsToDelete.get() <= DEFAULT_MAX_NUM_JOBS_TO_DELETE); numJobsToDelete.isPresent() && (numJobsToDelete.get() <= DEFAULT_MAX_NUM_JOBS_TO_DELETE);
@ -174,14 +174,14 @@ public class MapreduceEntityCleanupAction implements Runnable {
// until we find enough, requesting deletion as we go. // until we find enough, requesting deletion as we go.
int numJobsProcessed = 0; int numJobsProcessed = 0;
DateTime cutoffDate = clock.nowUtc().minusDays(defaultedDaysOld); DateTime cutoffDate = clock.nowUtc().minusDays(defaultedDaysOld);
Optional<String> cursor = Optional.absent(); Optional<String> cursor = Optional.empty();
do { do {
Optional<Integer> numJobsToRequest = Optional<Integer> numJobsToRequest =
Optional.fromNullable( Optional.ofNullable(
numJobsToDelete.isPresent() ? numJobsToDelete.get() - numJobsProcessed : null); numJobsToDelete.isPresent() ? numJobsToDelete.get() - numJobsProcessed : null);
EligibleJobResults batch = EligibleJobResults batch =
mapreduceEntityCleanupUtil.findEligibleJobsByJobName( mapreduceEntityCleanupUtil.findEligibleJobsByJobName(
jobName.orNull(), cutoffDate, numJobsToRequest, force.or(false), cursor); jobName.orElse(null), cutoffDate, numJobsToRequest, force.orElse(false), cursor);
cursor = batch.cursor(); cursor = batch.cursor();
// Individual batches can come back empty if none of the returned jobs meet the requirements // Individual batches can come back empty if none of the returned jobs meet the requirements
// or if all jobs have been exhausted. // or if all jobs have been exhausted.
@ -200,7 +200,7 @@ public class MapreduceEntityCleanupAction implements Runnable {
if (numJobsProcessed == 0) { if (numJobsProcessed == 0) {
logger.infofmt( logger.infofmt(
"No eligible jobs found with name '%s' older than %s days old.", "No eligible jobs found with name '%s' older than %s days old.",
jobName.or("(any)"), defaultedDaysOld); jobName.orElse("(any)"), defaultedDaysOld);
payload.append("No eligible jobs found"); payload.append("No eligible jobs found");
} else { } else {
logger.infofmt("A total of %s job(s) processed.", numJobsProcessed); logger.infofmt("A total of %s job(s) processed.", numJobsProcessed);
@ -211,19 +211,19 @@ public class MapreduceEntityCleanupAction implements Runnable {
private String requestDeletion(Set<String> actualJobIds, boolean verbose) { private String requestDeletion(Set<String> actualJobIds, boolean verbose) {
Optional<StringBuilder> payloadChunkBuilder = Optional<StringBuilder> payloadChunkBuilder =
verbose ? Optional.of(new StringBuilder()) : Optional.<StringBuilder>absent(); verbose ? Optional.of(new StringBuilder()) : Optional.<StringBuilder>empty();
int errorCount = 0; int errorCount = 0;
for (String actualJobId : actualJobIds) { for (String actualJobId : actualJobIds) {
Optional<String> error = Optional<String> error =
mapreduceEntityCleanupUtil.deleteJobAsync(datastore, actualJobId, force.or(false)); mapreduceEntityCleanupUtil.deleteJobAsync(datastore, actualJobId, force.orElse(false));
if (error.isPresent()) { if (error.isPresent()) {
errorCount++; errorCount++;
} }
logger.infofmt("%s: %s", actualJobId, error.or("deletion requested")); logger.infofmt("%s: %s", actualJobId, error.orElse("deletion requested"));
if (payloadChunkBuilder.isPresent()) { if (payloadChunkBuilder.isPresent()) {
payloadChunkBuilder payloadChunkBuilder
.get() .get()
.append(String.format("%s: %s\n", actualJobId, error.or("deletion requested"))); .append(String.format("%s: %s\n", actualJobId, error.orElse("deletion requested")));
} }
} }
logger.infofmt( logger.infofmt(

View file

@ -22,9 +22,9 @@ import com.google.appengine.tools.pipeline.impl.PipelineManager;
import com.google.appengine.tools.pipeline.impl.model.JobRecord; import com.google.appengine.tools.pipeline.impl.model.JobRecord;
import com.google.appengine.tools.pipeline.util.Pair; import com.google.appengine.tools.pipeline.util.Pair;
import com.google.auto.value.AutoValue; import com.google.auto.value.AutoValue;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableSet; import com.google.common.collect.ImmutableSet;
import java.util.HashSet; import java.util.HashSet;
import java.util.Optional;
import java.util.Set; import java.util.Set;
import javax.annotation.Nullable; import javax.annotation.Nullable;
import javax.inject.Inject; import javax.inject.Inject;
@ -92,11 +92,11 @@ class MapreduceEntityCleanupUtil {
boolean ignoreState, boolean ignoreState,
Optional<String> cursor) { Optional<String> cursor) {
if (maxJobs.isPresent() && (maxJobs.get() <= 0)) { if (maxJobs.isPresent() && (maxJobs.get() <= 0)) {
return EligibleJobResults.create(ImmutableSet.<String>of(), Optional.<String>absent()); return EligibleJobResults.create(ImmutableSet.<String>of(), Optional.empty());
} }
Set<String> eligibleJobs = new HashSet<>(); Set<String> eligibleJobs = new HashSet<>();
Pair<? extends Iterable<JobRecord>, String> pair = Pair<? extends Iterable<JobRecord>, String> pair =
PipelineManager.queryRootPipelines(jobName, cursor.orNull(), getMaxNumberOfJobsPerSearch()); PipelineManager.queryRootPipelines(jobName, cursor.orElse(null), getMaxNumberOfJobsPerSearch());
for (JobRecord jobRecord : pair.getFirst()) { for (JobRecord jobRecord : pair.getFirst()) {
if (((jobRecord.getStartTime() == null) if (((jobRecord.getStartTime() == null)
|| jobRecord.getStartTime().before(cutoffDate.toDate())) || jobRecord.getStartTime().before(cutoffDate.toDate()))
@ -108,12 +108,12 @@ class MapreduceEntityCleanupUtil {
eligibleJobs.add(jobRecord.getRootJobKey().getName()); eligibleJobs.add(jobRecord.getRootJobKey().getName());
if (maxJobs.isPresent() && (eligibleJobs.size() >= maxJobs.get())) { if (maxJobs.isPresent() && (eligibleJobs.size() >= maxJobs.get())) {
return EligibleJobResults.create( return EligibleJobResults.create(
ImmutableSet.copyOf(eligibleJobs), Optional.<String>absent()); ImmutableSet.copyOf(eligibleJobs), Optional.empty());
} }
} }
} }
return EligibleJobResults.create( return EligibleJobResults.create(
ImmutableSet.copyOf(eligibleJobs), Optional.fromNullable(pair.getSecond())); ImmutableSet.copyOf(eligibleJobs), Optional.ofNullable(pair.getSecond()));
} }
/** /**
@ -148,7 +148,7 @@ class MapreduceEntityCleanupUtil {
// delete the pipeline-* entities as well. // delete the pipeline-* entities as well.
try { try {
PipelineManager.deletePipelineRecords(jobId, force, true /* async */); PipelineManager.deletePipelineRecords(jobId, force, true /* async */);
return Optional.absent(); return Optional.empty();
} catch (NoSuchObjectException ex) { } catch (NoSuchObjectException ex) {
return Optional.of("No such pipeline job"); return Optional.of("No such pipeline job");
} catch (IllegalStateException ex) { } catch (IllegalStateException ex) {

View file

@ -22,10 +22,10 @@ import com.braintreegateway.Customer;
import com.braintreegateway.CustomerRequest; import com.braintreegateway.CustomerRequest;
import com.braintreegateway.Result; import com.braintreegateway.Result;
import com.braintreegateway.exceptions.NotFoundException; import com.braintreegateway.exceptions.NotFoundException;
import com.google.common.base.Optional;
import com.google.common.base.VerifyException; import com.google.common.base.VerifyException;
import google.registry.model.registrar.Registrar; import google.registry.model.registrar.Registrar;
import google.registry.model.registrar.RegistrarContact; import google.registry.model.registrar.RegistrarContact;
import java.util.Optional;
import javax.inject.Inject; import javax.inject.Inject;
/** Helper for creating Braintree customer entries for registrars. */ /** Helper for creating Braintree customer entries for registrars. */
@ -89,7 +89,7 @@ public class BraintreeRegistrarSyncer {
return Optional.of(contact); return Optional.of(contact);
} }
} }
return Optional.absent(); return Optional.empty();
} }
private boolean doesCustomerExist(String id) { private boolean doesCustomerExist(String id) {

View file

@ -19,7 +19,6 @@ import static google.registry.config.ConfigUtils.makeUrl;
import static java.lang.annotation.RetentionPolicy.RUNTIME; import static java.lang.annotation.RetentionPolicy.RUNTIME;
import com.google.common.annotations.VisibleForTesting; import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Optional;
import com.google.common.base.Supplier; import com.google.common.base.Supplier;
import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableMap;
@ -34,6 +33,7 @@ import java.net.URI;
import java.net.URL; import java.net.URL;
import java.util.Map; import java.util.Map;
import java.util.Map.Entry; import java.util.Map.Entry;
import java.util.Optional;
import javax.annotation.Nullable; import javax.annotation.Nullable;
import javax.inject.Named; import javax.inject.Named;
import javax.inject.Qualifier; import javax.inject.Qualifier;
@ -333,13 +333,13 @@ public final class RegistryConfig {
@Provides @Provides
@Config("cloudDnsRootUrl") @Config("cloudDnsRootUrl")
public static Optional<String> getCloudDnsRootUrl(RegistryConfigSettings config) { public static Optional<String> getCloudDnsRootUrl(RegistryConfigSettings config) {
return Optional.fromNullable(config.cloudDns.rootUrl); return Optional.ofNullable(config.cloudDns.rootUrl);
} }
@Provides @Provides
@Config("cloudDnsServicePath") @Config("cloudDnsServicePath")
public static Optional<String> getCloudDnsServicePath(RegistryConfigSettings config) { public static Optional<String> getCloudDnsServicePath(RegistryConfigSettings config) {
return Optional.fromNullable(config.cloudDns.servicePath); return Optional.ofNullable(config.cloudDns.servicePath);
} }
/** /**
@ -674,7 +674,7 @@ public final class RegistryConfig {
@Provides @Provides
@Config("sheetRegistrarId") @Config("sheetRegistrarId")
public static Optional<String> provideSheetRegistrarId(RegistryConfigSettings config) { public static Optional<String> provideSheetRegistrarId(RegistryConfigSettings config) {
return Optional.fromNullable(config.misc.sheetExportId); return Optional.ofNullable(config.misc.sheetExportId);
} }
/** /**

View file

@ -18,9 +18,9 @@ import static com.google.common.base.Ascii.toLowerCase;
import static google.registry.util.FormattingLogger.getLoggerForCallerClass; import static google.registry.util.FormattingLogger.getLoggerForCallerClass;
import static google.registry.util.ResourceUtils.readResourceUtf8; import static google.registry.util.ResourceUtils.readResourceUtf8;
import com.google.common.base.Optional;
import google.registry.util.FormattingLogger; import google.registry.util.FormattingLogger;
import java.util.Map; import java.util.Map;
import java.util.Optional;
import org.yaml.snakeyaml.Yaml; import org.yaml.snakeyaml.Yaml;
/** /**
@ -134,7 +134,7 @@ public final class YamlUtils {
*/ */
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
private static Optional<Map<String, Object>> loadAsMap(Yaml yaml, String yamlString) { private static Optional<Map<String, Object>> loadAsMap(Yaml yaml, String yamlString) {
return Optional.fromNullable((Map<String, Object>) yaml.load(yamlString)); return Optional.ofNullable((Map<String, Object>) yaml.load(yamlString));
} }
private YamlUtils() {} private YamlUtils() {}

View file

@ -19,12 +19,12 @@ import static java.util.concurrent.TimeUnit.SECONDS;
import com.google.appengine.api.taskqueue.Queue; import com.google.appengine.api.taskqueue.Queue;
import com.google.appengine.api.taskqueue.TaskOptions; import com.google.appengine.api.taskqueue.TaskOptions;
import com.google.common.base.Optional;
import google.registry.model.ofy.CommitLogBucket; import google.registry.model.ofy.CommitLogBucket;
import google.registry.request.Action; import google.registry.request.Action;
import google.registry.request.Parameter; import google.registry.request.Parameter;
import google.registry.request.auth.Auth; import google.registry.request.auth.Auth;
import google.registry.util.TaskEnqueuer; import google.registry.util.TaskEnqueuer;
import java.util.Optional;
import java.util.Random; import java.util.Random;
import javax.inject.Inject; import javax.inject.Inject;

View file

@ -19,11 +19,11 @@ import static google.registry.request.RequestParameters.extractOptionalIntParame
import static google.registry.request.RequestParameters.extractRequiredParameter; import static google.registry.request.RequestParameters.extractRequiredParameter;
import static google.registry.request.RequestParameters.extractSetOfParameters; import static google.registry.request.RequestParameters.extractSetOfParameters;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableSet; import com.google.common.collect.ImmutableSet;
import dagger.Module; import dagger.Module;
import dagger.Provides; import dagger.Provides;
import google.registry.request.Parameter; import google.registry.request.Parameter;
import java.util.Optional;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
/** Dagger module for the cron package. */ /** Dagger module for the cron package. */

View file

@ -32,7 +32,6 @@ import static java.util.concurrent.TimeUnit.SECONDS;
import com.google.appengine.api.taskqueue.Queue; import com.google.appengine.api.taskqueue.Queue;
import com.google.appengine.api.taskqueue.TaskHandle; import com.google.appengine.api.taskqueue.TaskHandle;
import com.google.appengine.api.taskqueue.TaskOptions; import com.google.appengine.api.taskqueue.TaskOptions;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableListMultimap; import com.google.common.collect.ImmutableListMultimap;
import com.google.common.collect.ImmutableSet; import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Multimap; import com.google.common.collect.Multimap;
@ -44,6 +43,7 @@ import google.registry.request.RequestParameters;
import google.registry.request.Response; import google.registry.request.Response;
import google.registry.request.auth.Auth; import google.registry.request.auth.Auth;
import google.registry.util.TaskEnqueuer; import google.registry.util.TaskEnqueuer;
import java.util.Optional;
import java.util.Random; import java.util.Random;
import java.util.Set; import java.util.Set;
import javax.inject.Inject; import javax.inject.Inject;

View file

@ -32,7 +32,6 @@ import com.google.appengine.api.taskqueue.TaskOptions.Method;
import com.google.appengine.api.taskqueue.TransientFailureException; import com.google.appengine.api.taskqueue.TransientFailureException;
import com.google.apphosting.api.DeadlineExceededException; import com.google.apphosting.api.DeadlineExceededException;
import com.google.common.annotations.VisibleForTesting; import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList;
import com.google.common.net.InternetDomainName; import com.google.common.net.InternetDomainName;
import google.registry.dns.DnsConstants.TargetType; import google.registry.dns.DnsConstants.TargetType;
@ -40,6 +39,7 @@ import google.registry.model.registry.Registries;
import google.registry.util.FormattingLogger; import google.registry.util.FormattingLogger;
import google.registry.util.NonFinalForTesting; import google.registry.util.NonFinalForTesting;
import java.util.List; import java.util.List;
import java.util.Optional;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.logging.Level; import java.util.logging.Level;
import javax.inject.Inject; import javax.inject.Inject;

View file

@ -26,7 +26,6 @@ import com.google.appengine.api.taskqueue.Queue;
import com.google.appengine.api.taskqueue.TaskHandle; import com.google.appengine.api.taskqueue.TaskHandle;
import com.google.appengine.api.taskqueue.TaskOptions; import com.google.appengine.api.taskqueue.TaskOptions;
import com.google.auto.value.AutoValue; import com.google.auto.value.AutoValue;
import com.google.common.base.Optional;
import com.google.common.collect.ComparisonChain; import com.google.common.collect.ComparisonChain;
import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableMap;
@ -48,6 +47,7 @@ import java.util.Collection;
import java.util.HashSet; import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Optional;
import java.util.Random; import java.util.Random;
import java.util.Set; import java.util.Set;
import javax.inject.Inject; import javax.inject.Inject;

View file

@ -24,7 +24,6 @@ import com.google.api.services.dns.model.Change;
import com.google.api.services.dns.model.ResourceRecordSet; import com.google.api.services.dns.model.ResourceRecordSet;
import com.google.common.annotations.VisibleForTesting; import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Joiner; import com.google.common.base.Joiner;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet; import com.google.common.collect.ImmutableSet;
@ -49,6 +48,7 @@ import java.net.InetAddress;
import java.util.HashMap; import java.util.HashMap;
import java.util.HashSet; import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Optional;
import java.util.Set; import java.util.Set;
import java.util.concurrent.Callable; import java.util.concurrent.Callable;
import javax.inject.Inject; import javax.inject.Inject;
@ -116,7 +116,7 @@ public class CloudDnsWriter extends BaseDnsWriter {
// Load the target domain. Note that it can be null if this domain was just deleted. // Load the target domain. Note that it can be null if this domain was just deleted.
Optional<DomainResource> domainResource = Optional<DomainResource> domainResource =
Optional.fromNullable(loadByForeignKey(DomainResource.class, domainName, clock.nowUtc())); Optional.ofNullable(loadByForeignKey(DomainResource.class, domainName, clock.nowUtc()));
// Return early if no DNS records should be published. // Return early if no DNS records should be published.
// desiredRecordsBuilder is populated with an empty set to indicate that all existing records // desiredRecordsBuilder is populated with an empty set to indicate that all existing records
@ -186,7 +186,7 @@ public class CloudDnsWriter extends BaseDnsWriter {
// desiredRecords is populated with an empty set to indicate that all existing records // desiredRecords is populated with an empty set to indicate that all existing records
// should be deleted. // should be deleted.
Optional<HostResource> host = Optional<HostResource> host =
Optional.fromNullable(loadByForeignKey(HostResource.class, hostName, clock.nowUtc())); Optional.ofNullable(loadByForeignKey(HostResource.class, hostName, clock.nowUtc()));
// Return early if the host is deleted. // Return early if the host is deleted.
if (!host.isPresent()) { if (!host.isPresent()) {

View file

@ -20,7 +20,6 @@ import com.google.api.client.json.JsonFactory;
import com.google.api.services.dns.Dns; import com.google.api.services.dns.Dns;
import com.google.api.services.dns.DnsScopes; import com.google.api.services.dns.DnsScopes;
import com.google.common.base.Function; import com.google.common.base.Function;
import com.google.common.base.Optional;
import com.google.common.util.concurrent.RateLimiter; import com.google.common.util.concurrent.RateLimiter;
import dagger.Module; import dagger.Module;
import dagger.Provides; import dagger.Provides;
@ -29,6 +28,7 @@ import dagger.multibindings.IntoSet;
import dagger.multibindings.StringKey; import dagger.multibindings.StringKey;
import google.registry.config.RegistryConfig.Config; import google.registry.config.RegistryConfig.Config;
import google.registry.dns.writer.DnsWriter; import google.registry.dns.writer.DnsWriter;
import java.util.Optional;
import java.util.Set; import java.util.Set;
import javax.inject.Named; import javax.inject.Named;

View file

@ -20,7 +20,6 @@ import static com.google.common.collect.Sets.union;
import static google.registry.model.EppResourceUtils.loadByForeignKey; import static google.registry.model.EppResourceUtils.loadByForeignKey;
import com.google.common.base.Joiner; import com.google.common.base.Joiner;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet; import com.google.common.collect.ImmutableSet;
import com.google.common.net.InternetDomainName; import com.google.common.net.InternetDomainName;
@ -36,6 +35,7 @@ import java.io.IOException;
import java.net.Inet4Address; import java.net.Inet4Address;
import java.net.Inet6Address; import java.net.Inet6Address;
import java.net.InetAddress; import java.net.InetAddress;
import java.util.Optional;
import javax.inject.Inject; import javax.inject.Inject;
import org.joda.time.Duration; import org.joda.time.Duration;
import org.xbill.DNS.AAAARecord; import org.xbill.DNS.AAAARecord;

View file

@ -26,7 +26,6 @@ java_binary(
"//java/google/registry/module/frontend", "//java/google/registry/module/frontend",
"//java/google/registry/module/tools", "//java/google/registry/module/tools",
"//java/google/registry/tools", "//java/google/registry/tools",
"//third_party/java/truth",
"@com_google_apis_google_api_services_cloudkms", "@com_google_apis_google_api_services_cloudkms",
"@com_google_appengine_api_1_0_sdk//:link", "@com_google_appengine_api_1_0_sdk//:link",
"@com_google_appengine_api_stubs", "@com_google_appengine_api_stubs",
@ -34,6 +33,8 @@ java_binary(
"@com_google_appengine_testing", "@com_google_appengine_testing",
"@com_google_appengine_tools_sdk", "@com_google_appengine_tools_sdk",
"@com_google_guava_testlib", "@com_google_guava_testlib",
"@com_google_truth",
"@com_google_truth_extensions_truth_java8_extension",
"@junit", "@junit",
"@org_apache_ftpserver_core", "@org_apache_ftpserver_core",
"@org_apache_sshd_core", "@org_apache_sshd_core",

View file

@ -23,13 +23,13 @@ import com.google.appengine.api.datastore.Text;
import com.google.common.annotations.VisibleForTesting; import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Ascii; import com.google.common.base.Ascii;
import com.google.common.base.Joiner; import com.google.common.base.Joiner;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableSet; import com.google.common.collect.ImmutableSet;
import google.registry.util.Clock; import google.registry.util.Clock;
import google.registry.util.NonFinalForTesting; import google.registry.util.NonFinalForTesting;
import google.registry.util.SystemClock; import google.registry.util.SystemClock;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Optional;
import org.joda.time.DateTime; import org.joda.time.DateTime;
import org.joda.time.Duration; import org.joda.time.Duration;
@ -71,9 +71,9 @@ public class DatastoreBackupInfo {
kinds = ImmutableSet.copyOf(rawKinds); kinds = ImmutableSet.copyOf(rawKinds);
startTime = new DateTime(rawStartTime).withZone(UTC); startTime = new DateTime(rawStartTime).withZone(UTC);
completeTime = Optional.fromNullable( completeTime = Optional.ofNullable(
rawCompleteTime == null ? null : new DateTime(rawCompleteTime).withZone(UTC)); rawCompleteTime == null ? null : new DateTime(rawCompleteTime).withZone(UTC));
gcsFilename = Optional.fromNullable( gcsFilename = Optional.ofNullable(
rawGcsFilename == null ? null : gcsPathToUri(rawGcsFilename.getValue())); rawGcsFilename == null ? null : gcsPathToUri(rawGcsFilename.getValue()));
} }
@ -126,7 +126,7 @@ public class DatastoreBackupInfo {
* backup started (if it has not completed). * backup started (if it has not completed).
*/ */
public Duration getRunningTime() { public Duration getRunningTime() {
return new Duration(startTime, completeTime.or(clock.nowUtc())); return new Duration(startTime, completeTime.orElse(clock.nowUtc()));
} }
public Optional<String> getGcsFilename() { public Optional<String> getGcsFilename() {
@ -140,9 +140,9 @@ public class DatastoreBackupInfo {
"Backup name: " + backupName, "Backup name: " + backupName,
"Status: " + getStatus(), "Status: " + getStatus(),
"Started: " + startTime, "Started: " + startTime,
"Ended: " + completeTime.orNull(), "Ended: " + completeTime.orElse(null),
"Duration: " + Ascii.toLowerCase(getRunningTime().toPeriod().toString().substring(2)), "Duration: " + Ascii.toLowerCase(getRunningTime().toPeriod().toString().substring(2)),
"GCS: " + gcsFilename.orNull(), "GCS: " + gcsFilename.orElse(null),
"Kinds: " + kinds, "Kinds: " + kinds,
""); "");
} }

View file

@ -23,7 +23,6 @@ import static google.registry.util.RegistrarUtils.normalizeClientId;
import static javax.servlet.http.HttpServletResponse.SC_INTERNAL_SERVER_ERROR; import static javax.servlet.http.HttpServletResponse.SC_INTERNAL_SERVER_ERROR;
import static javax.servlet.http.HttpServletResponse.SC_OK; import static javax.servlet.http.HttpServletResponse.SC_OK;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Sets; import com.google.common.collect.Sets;
@ -43,6 +42,7 @@ import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Optional;
import java.util.Set; import java.util.Set;
import javax.annotation.Nullable; import javax.annotation.Nullable;
import javax.inject.Inject; import javax.inject.Inject;
@ -140,7 +140,7 @@ public final class SyncGroupMembersAction implements Runnable {
return null; return null;
}, },
RuntimeException.class); RuntimeException.class);
resultsBuilder.put(registrar, Optional.<Throwable>absent()); resultsBuilder.put(registrar, Optional.<Throwable>empty());
} catch (Throwable e) { } catch (Throwable e) {
logger.severe(e, e.getMessage()); logger.severe(e, e.getMessage());
resultsBuilder.put(registrar, Optional.of(e)); resultsBuilder.put(registrar, Optional.of(e));

View file

@ -16,10 +16,10 @@ package google.registry.export.sheet;
import static com.google.common.base.Strings.emptyToNull; import static com.google.common.base.Strings.emptyToNull;
import com.google.common.base.Optional;
import dagger.Module; import dagger.Module;
import dagger.Provides; import dagger.Provides;
import google.registry.request.Parameter; import google.registry.request.Parameter;
import java.util.Optional;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
/** Dagger module for the sheet package. */ /** Dagger module for the sheet package. */
@ -29,6 +29,6 @@ public final class SheetModule {
@Provides @Provides
@Parameter("id") @Parameter("id")
static Optional<String> provideId(HttpServletRequest req) { static Optional<String> provideId(HttpServletRequest req) {
return Optional.fromNullable(emptyToNull(req.getParameter("id"))); return Optional.ofNullable(emptyToNull(req.getParameter("id")));
} }
} }

View file

@ -27,7 +27,6 @@ import com.google.appengine.api.modules.ModulesService;
import com.google.appengine.api.modules.ModulesServiceFactory; import com.google.appengine.api.modules.ModulesServiceFactory;
import com.google.appengine.api.taskqueue.TaskHandle; import com.google.appengine.api.taskqueue.TaskHandle;
import com.google.appengine.api.taskqueue.TaskOptions.Method; import com.google.appengine.api.taskqueue.TaskOptions.Method;
import com.google.common.base.Optional;
import google.registry.config.RegistryConfig.Config; import google.registry.config.RegistryConfig.Config;
import google.registry.request.Action; import google.registry.request.Action;
import google.registry.request.Parameter; import google.registry.request.Parameter;
@ -37,6 +36,7 @@ import google.registry.request.lock.LockHandler;
import google.registry.util.FormattingLogger; import google.registry.util.FormattingLogger;
import google.registry.util.NonFinalForTesting; import google.registry.util.NonFinalForTesting;
import java.io.IOException; import java.io.IOException;
import java.util.Optional;
import java.util.concurrent.Callable; import java.util.concurrent.Callable;
import javax.annotation.Nullable; import javax.annotation.Nullable;
import javax.inject.Inject; import javax.inject.Inject;
@ -121,7 +121,7 @@ public class SyncRegistrarsSheetAction implements Runnable {
@Override @Override
public void run() { public void run() {
final Optional<String> sheetId = idParam.or(idConfig); final Optional<String> sheetId = Optional.ofNullable(idParam.orElse(idConfig.orElse(null)));
if (!sheetId.isPresent()) { if (!sheetId.isPresent()) {
Result.MISSINGNO.send(response, null); Result.MISSINGNO.send(response, null);
return; return;

View file

@ -22,7 +22,6 @@ import static java.nio.charset.StandardCharsets.UTF_8;
import com.google.common.annotations.VisibleForTesting; import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Joiner; import com.google.common.base.Joiner;
import com.google.common.base.Optional;
import com.google.common.base.Strings; import com.google.common.base.Strings;
import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableMap;
import google.registry.flows.FlowModule.EppExceptionInProviderException; import google.registry.flows.FlowModule.EppExceptionInProviderException;
@ -35,6 +34,7 @@ import google.registry.model.eppoutput.Result.Code;
import google.registry.monitoring.whitebox.BigQueryMetricsEnqueuer; import google.registry.monitoring.whitebox.BigQueryMetricsEnqueuer;
import google.registry.monitoring.whitebox.EppMetric; import google.registry.monitoring.whitebox.EppMetric;
import google.registry.util.FormattingLogger; import google.registry.util.FormattingLogger;
import java.util.Optional;
import javax.inject.Inject; import javax.inject.Inject;
import org.json.simple.JSONValue; import org.json.simple.JSONValue;
@ -62,7 +62,7 @@ public final class EppController {
boolean isDryRun, boolean isDryRun,
boolean isSuperuser, boolean isSuperuser,
byte[] inputXmlBytes) { byte[] inputXmlBytes) {
eppMetricBuilder.setClientId(Optional.fromNullable(sessionMetadata.getClientId())); eppMetricBuilder.setClientId(Optional.ofNullable(sessionMetadata.getClientId()));
eppMetricBuilder.setPrivilegeLevel(isSuperuser ? "SUPERUSER" : "NORMAL"); eppMetricBuilder.setPrivilegeLevel(isSuperuser ? "SUPERUSER" : "NORMAL");
try { try {
EppInput eppInput; EppInput eppInput;

View file

@ -86,9 +86,9 @@ public class EppMetrics {
String eppStatusCode = String eppStatusCode =
metric.getStatus().isPresent() ? String.valueOf(metric.getStatus().get().code) : ""; metric.getStatus().isPresent() ? String.valueOf(metric.getStatus().get().code) : "";
eppRequestsByRegistrar.increment( eppRequestsByRegistrar.increment(
metric.getCommandName().or(""), metric.getClientId().or(""), eppStatusCode); metric.getCommandName().orElse(""), metric.getClientId().orElse(""), eppStatusCode);
eppRequestsByTld.increment( eppRequestsByTld.increment(
metric.getCommandName().or(""), metric.getTld().or(""), eppStatusCode); metric.getCommandName().orElse(""), metric.getTld().orElse(""), eppStatusCode);
} }
/** Records the server-side processing time for an EPP request. */ /** Records the server-side processing time for an EPP request. */
@ -98,8 +98,14 @@ public class EppMetrics {
long processingTime = long processingTime =
metric.getEndTimestamp().getMillis() - metric.getStartTimestamp().getMillis(); metric.getEndTimestamp().getMillis() - metric.getStartTimestamp().getMillis();
processingTimeByRegistrar.record( processingTimeByRegistrar.record(
processingTime, metric.getCommandName().or(""), metric.getClientId().or(""), eppStatusCode); processingTime,
metric.getCommandName().orElse(""),
metric.getClientId().orElse(""),
eppStatusCode);
processingTimeByTld.record( processingTimeByTld.record(
processingTime, metric.getCommandName().or(""), metric.getTld().or(""), eppStatusCode); processingTime,
metric.getCommandName().orElse(""),
metric.getTld().orElse(""),
eppStatusCode);
} }
} }

View file

@ -17,7 +17,6 @@ package google.registry.flows;
import static com.google.common.base.Preconditions.checkState; import static com.google.common.base.Preconditions.checkState;
import static com.google.common.base.Strings.nullToEmpty; import static com.google.common.base.Strings.nullToEmpty;
import com.google.common.base.Optional;
import com.google.common.base.Strings; import com.google.common.base.Strings;
import dagger.Module; import dagger.Module;
import dagger.Provides; import dagger.Provides;
@ -35,6 +34,7 @@ import google.registry.model.eppoutput.EppResponse;
import google.registry.model.eppoutput.Result; import google.registry.model.eppoutput.Result;
import google.registry.model.reporting.HistoryEntry; import google.registry.model.reporting.HistoryEntry;
import java.lang.annotation.Documented; import java.lang.annotation.Documented;
import java.util.Optional;
import javax.inject.Qualifier; import javax.inject.Qualifier;
/** Module to choose and instantiate an EPP flow. */ /** Module to choose and instantiate an EPP flow. */
@ -194,7 +194,7 @@ public class FlowModule {
@Provides @Provides
@FlowScope @FlowScope
static Optional<AuthInfo> provideOptionalAuthInfo(ResourceCommand resourceCommand) { static Optional<AuthInfo> provideOptionalAuthInfo(ResourceCommand resourceCommand) {
return Optional.fromNullable(((SingleResourceCommand) resourceCommand).getAuthInfo()); return Optional.ofNullable(((SingleResourceCommand) resourceCommand).getAuthInfo());
} }
@Provides @Provides

View file

@ -19,7 +19,6 @@ import static google.registry.xml.XmlTransformer.prettyPrint;
import static java.util.Collections.EMPTY_LIST; import static java.util.Collections.EMPTY_LIST;
import com.google.common.base.Ascii; import com.google.common.base.Ascii;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet; import com.google.common.collect.ImmutableSet;
@ -29,6 +28,7 @@ import google.registry.flows.annotations.ReportingSpec;
import google.registry.model.eppcommon.Trid; import google.registry.model.eppcommon.Trid;
import google.registry.model.eppinput.EppInput; import google.registry.model.eppinput.EppInput;
import google.registry.util.FormattingLogger; import google.registry.util.FormattingLogger;
import java.util.Optional;
import javax.inject.Inject; import javax.inject.Inject;
import org.json.simple.JSONValue; import org.json.simple.JSONValue;
@ -72,7 +72,7 @@ public class FlowReporter {
// Explicitly log flow metadata separately from the EPP XML itself so that it stays compact // Explicitly log flow metadata separately from the EPP XML itself so that it stays compact
// enough to be sure to fit in a single log entry (the XML part in rare cases could be long // enough to be sure to fit in a single log entry (the XML part in rare cases could be long
// enough to overflow into multiple log entries, breaking routine parsing of the JSON format). // enough to overflow into multiple log entries, breaking routine parsing of the JSON format).
String singleTargetId = eppInput.getSingleTargetId().or(""); String singleTargetId = eppInput.getSingleTargetId().orElse("");
ImmutableList<String> targetIds = eppInput.getTargetIds(); ImmutableList<String> targetIds = eppInput.getTargetIds();
logger.infofmt( logger.infofmt(
"%s: %s", "%s: %s",
@ -82,12 +82,12 @@ public class FlowReporter {
.put("serverTrid", trid.getServerTransactionId()) .put("serverTrid", trid.getServerTransactionId())
.put("clientId", clientId) .put("clientId", clientId)
.put("commandType", eppInput.getCommandType()) .put("commandType", eppInput.getCommandType())
.put("resourceType", eppInput.getResourceType().or("")) .put("resourceType", eppInput.getResourceType().orElse(""))
.put("flowClassName", flowClass.getSimpleName()) .put("flowClassName", flowClass.getSimpleName())
.put("targetId", singleTargetId) .put("targetId", singleTargetId)
.put("targetIds", targetIds) .put("targetIds", targetIds)
.put( .put(
"tld", eppInput.isDomainResourceType() ? extractTld(singleTargetId).or("") : "") "tld", eppInput.isDomainResourceType() ? extractTld(singleTargetId).orElse("") : "")
.put( .put(
"tlds", "tlds",
eppInput.isDomainResourceType() ? extractTlds(targetIds).asList() : EMPTY_LIST) eppInput.isDomainResourceType() ? extractTlds(targetIds).asList() : EMPTY_LIST)
@ -108,7 +108,7 @@ public class FlowReporter {
private static final Optional<String> extractTld(String domainName) { private static final Optional<String> extractTld(String domainName) {
int index = domainName.indexOf('.'); int index = domainName.indexOf('.');
return index == -1 return index == -1
? Optional.<String>absent() ? Optional.<String>empty()
: Optional.of(Ascii.toLowerCase(domainName.substring(index + 1))); : Optional.of(Ascii.toLowerCase(domainName.substring(index + 1)));
} }

View file

@ -18,7 +18,7 @@ import static com.google.common.base.MoreObjects.toStringHelper;
import static google.registry.util.CollectionUtils.nullToEmpty; import static google.registry.util.CollectionUtils.nullToEmpty;
import com.google.common.base.Joiner; import com.google.common.base.Joiner;
import com.google.common.base.Optional; import java.util.Optional;
import java.util.Set; import java.util.Set;
import javax.servlet.http.HttpSession; import javax.servlet.http.HttpSession;
@ -53,7 +53,7 @@ public class HttpSessionMetadata implements SessionMetadata {
@Override @Override
public int getFailedLoginAttempts() { public int getFailedLoginAttempts() {
return Optional.fromNullable((Integer) session.getAttribute(FAILED_LOGIN_ATTEMPTS)).or(0); return Optional.ofNullable((Integer) session.getAttribute(FAILED_LOGIN_ATTEMPTS)).orElse(0);
} }
@Override @Override

View file

@ -17,7 +17,6 @@ package google.registry.flows;
import static com.google.common.base.Preconditions.checkArgument; import static com.google.common.base.Preconditions.checkArgument;
import static com.google.common.base.Preconditions.checkNotNull; import static com.google.common.base.Preconditions.checkNotNull;
import static com.google.common.base.Preconditions.checkState; import static com.google.common.base.Preconditions.checkState;
import static com.google.common.collect.Iterables.tryFind;
import static com.google.common.collect.Sets.intersection; import static com.google.common.collect.Sets.intersection;
import static google.registry.model.EppResourceUtils.loadByForeignKey; import static google.registry.model.EppResourceUtils.loadByForeignKey;
import static google.registry.model.EppResourceUtils.queryForLinkedDomains; import static google.registry.model.EppResourceUtils.queryForLinkedDomains;
@ -26,7 +25,6 @@ import static google.registry.model.index.ForeignKeyIndex.loadAndGetKey;
import static google.registry.model.ofy.ObjectifyService.ofy; import static google.registry.model.ofy.ObjectifyService.ofy;
import com.google.common.base.Function; import com.google.common.base.Function;
import com.google.common.base.Optional;
import com.google.common.base.Predicate; import com.google.common.base.Predicate;
import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet; import com.google.common.collect.ImmutableSet;
@ -68,6 +66,7 @@ import google.registry.model.transfer.TransferResponse.ContactTransferResponse;
import google.registry.model.transfer.TransferResponse.DomainTransferResponse; import google.registry.model.transfer.TransferResponse.DomainTransferResponse;
import google.registry.model.transfer.TransferStatus; import google.registry.model.transfer.TransferStatus;
import java.util.List; import java.util.List;
import java.util.Optional;
import java.util.Set; import java.util.Set;
import org.joda.time.DateTime; import org.joda.time.DateTime;
@ -345,7 +344,11 @@ public final class ResourceFlowUtils {
} }
// The roid should match one of the contacts. // The roid should match one of the contacts.
Optional<Key<ContactResource>> foundContact = Optional<Key<ContactResource>> foundContact =
tryFind(domain.getReferencedContacts(), key -> key.getName().equals(authRepoId)); domain
.getReferencedContacts()
.stream()
.filter(key -> key.getName().equals(authRepoId))
.findFirst();
if (!foundContact.isPresent()) { if (!foundContact.isPresent()) {
throw new BadAuthInfoForResourceException(); throw new BadAuthInfoForResourceException();
} }

View file

@ -20,7 +20,6 @@ import static google.registry.request.RequestParameters.extractOptionalHeader;
import static google.registry.request.RequestParameters.extractRequiredHeader; import static google.registry.request.RequestParameters.extractRequiredHeader;
import com.google.common.annotations.VisibleForTesting; import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList;
import com.google.common.net.HostAndPort; import com.google.common.net.HostAndPort;
import com.google.common.net.InetAddresses; import com.google.common.net.InetAddresses;
@ -32,6 +31,7 @@ import google.registry.request.Header;
import google.registry.util.CidrAddressBlock; import google.registry.util.CidrAddressBlock;
import google.registry.util.FormattingLogger; import google.registry.util.FormattingLogger;
import java.net.InetAddress; import java.net.InetAddress;
import java.util.Optional;
import javax.inject.Inject; import javax.inject.Inject;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;

View file

@ -23,7 +23,6 @@ import static google.registry.flows.ResourceFlowUtils.verifyResourceOwnership;
import static google.registry.model.eppoutput.Result.Code.SUCCESS_WITH_ACTION_PENDING; import static google.registry.model.eppoutput.Result.Code.SUCCESS_WITH_ACTION_PENDING;
import static google.registry.model.ofy.ObjectifyService.ofy; import static google.registry.model.ofy.ObjectifyService.ofy;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableSet; import com.google.common.collect.ImmutableSet;
import com.googlecode.objectify.Key; import com.googlecode.objectify.Key;
import google.registry.flows.EppException; import google.registry.flows.EppException;
@ -43,6 +42,7 @@ import google.registry.model.eppcommon.Trid;
import google.registry.model.eppoutput.EppResponse; import google.registry.model.eppoutput.EppResponse;
import google.registry.model.reporting.HistoryEntry; import google.registry.model.reporting.HistoryEntry;
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField; import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
import java.util.Optional;
import javax.inject.Inject; import javax.inject.Inject;
import org.joda.time.DateTime; import org.joda.time.DateTime;

View file

@ -19,7 +19,6 @@ import static google.registry.flows.ResourceFlowUtils.loadAndVerifyExistence;
import static google.registry.flows.ResourceFlowUtils.verifyOptionalAuthInfo; import static google.registry.flows.ResourceFlowUtils.verifyOptionalAuthInfo;
import static google.registry.model.EppResourceUtils.isLinked; import static google.registry.model.EppResourceUtils.isLinked;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableSet; import com.google.common.collect.ImmutableSet;
import com.googlecode.objectify.Key; import com.googlecode.objectify.Key;
import google.registry.flows.EppException; import google.registry.flows.EppException;
@ -35,6 +34,7 @@ import google.registry.model.eppcommon.StatusValue;
import google.registry.model.eppoutput.EppResponse; import google.registry.model.eppoutput.EppResponse;
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField; import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
import google.registry.util.Clock; import google.registry.util.Clock;
import java.util.Optional;
import javax.inject.Inject; import javax.inject.Inject;
import org.joda.time.DateTime; import org.joda.time.DateTime;

View file

@ -24,7 +24,6 @@ import static google.registry.flows.contact.ContactFlowUtils.createGainingTransf
import static google.registry.flows.contact.ContactFlowUtils.createTransferResponse; import static google.registry.flows.contact.ContactFlowUtils.createTransferResponse;
import static google.registry.model.ofy.ObjectifyService.ofy; import static google.registry.model.ofy.ObjectifyService.ofy;
import com.google.common.base.Optional;
import com.googlecode.objectify.Key; import com.googlecode.objectify.Key;
import google.registry.flows.EppException; import google.registry.flows.EppException;
import google.registry.flows.ExtensionManager; import google.registry.flows.ExtensionManager;
@ -41,6 +40,7 @@ import google.registry.model.poll.PollMessage;
import google.registry.model.reporting.HistoryEntry; import google.registry.model.reporting.HistoryEntry;
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField; import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
import google.registry.model.transfer.TransferStatus; import google.registry.model.transfer.TransferStatus;
import java.util.Optional;
import javax.inject.Inject; import javax.inject.Inject;
import org.joda.time.DateTime; import org.joda.time.DateTime;

View file

@ -24,7 +24,6 @@ import static google.registry.flows.contact.ContactFlowUtils.createLosingTransfe
import static google.registry.flows.contact.ContactFlowUtils.createTransferResponse; import static google.registry.flows.contact.ContactFlowUtils.createTransferResponse;
import static google.registry.model.ofy.ObjectifyService.ofy; import static google.registry.model.ofy.ObjectifyService.ofy;
import com.google.common.base.Optional;
import com.googlecode.objectify.Key; import com.googlecode.objectify.Key;
import google.registry.flows.EppException; import google.registry.flows.EppException;
import google.registry.flows.ExtensionManager; import google.registry.flows.ExtensionManager;
@ -41,6 +40,7 @@ import google.registry.model.poll.PollMessage;
import google.registry.model.reporting.HistoryEntry; import google.registry.model.reporting.HistoryEntry;
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField; import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
import google.registry.model.transfer.TransferStatus; import google.registry.model.transfer.TransferStatus;
import java.util.Optional;
import javax.inject.Inject; import javax.inject.Inject;
import org.joda.time.DateTime; import org.joda.time.DateTime;

View file

@ -19,7 +19,6 @@ import static google.registry.flows.ResourceFlowUtils.loadAndVerifyExistence;
import static google.registry.flows.ResourceFlowUtils.verifyOptionalAuthInfo; import static google.registry.flows.ResourceFlowUtils.verifyOptionalAuthInfo;
import static google.registry.flows.contact.ContactFlowUtils.createTransferResponse; import static google.registry.flows.contact.ContactFlowUtils.createTransferResponse;
import com.google.common.base.Optional;
import google.registry.flows.EppException; import google.registry.flows.EppException;
import google.registry.flows.ExtensionManager; import google.registry.flows.ExtensionManager;
import google.registry.flows.Flow; import google.registry.flows.Flow;
@ -33,6 +32,7 @@ import google.registry.model.eppcommon.AuthInfo;
import google.registry.model.eppoutput.EppResponse; import google.registry.model.eppoutput.EppResponse;
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField; import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
import google.registry.util.Clock; import google.registry.util.Clock;
import java.util.Optional;
import javax.inject.Inject; import javax.inject.Inject;
/** /**

View file

@ -24,7 +24,6 @@ import static google.registry.flows.contact.ContactFlowUtils.createGainingTransf
import static google.registry.flows.contact.ContactFlowUtils.createTransferResponse; import static google.registry.flows.contact.ContactFlowUtils.createTransferResponse;
import static google.registry.model.ofy.ObjectifyService.ofy; import static google.registry.model.ofy.ObjectifyService.ofy;
import com.google.common.base.Optional;
import com.googlecode.objectify.Key; import com.googlecode.objectify.Key;
import google.registry.flows.EppException; import google.registry.flows.EppException;
import google.registry.flows.ExtensionManager; import google.registry.flows.ExtensionManager;
@ -40,6 +39,7 @@ import google.registry.model.poll.PollMessage;
import google.registry.model.reporting.HistoryEntry; import google.registry.model.reporting.HistoryEntry;
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField; import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
import google.registry.model.transfer.TransferStatus; import google.registry.model.transfer.TransferStatus;
import java.util.Optional;
import javax.inject.Inject; import javax.inject.Inject;
import org.joda.time.DateTime; import org.joda.time.DateTime;

View file

@ -25,7 +25,6 @@ import static google.registry.flows.contact.ContactFlowUtils.createTransferRespo
import static google.registry.model.eppoutput.Result.Code.SUCCESS_WITH_ACTION_PENDING; import static google.registry.model.eppoutput.Result.Code.SUCCESS_WITH_ACTION_PENDING;
import static google.registry.model.ofy.ObjectifyService.ofy; import static google.registry.model.ofy.ObjectifyService.ofy;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableSet; import com.google.common.collect.ImmutableSet;
import com.googlecode.objectify.Key; import com.googlecode.objectify.Key;
import google.registry.config.RegistryConfig.Config; import google.registry.config.RegistryConfig.Config;
@ -48,6 +47,7 @@ import google.registry.model.reporting.HistoryEntry;
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField; import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
import google.registry.model.transfer.TransferData; import google.registry.model.transfer.TransferData;
import google.registry.model.transfer.TransferStatus; import google.registry.model.transfer.TransferStatus;
import java.util.Optional;
import javax.inject.Inject; import javax.inject.Inject;
import org.joda.time.DateTime; import org.joda.time.DateTime;
import org.joda.time.Duration; import org.joda.time.Duration;

View file

@ -26,7 +26,6 @@ import static google.registry.flows.contact.ContactFlowUtils.validateAsciiPostal
import static google.registry.flows.contact.ContactFlowUtils.validateContactAgainstPolicy; import static google.registry.flows.contact.ContactFlowUtils.validateContactAgainstPolicy;
import static google.registry.model.ofy.ObjectifyService.ofy; import static google.registry.model.ofy.ObjectifyService.ofy;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableSet; import com.google.common.collect.ImmutableSet;
import com.googlecode.objectify.Key; import com.googlecode.objectify.Key;
import google.registry.flows.EppException; import google.registry.flows.EppException;
@ -49,6 +48,7 @@ import google.registry.model.eppinput.ResourceCommand;
import google.registry.model.eppoutput.EppResponse; import google.registry.model.eppoutput.EppResponse;
import google.registry.model.reporting.HistoryEntry; import google.registry.model.reporting.HistoryEntry;
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField; import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
import java.util.Optional;
import javax.annotation.Nullable; import javax.annotation.Nullable;
import javax.inject.Inject; import javax.inject.Inject;
import org.joda.time.DateTime; import org.joda.time.DateTime;

View file

@ -15,7 +15,6 @@
package google.registry.flows.custom; package google.registry.flows.custom;
import com.google.auto.value.AutoValue; import com.google.auto.value.AutoValue;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList;
import com.google.common.net.InternetDomainName; import com.google.common.net.InternetDomainName;
import google.registry.flows.EppException; import google.registry.flows.EppException;
@ -28,6 +27,7 @@ import google.registry.model.eppinput.EppInput;
import google.registry.model.eppoutput.EppResponse.ResponseData; import google.registry.model.eppoutput.EppResponse.ResponseData;
import google.registry.model.eppoutput.EppResponse.ResponseExtension; import google.registry.model.eppoutput.EppResponse.ResponseExtension;
import google.registry.model.reporting.HistoryEntry; import google.registry.model.reporting.HistoryEntry;
import java.util.Optional;
/** /**
* A no-op base class for {@link DomainCreateFlow} custom logic. * A no-op base class for {@link DomainCreateFlow} custom logic.

View file

@ -26,7 +26,6 @@ import static google.registry.flows.domain.DomainFlowUtils.verifyRegistryStateAl
import static google.registry.model.EppResourceUtils.loadDomainApplication; import static google.registry.model.EppResourceUtils.loadDomainApplication;
import static google.registry.model.ofy.ObjectifyService.ofy; import static google.registry.model.ofy.ObjectifyService.ofy;
import com.google.common.base.Optional;
import com.googlecode.objectify.Key; import com.googlecode.objectify.Key;
import google.registry.flows.EppException; import google.registry.flows.EppException;
import google.registry.flows.EppException.StatusProhibitsOperationException; import google.registry.flows.EppException.StatusProhibitsOperationException;
@ -48,6 +47,7 @@ import google.registry.model.registry.Registry;
import google.registry.model.registry.Registry.TldState; import google.registry.model.registry.Registry.TldState;
import google.registry.model.reporting.HistoryEntry; import google.registry.model.reporting.HistoryEntry;
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField; import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
import java.util.Optional;
import javax.inject.Inject; import javax.inject.Inject;
import org.joda.time.DateTime; import org.joda.time.DateTime;

View file

@ -25,7 +25,6 @@ import static google.registry.flows.domain.DomainFlowUtils.loadForeignKeyedDesig
import static google.registry.flows.domain.DomainFlowUtils.verifyApplicationDomainMatchesTargetId; import static google.registry.flows.domain.DomainFlowUtils.verifyApplicationDomainMatchesTargetId;
import static google.registry.model.ofy.ObjectifyService.ofy; import static google.registry.model.ofy.ObjectifyService.ofy;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList;
import com.googlecode.objectify.Key; import com.googlecode.objectify.Key;
import google.registry.flows.EppException; import google.registry.flows.EppException;
@ -52,6 +51,7 @@ import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
import google.registry.model.smd.EncodedSignedMark; import google.registry.model.smd.EncodedSignedMark;
import google.registry.model.smd.SignedMark; import google.registry.model.smd.SignedMark;
import google.registry.util.Clock; import google.registry.util.Clock;
import java.util.Optional;
import javax.inject.Inject; import javax.inject.Inject;
/** /**

View file

@ -44,7 +44,6 @@ import static google.registry.model.EppResourceUtils.loadDomainApplication;
import static google.registry.model.ofy.ObjectifyService.ofy; import static google.registry.model.ofy.ObjectifyService.ofy;
import static google.registry.util.CollectionUtils.nullToEmpty; import static google.registry.util.CollectionUtils.nullToEmpty;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableSet; import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Sets; import com.google.common.collect.Sets;
import com.google.common.net.InternetDomainName; import com.google.common.net.InternetDomainName;
@ -77,6 +76,7 @@ import google.registry.model.eppoutput.EppResponse;
import google.registry.model.registry.Registry; import google.registry.model.registry.Registry;
import google.registry.model.reporting.HistoryEntry; import google.registry.model.reporting.HistoryEntry;
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField; import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
import java.util.Optional;
import javax.inject.Inject; import javax.inject.Inject;
import org.joda.time.DateTime; import org.joda.time.DateTime;

View file

@ -27,7 +27,6 @@ import static google.registry.model.index.DomainApplicationIndex.loadActiveAppli
import static google.registry.model.registry.label.ReservationType.getTypeOfHighestSeverity; import static google.registry.model.registry.label.ReservationType.getTypeOfHighestSeverity;
import static google.registry.pricing.PricingEngineProxy.isDomainPremium; import static google.registry.pricing.PricingEngineProxy.isDomainPremium;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet; import com.google.common.collect.ImmutableSet;
@ -63,6 +62,7 @@ import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
import google.registry.util.Clock; import google.registry.util.Clock;
import java.util.HashSet; import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Optional;
import java.util.Set; import java.util.Set;
import javax.inject.Inject; import javax.inject.Inject;
import org.joda.time.DateTime; import org.joda.time.DateTime;
@ -151,7 +151,7 @@ public final class DomainCheckFlow implements Flow {
ImmutableList.Builder<DomainCheck> checks = new ImmutableList.Builder<>(); ImmutableList.Builder<DomainCheck> checks = new ImmutableList.Builder<>();
for (String targetId : targetIds) { for (String targetId : targetIds) {
Optional<String> message = getMessageForCheck(domainNames.get(targetId), existingIds, now); Optional<String> message = getMessageForCheck(domainNames.get(targetId), existingIds, now);
checks.add(DomainCheck.create(!message.isPresent(), targetId, message.orNull())); checks.add(DomainCheck.create(!message.isPresent(), targetId, message.orElse(null)));
} }
BeforeResponseReturnData responseData = BeforeResponseReturnData responseData =
customLogic.beforeResponse( customLogic.beforeResponse(
@ -187,7 +187,7 @@ public final class DomainCheckFlow implements Flow {
} }
return reservationTypes.isEmpty() return reservationTypes.isEmpty()
? Optional.<String>absent() ? Optional.<String>empty()
: Optional.of(getTypeOfHighestSeverity(reservationTypes).getMessageForCheck()); : Optional.of(getTypeOfHighestSeverity(reservationTypes).getMessageForCheck());
} }

View file

@ -46,7 +46,6 @@ import static google.registry.model.registry.label.ReservedList.matchesAnchorTen
import static google.registry.util.DateTimeUtils.END_OF_TIME; import static google.registry.util.DateTimeUtils.END_OF_TIME;
import static google.registry.util.DateTimeUtils.leapSafeAddYears; import static google.registry.util.DateTimeUtils.leapSafeAddYears;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet; import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Sets; import com.google.common.collect.Sets;
@ -105,6 +104,7 @@ import google.registry.model.reporting.DomainTransactionRecord.TransactionReport
import google.registry.model.reporting.HistoryEntry; import google.registry.model.reporting.HistoryEntry;
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField; import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
import google.registry.tmch.LordnTask; import google.registry.tmch.LordnTask;
import java.util.Optional;
import javax.inject.Inject; import javax.inject.Inject;
import org.joda.time.DateTime; import org.joda.time.DateTime;
import org.joda.time.Duration; import org.joda.time.Duration;
@ -255,7 +255,7 @@ public class DomainCreateFlow implements TransactionalFlow {
DomainCreateFlowCustomLogic.AfterValidationParameters.newBuilder() DomainCreateFlowCustomLogic.AfterValidationParameters.newBuilder()
.setDomainName(domainName) .setDomainName(domainName)
.setYears(years) .setYears(years)
.setSignedMarkId(Optional.fromNullable(signedMarkId)) .setSignedMarkId(Optional.ofNullable(signedMarkId))
.build()); .build());
FeeCreateCommandExtension feeCreate = FeeCreateCommandExtension feeCreate =
eppInput.getSingleExtension(FeeCreateCommandExtension.class); eppInput.getSingleExtension(FeeCreateCommandExtension.class);

View file

@ -37,7 +37,6 @@ import static google.registry.pricing.PricingEngineProxy.getDomainRenewCost;
import static google.registry.util.CollectionUtils.nullToEmpty; import static google.registry.util.CollectionUtils.nullToEmpty;
import static google.registry.util.CollectionUtils.union; import static google.registry.util.CollectionUtils.union;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet; import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Sets; import com.google.common.collect.Sets;
@ -90,6 +89,7 @@ import google.registry.model.reporting.HistoryEntry;
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField; import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
import google.registry.model.transfer.TransferStatus; import google.registry.model.transfer.TransferStatus;
import java.util.Collections; import java.util.Collections;
import java.util.Optional;
import java.util.Set; import java.util.Set;
import javax.annotation.Nullable; import javax.annotation.Nullable;
import javax.inject.Inject; import javax.inject.Inject;

View file

@ -40,7 +40,6 @@ import static google.registry.util.DomainNameUtils.ACE_PREFIX;
import com.google.common.base.CharMatcher; import com.google.common.base.CharMatcher;
import com.google.common.base.Joiner; import com.google.common.base.Joiner;
import com.google.common.base.Optional;
import com.google.common.base.Splitter; import com.google.common.base.Splitter;
import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableMap;
@ -115,6 +114,7 @@ import java.math.BigDecimal;
import java.util.HashSet; import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
import java.util.Optional;
import java.util.Set; import java.util.Set;
import javax.annotation.Nullable; import javax.annotation.Nullable;
import org.joda.money.CurrencyUnit; import org.joda.money.CurrencyUnit;
@ -490,7 +490,7 @@ public class DomainFlowUtils {
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
static void updateAutorenewRecurrenceEndTime(DomainResource domain, DateTime newEndTime) { static void updateAutorenewRecurrenceEndTime(DomainResource domain, DateTime newEndTime) {
Optional<PollMessage.Autorenew> autorenewPollMessage = Optional<PollMessage.Autorenew> autorenewPollMessage =
Optional.fromNullable(ofy().load().key(domain.getAutorenewPollMessage()).now()); Optional.ofNullable(ofy().load().key(domain.getAutorenewPollMessage()).now());
// Construct an updated autorenew poll message. If the autorenew poll message no longer exists, // Construct an updated autorenew poll message. If the autorenew poll message no longer exists,
// create a new one at the same id. This can happen if a transfer was requested on a domain // create a new one at the same id. This can happen if a transfer was requested on a domain
@ -557,7 +557,7 @@ public class DomainFlowUtils {
.setCommand(feeRequest.getCommandName(), feeRequest.getPhase(), feeRequest.getSubphase()) .setCommand(feeRequest.getCommandName(), feeRequest.getPhase(), feeRequest.getSubphase())
.setCurrencyIfSupported(registry.getCurrency()) .setCurrencyIfSupported(registry.getCurrency())
.setPeriod(feeRequest.getPeriod()) .setPeriod(feeRequest.getPeriod())
.setClass(pricingLogic.getFeeClass(domainNameString, now).orNull()); .setClass(pricingLogic.getFeeClass(domainNameString, now).orElse(null));
ImmutableList<Fee> fees = ImmutableList.of(); ImmutableList<Fee> fees = ImmutableList.of();
switch (feeRequest.getCommandName()) { switch (feeRequest.getCommandName()) {
@ -939,7 +939,6 @@ public class DomainFlowUtils {
.order("modificationTime") .order("modificationTime")
.list(); .list();
Optional<HistoryEntry> entryToCancel = Optional<HistoryEntry> entryToCancel =
Optional.fromJavaUtil(
Streams.findLast( Streams.findLast(
recentHistoryEntries recentHistoryEntries
.stream() .stream()
@ -954,7 +953,7 @@ public class DomainFlowUtils {
} }
} }
return false; return false;
}))); }));
ImmutableSet.Builder<DomainTransactionRecord> recordsBuilder = new ImmutableSet.Builder<>(); ImmutableSet.Builder<DomainTransactionRecord> recordsBuilder = new ImmutableSet.Builder<>();
if (entryToCancel.isPresent()) { if (entryToCancel.isPresent()) {
for (DomainTransactionRecord record : entryToCancel.get().getDomainTransactionRecords()) { for (DomainTransactionRecord record : entryToCancel.get().getDomainTransactionRecords()) {

View file

@ -24,7 +24,6 @@ import static google.registry.flows.domain.DomainFlowUtils.loadForeignKeyedDesig
import static google.registry.model.EppResourceUtils.loadByForeignKey; import static google.registry.model.EppResourceUtils.loadByForeignKey;
import static google.registry.model.ofy.ObjectifyService.ofy; import static google.registry.model.ofy.ObjectifyService.ofy;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet; import com.google.common.collect.ImmutableSet;
import com.google.common.net.InternetDomainName; import com.google.common.net.InternetDomainName;
@ -53,6 +52,7 @@ import google.registry.model.eppoutput.EppResponse;
import google.registry.model.eppoutput.EppResponse.ResponseExtension; import google.registry.model.eppoutput.EppResponse.ResponseExtension;
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField; import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
import google.registry.util.Clock; import google.registry.util.Clock;
import java.util.Optional;
import javax.inject.Inject; import javax.inject.Inject;
import org.joda.time.DateTime; import org.joda.time.DateTime;

View file

@ -19,7 +19,6 @@ import static google.registry.pricing.PricingEngineProxy.getDomainCreateCost;
import static google.registry.pricing.PricingEngineProxy.getDomainFeeClass; import static google.registry.pricing.PricingEngineProxy.getDomainFeeClass;
import static google.registry.pricing.PricingEngineProxy.getDomainRenewCost; import static google.registry.pricing.PricingEngineProxy.getDomainRenewCost;
import com.google.common.base.Optional;
import com.google.common.net.InternetDomainName; import com.google.common.net.InternetDomainName;
import com.googlecode.objectify.Key; import com.googlecode.objectify.Key;
import google.registry.flows.EppException; import google.registry.flows.EppException;
@ -37,6 +36,7 @@ import google.registry.model.domain.fee.BaseFee;
import google.registry.model.domain.fee.BaseFee.FeeType; import google.registry.model.domain.fee.BaseFee.FeeType;
import google.registry.model.domain.fee.Fee; import google.registry.model.domain.fee.Fee;
import google.registry.model.registry.Registry; import google.registry.model.registry.Registry;
import java.util.Optional;
import javax.inject.Inject; import javax.inject.Inject;
import org.joda.money.CurrencyUnit; import org.joda.money.CurrencyUnit;
import org.joda.money.Money; import org.joda.money.Money;
@ -210,6 +210,6 @@ public final class DomainPricingLogic {
return Optional.of(token); return Optional.of(token);
} }
} }
return Optional.<LrpTokenEntity>absent(); return Optional.<LrpTokenEntity>empty();
} }
} }

View file

@ -30,7 +30,6 @@ import static google.registry.flows.domain.DomainFlowUtils.verifyUnitIsYears;
import static google.registry.model.ofy.ObjectifyService.ofy; import static google.registry.model.ofy.ObjectifyService.ofy;
import static google.registry.util.DateTimeUtils.leapSafeAddYears; import static google.registry.util.DateTimeUtils.leapSafeAddYears;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet; import com.google.common.collect.ImmutableSet;
import com.googlecode.objectify.Key; import com.googlecode.objectify.Key;
@ -74,6 +73,7 @@ import google.registry.model.reporting.DomainTransactionRecord;
import google.registry.model.reporting.DomainTransactionRecord.TransactionReportField; import google.registry.model.reporting.DomainTransactionRecord.TransactionReportField;
import google.registry.model.reporting.HistoryEntry; import google.registry.model.reporting.HistoryEntry;
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField; import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
import java.util.Optional;
import javax.inject.Inject; import javax.inject.Inject;
import org.joda.money.Money; import org.joda.money.Money;
import org.joda.time.DateTime; import org.joda.time.DateTime;

View file

@ -28,7 +28,6 @@ import static google.registry.flows.domain.DomainFlowUtils.verifyPremiumNameIsNo
import static google.registry.model.ofy.ObjectifyService.ofy; import static google.registry.model.ofy.ObjectifyService.ofy;
import static google.registry.util.DateTimeUtils.END_OF_TIME; import static google.registry.util.DateTimeUtils.END_OF_TIME;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet; import com.google.common.collect.ImmutableSet;
import com.google.common.net.InternetDomainName; import com.google.common.net.InternetDomainName;
@ -67,6 +66,7 @@ import google.registry.model.reporting.DomainTransactionRecord;
import google.registry.model.reporting.DomainTransactionRecord.TransactionReportField; import google.registry.model.reporting.DomainTransactionRecord.TransactionReportField;
import google.registry.model.reporting.HistoryEntry; import google.registry.model.reporting.HistoryEntry;
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField; import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
import java.util.Optional;
import javax.inject.Inject; import javax.inject.Inject;
import org.joda.money.Money; import org.joda.money.Money;
import org.joda.time.DateTime; import org.joda.time.DateTime;

View file

@ -33,7 +33,6 @@ import static google.registry.pricing.PricingEngineProxy.getDomainRenewCost;
import static google.registry.util.CollectionUtils.union; import static google.registry.util.CollectionUtils.union;
import static google.registry.util.DateTimeUtils.END_OF_TIME; import static google.registry.util.DateTimeUtils.END_OF_TIME;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableSet; import com.google.common.collect.ImmutableSet;
import com.googlecode.objectify.Key; import com.googlecode.objectify.Key;
import google.registry.flows.EppException; import google.registry.flows.EppException;
@ -60,6 +59,7 @@ import google.registry.model.reporting.HistoryEntry;
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField; import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
import google.registry.model.transfer.TransferData; import google.registry.model.transfer.TransferData;
import google.registry.model.transfer.TransferStatus; import google.registry.model.transfer.TransferStatus;
import java.util.Optional;
import javax.inject.Inject; import javax.inject.Inject;
import org.joda.time.DateTime; import org.joda.time.DateTime;
@ -119,7 +119,7 @@ public final class DomainTransferApproveFlow implements TransactionalFlow {
// the transfer period to zero. There is not a transfer cost if the transfer period is zero. // the transfer period to zero. There is not a transfer cost if the transfer period is zero.
Optional<BillingEvent.OneTime> billingEvent = Optional<BillingEvent.OneTime> billingEvent =
(transferData.getTransferPeriod().getValue() == 0) (transferData.getTransferPeriod().getValue() == 0)
? Optional.<BillingEvent.OneTime>absent() ? Optional.<BillingEvent.OneTime>empty()
: Optional.of( : Optional.of(
new BillingEvent.OneTime.Builder() new BillingEvent.OneTime.Builder()
.setReason(Reason.TRANSFER) .setReason(Reason.TRANSFER)

View file

@ -29,7 +29,6 @@ import static google.registry.model.ofy.ObjectifyService.ofy;
import static google.registry.model.reporting.DomainTransactionRecord.TransactionReportField.TRANSFER_SUCCESSFUL; import static google.registry.model.reporting.DomainTransactionRecord.TransactionReportField.TRANSFER_SUCCESSFUL;
import static google.registry.util.DateTimeUtils.END_OF_TIME; import static google.registry.util.DateTimeUtils.END_OF_TIME;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableSet; import com.google.common.collect.ImmutableSet;
import com.googlecode.objectify.Key; import com.googlecode.objectify.Key;
import google.registry.flows.EppException; import google.registry.flows.EppException;
@ -49,6 +48,7 @@ import google.registry.model.reporting.DomainTransactionRecord;
import google.registry.model.reporting.HistoryEntry; import google.registry.model.reporting.HistoryEntry;
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField; import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
import google.registry.model.transfer.TransferStatus; import google.registry.model.transfer.TransferStatus;
import java.util.Optional;
import javax.inject.Inject; import javax.inject.Inject;
import org.joda.time.DateTime; import org.joda.time.DateTime;

View file

@ -20,7 +20,6 @@ import static google.registry.flows.ResourceFlowUtils.verifyOptionalAuthInfo;
import static google.registry.flows.domain.DomainTransferUtils.createTransferResponse; import static google.registry.flows.domain.DomainTransferUtils.createTransferResponse;
import static google.registry.model.domain.DomainResource.extendRegistrationWithCap; import static google.registry.model.domain.DomainResource.extendRegistrationWithCap;
import com.google.common.base.Optional;
import google.registry.flows.EppException; import google.registry.flows.EppException;
import google.registry.flows.ExtensionManager; import google.registry.flows.ExtensionManager;
import google.registry.flows.Flow; import google.registry.flows.Flow;
@ -36,6 +35,7 @@ import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
import google.registry.model.transfer.TransferData; import google.registry.model.transfer.TransferData;
import google.registry.model.transfer.TransferStatus; import google.registry.model.transfer.TransferStatus;
import google.registry.util.Clock; import google.registry.util.Clock;
import java.util.Optional;
import javax.inject.Inject; import javax.inject.Inject;
import org.joda.time.DateTime; import org.joda.time.DateTime;

View file

@ -31,7 +31,6 @@ import static google.registry.model.reporting.DomainTransactionRecord.Transactio
import static google.registry.util.CollectionUtils.union; import static google.registry.util.CollectionUtils.union;
import static google.registry.util.DateTimeUtils.END_OF_TIME; import static google.registry.util.DateTimeUtils.END_OF_TIME;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableSet; import com.google.common.collect.ImmutableSet;
import com.googlecode.objectify.Key; import com.googlecode.objectify.Key;
import google.registry.flows.EppException; import google.registry.flows.EppException;
@ -51,6 +50,7 @@ import google.registry.model.reporting.DomainTransactionRecord;
import google.registry.model.reporting.HistoryEntry; import google.registry.model.reporting.HistoryEntry;
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField; import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
import google.registry.model.transfer.TransferStatus; import google.registry.model.transfer.TransferStatus;
import java.util.Optional;
import javax.inject.Inject; import javax.inject.Inject;
import org.joda.time.DateTime; import org.joda.time.DateTime;

View file

@ -32,7 +32,6 @@ import static google.registry.model.domain.DomainResource.extendRegistrationWith
import static google.registry.model.eppoutput.Result.Code.SUCCESS_WITH_ACTION_PENDING; import static google.registry.model.eppoutput.Result.Code.SUCCESS_WITH_ACTION_PENDING;
import static google.registry.model.ofy.ObjectifyService.ofy; import static google.registry.model.ofy.ObjectifyService.ofy;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet; import com.google.common.collect.ImmutableSet;
import com.googlecode.objectify.Key; import com.googlecode.objectify.Key;
@ -72,6 +71,7 @@ import google.registry.model.transfer.TransferData;
import google.registry.model.transfer.TransferData.TransferServerApproveEntity; import google.registry.model.transfer.TransferData.TransferServerApproveEntity;
import google.registry.model.transfer.TransferResponse.DomainTransferResponse; import google.registry.model.transfer.TransferResponse.DomainTransferResponse;
import google.registry.model.transfer.TransferStatus; import google.registry.model.transfer.TransferStatus;
import java.util.Optional;
import javax.inject.Inject; import javax.inject.Inject;
import org.joda.money.Money; import org.joda.money.Money;
import org.joda.time.DateTime; import org.joda.time.DateTime;
@ -160,7 +160,7 @@ public final class DomainTransferRequestFlow implements TransactionalFlow {
// If the period is zero, then there is no fee for the transfer. // If the period is zero, then there is no fee for the transfer.
Optional<FeesAndCredits> feesAndCredits = Optional<FeesAndCredits> feesAndCredits =
(period.getValue() == 0) (period.getValue() == 0)
? Optional.<FeesAndCredits>absent() ? Optional.<FeesAndCredits>empty()
: Optional.of(pricingLogic.getTransferPrice(registry, targetId, now)); : Optional.of(pricingLogic.getTransferPrice(registry, targetId, now));
if (feesAndCredits.isPresent()) { if (feesAndCredits.isPresent()) {
validateFeeChallenge(targetId, tld, now, feeTransfer, feesAndCredits.get()); validateFeeChallenge(targetId, tld, now, feeTransfer, feesAndCredits.get());
@ -200,7 +200,7 @@ public final class DomainTransferRequestFlow implements TransactionalFlow {
gainingClientId, gainingClientId,
(feesAndCredits.isPresent()) (feesAndCredits.isPresent())
? Optional.of(feesAndCredits.get().getTotalCost()) ? Optional.of(feesAndCredits.get().getTotalCost())
: Optional.<Money>absent(), : Optional.<Money>empty(),
now); now);
// Create the transfer data that represents the pending transfer. // Create the transfer data that represents the pending transfer.
TransferData pendingTransferData = TransferData pendingTransferData =

View file

@ -18,7 +18,6 @@ import static com.google.common.collect.Iterables.getOnlyElement;
import static com.google.common.collect.MoreCollectors.onlyElement; import static com.google.common.collect.MoreCollectors.onlyElement;
import static google.registry.util.DateTimeUtils.END_OF_TIME; import static google.registry.util.DateTimeUtils.END_OF_TIME;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet; import com.google.common.collect.ImmutableSet;
import com.googlecode.objectify.Key; import com.googlecode.objectify.Key;
@ -38,6 +37,7 @@ import google.registry.model.transfer.TransferData;
import google.registry.model.transfer.TransferData.TransferServerApproveEntity; import google.registry.model.transfer.TransferData.TransferServerApproveEntity;
import google.registry.model.transfer.TransferResponse.DomainTransferResponse; import google.registry.model.transfer.TransferResponse.DomainTransferResponse;
import google.registry.model.transfer.TransferStatus; import google.registry.model.transfer.TransferStatus;
import java.util.Optional;
import javax.annotation.Nullable; import javax.annotation.Nullable;
import org.joda.money.Money; import org.joda.money.Money;
import org.joda.time.DateTime; import org.joda.time.DateTime;
@ -135,11 +135,10 @@ public final class DomainTransferUtils {
registry, registry,
transferCost.get())); transferCost.get()));
} }
return builder
.addAll(
createOptionalAutorenewCancellation( createOptionalAutorenewCancellation(
automaticTransferTime, historyEntry, targetId, existingDomain, transferCost) automaticTransferTime, historyEntry, targetId, existingDomain, transferCost)
.asSet()) .ifPresent(builder::add);
return builder
.add( .add(
createGainingClientAutorenewEvent( createGainingClientAutorenewEvent(
serverApproveNewExpirationTime, historyEntry, targetId, gainingClientId)) serverApproveNewExpirationTime, historyEntry, targetId, gainingClientId))
@ -273,7 +272,7 @@ public final class DomainTransferUtils {
.setEventTime(automaticTransferTime) .setEventTime(automaticTransferTime)
.build()); .build());
} }
return Optional.absent(); return Optional.empty();
} }
private static BillingEvent.OneTime createTransferBillingEvent( private static BillingEvent.OneTime createTransferBillingEvent(

View file

@ -44,7 +44,6 @@ import static google.registry.model.ofy.ObjectifyService.ofy;
import static google.registry.util.CollectionUtils.nullToEmpty; import static google.registry.util.CollectionUtils.nullToEmpty;
import static google.registry.util.DateTimeUtils.earliestOf; import static google.registry.util.DateTimeUtils.earliestOf;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableSet; import com.google.common.collect.ImmutableSet;
import com.google.common.net.InternetDomainName; import com.google.common.net.InternetDomainName;
import com.googlecode.objectify.Key; import com.googlecode.objectify.Key;
@ -82,6 +81,7 @@ import google.registry.model.eppoutput.EppResponse;
import google.registry.model.registry.Registry; import google.registry.model.registry.Registry;
import google.registry.model.reporting.HistoryEntry; import google.registry.model.reporting.HistoryEntry;
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField; import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
import java.util.Optional;
import javax.inject.Inject; import javax.inject.Inject;
import org.joda.time.DateTime; import org.joda.time.DateTime;
@ -371,6 +371,6 @@ public final class DomainUpdateFlow implements TransactionalFlow {
} }
} }
} }
return Optional.absent(); return Optional.empty();
} }
} }

View file

@ -25,7 +25,6 @@ import static google.registry.model.ofy.ObjectifyService.ofy;
import static google.registry.util.CollectionUtils.isNullOrEmpty; import static google.registry.util.CollectionUtils.isNullOrEmpty;
import static google.registry.util.CollectionUtils.union; import static google.registry.util.CollectionUtils.union;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableSet; import com.google.common.collect.ImmutableSet;
import com.googlecode.objectify.Key; import com.googlecode.objectify.Key;
import google.registry.config.RegistryConfig.Config; import google.registry.config.RegistryConfig.Config;
@ -52,6 +51,7 @@ import google.registry.model.index.ForeignKeyIndex;
import google.registry.model.ofy.ObjectifyService; import google.registry.model.ofy.ObjectifyService;
import google.registry.model.reporting.HistoryEntry; import google.registry.model.reporting.HistoryEntry;
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField; import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
import java.util.Optional;
import javax.inject.Inject; import javax.inject.Inject;
import org.joda.time.DateTime; import org.joda.time.DateTime;
@ -103,8 +103,8 @@ public final class HostCreateFlow implements TransactionalFlow {
// we can detect error conditions earlier. // we can detect error conditions earlier.
Optional<DomainResource> superordinateDomain = Optional<DomainResource> superordinateDomain =
lookupSuperordinateDomain(validateHostName(targetId), now); lookupSuperordinateDomain(validateHostName(targetId), now);
verifySuperordinateDomainNotInPendingDelete(superordinateDomain.orNull()); verifySuperordinateDomainNotInPendingDelete(superordinateDomain.orElse(null));
verifySuperordinateDomainOwnership(clientId, superordinateDomain.orNull()); verifySuperordinateDomainOwnership(clientId, superordinateDomain.orElse(null));
boolean willBeSubordinate = superordinateDomain.isPresent(); boolean willBeSubordinate = superordinateDomain.isPresent();
boolean hasIpAddresses = !isNullOrEmpty(command.getInetAddresses()); boolean hasIpAddresses = !isNullOrEmpty(command.getInetAddresses());
if (willBeSubordinate != hasIpAddresses) { if (willBeSubordinate != hasIpAddresses) {

View file

@ -21,7 +21,6 @@ import static google.registry.util.PreconditionsUtils.checkArgumentNotNull;
import static java.util.stream.Collectors.joining; import static java.util.stream.Collectors.joining;
import com.google.common.base.Ascii; import com.google.common.base.Ascii;
import com.google.common.base.Optional;
import com.google.common.net.InternetDomainName; import com.google.common.net.InternetDomainName;
import google.registry.flows.EppException; import google.registry.flows.EppException;
import google.registry.flows.EppException.AuthorizationErrorException; import google.registry.flows.EppException.AuthorizationErrorException;
@ -33,6 +32,7 @@ import google.registry.flows.EppException.StatusProhibitsOperationException;
import google.registry.model.domain.DomainResource; import google.registry.model.domain.DomainResource;
import google.registry.model.eppcommon.StatusValue; import google.registry.model.eppcommon.StatusValue;
import google.registry.util.Idn; import google.registry.util.Idn;
import java.util.Optional;
import org.joda.time.DateTime; import org.joda.time.DateTime;
/** Static utility functions for host flows. */ /** Static utility functions for host flows. */
@ -94,7 +94,7 @@ public class HostFlowUtils {
Optional<InternetDomainName> tld = findTldForName(hostName); Optional<InternetDomainName> tld = findTldForName(hostName);
if (!tld.isPresent()) { if (!tld.isPresent()) {
// This is an host on a TLD we don't run, therefore obviously external, so we are done. // This is an host on a TLD we don't run, therefore obviously external, so we are done.
return Optional.absent(); return Optional.empty();
} }
// This is a subordinate host // This is a subordinate host
String domainName = String domainName =

View file

@ -30,7 +30,6 @@ import static google.registry.model.index.ForeignKeyIndex.loadAndGetKey;
import static google.registry.model.ofy.ObjectifyService.ofy; import static google.registry.model.ofy.ObjectifyService.ofy;
import static google.registry.util.CollectionUtils.isNullOrEmpty; import static google.registry.util.CollectionUtils.isNullOrEmpty;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableSet; import com.google.common.collect.ImmutableSet;
import com.googlecode.objectify.Key; import com.googlecode.objectify.Key;
import google.registry.dns.DnsQueue; import google.registry.dns.DnsQueue;
@ -61,6 +60,7 @@ import google.registry.model.index.ForeignKeyIndex;
import google.registry.model.reporting.HistoryEntry; import google.registry.model.reporting.HistoryEntry;
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField; import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
import java.util.Objects; import java.util.Objects;
import java.util.Optional;
import javax.inject.Inject; import javax.inject.Inject;
import org.joda.time.DateTime; import org.joda.time.DateTime;
@ -141,10 +141,10 @@ public final class HostUpdateFlow implements TransactionalFlow {
// Note that lookupSuperordinateDomain calls cloneProjectedAtTime on the domain for us. // Note that lookupSuperordinateDomain calls cloneProjectedAtTime on the domain for us.
Optional<DomainResource> newSuperordinateDomain = Optional<DomainResource> newSuperordinateDomain =
lookupSuperordinateDomain(validateHostName(newHostName), now); lookupSuperordinateDomain(validateHostName(newHostName), now);
verifySuperordinateDomainNotInPendingDelete(newSuperordinateDomain.orNull()); verifySuperordinateDomainNotInPendingDelete(newSuperordinateDomain.orElse(null));
EppResource owningResource = firstNonNull(oldSuperordinateDomain, existingHost); EppResource owningResource = firstNonNull(oldSuperordinateDomain, existingHost);
verifyUpdateAllowed( verifyUpdateAllowed(
command, existingHost, newSuperordinateDomain.orNull(), owningResource, isHostRename); command, existingHost, newSuperordinateDomain.orElse(null), owningResource, isHostRename);
if (isHostRename && loadAndGetKey(HostResource.class, newHostName, now) != null) { if (isHostRename && loadAndGetKey(HostResource.class, newHostName, now) != null) {
throw new HostAlreadyExistsException(newHostName); throw new HostAlreadyExistsException(newHostName);
} }

View file

@ -17,7 +17,6 @@ package google.registry.flows.session;
import static com.google.common.collect.Sets.difference; import static com.google.common.collect.Sets.difference;
import static google.registry.util.CollectionUtils.nullToEmpty; import static google.registry.util.CollectionUtils.nullToEmpty;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableSet; import com.google.common.collect.ImmutableSet;
import google.registry.flows.EppException; import google.registry.flows.EppException;
import google.registry.flows.EppException.AuthenticationErrorClosingConnectionException; import google.registry.flows.EppException.AuthenticationErrorClosingConnectionException;
@ -42,6 +41,7 @@ import google.registry.model.eppinput.EppInput.Services;
import google.registry.model.eppoutput.EppResponse; import google.registry.model.eppoutput.EppResponse;
import google.registry.model.registrar.Registrar; import google.registry.model.registrar.Registrar;
import google.registry.util.FormattingLogger; import google.registry.util.FormattingLogger;
import java.util.Optional;
import java.util.Set; import java.util.Set;
import javax.inject.Inject; import javax.inject.Inject;

View file

@ -16,10 +16,10 @@ package google.registry.keyring.api;
import static com.google.common.base.Strings.emptyToNull; import static com.google.common.base.Strings.emptyToNull;
import com.google.common.base.Optional;
import dagger.Module; import dagger.Module;
import dagger.Provides; import dagger.Provides;
import java.lang.annotation.Documented; import java.lang.annotation.Documented;
import java.util.Optional;
import javax.inject.Qualifier; import javax.inject.Qualifier;
import org.bouncycastle.openpgp.PGPKeyPair; import org.bouncycastle.openpgp.PGPKeyPair;
import org.bouncycastle.openpgp.PGPPrivateKey; import org.bouncycastle.openpgp.PGPPrivateKey;
@ -57,19 +57,19 @@ public final class KeyModule {
@Provides @Provides
@Key("marksdbDnlLogin") @Key("marksdbDnlLogin")
static Optional<String> provideMarksdbDnlLogin(Keyring keyring) { static Optional<String> provideMarksdbDnlLogin(Keyring keyring) {
return Optional.fromNullable(emptyToNull(keyring.getMarksdbDnlLogin())); return Optional.ofNullable(emptyToNull(keyring.getMarksdbDnlLogin()));
} }
@Provides @Provides
@Key("marksdbLordnPassword") @Key("marksdbLordnPassword")
static Optional<String> provideMarksdbLordnPassword(Keyring keyring) { static Optional<String> provideMarksdbLordnPassword(Keyring keyring) {
return Optional.fromNullable(emptyToNull(keyring.getMarksdbLordnPassword())); return Optional.ofNullable(emptyToNull(keyring.getMarksdbLordnPassword()));
} }
@Provides @Provides
@Key("marksdbSmdrlLogin") @Key("marksdbSmdrlLogin")
static Optional<String> provideMarksdbSmdrlLogin(Keyring keyring) { static Optional<String> provideMarksdbSmdrlLogin(Keyring keyring) {
return Optional.fromNullable(emptyToNull(keyring.getMarksdbSmdrlLogin())); return Optional.ofNullable(emptyToNull(keyring.getMarksdbSmdrlLogin()));
} }
@Provides @Provides

View file

@ -22,10 +22,10 @@ import static org.bouncycastle.bcpg.PublicKeyAlgorithmTags.ELGAMAL_GENERAL;
import static org.bouncycastle.bcpg.PublicKeyAlgorithmTags.RSA_GENERAL; import static org.bouncycastle.bcpg.PublicKeyAlgorithmTags.RSA_GENERAL;
import static org.bouncycastle.bcpg.PublicKeyAlgorithmTags.RSA_SIGN; import static org.bouncycastle.bcpg.PublicKeyAlgorithmTags.RSA_SIGN;
import com.google.common.base.Optional;
import com.google.common.base.VerifyException; import com.google.common.base.VerifyException;
import java.io.IOException; import java.io.IOException;
import java.util.Iterator; import java.util.Iterator;
import java.util.Optional;
import org.bouncycastle.openpgp.PGPException; import org.bouncycastle.openpgp.PGPException;
import org.bouncycastle.openpgp.PGPKeyPair; import org.bouncycastle.openpgp.PGPKeyPair;
import org.bouncycastle.openpgp.PGPPrivateKey; import org.bouncycastle.openpgp.PGPPrivateKey;
@ -156,7 +156,7 @@ public final class PgpHelper {
throw new AssertionError(); throw new AssertionError();
} }
} }
return Optional.absent(); return Optional.empty();
} }
/** Returns {@code true} if this key can be used for signing. */ /** Returns {@code true} if this key can be used for signing. */

View file

@ -43,73 +43,73 @@ public final class LoadTestModule {
@Parameter("delaySeconds") @Parameter("delaySeconds")
static int provideDelaySeconds(HttpServletRequest req) { static int provideDelaySeconds(HttpServletRequest req) {
return extractOptionalIntParameter(req, "delaySeconds") return extractOptionalIntParameter(req, "delaySeconds")
.or(Minutes.ONE.toStandardSeconds().getSeconds()); .orElse(Minutes.ONE.toStandardSeconds().getSeconds());
} }
@Provides @Provides
@Parameter("runSeconds") @Parameter("runSeconds")
static int provideRunSeconds(HttpServletRequest req) { static int provideRunSeconds(HttpServletRequest req) {
return extractOptionalIntParameter(req, "runSeconds") return extractOptionalIntParameter(req, "runSeconds")
.or(Minutes.ONE.toStandardSeconds().getSeconds()); .orElse(Minutes.ONE.toStandardSeconds().getSeconds());
} }
@Provides @Provides
@Parameter("successfulDomainCreates") @Parameter("successfulDomainCreates")
static int provideSuccessfulDomainCreates(HttpServletRequest req) { static int provideSuccessfulDomainCreates(HttpServletRequest req) {
return extractOptionalIntParameter(req, "successfulDomainCreates").or(0); return extractOptionalIntParameter(req, "successfulDomainCreates").orElse(0);
} }
@Provides @Provides
@Parameter("failedDomainCreates") @Parameter("failedDomainCreates")
static int provideFailedDomainCreates(HttpServletRequest req) { static int provideFailedDomainCreates(HttpServletRequest req) {
return extractOptionalIntParameter(req, "failedDomainCreates").or(0); return extractOptionalIntParameter(req, "failedDomainCreates").orElse(0);
} }
@Provides @Provides
@Parameter("domainInfos") @Parameter("domainInfos")
static int provideDomainInfos(HttpServletRequest req) { static int provideDomainInfos(HttpServletRequest req) {
return extractOptionalIntParameter(req, "domainInfos").or(0); return extractOptionalIntParameter(req, "domainInfos").orElse(0);
} }
@Provides @Provides
@Parameter("domainChecks") @Parameter("domainChecks")
static int provideDomainChecks(HttpServletRequest req) { static int provideDomainChecks(HttpServletRequest req) {
return extractOptionalIntParameter(req, "domainChecks").or(0); return extractOptionalIntParameter(req, "domainChecks").orElse(0);
} }
@Provides @Provides
@Parameter("successfulContactCreates") @Parameter("successfulContactCreates")
static int provideSuccessfulContactCreates(HttpServletRequest req) { static int provideSuccessfulContactCreates(HttpServletRequest req) {
return extractOptionalIntParameter(req, "successfulContactCreates").or(0); return extractOptionalIntParameter(req, "successfulContactCreates").orElse(0);
} }
@Provides @Provides
@Parameter("failedContactCreates") @Parameter("failedContactCreates")
static int provideFailedContactCreates(HttpServletRequest req) { static int provideFailedContactCreates(HttpServletRequest req) {
return extractOptionalIntParameter(req, "failedContactCreates").or(0); return extractOptionalIntParameter(req, "failedContactCreates").orElse(0);
} }
@Provides @Provides
@Parameter("contactInfos") @Parameter("contactInfos")
static int provideContactInfos(HttpServletRequest req) { static int provideContactInfos(HttpServletRequest req) {
return extractOptionalIntParameter(req, "contactInfos").or(0); return extractOptionalIntParameter(req, "contactInfos").orElse(0);
} }
@Provides @Provides
@Parameter("successfulHostCreates") @Parameter("successfulHostCreates")
static int provideSuccessfulHostCreates(HttpServletRequest req) { static int provideSuccessfulHostCreates(HttpServletRequest req) {
return extractOptionalIntParameter(req, "successfulHostCreates").or(0); return extractOptionalIntParameter(req, "successfulHostCreates").orElse(0);
} }
@Provides @Provides
@Parameter("failedHostCreates") @Parameter("failedHostCreates")
static int provideFailedHostCreates(HttpServletRequest req) { static int provideFailedHostCreates(HttpServletRequest req) {
return extractOptionalIntParameter(req, "failedHostCreates").or(0); return extractOptionalIntParameter(req, "failedHostCreates").orElse(0);
} }
@Provides @Provides
@Parameter("hostInfos") @Parameter("hostInfos")
static int provideHostInfos(HttpServletRequest req) { static int provideHostInfos(HttpServletRequest req) {
return extractOptionalIntParameter(req, "hostInfos").or(0); return extractOptionalIntParameter(req, "hostInfos").orElse(0);
} }
} }

View file

@ -20,10 +20,10 @@ import static google.registry.mapreduce.MapreduceRunner.PARAM_REDUCE_SHARDS;
import static google.registry.request.RequestParameters.extractBooleanParameter; import static google.registry.request.RequestParameters.extractBooleanParameter;
import static google.registry.request.RequestParameters.extractOptionalIntParameter; import static google.registry.request.RequestParameters.extractOptionalIntParameter;
import com.google.common.base.Optional;
import dagger.Module; import dagger.Module;
import dagger.Provides; import dagger.Provides;
import google.registry.request.Parameter; import google.registry.request.Parameter;
import java.util.Optional;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
/** Dagger module for the mapreduce package. */ /** Dagger module for the mapreduce package. */

View file

@ -33,12 +33,12 @@ import com.google.appengine.tools.mapreduce.outputs.NoOutput;
import com.google.appengine.tools.pipeline.Job0; import com.google.appengine.tools.pipeline.Job0;
import com.google.appengine.tools.pipeline.JobSetting; import com.google.appengine.tools.pipeline.JobSetting;
import com.google.common.annotations.VisibleForTesting; import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Optional;
import google.registry.mapreduce.inputs.ConcatenatingInput; import google.registry.mapreduce.inputs.ConcatenatingInput;
import google.registry.request.Parameter; import google.registry.request.Parameter;
import google.registry.util.FormattingLogger; import google.registry.util.FormattingLogger;
import google.registry.util.PipelineUtils; import google.registry.util.PipelineUtils;
import java.io.Serializable; import java.io.Serializable;
import java.util.Optional;
import javax.inject.Inject; import javax.inject.Inject;
import org.joda.time.Duration; import org.joda.time.Duration;
@ -143,7 +143,7 @@ public class MapreduceRunner {
return new MapJob<>( return new MapJob<>(
new MapSpecification.Builder<I, O, R>() new MapSpecification.Builder<I, O, R>()
.setJobName(jobName) .setJobName(jobName)
.setInput(new ConcatenatingInput<>(inputs, httpParamMapShards.or(defaultMapShards))) .setInput(new ConcatenatingInput<>(inputs, httpParamMapShards.orElse(defaultMapShards)))
.setMapper(mapper) .setMapper(mapper)
.setOutput(output) .setOutput(output)
.build(), .build(),
@ -199,13 +199,13 @@ public class MapreduceRunner {
return new MapReduceJob<>( return new MapReduceJob<>(
new MapReduceSpecification.Builder<I, K, V, O, R>() new MapReduceSpecification.Builder<I, K, V, O, R>()
.setJobName(jobName) .setJobName(jobName)
.setInput(new ConcatenatingInput<>(inputs, httpParamMapShards.or(defaultMapShards))) .setInput(new ConcatenatingInput<>(inputs, httpParamMapShards.orElse(defaultMapShards)))
.setMapper(mapper) .setMapper(mapper)
.setReducer(reducer) .setReducer(reducer)
.setOutput(output) .setOutput(output)
.setKeyMarshaller(Marshallers.<K>getSerializationMarshaller()) .setKeyMarshaller(Marshallers.<K>getSerializationMarshaller())
.setValueMarshaller(Marshallers.<V>getSerializationMarshaller()) .setValueMarshaller(Marshallers.<V>getSerializationMarshaller())
.setNumReducers(httpParamReduceShards.or(defaultReduceShards)) .setNumReducers(httpParamReduceShards.orElse(defaultReduceShards))
.build(), .build(),
new MapReduceSettings.Builder() new MapReduceSettings.Builder()
.setWorkerQueueName(QUEUE_NAME) .setWorkerQueueName(QUEUE_NAME)

View file

@ -14,6 +14,7 @@ java_library(
"@com_google_appengine_api_1_0_sdk", "@com_google_appengine_api_1_0_sdk",
"@com_google_appengine_tools_appengine_mapreduce", "@com_google_appengine_tools_appengine_mapreduce",
"@com_google_appengine_tools_appengine_pipeline", "@com_google_appengine_tools_appengine_pipeline",
"@com_google_code_findbugs_jsr305",
"@com_google_dagger", "@com_google_dagger",
"@com_google_guava", "@com_google_guava",
"@javax_servlet_api", "@javax_servlet_api",

View file

@ -16,27 +16,33 @@ package google.registry.mapreduce.inputs;
import com.google.appengine.tools.mapreduce.Input; import com.google.appengine.tools.mapreduce.Input;
import com.google.appengine.tools.mapreduce.InputReader; import com.google.appengine.tools.mapreduce.InputReader;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList;
import com.googlecode.objectify.Key; import com.googlecode.objectify.Key;
import google.registry.model.ofy.CommitLogBucket; import google.registry.model.ofy.CommitLogBucket;
import google.registry.model.ofy.CommitLogManifest; import google.registry.model.ofy.CommitLogManifest;
import java.util.List; import java.util.List;
import javax.annotation.Nullable;
import org.joda.time.DateTime; import org.joda.time.DateTime;
/** Base class for {@link Input} classes that map over {@link CommitLogManifest}. */ /** Base class for {@link Input} classes that map over {@link CommitLogManifest}. */
public class CommitLogManifestInput extends Input<Key<CommitLogManifest>> { public class CommitLogManifestInput extends Input<Key<CommitLogManifest>> {
private static final long serialVersionUID = 2043552272352286428L; private static final long serialVersionUID = 6744322799131602384L;
/** /**
* Cutoff date for result. * Cutoff date for result.
* *
* If present, all resulting CommitLogManifest will be dated prior to this date. * <p>If present, all resulting CommitLogManifest will be dated prior to this date. This can't be
* of type {@code Optional<DateTime>} because Optional purposely isn't Serializable.
*/ */
private final Optional<DateTime> olderThan; @Nullable
private final DateTime olderThan;
public CommitLogManifestInput(Optional<DateTime> olderThan) { public CommitLogManifestInput() {
this.olderThan = null;
}
public CommitLogManifestInput(@Nullable DateTime olderThan) {
this.olderThan = olderThan; this.olderThan = olderThan;
} }

View file

@ -21,7 +21,6 @@ import com.google.appengine.api.datastore.Cursor;
import com.google.appengine.api.datastore.DatastoreTimeoutException; import com.google.appengine.api.datastore.DatastoreTimeoutException;
import com.google.appengine.api.datastore.QueryResultIterator; import com.google.appengine.api.datastore.QueryResultIterator;
import com.google.appengine.tools.mapreduce.InputReader; import com.google.appengine.tools.mapreduce.InputReader;
import com.google.common.base.Optional;
import com.googlecode.objectify.Key; import com.googlecode.objectify.Key;
import com.googlecode.objectify.cmd.Query; import com.googlecode.objectify.cmd.Query;
import google.registry.model.ofy.CommitLogBucket; import google.registry.model.ofy.CommitLogBucket;
@ -30,13 +29,12 @@ import google.registry.util.FormattingLogger;
import google.registry.util.Retrier; import google.registry.util.Retrier;
import google.registry.util.SystemSleeper; import google.registry.util.SystemSleeper;
import java.util.NoSuchElementException; import java.util.NoSuchElementException;
import javax.annotation.Nullable;
import org.joda.time.DateTime; import org.joda.time.DateTime;
/** {@link InputReader} that maps over {@link CommitLogManifest}. */ /** {@link InputReader} that maps over {@link CommitLogManifest}. */
class CommitLogManifestReader extends InputReader<Key<CommitLogManifest>> { class CommitLogManifestReader extends InputReader<Key<CommitLogManifest>> {
private static final long serialVersionUID = 5117046535590539778L;
static final FormattingLogger logger = FormattingLogger.getLoggerForCallerClass(); static final FormattingLogger logger = FormattingLogger.getLoggerForCallerClass();
/** /**
@ -48,6 +46,7 @@ class CommitLogManifestReader extends InputReader<Key<CommitLogManifest>> {
private static final long MEMORY_ESTIMATE = 100 * 1024; private static final long MEMORY_ESTIMATE = 100 * 1024;
private static final Retrier retrier = new Retrier(new SystemSleeper(), 3); private static final Retrier retrier = new Retrier(new SystemSleeper(), 3);
private static final long serialVersionUID = 2553537421598284748L;
private final Key<CommitLogBucket> bucketKey; private final Key<CommitLogBucket> bucketKey;
@ -56,7 +55,8 @@ class CommitLogManifestReader extends InputReader<Key<CommitLogManifest>> {
* *
* If present, all resulting CommitLogManifest will be dated prior to this date. * If present, all resulting CommitLogManifest will be dated prior to this date.
*/ */
private final Optional<DateTime> olderThan; @Nullable
private final DateTime olderThan;
private Cursor cursor; private Cursor cursor;
private int total; private int total;
@ -64,7 +64,7 @@ class CommitLogManifestReader extends InputReader<Key<CommitLogManifest>> {
private transient QueryResultIterator<Key<CommitLogManifest>> queryIterator; private transient QueryResultIterator<Key<CommitLogManifest>> queryIterator;
CommitLogManifestReader(Key<CommitLogBucket> bucketKey, Optional<DateTime> olderThan) { CommitLogManifestReader(Key<CommitLogBucket> bucketKey, @Nullable DateTime olderThan) {
this.bucketKey = bucketKey; this.bucketKey = bucketKey;
this.olderThan = olderThan; this.olderThan = olderThan;
} }
@ -112,10 +112,10 @@ class CommitLogManifestReader extends InputReader<Key<CommitLogManifest>> {
/** Query for children of this bucket. */ /** Query for children of this bucket. */
Query<CommitLogManifest> query() { Query<CommitLogManifest> query() {
Query<CommitLogManifest> query = ofy().load().type(CommitLogManifest.class).ancestor(bucketKey); Query<CommitLogManifest> query = ofy().load().type(CommitLogManifest.class).ancestor(bucketKey);
if (olderThan.isPresent()) { if (olderThan != null) {
query = query.filterKey( query = query.filterKey(
"<", "<",
Key.create(bucketKey, CommitLogManifest.class, olderThan.get().getMillis())); Key.create(bucketKey, CommitLogManifest.class, olderThan.getMillis()));
} }
return query; return query;
} }

View file

@ -18,10 +18,10 @@ import static com.google.common.base.Preconditions.checkNotNull;
import static com.google.common.base.Preconditions.checkState; import static com.google.common.base.Preconditions.checkState;
import static google.registry.model.ofy.ObjectifyService.ofy; import static google.registry.model.ofy.ObjectifyService.ofy;
import com.google.common.base.Optional;
import google.registry.model.ofy.ObjectifyService; import google.registry.model.ofy.ObjectifyService;
import google.registry.util.TypeUtils.TypeInstantiator; import google.registry.util.TypeUtils.TypeInstantiator;
import java.lang.reflect.Field; import java.lang.reflect.Field;
import java.util.Optional;
/** Interface for {@link ImmutableObject} subclasses that have a builder. */ /** Interface for {@link ImmutableObject} subclasses that have a builder. */
public interface Buildable { public interface Buildable {
@ -64,8 +64,8 @@ public interface Buildable {
} }
if (idField != null if (idField != null
&& !idField.getType().equals(String.class) && !idField.getType().equals(String.class)
&& Optional.fromNullable((Long) ModelUtils.getFieldValue(instance, idField)) && Optional.ofNullable((Long) ModelUtils.getFieldValue(instance, idField))
.or(0L) == 0) { .orElse(0L) == 0) {
ModelUtils.setFieldValue(instance, idField, ObjectifyService.allocateId()); ModelUtils.setFieldValue(instance, idField, ObjectifyService.allocateId());
} }
return instance; return instance;

View file

@ -23,7 +23,6 @@ import static google.registry.util.CollectionUtils.nullToEmptyImmutableCopy;
import static google.registry.util.DateTimeUtils.END_OF_TIME; import static google.registry.util.DateTimeUtils.END_OF_TIME;
import com.google.common.annotations.VisibleForTesting; import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableSet; import com.google.common.collect.ImmutableSet;
import com.google.common.collect.ImmutableSortedMap; import com.google.common.collect.ImmutableSortedMap;
import com.googlecode.objectify.Key; import com.googlecode.objectify.Key;
@ -32,6 +31,7 @@ import com.googlecode.objectify.annotation.Index;
import google.registry.model.eppcommon.StatusValue; import google.registry.model.eppcommon.StatusValue;
import google.registry.model.ofy.CommitLogManifest; import google.registry.model.ofy.CommitLogManifest;
import google.registry.model.transfer.TransferData; import google.registry.model.transfer.TransferData;
import java.util.Optional;
import java.util.Set; import java.util.Set;
import org.joda.time.DateTime; import org.joda.time.DateTime;
@ -296,7 +296,7 @@ public abstract class EppResource extends BackupGroupRoot implements Buildable {
addStatusValue(StatusValue.OK); addStatusValue(StatusValue.OK);
} }
// If there is no deletion time, set it to END_OF_TIME. // If there is no deletion time, set it to END_OF_TIME.
setDeletionTime(Optional.fromNullable(getInstance().deletionTime).or(END_OF_TIME)); setDeletionTime(Optional.ofNullable(getInstance().deletionTime).orElse(END_OF_TIME));
return ImmutableObject.cloneEmptyToNull(super.build()); return ImmutableObject.cloneEmptyToNull(super.build());
} }
} }

View file

@ -16,8 +16,8 @@ package google.registry.model;
import static google.registry.util.DateTimeUtils.START_OF_TIME; import static google.registry.util.DateTimeUtils.START_OF_TIME;
import com.google.common.base.Optional;
import google.registry.model.translators.UpdateAutoTimestampTranslatorFactory; import google.registry.model.translators.UpdateAutoTimestampTranslatorFactory;
import java.util.Optional;
import org.joda.time.DateTime; import org.joda.time.DateTime;
/** /**
@ -31,7 +31,7 @@ public class UpdateAutoTimestamp extends ImmutableObject {
/** Returns the timestamp, or {@link #START_OF_TIME} if it's null. */ /** Returns the timestamp, or {@link #START_OF_TIME} if it's null. */
public DateTime getTimestamp() { public DateTime getTimestamp() {
return Optional.fromNullable(timestamp).or(START_OF_TIME); return Optional.ofNullable(timestamp).orElse(START_OF_TIME);
} }
public static UpdateAutoTimestamp create(DateTime timestamp) { public static UpdateAutoTimestamp create(DateTime timestamp) {

View file

@ -24,7 +24,6 @@ import static google.registry.util.CollectionUtils.nullToEmptyImmutableCopy;
import static google.registry.util.DateTimeUtils.END_OF_TIME; import static google.registry.util.DateTimeUtils.END_OF_TIME;
import static google.registry.util.PreconditionsUtils.checkArgumentNotNull; import static google.registry.util.PreconditionsUtils.checkArgumentNotNull;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet; import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Sets; import com.google.common.collect.Sets;
@ -44,6 +43,7 @@ import google.registry.model.domain.rgp.GracePeriodStatus;
import google.registry.model.reporting.HistoryEntry; import google.registry.model.reporting.HistoryEntry;
import google.registry.model.transfer.TransferData.TransferServerApproveEntity; import google.registry.model.transfer.TransferData.TransferServerApproveEntity;
import java.util.Objects; import java.util.Objects;
import java.util.Optional;
import java.util.Set; import java.util.Set;
import javax.annotation.Nullable; import javax.annotation.Nullable;
import org.joda.money.Money; import org.joda.money.Money;
@ -391,7 +391,7 @@ public abstract class BillingEvent extends ImmutableObject
checkNotNull(instance.reason); checkNotNull(instance.reason);
instance.recurrenceTimeOfYear = TimeOfYear.fromDateTime(instance.eventTime); instance.recurrenceTimeOfYear = TimeOfYear.fromDateTime(instance.eventTime);
instance.recurrenceEndTime = instance.recurrenceEndTime =
Optional.fromNullable(instance.recurrenceEndTime).or(END_OF_TIME); Optional.ofNullable(instance.recurrenceEndTime).orElse(END_OF_TIME);
return super.build(); return super.build();
} }
} }

View file

@ -21,7 +21,6 @@ import static google.registry.model.ofy.ObjectifyService.ofy;
import static google.registry.model.registry.Registries.assertTldExists; import static google.registry.model.registry.Registries.assertTldExists;
import com.google.common.base.Joiner; import com.google.common.base.Joiner;
import com.google.common.base.Optional;
import com.google.common.collect.ComparisonChain; import com.google.common.collect.ComparisonChain;
import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList;
import com.google.common.collect.Ordering; import com.google.common.collect.Ordering;
@ -35,6 +34,7 @@ import google.registry.model.ImmutableObject;
import google.registry.model.annotations.ReportedOn; import google.registry.model.annotations.ReportedOn;
import google.registry.model.registrar.Registrar; import google.registry.model.registrar.Registrar;
import google.registry.model.registry.Registry; import google.registry.model.registry.Registry;
import java.util.Optional;
import org.joda.money.CurrencyUnit; import org.joda.money.CurrencyUnit;
import org.joda.time.DateTime; import org.joda.time.DateTime;
@ -194,7 +194,7 @@ public final class RegistrarCredit extends ImmutableObject implements Buildable
Registry.get(instance.tld).getCurrency().equals(instance.currency), Registry.get(instance.tld).getCurrency().equals(instance.currency),
"Credits must be in the currency of the assigned TLD"); "Credits must be in the currency of the assigned TLD");
instance.description = instance.description =
Optional.fromNullable(instance.description).or(instance.getDefaultDescription()); Optional.ofNullable(instance.description).orElse(instance.getDefaultDescription());
return super.build(); return super.build();
} }
} }

View file

@ -20,7 +20,6 @@ import static com.google.common.base.Preconditions.checkState;
import static google.registry.model.ofy.ObjectifyService.ofy; import static google.registry.model.ofy.ObjectifyService.ofy;
import com.google.common.annotations.VisibleForTesting; import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Optional;
import com.google.common.collect.ForwardingNavigableMap; import com.google.common.collect.ForwardingNavigableMap;
import com.google.common.collect.ImmutableSortedMap; import com.google.common.collect.ImmutableSortedMap;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
@ -34,6 +33,7 @@ import google.registry.model.ImmutableObject;
import google.registry.model.annotations.ReportedOn; import google.registry.model.annotations.ReportedOn;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.Optional;
import org.joda.money.CurrencyUnit; import org.joda.money.CurrencyUnit;
import org.joda.money.Money; import org.joda.money.Money;
import org.joda.time.DateTime; import org.joda.time.DateTime;
@ -171,8 +171,8 @@ public final class RegistrarCreditBalance extends ImmutableObject implements Bui
ofy().load().type(RegistrarCreditBalance.class).ancestor(registrarCredit)) { ofy().load().type(RegistrarCreditBalance.class).ancestor(registrarCredit)) {
// Create the submap at this key if it doesn't exist already. // Create the submap at this key if it doesn't exist already.
Map<DateTime, Money> submap = Map<DateTime, Money> submap =
Optional.fromNullable(map.get(balance.effectiveTime)) Optional.ofNullable(map.get(balance.effectiveTime))
.or(new HashMap<DateTime, Money>()); .orElse(new HashMap<DateTime, Money>());
submap.put(balance.writtenTime, balance.amount); submap.put(balance.writtenTime, balance.amount);
map.put(balance.effectiveTime, submap); map.put(balance.effectiveTime, submap);
} }
@ -212,8 +212,8 @@ public final class RegistrarCreditBalance extends ImmutableObject implements Bui
private Optional<Money> getMostRecentlyWrittenBalance( private Optional<Money> getMostRecentlyWrittenBalance(
Map.Entry<DateTime, ImmutableSortedMap<DateTime, Money>> balancesAtEffectiveTime) { Map.Entry<DateTime, ImmutableSortedMap<DateTime, Money>> balancesAtEffectiveTime) {
return balancesAtEffectiveTime == null return balancesAtEffectiveTime == null
? Optional.<Money>absent() ? Optional.<Money>empty()
// Don't use Optional.fromNullable() here since it's an error if there's a empty submap. // Don't use Optional.ofNullable() here since it's an error if there's a empty submap.
: Optional.of(balancesAtEffectiveTime.getValue().lastEntry().getValue()); : Optional.of(balancesAtEffectiveTime.getValue().lastEntry().getValue());
} }

View file

@ -18,7 +18,6 @@ import static com.google.common.base.Preconditions.checkArgument;
import static com.google.common.collect.ImmutableList.toImmutableList; import static com.google.common.collect.ImmutableList.toImmutableList;
import static google.registry.model.EppResourceUtils.projectResourceOntoBuilderAtTime; import static google.registry.model.EppResourceUtils.projectResourceOntoBuilderAtTime;
import com.google.common.base.Optional;
import com.google.common.base.Predicates; import com.google.common.base.Predicates;
import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList;
import com.googlecode.objectify.annotation.Entity; import com.googlecode.objectify.annotation.Entity;
@ -32,6 +31,7 @@ import google.registry.model.annotations.ExternalMessagingName;
import google.registry.model.annotations.ReportedOn; import google.registry.model.annotations.ReportedOn;
import google.registry.model.contact.PostalInfo.Type; import google.registry.model.contact.PostalInfo.Type;
import google.registry.model.transfer.TransferData; import google.registry.model.transfer.TransferData;
import java.util.Optional;
import java.util.stream.Stream; import java.util.stream.Stream;
import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlElement;
import org.joda.time.DateTime; import org.joda.time.DateTime;
@ -147,7 +147,7 @@ public class ContactResource extends EppResource implements
@Override @Override
public final TransferData getTransferData() { public final TransferData getTransferData() {
return Optional.fromNullable(transferData).or(TransferData.EMPTY); return Optional.ofNullable(transferData).orElse(TransferData.EMPTY);
} }
@Override @Override

View file

@ -16,11 +16,11 @@ package google.registry.model.contact;
import static com.google.common.base.Preconditions.checkState; import static com.google.common.base.Preconditions.checkState;
import com.google.common.base.Optional;
import com.googlecode.objectify.annotation.Embed; import com.googlecode.objectify.annotation.Embed;
import google.registry.model.Buildable; import google.registry.model.Buildable;
import google.registry.model.Buildable.Overlayable; import google.registry.model.Buildable.Overlayable;
import google.registry.model.ImmutableObject; import google.registry.model.ImmutableObject;
import java.util.Optional;
import javax.xml.bind.annotation.XmlAttribute; import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlEnumValue; import javax.xml.bind.annotation.XmlEnumValue;
@ -77,10 +77,9 @@ public class PostalInfo extends ImmutableObject implements Overlayable<PostalInf
// Don't overlay the type field, as that should never change. // Don't overlay the type field, as that should never change.
checkState(source.type == null || source.type == type); checkState(source.type == null || source.type == type);
return asBuilder() return asBuilder()
.setName(Optional.fromNullable(source.getName()).or(Optional.fromNullable(name)).orNull()) .setName(Optional.ofNullable(source.getName()).orElse(name))
.setOrg(Optional.fromNullable(source.getOrg()).or(Optional.fromNullable(org)).orNull()) .setOrg(Optional.ofNullable(source.getOrg()).orElse(org))
.setAddress( .setAddress(Optional.ofNullable(source.getAddress()).orElse(address))
Optional.fromNullable(source.getAddress()).or(Optional.fromNullable(address)).orNull())
.build(); .build();
} }

View file

@ -24,7 +24,6 @@ import static google.registry.util.DateTimeUtils.earliestOf;
import static google.registry.util.DateTimeUtils.isBeforeOrAt; import static google.registry.util.DateTimeUtils.isBeforeOrAt;
import static google.registry.util.DateTimeUtils.leapSafeAddYears; import static google.registry.util.DateTimeUtils.leapSafeAddYears;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableSet; import com.google.common.collect.ImmutableSet;
import com.googlecode.objectify.Key; import com.googlecode.objectify.Key;
import com.googlecode.objectify.annotation.EntitySubclass; import com.googlecode.objectify.annotation.EntitySubclass;
@ -41,6 +40,7 @@ import google.registry.model.registry.Registry;
import google.registry.model.transfer.TransferData; import google.registry.model.transfer.TransferData;
import google.registry.model.transfer.TransferStatus; import google.registry.model.transfer.TransferStatus;
import java.util.HashSet; import java.util.HashSet;
import java.util.Optional;
import java.util.Set; import java.util.Set;
import javax.annotation.Nullable; import javax.annotation.Nullable;
import org.joda.time.DateTime; import org.joda.time.DateTime;
@ -174,7 +174,7 @@ public class DomainResource extends DomainBase
@Override @Override
public final TransferData getTransferData() { public final TransferData getTransferData() {
return Optional.fromNullable(transferData).or(TransferData.EMPTY); return Optional.ofNullable(transferData).orElse(TransferData.EMPTY);
} }
@Override @Override
@ -328,7 +328,7 @@ public class DomainResource extends DomainBase
return earliestOf( return earliestOf(
leapSafeAddYears( leapSafeAddYears(
currentExpirationTime, currentExpirationTime,
Optional.fromNullable(extendedRegistrationYears).or(0)), Optional.ofNullable(extendedRegistrationYears).orElse(0)),
leapSafeAddYears(now, MAX_REGISTRATION_YEARS)); leapSafeAddYears(now, MAX_REGISTRATION_YEARS));
} }

View file

@ -14,9 +14,9 @@
package google.registry.model.domain.fee; package google.registry.model.domain.fee;
import com.google.common.base.Optional;
import google.registry.model.ImmutableObject; import google.registry.model.ImmutableObject;
import google.registry.model.domain.Period; import google.registry.model.domain.Period;
import java.util.Optional;
import javax.xml.bind.annotation.XmlTransient; import javax.xml.bind.annotation.XmlTransient;
import org.joda.money.CurrencyUnit; import org.joda.money.CurrencyUnit;
import org.joda.time.DateTime; import org.joda.time.DateTime;
@ -69,6 +69,6 @@ public abstract class FeeQueryCommandExtensionItem extends ImmutableObject {
public abstract String getSubphase(); public abstract String getSubphase();
public Period getPeriod() { public Period getPeriod() {
return Optional.fromNullable(period).or(DEFAULT_PERIOD); return Optional.ofNullable(period).orElse(DEFAULT_PERIOD);
} }
} }

View file

@ -14,9 +14,9 @@
package google.registry.model.domain.fee06; package google.registry.model.domain.fee06;
import com.google.common.base.Optional;
import google.registry.model.domain.fee.FeeCheckCommandExtensionItem; import google.registry.model.domain.fee.FeeCheckCommandExtensionItem;
import google.registry.model.domain.fee.FeeExtensionCommandDescriptor; import google.registry.model.domain.fee.FeeExtensionCommandDescriptor;
import java.util.Optional;
import javax.xml.bind.annotation.XmlType; import javax.xml.bind.annotation.XmlType;
import org.joda.money.CurrencyUnit; import org.joda.money.CurrencyUnit;
import org.joda.time.DateTime; import org.joda.time.DateTime;
@ -79,6 +79,6 @@ public class FeeCheckCommandExtensionItemV06 extends FeeCheckCommandExtensionIte
@Override @Override
public Optional<DateTime> getEffectiveDate() { public Optional<DateTime> getEffectiveDate() {
return Optional.absent(); return Optional.empty();
} }
} }

View file

@ -14,10 +14,10 @@
package google.registry.model.domain.fee06; package google.registry.model.domain.fee06;
import com.google.common.base.Optional;
import google.registry.model.domain.fee.FeeExtensionCommandDescriptor; import google.registry.model.domain.fee.FeeExtensionCommandDescriptor;
import google.registry.model.domain.fee.FeeQueryCommandExtensionItem; import google.registry.model.domain.fee.FeeQueryCommandExtensionItem;
import google.registry.model.eppinput.EppInput.CommandExtension; import google.registry.model.eppinput.EppInput.CommandExtension;
import java.util.Optional;
import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType; import javax.xml.bind.annotation.XmlType;
import org.joda.money.CurrencyUnit; import org.joda.money.CurrencyUnit;
@ -66,7 +66,7 @@ public class FeeInfoCommandExtensionV06
@Override @Override
public Optional<DateTime> getEffectiveDate() { public Optional<DateTime> getEffectiveDate() {
return Optional.absent(); return Optional.empty();
} }
} }

View file

@ -16,7 +16,6 @@ package google.registry.model.domain.fee11;
import static com.google.common.base.Preconditions.checkState; import static com.google.common.base.Preconditions.checkState;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet; import com.google.common.collect.ImmutableSet;
import google.registry.model.ImmutableObject; import google.registry.model.ImmutableObject;
@ -26,6 +25,7 @@ import google.registry.model.domain.fee.FeeCheckCommandExtensionItem;
import google.registry.model.domain.fee.FeeCheckResponseExtensionItem; import google.registry.model.domain.fee.FeeCheckResponseExtensionItem;
import google.registry.model.domain.fee.FeeExtensionCommandDescriptor; import google.registry.model.domain.fee.FeeExtensionCommandDescriptor;
import google.registry.model.domain.fee11.FeeCheckCommandExtensionV11.FeeCheckCommandExtensionItemV11; import google.registry.model.domain.fee11.FeeCheckCommandExtensionV11.FeeCheckCommandExtensionItemV11;
import java.util.Optional;
import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType; import javax.xml.bind.annotation.XmlType;
@ -115,7 +115,7 @@ public class FeeCheckCommandExtensionV11 extends ImmutableObject
@Override @Override
public Period getPeriod() { public Period getPeriod() {
return Optional.fromNullable(period).or(DEFAULT_PERIOD); return Optional.ofNullable(period).orElse(DEFAULT_PERIOD);
} }
@Override @Override
@ -140,7 +140,7 @@ public class FeeCheckCommandExtensionV11 extends ImmutableObject
@Override @Override
public Optional<DateTime> getEffectiveDate() { public Optional<DateTime> getEffectiveDate() {
return Optional.absent(); return Optional.empty();
} }
} }
} }

View file

@ -16,9 +16,9 @@ package google.registry.model.domain.fee12;
import com.google.common.base.Ascii; import com.google.common.base.Ascii;
import com.google.common.base.CharMatcher; import com.google.common.base.CharMatcher;
import com.google.common.base.Optional;
import google.registry.model.domain.Period; import google.registry.model.domain.Period;
import google.registry.model.domain.fee.FeeCheckCommandExtensionItem; import google.registry.model.domain.fee.FeeCheckCommandExtensionItem;
import java.util.Optional;
import javax.xml.bind.annotation.XmlAttribute; import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType; import javax.xml.bind.annotation.XmlType;
@ -110,6 +110,6 @@ public class FeeCheckCommandExtensionItemV12 extends FeeCheckCommandExtensionIte
@Override @Override
public Optional<DateTime> getEffectiveDate() { public Optional<DateTime> getEffectiveDate() {
return Optional.fromNullable(feeDate); return Optional.ofNullable(feeDate);
} }
} }

View file

@ -22,12 +22,12 @@ import static java.util.concurrent.TimeUnit.MILLISECONDS;
import com.google.common.base.Ascii; import com.google.common.base.Ascii;
import com.google.common.base.CharMatcher; import com.google.common.base.CharMatcher;
import com.google.common.base.Optional;
import com.google.common.primitives.Ints; import com.google.common.primitives.Ints;
import com.googlecode.objectify.annotation.Embed; import com.googlecode.objectify.annotation.Embed;
import com.googlecode.objectify.annotation.IgnoreSave; import com.googlecode.objectify.annotation.IgnoreSave;
import com.googlecode.objectify.condition.IfNull; import com.googlecode.objectify.condition.IfNull;
import google.registry.model.ImmutableObject; import google.registry.model.ImmutableObject;
import java.util.Optional;
import javax.xml.bind.annotation.XmlAttribute; import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType; import javax.xml.bind.annotation.XmlType;
@ -64,7 +64,7 @@ public class LaunchNotice extends ImmutableObject {
public String getValidatorId() { public String getValidatorId() {
// The default value is "tmch". // The default value is "tmch".
return Optional.fromNullable(validatorId).or("tmch"); return Optional.ofNullable(validatorId).orElse("tmch");
} }
} }
@ -78,7 +78,7 @@ public class LaunchNotice extends ImmutableObject {
DateTime acceptedTime; DateTime acceptedTime;
public NoticeIdType getNoticeId() { public NoticeIdType getNoticeId() {
return Optional.fromNullable(noticeId).or(EMPTY_NOTICE_ID); return Optional.ofNullable(noticeId).orElse(EMPTY_NOTICE_ID);
} }
public DateTime getExpirationTime() { public DateTime getExpirationTime() {

View file

@ -18,7 +18,6 @@ import static google.registry.util.CollectionUtils.nullSafeImmutableCopy;
import static google.registry.util.CollectionUtils.nullToEmptyImmutableCopy; import static google.registry.util.CollectionUtils.nullToEmptyImmutableCopy;
import com.google.common.base.Ascii; import com.google.common.base.Ascii;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet; import com.google.common.collect.ImmutableSet;
import google.registry.model.ImmutableObject; import google.registry.model.ImmutableObject;
@ -56,6 +55,7 @@ import google.registry.model.eppinput.ResourceCommand.ResourceCheck;
import google.registry.model.eppinput.ResourceCommand.SingleResourceCommand; import google.registry.model.eppinput.ResourceCommand.SingleResourceCommand;
import google.registry.model.host.HostCommand; import google.registry.model.host.HostCommand;
import java.util.List; import java.util.List;
import java.util.Optional;
import java.util.Set; import java.util.Set;
import javax.annotation.Nullable; import javax.annotation.Nullable;
import javax.xml.bind.annotation.XmlAttribute; import javax.xml.bind.annotation.XmlAttribute;
@ -107,12 +107,12 @@ public class EppInput extends ImmutableObject {
return Optional.of(xmlSchemaAnnotation.xmlns()[0].prefix()); return Optional.of(xmlSchemaAnnotation.xmlns()[0].prefix());
} }
} }
return Optional.absent(); return Optional.empty();
} }
/** Returns whether this EppInput represents a command that operates on domain resources. */ /** Returns whether this EppInput represents a command that operates on domain resources. */
public boolean isDomainResourceType() { public boolean isDomainResourceType() {
return getResourceType().or("").equals("domain"); return getResourceType().orElse("").equals("domain");
} }
@Nullable @Nullable
@ -131,7 +131,7 @@ public class EppInput extends ImmutableObject {
ResourceCommand resourceCommand = getResourceCommand(); ResourceCommand resourceCommand = getResourceCommand();
return resourceCommand instanceof SingleResourceCommand return resourceCommand instanceof SingleResourceCommand
? Optional.of(((SingleResourceCommand) resourceCommand).getTargetId()) ? Optional.of(((SingleResourceCommand) resourceCommand).getTargetId())
: Optional.<String>absent(); : Optional.<String>empty();
} }
/** /**

View file

@ -17,7 +17,6 @@ package google.registry.model.eppoutput;
import static google.registry.util.CollectionUtils.forceEmptyToNull; import static google.registry.util.CollectionUtils.forceEmptyToNull;
import static google.registry.util.CollectionUtils.nullToEmptyImmutableCopy; import static google.registry.util.CollectionUtils.nullToEmptyImmutableCopy;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList;
import google.registry.model.Buildable; import google.registry.model.Buildable;
import google.registry.model.ImmutableObject; import google.registry.model.ImmutableObject;
@ -157,9 +156,7 @@ public class EppResponse extends ImmutableObject implements ResponseOrGreeting {
@Nullable @Nullable
public ResponseExtension getFirstExtensionOfType(Class<? extends ResponseExtension> clazz) { public ResponseExtension getFirstExtensionOfType(Class<? extends ResponseExtension> clazz) {
return Optional.fromJavaUtil( return extensions.stream().filter(clazz::isInstance).map(clazz::cast).findFirst().orElse(null);
extensions.stream().filter(clazz::isInstance).map(clazz::cast).findFirst())
.orNull();
} }
@Nullable @Nullable

View file

@ -21,7 +21,6 @@ import static google.registry.util.CollectionUtils.nullToEmptyImmutableCopy;
import static google.registry.util.DateTimeUtils.START_OF_TIME; import static google.registry.util.DateTimeUtils.START_OF_TIME;
import static google.registry.util.DomainNameUtils.canonicalizeDomainName; import static google.registry.util.DomainNameUtils.canonicalizeDomainName;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableSet; import com.google.common.collect.ImmutableSet;
import com.googlecode.objectify.Key; import com.googlecode.objectify.Key;
import com.googlecode.objectify.annotation.Entity; import com.googlecode.objectify.annotation.Entity;
@ -35,6 +34,7 @@ import google.registry.model.annotations.ReportedOn;
import google.registry.model.domain.DomainResource; import google.registry.model.domain.DomainResource;
import google.registry.model.transfer.TransferData; import google.registry.model.transfer.TransferData;
import java.net.InetAddress; import java.net.InetAddress;
import java.util.Optional;
import java.util.Set; import java.util.Set;
import javax.annotation.Nullable; import javax.annotation.Nullable;
import org.joda.time.DateTime; import org.joda.time.DateTime;
@ -146,9 +146,9 @@ public class HostResource extends EppResource implements ForeignKeyedEppResource
superordinateDomain != null superordinateDomain != null
&& Key.create(superordinateDomain).equals(getSuperordinateDomain())); && Key.create(superordinateDomain).equals(getSuperordinateDomain()));
DateTime lastSuperordinateChange = DateTime lastSuperordinateChange =
Optional.fromNullable(getLastSuperordinateChange()).or(getCreationTime()); Optional.ofNullable(getLastSuperordinateChange()).orElse(getCreationTime());
DateTime lastTransferOfCurrentSuperordinate = DateTime lastTransferOfCurrentSuperordinate =
Optional.fromNullable(superordinateDomain.getLastTransferTime()).or(START_OF_TIME); Optional.ofNullable(superordinateDomain.getLastTransferTime()).orElse(START_OF_TIME);
return (lastSuperordinateChange.isBefore(lastTransferOfCurrentSuperordinate)) return (lastSuperordinateChange.isBefore(lastTransferOfCurrentSuperordinate))
? superordinateDomain.getLastTransferTime() ? superordinateDomain.getLastTransferTime()
: getLastTransferTime(); : getLastTransferTime();

View file

@ -22,7 +22,6 @@ import static google.registry.util.PreconditionsUtils.checkArgumentNotNull;
import com.google.common.annotations.VisibleForTesting; import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Converter; import com.google.common.base.Converter;
import com.google.common.base.Optional;
import com.google.common.collect.FluentIterable; import com.google.common.collect.FluentIterable;
import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList;
import com.google.common.collect.Streams; import com.google.common.collect.Streams;
@ -47,6 +46,7 @@ import google.registry.model.transfer.TransferData.TransferServerApproveEntity;
import google.registry.model.transfer.TransferResponse.ContactTransferResponse; import google.registry.model.transfer.TransferResponse.ContactTransferResponse;
import google.registry.model.transfer.TransferResponse.DomainTransferResponse; import google.registry.model.transfer.TransferResponse.DomainTransferResponse;
import java.util.List; import java.util.List;
import java.util.Optional;
import org.joda.time.DateTime; import org.joda.time.DateTime;
/** /**
@ -351,7 +351,7 @@ public abstract class PollMessage extends ImmutableObject
public Autorenew build() { public Autorenew build() {
Autorenew instance = getInstance(); Autorenew instance = getInstance();
instance.autorenewEndTime = instance.autorenewEndTime =
Optional.fromNullable(instance.autorenewEndTime).or(END_OF_TIME); Optional.ofNullable(instance.autorenewEndTime).orElse(END_OF_TIME);
return super.build(); return super.build();
} }
} }

View file

@ -14,7 +14,7 @@
package google.registry.model.pricing; package google.registry.model.pricing;
import com.google.common.base.Optional; import java.util.Optional;
import org.joda.money.Money; import org.joda.money.Money;
import org.joda.time.DateTime; import org.joda.time.DateTime;

View file

@ -23,9 +23,9 @@ import static google.registry.model.registry.label.ReservedList.getReservationTy
import static google.registry.util.DomainNameUtils.getTldFromDomainName; import static google.registry.util.DomainNameUtils.getTldFromDomainName;
import com.google.common.base.Joiner; import com.google.common.base.Joiner;
import com.google.common.base.Optional;
import com.google.common.net.InternetDomainName; import com.google.common.net.InternetDomainName;
import google.registry.model.registry.Registry; import google.registry.model.registry.Registry;
import java.util.Optional;
import javax.inject.Inject; import javax.inject.Inject;
import org.joda.money.Money; import org.joda.money.Money;
import org.joda.time.DateTime; import org.joda.time.DateTime;
@ -52,8 +52,8 @@ public final class StaticPremiumListPricingEngine implements PremiumPricingEngin
isNameCollisionInSunrise ? "collision" : null)); isNameCollisionInSunrise ? "collision" : null));
return DomainPrices.create( return DomainPrices.create(
premiumPrice.isPresent(), premiumPrice.isPresent(),
premiumPrice.or(registry.getStandardCreateCost()), premiumPrice.orElse(registry.getStandardCreateCost()),
premiumPrice.or(registry.getStandardRenewCost(priceTime)), premiumPrice.orElse(registry.getStandardRenewCost(priceTime)),
Optional.<String>fromNullable(feeClass)); Optional.<String>ofNullable(feeClass));
} }
} }

View file

@ -39,7 +39,6 @@ import static java.nio.charset.StandardCharsets.UTF_8;
import static java.util.Comparator.comparing; import static java.util.Comparator.comparing;
import static java.util.function.Predicate.isEqual; import static java.util.function.Predicate.isEqual;
import com.google.common.base.Optional;
import com.google.common.base.Strings; import com.google.common.base.Strings;
import com.google.common.base.Supplier; import com.google.common.base.Supplier;
import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList;
@ -80,6 +79,7 @@ import java.util.Comparator;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Objects; import java.util.Objects;
import java.util.Optional;
import java.util.Set; import java.util.Set;
import java.util.function.Predicate; import java.util.function.Predicate;
import javax.annotation.Nullable; import javax.annotation.Nullable;
@ -896,13 +896,13 @@ public class Registrar extends ImmutableObject implements Buildable, Jsonifiable
/** Loads and returns a registrar entity by its client id directly from Datastore. */ /** Loads and returns a registrar entity by its client id directly from Datastore. */
public static Optional<Registrar> loadByClientId(String clientId) { public static Optional<Registrar> loadByClientId(String clientId) {
checkArgument(!Strings.isNullOrEmpty(clientId), "clientId must be specified"); checkArgument(!Strings.isNullOrEmpty(clientId), "clientId must be specified");
return Optional.fromNullable( return Optional.ofNullable(
ofy().load().type(Registrar.class).parent(getCrossTldKey()).id(clientId).now()); ofy().load().type(Registrar.class).parent(getCrossTldKey()).id(clientId).now());
} }
/** Loads and returns a registrar entity by its client id using an in-memory cache. */ /** Loads and returns a registrar entity by its client id using an in-memory cache. */
public static Optional<Registrar> loadByClientIdCached(String clientId) { public static Optional<Registrar> loadByClientIdCached(String clientId) {
checkArgument(!Strings.isNullOrEmpty(clientId), "clientId must be specified"); checkArgument(!Strings.isNullOrEmpty(clientId), "clientId must be specified");
return Optional.fromNullable(CACHE_BY_CLIENT_ID.get().get(clientId)); return Optional.ofNullable(CACHE_BY_CLIENT_ID.get().get(clientId));
} }
} }

View file

@ -27,7 +27,6 @@ import static google.registry.model.ofy.ObjectifyService.ofy;
import static google.registry.util.PreconditionsUtils.checkArgumentNotNull; import static google.registry.util.PreconditionsUtils.checkArgumentNotNull;
import com.google.common.base.Joiner; import com.google.common.base.Joiner;
import com.google.common.base.Optional;
import com.google.common.base.Supplier; import com.google.common.base.Supplier;
import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet; import com.google.common.collect.ImmutableSet;
@ -35,6 +34,7 @@ import com.google.common.collect.Streams;
import com.google.common.net.InternetDomainName; import com.google.common.net.InternetDomainName;
import com.googlecode.objectify.Work; import com.googlecode.objectify.Work;
import google.registry.model.registry.Registry.TldType; import google.registry.model.registry.Registry.TldType;
import java.util.Optional;
/** Utilities for finding and listing {@link Registry} entities. */ /** Utilities for finding and listing {@link Registry} entities. */
public final class Registries { public final class Registries {
@ -123,7 +123,7 @@ public final class Registries {
return Optional.of(domainName); return Optional.of(domainName);
} }
} }
return Optional.absent(); return Optional.empty();
} }
/** /**
@ -132,7 +132,7 @@ public final class Registries {
*/ */
public static InternetDomainName findTldForNameOrThrow(InternetDomainName domainName) { public static InternetDomainName findTldForNameOrThrow(InternetDomainName domainName) {
return checkArgumentNotNull( return checkArgumentNotNull(
findTldForName(domainName).orNull(), findTldForName(domainName).orElse(null),
"Domain name is not under a recognized TLD: %s", domainName.toString()); "Domain name is not under a recognized TLD: %s", domainName.toString());
} }
} }

View file

@ -30,7 +30,6 @@ import static java.util.concurrent.TimeUnit.MILLISECONDS;
import static org.joda.money.CurrencyUnit.USD; import static org.joda.money.CurrencyUnit.USD;
import com.google.common.annotations.VisibleForTesting; import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Optional;
import com.google.common.base.Predicate; import com.google.common.base.Predicate;
import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheBuilder;
import com.google.common.cache.CacheLoader; import com.google.common.cache.CacheLoader;
@ -67,6 +66,7 @@ import google.registry.model.registry.label.ReservedList.ReservedListEntry;
import google.registry.util.Idn; import google.registry.util.Idn;
import java.util.Collection; import java.util.Collection;
import java.util.Map.Entry; import java.util.Map.Entry;
import java.util.Optional;
import java.util.Set; import java.util.Set;
import javax.annotation.Nullable; import javax.annotation.Nullable;
import org.joda.money.CurrencyUnit; import org.joda.money.CurrencyUnit;
@ -213,7 +213,7 @@ public class Registry extends ImmutableObject implements Buildable {
/** Returns the registry for a given TLD, throwing if none exists. */ /** Returns the registry for a given TLD, throwing if none exists. */
public static Registry get(String tld) { public static Registry get(String tld) {
Registry registry = CACHE.getUnchecked(tld).orNull(); Registry registry = CACHE.getUnchecked(tld).orElse(null);
if (registry == null) { if (registry == null) {
throw new RegistryNotFoundException(tld); throw new RegistryNotFoundException(tld);
} }
@ -241,7 +241,7 @@ public class Registry extends ImmutableObject implements Buildable {
public Optional<Registry> load(final String tld) { public Optional<Registry> load(final String tld) {
// Enter a transactionless context briefly; we don't want to enroll every TLD in a // Enter a transactionless context briefly; we don't want to enroll every TLD in a
// transaction that might be wrapping this call. // transaction that might be wrapping this call.
return Optional.fromNullable( return Optional.ofNullable(
ofy() ofy()
.doTransactionless( .doTransactionless(
new Work<Registry>() { new Work<Registry>() {

View file

@ -19,7 +19,6 @@ import static com.google.common.base.Strings.isNullOrEmpty;
import static google.registry.model.common.EntityGroupRoot.getCrossTldKey; import static google.registry.model.common.EntityGroupRoot.getCrossTldKey;
import static google.registry.model.registry.Registries.getTlds; import static google.registry.model.registry.Registries.getTlds;
import com.google.common.base.Optional;
import com.google.common.cache.CacheLoader.InvalidCacheLoadException; import com.google.common.cache.CacheLoader.InvalidCacheLoadException;
import com.google.common.cache.LoadingCache; import com.google.common.cache.LoadingCache;
import com.google.common.collect.HashMultiset; import com.google.common.collect.HashMultiset;
@ -39,6 +38,7 @@ import google.registry.model.registry.label.ReservedList.ReservedListEntry;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Optional;
import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutionException;
import javax.annotation.Nullable; import javax.annotation.Nullable;
import org.joda.time.DateTime; import org.joda.time.DateTime;
@ -153,7 +153,7 @@ public abstract class BaseDomainLabelList<T extends Comparable<?>, R extends Dom
try { try {
return Optional.of(cache.get(listName)); return Optional.of(cache.get(listName));
} catch (InvalidCacheLoadException e) { } catch (InvalidCacheLoadException e) {
return Optional.absent(); return Optional.empty();
} catch (ExecutionException e) { } catch (ExecutionException e) {
throw new UncheckedExecutionException("Could not retrieve list named " + listName, e); throw new UncheckedExecutionException("Could not retrieve list named " + listName, e);
} }

View file

@ -13,6 +13,7 @@
// limitations under the License. // limitations under the License.
package google.registry.model.registry.label; package google.registry.model.registry.label;
import static com.google.common.base.Preconditions.checkArgument; import static com.google.common.base.Preconditions.checkArgument;
import static com.google.common.hash.Funnels.unencodedCharsFunnel; import static com.google.common.hash.Funnels.unencodedCharsFunnel;
import static google.registry.config.RegistryConfig.getDomainLabelListCacheDuration; import static google.registry.config.RegistryConfig.getDomainLabelListCacheDuration;
@ -24,7 +25,6 @@ import static google.registry.model.ofy.ObjectifyService.ofy;
import static java.util.concurrent.TimeUnit.MILLISECONDS; import static java.util.concurrent.TimeUnit.MILLISECONDS;
import com.google.common.annotations.VisibleForTesting; import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Optional;
import com.google.common.base.Splitter; import com.google.common.base.Splitter;
import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheBuilder;
import com.google.common.cache.CacheLoader; import com.google.common.cache.CacheLoader;
@ -46,6 +46,7 @@ import java.io.ByteArrayOutputStream;
import java.io.IOException; import java.io.IOException;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
import java.util.Optional;
import java.util.Set; import java.util.Set;
import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutionException;
import javax.annotation.Nullable; import javax.annotation.Nullable;
@ -206,11 +207,8 @@ public final class PremiumList extends BaseDomainLabelList<Money, PremiumList.Pr
public Optional<PremiumListEntry> load(final Key<PremiumListEntry> entryKey) { public Optional<PremiumListEntry> load(final Key<PremiumListEntry> entryKey) {
return ofy() return ofy()
.doTransactionless( .doTransactionless(
new Work<Optional<PremiumListEntry>>() { () -> {
@Override return Optional.ofNullable(ofy().load().key(entryKey).now());
public Optional<PremiumListEntry> run() {
return Optional.fromNullable(ofy().load().key(entryKey).now());
}
}); });
} }
}); });
@ -226,7 +224,7 @@ public final class PremiumList extends BaseDomainLabelList<Money, PremiumList.Pr
try { try {
return Optional.of(cachePremiumLists.get(name)); return Optional.of(cachePremiumLists.get(name));
} catch (InvalidCacheLoadException e) { } catch (InvalidCacheLoadException e) {
return Optional.<PremiumList> absent(); return Optional.empty();
} catch (ExecutionException e) { } catch (ExecutionException e) {
throw new UncheckedExecutionException("Could not retrieve premium list named " + name, e); throw new UncheckedExecutionException("Could not retrieve premium list named " + name, e);
} }

View file

@ -31,7 +31,6 @@ import static org.joda.time.DateTimeZone.UTC;
import com.google.auto.value.AutoValue; import com.google.auto.value.AutoValue;
import com.google.common.annotations.VisibleForTesting; import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Optional;
import com.google.common.cache.CacheLoader.InvalidCacheLoadException; import com.google.common.cache.CacheLoader.InvalidCacheLoadException;
import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet; import com.google.common.collect.ImmutableSet;
@ -45,6 +44,7 @@ import google.registry.model.registry.label.PremiumList.PremiumListEntry;
import google.registry.model.registry.label.PremiumList.PremiumListRevision; import google.registry.model.registry.label.PremiumList.PremiumListRevision;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
import java.util.Optional;
import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutionException;
import org.joda.money.Money; import org.joda.money.Money;
import org.joda.time.DateTime; import org.joda.time.DateTime;
@ -73,7 +73,7 @@ public final class PremiumListUtils {
public static Optional<Money> getPremiumPrice(String label, Registry registry) { public static Optional<Money> getPremiumPrice(String label, Registry registry) {
// If the registry has no configured premium list, then no labels are premium. // If the registry has no configured premium list, then no labels are premium.
if (registry.getPremiumList() == null) { if (registry.getPremiumList() == null) {
return Optional.<Money>absent(); return Optional.<Money>empty();
} }
DateTime startTime = DateTime.now(UTC); DateTime startTime = DateTime.now(UTC);
String listName = registry.getPremiumList().getName(); String listName = registry.getPremiumList().getName();
@ -103,7 +103,7 @@ public final class PremiumListUtils {
private static CheckResults checkStatus(PremiumListRevision premiumListRevision, String label) { private static CheckResults checkStatus(PremiumListRevision premiumListRevision, String label) {
if (!premiumListRevision.getProbablePremiumLabels().mightContain(label)) { if (!premiumListRevision.getProbablePremiumLabels().mightContain(label)) {
return CheckResults.create(BLOOM_FILTER_NEGATIVE, Optional.<Money>absent()); return CheckResults.create(BLOOM_FILTER_NEGATIVE, Optional.<Money>empty());
} }
Key<PremiumListEntry> entryKey = Key<PremiumListEntry> entryKey =
@ -115,7 +115,7 @@ public final class PremiumListUtils {
if (entry.isPresent()) { if (entry.isPresent()) {
return CheckResults.create(CACHED_POSITIVE, Optional.of(entry.get().getValue())); return CheckResults.create(CACHED_POSITIVE, Optional.of(entry.get().getValue()));
} else { } else {
return CheckResults.create(CACHED_NEGATIVE, Optional.<Money>absent()); return CheckResults.create(CACHED_NEGATIVE, Optional.<Money>empty());
} }
} }
@ -123,7 +123,7 @@ public final class PremiumListUtils {
if (entry.isPresent()) { if (entry.isPresent()) {
return CheckResults.create(UNCACHED_POSITIVE, Optional.of(entry.get().getValue())); return CheckResults.create(UNCACHED_POSITIVE, Optional.of(entry.get().getValue()));
} else { } else {
return CheckResults.create(UNCACHED_NEGATIVE, Optional.<Money>absent()); return CheckResults.create(UNCACHED_NEGATIVE, Optional.<Money>empty());
} }
} catch (InvalidCacheLoadException | ExecutionException e) { } catch (InvalidCacheLoadException | ExecutionException e) {
throw new RuntimeException("Could not load premium list entry " + entryKey, e); throw new RuntimeException("Could not load premium list entry " + entryKey, e);
@ -173,7 +173,7 @@ public final class PremiumListUtils {
.id(premiumList.getName()) .id(premiumList.getName())
.now(); .now();
checkState( checkState(
Objects.equals(existing, oldPremiumList.orNull()), Objects.equals(existing, oldPremiumList.orElse(null)),
"PremiumList was concurrently edited"); "PremiumList was concurrently edited");
PremiumList newList = premiumList.asBuilder() PremiumList newList = premiumList.asBuilder()
.setLastUpdateTime(now) .setLastUpdateTime(now)

View file

@ -30,7 +30,6 @@ import static java.util.concurrent.TimeUnit.MILLISECONDS;
import static org.joda.time.DateTimeZone.UTC; import static org.joda.time.DateTimeZone.UTC;
import com.google.common.base.Joiner; import com.google.common.base.Joiner;
import com.google.common.base.Optional;
import com.google.common.base.Splitter; import com.google.common.base.Splitter;
import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheBuilder;
import com.google.common.cache.CacheLoader; import com.google.common.cache.CacheLoader;
@ -49,6 +48,7 @@ import google.registry.model.registry.label.DomainLabelMetrics.MetricsReservedLi
import java.util.HashSet; import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Optional;
import java.util.Set; import java.util.Set;
import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutionException;
import javax.annotation.Nullable; import javax.annotation.Nullable;
@ -338,7 +338,7 @@ public final class ReservedList
*/ */
public Optional<ReservationType> getReservationInList(String label) { public Optional<ReservationType> getReservationInList(String label) {
ReservedListEntry entry = getReservedListEntries().get(label); ReservedListEntry entry = getReservedListEntries().get(label);
return Optional.fromNullable(entry == null ? null : entry.reservationType); return Optional.ofNullable(entry == null ? null : entry.reservationType);
} }
@Override @Override

View file

@ -18,7 +18,6 @@ import static com.google.common.base.Preconditions.checkArgument;
import static google.registry.model.ofy.ObjectifyService.ofy; import static google.registry.model.ofy.ObjectifyService.ofy;
import static google.registry.util.DateTimeUtils.isAtOrAfter; import static google.registry.util.DateTimeUtils.isAtOrAfter;
import com.google.common.base.Optional;
import com.google.common.base.Strings; import com.google.common.base.Strings;
import com.googlecode.objectify.VoidWork; import com.googlecode.objectify.VoidWork;
import com.googlecode.objectify.Work; import com.googlecode.objectify.Work;
@ -30,6 +29,7 @@ import google.registry.model.annotations.NotBackedUp.Reason;
import google.registry.util.FormattingLogger; import google.registry.util.FormattingLogger;
import google.registry.util.RequestStatusChecker; import google.registry.util.RequestStatusChecker;
import google.registry.util.RequestStatusCheckerImpl; import google.registry.util.RequestStatusCheckerImpl;
import java.util.Optional;
import javax.annotation.Nullable; import javax.annotation.Nullable;
import org.joda.time.DateTime; import org.joda.time.DateTime;
import org.joda.time.Duration; import org.joda.time.Duration;
@ -99,7 +99,7 @@ public class Lock extends ImmutableObject {
// It's important to use transactNew rather than transact, because a Lock can be used to control // It's important to use transactNew rather than transact, because a Lock can be used to control
// access to resources like GCS that can't be transactionally rolled back. Therefore, the lock // access to resources like GCS that can't be transactionally rolled back. Therefore, the lock
// must be definitively acquired before it is used, even when called inside another transaction. // must be definitively acquired before it is used, even when called inside another transaction.
return Optional.fromNullable(ofy().transactNew(new Work<Lock>() { return Optional.ofNullable(ofy().transactNew(new Work<Lock>() {
@Override @Override
public Lock run() { public Lock run() {
String lockId = makeLockId(resourceName, tld); String lockId = makeLockId(resourceName, tld);

View file

@ -20,13 +20,13 @@ import static google.registry.request.RequestParameters.extractOptionalDatetimeP
import static google.registry.request.RequestParameters.extractRequiredParameter; import static google.registry.request.RequestParameters.extractRequiredParameter;
import static google.registry.request.RequestParameters.extractSetOfParameters; import static google.registry.request.RequestParameters.extractSetOfParameters;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableSet; import com.google.common.collect.ImmutableSet;
import dagger.Module; import dagger.Module;
import dagger.Provides; import dagger.Provides;
import google.registry.batch.ExpandRecurringBillingEventsAction; import google.registry.batch.ExpandRecurringBillingEventsAction;
import google.registry.request.Parameter; import google.registry.request.Parameter;
import google.registry.request.RequestParameters; import google.registry.request.RequestParameters;
import java.util.Optional;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import org.joda.time.DateTime; import org.joda.time.DateTime;

View file

@ -16,10 +16,10 @@ package google.registry.monitoring.metrics;
import static com.google.common.util.concurrent.MoreExecutors.directExecutor; import static com.google.common.util.concurrent.MoreExecutors.directExecutor;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList;
import com.google.common.util.concurrent.AbstractExecutionThreadService; import com.google.common.util.concurrent.AbstractExecutionThreadService;
import java.io.IOException; import java.io.IOException;
import java.util.Optional;
import java.util.concurrent.BlockingQueue; import java.util.concurrent.BlockingQueue;
import java.util.concurrent.Executor; import java.util.concurrent.Executor;
import java.util.concurrent.ExecutorService; import java.util.concurrent.ExecutorService;

View file

@ -18,9 +18,9 @@ import static com.google.common.base.Preconditions.checkArgument;
import static com.google.common.util.concurrent.MoreExecutors.directExecutor; import static com.google.common.util.concurrent.MoreExecutors.directExecutor;
import com.google.common.annotations.VisibleForTesting; import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList;
import com.google.common.util.concurrent.AbstractScheduledService; import com.google.common.util.concurrent.AbstractScheduledService;
import java.util.Optional;
import java.util.concurrent.ArrayBlockingQueue; import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.BlockingQueue; import java.util.concurrent.BlockingQueue;
import java.util.concurrent.Executors; import java.util.concurrent.Executors;
@ -117,7 +117,7 @@ public class MetricReporter extends AbstractScheduledService {
runOneIteration(); runOneIteration();
// Offer a poision pill to inform the exporter to stop. // Offer a poision pill to inform the exporter to stop.
writeQueue.offer(Optional.<ImmutableList<MetricPoint<?>>>absent()); writeQueue.offer(Optional.<ImmutableList<MetricPoint<?>>>empty());
try { try {
metricExporter.awaitTerminated(10, TimeUnit.SECONDS); metricExporter.awaitTerminated(10, TimeUnit.SECONDS);
logger.info("Shut down MetricExporter"); logger.info("Shut down MetricExporter");

View file

@ -10,8 +10,9 @@ java_library(
srcs = glob(["*.java"]), srcs = glob(["*.java"]),
deps = [ deps = [
"//java/google/registry/monitoring/metrics", "//java/google/registry/monitoring/metrics",
"//third_party/java/truth",
"@com_google_code_findbugs_jsr305", "@com_google_code_findbugs_jsr305",
"@com_google_guava", "@com_google_guava",
"@com_google_truth",
"@com_google_truth_extensions_truth_java8_extension",
], ],
) )

Some files were not shown because too many files have changed in this diff Show more