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.ReducerInput;
import com.google.auto.value.AutoValue;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMultiset;
import com.googlecode.objectify.Key;
@ -100,7 +99,7 @@ public final class DeleteOldCommitLogsAction implements Runnable {
new DeleteOldCommitLogsMapper(),
new DeleteOldCommitLogsReducer(deletionThreshold, isDryRun),
ImmutableList.of(
new CommitLogManifestInput(Optional.of(deletionThreshold)),
new CommitLogManifestInput(deletionThreshold),
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 com.google.api.services.bigquery.model.TableFieldSchema;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableList;
import dagger.Module;
import dagger.Provides;
import dagger.multibindings.IntoMap;
import dagger.multibindings.StringKey;
import google.registry.request.Parameter;
import java.util.Optional;
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.Reducer;
import com.google.appengine.tools.mapreduce.ReducerInput;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Range;
@ -62,6 +61,7 @@ import google.registry.request.Response;
import google.registry.request.auth.Auth;
import google.registry.util.Clock;
import google.registry.util.FormattingLogger;
import java.util.Optional;
import java.util.Set;
import javax.inject.Inject;
import org.joda.money.Money;
@ -97,7 +97,7 @@ public class ExpandRecurringBillingEventsAction implements Runnable {
Cursor cursor = ofy().load().key(Cursor.createGlobalKey(RECURRING_BILLING)).now();
DateTime executeTime = clock.nowUtc();
DateTime persistedCursorTime = (cursor == null ? START_OF_TIME : cursor.getCursorTime());
DateTime cursorTime = cursorTimeParam.or(persistedCursorTime);
DateTime cursorTime = cursorTimeParam.orElse(persistedCursorTime);
checkArgument(
cursorTime.isBefore(executeTime),
"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 com.google.appengine.api.datastore.DatastoreService;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableSet;
import google.registry.batch.MapreduceEntityCleanupUtil.EligibleJobResults;
import google.registry.mapreduce.MapreduceRunner;
@ -28,6 +27,7 @@ import google.registry.request.Response;
import google.registry.request.auth.Auth;
import google.registry.util.Clock;
import google.registry.util.FormattingLogger;
import java.util.Optional;
import java.util.Set;
import javax.inject.Inject;
import org.joda.time.DateTime;
@ -164,7 +164,7 @@ public class MapreduceEntityCleanupAction implements Runnable {
handleBadRequest(ERROR_NON_POSITIVE_JOBS_TO_DELETE);
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.
boolean verbose =
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.
int numJobsProcessed = 0;
DateTime cutoffDate = clock.nowUtc().minusDays(defaultedDaysOld);
Optional<String> cursor = Optional.absent();
Optional<String> cursor = Optional.empty();
do {
Optional<Integer> numJobsToRequest =
Optional.fromNullable(
Optional.ofNullable(
numJobsToDelete.isPresent() ? numJobsToDelete.get() - numJobsProcessed : null);
EligibleJobResults batch =
mapreduceEntityCleanupUtil.findEligibleJobsByJobName(
jobName.orNull(), cutoffDate, numJobsToRequest, force.or(false), cursor);
jobName.orElse(null), cutoffDate, numJobsToRequest, force.orElse(false), cursor);
cursor = batch.cursor();
// Individual batches can come back empty if none of the returned jobs meet the requirements
// or if all jobs have been exhausted.
@ -200,7 +200,7 @@ public class MapreduceEntityCleanupAction implements Runnable {
if (numJobsProcessed == 0) {
logger.infofmt(
"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");
} else {
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) {
Optional<StringBuilder> payloadChunkBuilder =
verbose ? Optional.of(new StringBuilder()) : Optional.<StringBuilder>absent();
verbose ? Optional.of(new StringBuilder()) : Optional.<StringBuilder>empty();
int errorCount = 0;
for (String actualJobId : actualJobIds) {
Optional<String> error =
mapreduceEntityCleanupUtil.deleteJobAsync(datastore, actualJobId, force.or(false));
mapreduceEntityCleanupUtil.deleteJobAsync(datastore, actualJobId, force.orElse(false));
if (error.isPresent()) {
errorCount++;
}
logger.infofmt("%s: %s", actualJobId, error.or("deletion requested"));
logger.infofmt("%s: %s", actualJobId, error.orElse("deletion requested"));
if (payloadChunkBuilder.isPresent()) {
payloadChunkBuilder
.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(

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

View file

@ -22,10 +22,10 @@ import com.braintreegateway.Customer;
import com.braintreegateway.CustomerRequest;
import com.braintreegateway.Result;
import com.braintreegateway.exceptions.NotFoundException;
import com.google.common.base.Optional;
import com.google.common.base.VerifyException;
import google.registry.model.registrar.Registrar;
import google.registry.model.registrar.RegistrarContact;
import java.util.Optional;
import javax.inject.Inject;
/** Helper for creating Braintree customer entries for registrars. */
@ -89,7 +89,7 @@ public class BraintreeRegistrarSyncer {
return Optional.of(contact);
}
}
return Optional.absent();
return Optional.empty();
}
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 com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Optional;
import com.google.common.base.Supplier;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
@ -34,6 +33,7 @@ import java.net.URI;
import java.net.URL;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Optional;
import javax.annotation.Nullable;
import javax.inject.Named;
import javax.inject.Qualifier;
@ -333,13 +333,13 @@ public final class RegistryConfig {
@Provides
@Config("cloudDnsRootUrl")
public static Optional<String> getCloudDnsRootUrl(RegistryConfigSettings config) {
return Optional.fromNullable(config.cloudDns.rootUrl);
return Optional.ofNullable(config.cloudDns.rootUrl);
}
@Provides
@Config("cloudDnsServicePath")
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
@Config("sheetRegistrarId")
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.ResourceUtils.readResourceUtf8;
import com.google.common.base.Optional;
import google.registry.util.FormattingLogger;
import java.util.Map;
import java.util.Optional;
import org.yaml.snakeyaml.Yaml;
/**
@ -134,7 +134,7 @@ public final class YamlUtils {
*/
@SuppressWarnings("unchecked")
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() {}

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.TaskOptions;
import com.google.common.base.Optional;
import google.registry.model.ofy.CommitLogBucket;
import google.registry.request.Action;
import google.registry.request.Parameter;
import google.registry.request.auth.Auth;
import google.registry.util.TaskEnqueuer;
import java.util.Optional;
import java.util.Random;
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.extractSetOfParameters;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableSet;
import dagger.Module;
import dagger.Provides;
import google.registry.request.Parameter;
import java.util.Optional;
import javax.servlet.http.HttpServletRequest;
/** 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.TaskHandle;
import com.google.appengine.api.taskqueue.TaskOptions;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableListMultimap;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Multimap;
@ -44,6 +43,7 @@ import google.registry.request.RequestParameters;
import google.registry.request.Response;
import google.registry.request.auth.Auth;
import google.registry.util.TaskEnqueuer;
import java.util.Optional;
import java.util.Random;
import java.util.Set;
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.apphosting.api.DeadlineExceededException;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableList;
import com.google.common.net.InternetDomainName;
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.NonFinalForTesting;
import java.util.List;
import java.util.Optional;
import java.util.concurrent.TimeUnit;
import java.util.logging.Level;
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.TaskOptions;
import com.google.auto.value.AutoValue;
import com.google.common.base.Optional;
import com.google.common.collect.ComparisonChain;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
@ -48,6 +47,7 @@ import java.util.Collection;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.Random;
import java.util.Set;
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.common.annotations.VisibleForTesting;
import com.google.common.base.Joiner;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
@ -49,6 +48,7 @@ import java.net.InetAddress;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Optional;
import java.util.Set;
import java.util.concurrent.Callable;
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.
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.
// 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
// should be deleted.
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.
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.DnsScopes;
import com.google.common.base.Function;
import com.google.common.base.Optional;
import com.google.common.util.concurrent.RateLimiter;
import dagger.Module;
import dagger.Provides;
@ -29,6 +28,7 @@ import dagger.multibindings.IntoSet;
import dagger.multibindings.StringKey;
import google.registry.config.RegistryConfig.Config;
import google.registry.dns.writer.DnsWriter;
import java.util.Optional;
import java.util.Set;
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 com.google.common.base.Joiner;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet;
import com.google.common.net.InternetDomainName;
@ -36,6 +35,7 @@ import java.io.IOException;
import java.net.Inet4Address;
import java.net.Inet6Address;
import java.net.InetAddress;
import java.util.Optional;
import javax.inject.Inject;
import org.joda.time.Duration;
import org.xbill.DNS.AAAARecord;

View file

@ -26,7 +26,6 @@ java_binary(
"//java/google/registry/module/frontend",
"//java/google/registry/module/tools",
"//java/google/registry/tools",
"//third_party/java/truth",
"@com_google_apis_google_api_services_cloudkms",
"@com_google_appengine_api_1_0_sdk//:link",
"@com_google_appengine_api_stubs",
@ -34,6 +33,8 @@ java_binary(
"@com_google_appengine_testing",
"@com_google_appengine_tools_sdk",
"@com_google_guava_testlib",
"@com_google_truth",
"@com_google_truth_extensions_truth_java8_extension",
"@junit",
"@org_apache_ftpserver_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.base.Ascii;
import com.google.common.base.Joiner;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableSet;
import google.registry.util.Clock;
import google.registry.util.NonFinalForTesting;
import google.registry.util.SystemClock;
import java.util.Date;
import java.util.List;
import java.util.Optional;
import org.joda.time.DateTime;
import org.joda.time.Duration;
@ -71,9 +71,9 @@ public class DatastoreBackupInfo {
kinds = ImmutableSet.copyOf(rawKinds);
startTime = new DateTime(rawStartTime).withZone(UTC);
completeTime = Optional.fromNullable(
completeTime = Optional.ofNullable(
rawCompleteTime == null ? null : new DateTime(rawCompleteTime).withZone(UTC));
gcsFilename = Optional.fromNullable(
gcsFilename = Optional.ofNullable(
rawGcsFilename == null ? null : gcsPathToUri(rawGcsFilename.getValue()));
}
@ -126,7 +126,7 @@ public class DatastoreBackupInfo {
* backup started (if it has not completed).
*/
public Duration getRunningTime() {
return new Duration(startTime, completeTime.or(clock.nowUtc()));
return new Duration(startTime, completeTime.orElse(clock.nowUtc()));
}
public Optional<String> getGcsFilename() {
@ -140,9 +140,9 @@ public class DatastoreBackupInfo {
"Backup name: " + backupName,
"Status: " + getStatus(),
"Started: " + startTime,
"Ended: " + completeTime.orNull(),
"Ended: " + completeTime.orElse(null),
"Duration: " + Ascii.toLowerCase(getRunningTime().toPeriod().toString().substring(2)),
"GCS: " + gcsFilename.orNull(),
"GCS: " + gcsFilename.orElse(null),
"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_OK;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Sets;
@ -43,6 +42,7 @@ import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.Set;
import javax.annotation.Nullable;
import javax.inject.Inject;
@ -140,7 +140,7 @@ public final class SyncGroupMembersAction implements Runnable {
return null;
},
RuntimeException.class);
resultsBuilder.put(registrar, Optional.<Throwable>absent());
resultsBuilder.put(registrar, Optional.<Throwable>empty());
} catch (Throwable e) {
logger.severe(e, e.getMessage());
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 com.google.common.base.Optional;
import dagger.Module;
import dagger.Provides;
import google.registry.request.Parameter;
import java.util.Optional;
import javax.servlet.http.HttpServletRequest;
/** Dagger module for the sheet package. */
@ -29,6 +29,6 @@ public final class SheetModule {
@Provides
@Parameter("id")
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.taskqueue.TaskHandle;
import com.google.appengine.api.taskqueue.TaskOptions.Method;
import com.google.common.base.Optional;
import google.registry.config.RegistryConfig.Config;
import google.registry.request.Action;
import google.registry.request.Parameter;
@ -37,6 +36,7 @@ import google.registry.request.lock.LockHandler;
import google.registry.util.FormattingLogger;
import google.registry.util.NonFinalForTesting;
import java.io.IOException;
import java.util.Optional;
import java.util.concurrent.Callable;
import javax.annotation.Nullable;
import javax.inject.Inject;
@ -121,7 +121,7 @@ public class SyncRegistrarsSheetAction implements Runnable {
@Override
public void run() {
final Optional<String> sheetId = idParam.or(idConfig);
final Optional<String> sheetId = Optional.ofNullable(idParam.orElse(idConfig.orElse(null)));
if (!sheetId.isPresent()) {
Result.MISSINGNO.send(response, null);
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.base.Joiner;
import com.google.common.base.Optional;
import com.google.common.base.Strings;
import com.google.common.collect.ImmutableMap;
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.EppMetric;
import google.registry.util.FormattingLogger;
import java.util.Optional;
import javax.inject.Inject;
import org.json.simple.JSONValue;
@ -62,7 +62,7 @@ public final class EppController {
boolean isDryRun,
boolean isSuperuser,
byte[] inputXmlBytes) {
eppMetricBuilder.setClientId(Optional.fromNullable(sessionMetadata.getClientId()));
eppMetricBuilder.setClientId(Optional.ofNullable(sessionMetadata.getClientId()));
eppMetricBuilder.setPrivilegeLevel(isSuperuser ? "SUPERUSER" : "NORMAL");
try {
EppInput eppInput;

View file

@ -86,9 +86,9 @@ public class EppMetrics {
String eppStatusCode =
metric.getStatus().isPresent() ? String.valueOf(metric.getStatus().get().code) : "";
eppRequestsByRegistrar.increment(
metric.getCommandName().or(""), metric.getClientId().or(""), eppStatusCode);
metric.getCommandName().orElse(""), metric.getClientId().orElse(""), eppStatusCode);
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. */
@ -98,8 +98,14 @@ public class EppMetrics {
long processingTime =
metric.getEndTimestamp().getMillis() - metric.getStartTimestamp().getMillis();
processingTimeByRegistrar.record(
processingTime, metric.getCommandName().or(""), metric.getClientId().or(""), eppStatusCode);
processingTime,
metric.getCommandName().orElse(""),
metric.getClientId().orElse(""),
eppStatusCode);
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.Strings.nullToEmpty;
import com.google.common.base.Optional;
import com.google.common.base.Strings;
import dagger.Module;
import dagger.Provides;
@ -35,6 +34,7 @@ import google.registry.model.eppoutput.EppResponse;
import google.registry.model.eppoutput.Result;
import google.registry.model.reporting.HistoryEntry;
import java.lang.annotation.Documented;
import java.util.Optional;
import javax.inject.Qualifier;
/** Module to choose and instantiate an EPP flow. */
@ -194,7 +194,7 @@ public class FlowModule {
@Provides
@FlowScope
static Optional<AuthInfo> provideOptionalAuthInfo(ResourceCommand resourceCommand) {
return Optional.fromNullable(((SingleResourceCommand) resourceCommand).getAuthInfo());
return Optional.ofNullable(((SingleResourceCommand) resourceCommand).getAuthInfo());
}
@Provides

View file

@ -19,7 +19,6 @@ import static google.registry.xml.XmlTransformer.prettyPrint;
import static java.util.Collections.EMPTY_LIST;
import com.google.common.base.Ascii;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
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.eppinput.EppInput;
import google.registry.util.FormattingLogger;
import java.util.Optional;
import javax.inject.Inject;
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
// 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).
String singleTargetId = eppInput.getSingleTargetId().or("");
String singleTargetId = eppInput.getSingleTargetId().orElse("");
ImmutableList<String> targetIds = eppInput.getTargetIds();
logger.infofmt(
"%s: %s",
@ -82,12 +82,12 @@ public class FlowReporter {
.put("serverTrid", trid.getServerTransactionId())
.put("clientId", clientId)
.put("commandType", eppInput.getCommandType())
.put("resourceType", eppInput.getResourceType().or(""))
.put("resourceType", eppInput.getResourceType().orElse(""))
.put("flowClassName", flowClass.getSimpleName())
.put("targetId", singleTargetId)
.put("targetIds", targetIds)
.put(
"tld", eppInput.isDomainResourceType() ? extractTld(singleTargetId).or("") : "")
"tld", eppInput.isDomainResourceType() ? extractTld(singleTargetId).orElse("") : "")
.put(
"tlds",
eppInput.isDomainResourceType() ? extractTlds(targetIds).asList() : EMPTY_LIST)
@ -108,7 +108,7 @@ public class FlowReporter {
private static final Optional<String> extractTld(String domainName) {
int index = domainName.indexOf('.');
return index == -1
? Optional.<String>absent()
? Optional.<String>empty()
: 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 com.google.common.base.Joiner;
import com.google.common.base.Optional;
import java.util.Optional;
import java.util.Set;
import javax.servlet.http.HttpSession;
@ -53,7 +53,7 @@ public class HttpSessionMetadata implements SessionMetadata {
@Override
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

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.checkNotNull;
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 google.registry.model.EppResourceUtils.loadByForeignKey;
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 com.google.common.base.Function;
import com.google.common.base.Optional;
import com.google.common.base.Predicate;
import com.google.common.collect.ImmutableList;
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.TransferStatus;
import java.util.List;
import java.util.Optional;
import java.util.Set;
import org.joda.time.DateTime;
@ -345,7 +344,11 @@ public final class ResourceFlowUtils {
}
// The roid should match one of the contacts.
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()) {
throw new BadAuthInfoForResourceException();
}

View file

@ -20,7 +20,6 @@ import static google.registry.request.RequestParameters.extractOptionalHeader;
import static google.registry.request.RequestParameters.extractRequiredHeader;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableList;
import com.google.common.net.HostAndPort;
import com.google.common.net.InetAddresses;
@ -32,6 +31,7 @@ import google.registry.request.Header;
import google.registry.util.CidrAddressBlock;
import google.registry.util.FormattingLogger;
import java.net.InetAddress;
import java.util.Optional;
import javax.inject.Inject;
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.ofy.ObjectifyService.ofy;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableSet;
import com.googlecode.objectify.Key;
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.reporting.HistoryEntry;
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
import java.util.Optional;
import javax.inject.Inject;
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.model.EppResourceUtils.isLinked;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableSet;
import com.googlecode.objectify.Key;
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.reporting.IcannReportingTypes.ActivityReportField;
import google.registry.util.Clock;
import java.util.Optional;
import javax.inject.Inject;
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.model.ofy.ObjectifyService.ofy;
import com.google.common.base.Optional;
import com.googlecode.objectify.Key;
import google.registry.flows.EppException;
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.IcannReportingTypes.ActivityReportField;
import google.registry.model.transfer.TransferStatus;
import java.util.Optional;
import javax.inject.Inject;
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.model.ofy.ObjectifyService.ofy;
import com.google.common.base.Optional;
import com.googlecode.objectify.Key;
import google.registry.flows.EppException;
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.IcannReportingTypes.ActivityReportField;
import google.registry.model.transfer.TransferStatus;
import java.util.Optional;
import javax.inject.Inject;
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.contact.ContactFlowUtils.createTransferResponse;
import com.google.common.base.Optional;
import google.registry.flows.EppException;
import google.registry.flows.ExtensionManager;
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.reporting.IcannReportingTypes.ActivityReportField;
import google.registry.util.Clock;
import java.util.Optional;
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.model.ofy.ObjectifyService.ofy;
import com.google.common.base.Optional;
import com.googlecode.objectify.Key;
import google.registry.flows.EppException;
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.IcannReportingTypes.ActivityReportField;
import google.registry.model.transfer.TransferStatus;
import java.util.Optional;
import javax.inject.Inject;
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.ofy.ObjectifyService.ofy;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableSet;
import com.googlecode.objectify.Key;
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.transfer.TransferData;
import google.registry.model.transfer.TransferStatus;
import java.util.Optional;
import javax.inject.Inject;
import org.joda.time.DateTime;
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.model.ofy.ObjectifyService.ofy;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableSet;
import com.googlecode.objectify.Key;
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.reporting.HistoryEntry;
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
import java.util.Optional;
import javax.annotation.Nullable;
import javax.inject.Inject;
import org.joda.time.DateTime;

View file

@ -15,7 +15,6 @@
package google.registry.flows.custom;
import com.google.auto.value.AutoValue;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableList;
import com.google.common.net.InternetDomainName;
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.ResponseExtension;
import google.registry.model.reporting.HistoryEntry;
import java.util.Optional;
/**
* 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.ofy.ObjectifyService.ofy;
import com.google.common.base.Optional;
import com.googlecode.objectify.Key;
import google.registry.flows.EppException;
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.reporting.HistoryEntry;
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
import java.util.Optional;
import javax.inject.Inject;
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.model.ofy.ObjectifyService.ofy;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableList;
import com.googlecode.objectify.Key;
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.SignedMark;
import google.registry.util.Clock;
import java.util.Optional;
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.util.CollectionUtils.nullToEmpty;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Sets;
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.reporting.HistoryEntry;
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
import java.util.Optional;
import javax.inject.Inject;
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.pricing.PricingEngineProxy.isDomainPremium;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
@ -63,6 +62,7 @@ import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
import google.registry.util.Clock;
import java.util.HashSet;
import java.util.List;
import java.util.Optional;
import java.util.Set;
import javax.inject.Inject;
import org.joda.time.DateTime;
@ -151,7 +151,7 @@ public final class DomainCheckFlow implements Flow {
ImmutableList.Builder<DomainCheck> checks = new ImmutableList.Builder<>();
for (String targetId : targetIds) {
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 =
customLogic.beforeResponse(
@ -187,7 +187,7 @@ public final class DomainCheckFlow implements Flow {
}
return reservationTypes.isEmpty()
? Optional.<String>absent()
? Optional.<String>empty()
: 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.leapSafeAddYears;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet;
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.IcannReportingTypes.ActivityReportField;
import google.registry.tmch.LordnTask;
import java.util.Optional;
import javax.inject.Inject;
import org.joda.time.DateTime;
import org.joda.time.Duration;
@ -255,7 +255,7 @@ public class DomainCreateFlow implements TransactionalFlow {
DomainCreateFlowCustomLogic.AfterValidationParameters.newBuilder()
.setDomainName(domainName)
.setYears(years)
.setSignedMarkId(Optional.fromNullable(signedMarkId))
.setSignedMarkId(Optional.ofNullable(signedMarkId))
.build());
FeeCreateCommandExtension feeCreate =
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.union;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet;
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.transfer.TransferStatus;
import java.util.Collections;
import java.util.Optional;
import java.util.Set;
import javax.annotation.Nullable;
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.Joiner;
import com.google.common.base.Optional;
import com.google.common.base.Splitter;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
@ -115,6 +114,7 @@ import java.math.BigDecimal;
import java.util.HashSet;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import java.util.Set;
import javax.annotation.Nullable;
import org.joda.money.CurrencyUnit;
@ -490,7 +490,7 @@ public class DomainFlowUtils {
@SuppressWarnings("unchecked")
static void updateAutorenewRecurrenceEndTime(DomainResource domain, DateTime newEndTime) {
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,
// 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())
.setCurrencyIfSupported(registry.getCurrency())
.setPeriod(feeRequest.getPeriod())
.setClass(pricingLogic.getFeeClass(domainNameString, now).orNull());
.setClass(pricingLogic.getFeeClass(domainNameString, now).orElse(null));
ImmutableList<Fee> fees = ImmutableList.of();
switch (feeRequest.getCommandName()) {
@ -939,7 +939,6 @@ public class DomainFlowUtils {
.order("modificationTime")
.list();
Optional<HistoryEntry> entryToCancel =
Optional.fromJavaUtil(
Streams.findLast(
recentHistoryEntries
.stream()
@ -954,7 +953,7 @@ public class DomainFlowUtils {
}
}
return false;
})));
}));
ImmutableSet.Builder<DomainTransactionRecord> recordsBuilder = new ImmutableSet.Builder<>();
if (entryToCancel.isPresent()) {
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.ofy.ObjectifyService.ofy;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet;
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.reporting.IcannReportingTypes.ActivityReportField;
import google.registry.util.Clock;
import java.util.Optional;
import javax.inject.Inject;
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.getDomainRenewCost;
import com.google.common.base.Optional;
import com.google.common.net.InternetDomainName;
import com.googlecode.objectify.Key;
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.Fee;
import google.registry.model.registry.Registry;
import java.util.Optional;
import javax.inject.Inject;
import org.joda.money.CurrencyUnit;
import org.joda.money.Money;
@ -210,6 +210,6 @@ public final class DomainPricingLogic {
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.util.DateTimeUtils.leapSafeAddYears;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet;
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.HistoryEntry;
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
import java.util.Optional;
import javax.inject.Inject;
import org.joda.money.Money;
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.util.DateTimeUtils.END_OF_TIME;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet;
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.HistoryEntry;
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
import java.util.Optional;
import javax.inject.Inject;
import org.joda.money.Money;
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.DateTimeUtils.END_OF_TIME;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableSet;
import com.googlecode.objectify.Key;
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.transfer.TransferData;
import google.registry.model.transfer.TransferStatus;
import java.util.Optional;
import javax.inject.Inject;
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.
Optional<BillingEvent.OneTime> billingEvent =
(transferData.getTransferPeriod().getValue() == 0)
? Optional.<BillingEvent.OneTime>absent()
? Optional.<BillingEvent.OneTime>empty()
: Optional.of(
new BillingEvent.OneTime.Builder()
.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.util.DateTimeUtils.END_OF_TIME;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableSet;
import com.googlecode.objectify.Key;
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.IcannReportingTypes.ActivityReportField;
import google.registry.model.transfer.TransferStatus;
import java.util.Optional;
import javax.inject.Inject;
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.model.domain.DomainResource.extendRegistrationWithCap;
import com.google.common.base.Optional;
import google.registry.flows.EppException;
import google.registry.flows.ExtensionManager;
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.TransferStatus;
import google.registry.util.Clock;
import java.util.Optional;
import javax.inject.Inject;
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.DateTimeUtils.END_OF_TIME;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableSet;
import com.googlecode.objectify.Key;
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.IcannReportingTypes.ActivityReportField;
import google.registry.model.transfer.TransferStatus;
import java.util.Optional;
import javax.inject.Inject;
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.ofy.ObjectifyService.ofy;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet;
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.TransferResponse.DomainTransferResponse;
import google.registry.model.transfer.TransferStatus;
import java.util.Optional;
import javax.inject.Inject;
import org.joda.money.Money;
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.
Optional<FeesAndCredits> feesAndCredits =
(period.getValue() == 0)
? Optional.<FeesAndCredits>absent()
? Optional.<FeesAndCredits>empty()
: Optional.of(pricingLogic.getTransferPrice(registry, targetId, now));
if (feesAndCredits.isPresent()) {
validateFeeChallenge(targetId, tld, now, feeTransfer, feesAndCredits.get());
@ -200,7 +200,7 @@ public final class DomainTransferRequestFlow implements TransactionalFlow {
gainingClientId,
(feesAndCredits.isPresent())
? Optional.of(feesAndCredits.get().getTotalCost())
: Optional.<Money>absent(),
: Optional.<Money>empty(),
now);
// Create the transfer data that represents the pending transfer.
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 google.registry.util.DateTimeUtils.END_OF_TIME;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet;
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.TransferResponse.DomainTransferResponse;
import google.registry.model.transfer.TransferStatus;
import java.util.Optional;
import javax.annotation.Nullable;
import org.joda.money.Money;
import org.joda.time.DateTime;
@ -135,11 +135,10 @@ public final class DomainTransferUtils {
registry,
transferCost.get()));
}
return builder
.addAll(
createOptionalAutorenewCancellation(
automaticTransferTime, historyEntry, targetId, existingDomain, transferCost)
.asSet())
.ifPresent(builder::add);
return builder
.add(
createGainingClientAutorenewEvent(
serverApproveNewExpirationTime, historyEntry, targetId, gainingClientId))
@ -273,7 +272,7 @@ public final class DomainTransferUtils {
.setEventTime(automaticTransferTime)
.build());
}
return Optional.absent();
return Optional.empty();
}
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.DateTimeUtils.earliestOf;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableSet;
import com.google.common.net.InternetDomainName;
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.reporting.HistoryEntry;
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
import java.util.Optional;
import javax.inject.Inject;
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.union;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableSet;
import com.googlecode.objectify.Key;
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.reporting.HistoryEntry;
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
import java.util.Optional;
import javax.inject.Inject;
import org.joda.time.DateTime;
@ -103,8 +103,8 @@ public final class HostCreateFlow implements TransactionalFlow {
// we can detect error conditions earlier.
Optional<DomainResource> superordinateDomain =
lookupSuperordinateDomain(validateHostName(targetId), now);
verifySuperordinateDomainNotInPendingDelete(superordinateDomain.orNull());
verifySuperordinateDomainOwnership(clientId, superordinateDomain.orNull());
verifySuperordinateDomainNotInPendingDelete(superordinateDomain.orElse(null));
verifySuperordinateDomainOwnership(clientId, superordinateDomain.orElse(null));
boolean willBeSubordinate = superordinateDomain.isPresent();
boolean hasIpAddresses = !isNullOrEmpty(command.getInetAddresses());
if (willBeSubordinate != hasIpAddresses) {

View file

@ -21,7 +21,6 @@ import static google.registry.util.PreconditionsUtils.checkArgumentNotNull;
import static java.util.stream.Collectors.joining;
import com.google.common.base.Ascii;
import com.google.common.base.Optional;
import com.google.common.net.InternetDomainName;
import google.registry.flows.EppException;
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.eppcommon.StatusValue;
import google.registry.util.Idn;
import java.util.Optional;
import org.joda.time.DateTime;
/** Static utility functions for host flows. */
@ -94,7 +94,7 @@ public class HostFlowUtils {
Optional<InternetDomainName> tld = findTldForName(hostName);
if (!tld.isPresent()) {
// 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
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.util.CollectionUtils.isNullOrEmpty;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableSet;
import com.googlecode.objectify.Key;
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.IcannReportingTypes.ActivityReportField;
import java.util.Objects;
import java.util.Optional;
import javax.inject.Inject;
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.
Optional<DomainResource> newSuperordinateDomain =
lookupSuperordinateDomain(validateHostName(newHostName), now);
verifySuperordinateDomainNotInPendingDelete(newSuperordinateDomain.orNull());
verifySuperordinateDomainNotInPendingDelete(newSuperordinateDomain.orElse(null));
EppResource owningResource = firstNonNull(oldSuperordinateDomain, existingHost);
verifyUpdateAllowed(
command, existingHost, newSuperordinateDomain.orNull(), owningResource, isHostRename);
command, existingHost, newSuperordinateDomain.orElse(null), owningResource, isHostRename);
if (isHostRename && loadAndGetKey(HostResource.class, newHostName, now) != null) {
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 google.registry.util.CollectionUtils.nullToEmpty;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableSet;
import google.registry.flows.EppException;
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.registrar.Registrar;
import google.registry.util.FormattingLogger;
import java.util.Optional;
import java.util.Set;
import javax.inject.Inject;

View file

@ -16,10 +16,10 @@ package google.registry.keyring.api;
import static com.google.common.base.Strings.emptyToNull;
import com.google.common.base.Optional;
import dagger.Module;
import dagger.Provides;
import java.lang.annotation.Documented;
import java.util.Optional;
import javax.inject.Qualifier;
import org.bouncycastle.openpgp.PGPKeyPair;
import org.bouncycastle.openpgp.PGPPrivateKey;
@ -57,19 +57,19 @@ public final class KeyModule {
@Provides
@Key("marksdbDnlLogin")
static Optional<String> provideMarksdbDnlLogin(Keyring keyring) {
return Optional.fromNullable(emptyToNull(keyring.getMarksdbDnlLogin()));
return Optional.ofNullable(emptyToNull(keyring.getMarksdbDnlLogin()));
}
@Provides
@Key("marksdbLordnPassword")
static Optional<String> provideMarksdbLordnPassword(Keyring keyring) {
return Optional.fromNullable(emptyToNull(keyring.getMarksdbLordnPassword()));
return Optional.ofNullable(emptyToNull(keyring.getMarksdbLordnPassword()));
}
@Provides
@Key("marksdbSmdrlLogin")
static Optional<String> provideMarksdbSmdrlLogin(Keyring keyring) {
return Optional.fromNullable(emptyToNull(keyring.getMarksdbSmdrlLogin()));
return Optional.ofNullable(emptyToNull(keyring.getMarksdbSmdrlLogin()));
}
@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_SIGN;
import com.google.common.base.Optional;
import com.google.common.base.VerifyException;
import java.io.IOException;
import java.util.Iterator;
import java.util.Optional;
import org.bouncycastle.openpgp.PGPException;
import org.bouncycastle.openpgp.PGPKeyPair;
import org.bouncycastle.openpgp.PGPPrivateKey;
@ -156,7 +156,7 @@ public final class PgpHelper {
throw new AssertionError();
}
}
return Optional.absent();
return Optional.empty();
}
/** Returns {@code true} if this key can be used for signing. */

View file

@ -43,73 +43,73 @@ public final class LoadTestModule {
@Parameter("delaySeconds")
static int provideDelaySeconds(HttpServletRequest req) {
return extractOptionalIntParameter(req, "delaySeconds")
.or(Minutes.ONE.toStandardSeconds().getSeconds());
.orElse(Minutes.ONE.toStandardSeconds().getSeconds());
}
@Provides
@Parameter("runSeconds")
static int provideRunSeconds(HttpServletRequest req) {
return extractOptionalIntParameter(req, "runSeconds")
.or(Minutes.ONE.toStandardSeconds().getSeconds());
.orElse(Minutes.ONE.toStandardSeconds().getSeconds());
}
@Provides
@Parameter("successfulDomainCreates")
static int provideSuccessfulDomainCreates(HttpServletRequest req) {
return extractOptionalIntParameter(req, "successfulDomainCreates").or(0);
return extractOptionalIntParameter(req, "successfulDomainCreates").orElse(0);
}
@Provides
@Parameter("failedDomainCreates")
static int provideFailedDomainCreates(HttpServletRequest req) {
return extractOptionalIntParameter(req, "failedDomainCreates").or(0);
return extractOptionalIntParameter(req, "failedDomainCreates").orElse(0);
}
@Provides
@Parameter("domainInfos")
static int provideDomainInfos(HttpServletRequest req) {
return extractOptionalIntParameter(req, "domainInfos").or(0);
return extractOptionalIntParameter(req, "domainInfos").orElse(0);
}
@Provides
@Parameter("domainChecks")
static int provideDomainChecks(HttpServletRequest req) {
return extractOptionalIntParameter(req, "domainChecks").or(0);
return extractOptionalIntParameter(req, "domainChecks").orElse(0);
}
@Provides
@Parameter("successfulContactCreates")
static int provideSuccessfulContactCreates(HttpServletRequest req) {
return extractOptionalIntParameter(req, "successfulContactCreates").or(0);
return extractOptionalIntParameter(req, "successfulContactCreates").orElse(0);
}
@Provides
@Parameter("failedContactCreates")
static int provideFailedContactCreates(HttpServletRequest req) {
return extractOptionalIntParameter(req, "failedContactCreates").or(0);
return extractOptionalIntParameter(req, "failedContactCreates").orElse(0);
}
@Provides
@Parameter("contactInfos")
static int provideContactInfos(HttpServletRequest req) {
return extractOptionalIntParameter(req, "contactInfos").or(0);
return extractOptionalIntParameter(req, "contactInfos").orElse(0);
}
@Provides
@Parameter("successfulHostCreates")
static int provideSuccessfulHostCreates(HttpServletRequest req) {
return extractOptionalIntParameter(req, "successfulHostCreates").or(0);
return extractOptionalIntParameter(req, "successfulHostCreates").orElse(0);
}
@Provides
@Parameter("failedHostCreates")
static int provideFailedHostCreates(HttpServletRequest req) {
return extractOptionalIntParameter(req, "failedHostCreates").or(0);
return extractOptionalIntParameter(req, "failedHostCreates").orElse(0);
}
@Provides
@Parameter("hostInfos")
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.extractOptionalIntParameter;
import com.google.common.base.Optional;
import dagger.Module;
import dagger.Provides;
import google.registry.request.Parameter;
import java.util.Optional;
import javax.servlet.http.HttpServletRequest;
/** 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.JobSetting;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Optional;
import google.registry.mapreduce.inputs.ConcatenatingInput;
import google.registry.request.Parameter;
import google.registry.util.FormattingLogger;
import google.registry.util.PipelineUtils;
import java.io.Serializable;
import java.util.Optional;
import javax.inject.Inject;
import org.joda.time.Duration;
@ -143,7 +143,7 @@ public class MapreduceRunner {
return new MapJob<>(
new MapSpecification.Builder<I, O, R>()
.setJobName(jobName)
.setInput(new ConcatenatingInput<>(inputs, httpParamMapShards.or(defaultMapShards)))
.setInput(new ConcatenatingInput<>(inputs, httpParamMapShards.orElse(defaultMapShards)))
.setMapper(mapper)
.setOutput(output)
.build(),
@ -199,13 +199,13 @@ public class MapreduceRunner {
return new MapReduceJob<>(
new MapReduceSpecification.Builder<I, K, V, O, R>()
.setJobName(jobName)
.setInput(new ConcatenatingInput<>(inputs, httpParamMapShards.or(defaultMapShards)))
.setInput(new ConcatenatingInput<>(inputs, httpParamMapShards.orElse(defaultMapShards)))
.setMapper(mapper)
.setReducer(reducer)
.setOutput(output)
.setKeyMarshaller(Marshallers.<K>getSerializationMarshaller())
.setValueMarshaller(Marshallers.<V>getSerializationMarshaller())
.setNumReducers(httpParamReduceShards.or(defaultReduceShards))
.setNumReducers(httpParamReduceShards.orElse(defaultReduceShards))
.build(),
new MapReduceSettings.Builder()
.setWorkerQueueName(QUEUE_NAME)

View file

@ -14,6 +14,7 @@ java_library(
"@com_google_appengine_api_1_0_sdk",
"@com_google_appengine_tools_appengine_mapreduce",
"@com_google_appengine_tools_appengine_pipeline",
"@com_google_code_findbugs_jsr305",
"@com_google_dagger",
"@com_google_guava",
"@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.InputReader;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableList;
import com.googlecode.objectify.Key;
import google.registry.model.ofy.CommitLogBucket;
import google.registry.model.ofy.CommitLogManifest;
import java.util.List;
import javax.annotation.Nullable;
import org.joda.time.DateTime;
/** Base class for {@link Input} classes that map over {@link CommitLogManifest}. */
public class CommitLogManifestInput extends Input<Key<CommitLogManifest>> {
private static final long serialVersionUID = 2043552272352286428L;
private static final long serialVersionUID = 6744322799131602384L;
/**
* 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;
}

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.QueryResultIterator;
import com.google.appengine.tools.mapreduce.InputReader;
import com.google.common.base.Optional;
import com.googlecode.objectify.Key;
import com.googlecode.objectify.cmd.Query;
import google.registry.model.ofy.CommitLogBucket;
@ -30,13 +29,12 @@ import google.registry.util.FormattingLogger;
import google.registry.util.Retrier;
import google.registry.util.SystemSleeper;
import java.util.NoSuchElementException;
import javax.annotation.Nullable;
import org.joda.time.DateTime;
/** {@link InputReader} that maps over {@link CommitLogManifest}. */
class CommitLogManifestReader extends InputReader<Key<CommitLogManifest>> {
private static final long serialVersionUID = 5117046535590539778L;
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 Retrier retrier = new Retrier(new SystemSleeper(), 3);
private static final long serialVersionUID = 2553537421598284748L;
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.
*/
private final Optional<DateTime> olderThan;
@Nullable
private final DateTime olderThan;
private Cursor cursor;
private int total;
@ -64,7 +64,7 @@ class CommitLogManifestReader extends InputReader<Key<CommitLogManifest>> {
private transient QueryResultIterator<Key<CommitLogManifest>> queryIterator;
CommitLogManifestReader(Key<CommitLogBucket> bucketKey, Optional<DateTime> olderThan) {
CommitLogManifestReader(Key<CommitLogBucket> bucketKey, @Nullable DateTime olderThan) {
this.bucketKey = bucketKey;
this.olderThan = olderThan;
}
@ -112,10 +112,10 @@ class CommitLogManifestReader extends InputReader<Key<CommitLogManifest>> {
/** Query for children of this bucket. */
Query<CommitLogManifest> query() {
Query<CommitLogManifest> query = ofy().load().type(CommitLogManifest.class).ancestor(bucketKey);
if (olderThan.isPresent()) {
if (olderThan != null) {
query = query.filterKey(
"<",
Key.create(bucketKey, CommitLogManifest.class, olderThan.get().getMillis()));
Key.create(bucketKey, CommitLogManifest.class, olderThan.getMillis()));
}
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 google.registry.model.ofy.ObjectifyService.ofy;
import com.google.common.base.Optional;
import google.registry.model.ofy.ObjectifyService;
import google.registry.util.TypeUtils.TypeInstantiator;
import java.lang.reflect.Field;
import java.util.Optional;
/** Interface for {@link ImmutableObject} subclasses that have a builder. */
public interface Buildable {
@ -64,8 +64,8 @@ public interface Buildable {
}
if (idField != null
&& !idField.getType().equals(String.class)
&& Optional.fromNullable((Long) ModelUtils.getFieldValue(instance, idField))
.or(0L) == 0) {
&& Optional.ofNullable((Long) ModelUtils.getFieldValue(instance, idField))
.orElse(0L) == 0) {
ModelUtils.setFieldValue(instance, idField, ObjectifyService.allocateId());
}
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 com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.ImmutableSortedMap;
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.ofy.CommitLogManifest;
import google.registry.model.transfer.TransferData;
import java.util.Optional;
import java.util.Set;
import org.joda.time.DateTime;
@ -296,7 +296,7 @@ public abstract class EppResource extends BackupGroupRoot implements Buildable {
addStatusValue(StatusValue.OK);
}
// 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());
}
}

View file

@ -16,8 +16,8 @@ package google.registry.model;
import static google.registry.util.DateTimeUtils.START_OF_TIME;
import com.google.common.base.Optional;
import google.registry.model.translators.UpdateAutoTimestampTranslatorFactory;
import java.util.Optional;
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. */
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) {

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.PreconditionsUtils.checkArgumentNotNull;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
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.transfer.TransferData.TransferServerApproveEntity;
import java.util.Objects;
import java.util.Optional;
import java.util.Set;
import javax.annotation.Nullable;
import org.joda.money.Money;
@ -391,7 +391,7 @@ public abstract class BillingEvent extends ImmutableObject
checkNotNull(instance.reason);
instance.recurrenceTimeOfYear = TimeOfYear.fromDateTime(instance.eventTime);
instance.recurrenceEndTime =
Optional.fromNullable(instance.recurrenceEndTime).or(END_OF_TIME);
Optional.ofNullable(instance.recurrenceEndTime).orElse(END_OF_TIME);
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 com.google.common.base.Joiner;
import com.google.common.base.Optional;
import com.google.common.collect.ComparisonChain;
import com.google.common.collect.ImmutableList;
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.registrar.Registrar;
import google.registry.model.registry.Registry;
import java.util.Optional;
import org.joda.money.CurrencyUnit;
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),
"Credits must be in the currency of the assigned TLD");
instance.description =
Optional.fromNullable(instance.description).or(instance.getDefaultDescription());
Optional.ofNullable(instance.description).orElse(instance.getDefaultDescription());
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 com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Optional;
import com.google.common.collect.ForwardingNavigableMap;
import com.google.common.collect.ImmutableSortedMap;
import com.google.common.collect.Maps;
@ -34,6 +33,7 @@ import google.registry.model.ImmutableObject;
import google.registry.model.annotations.ReportedOn;
import java.util.HashMap;
import java.util.Map;
import java.util.Optional;
import org.joda.money.CurrencyUnit;
import org.joda.money.Money;
import org.joda.time.DateTime;
@ -171,8 +171,8 @@ public final class RegistrarCreditBalance extends ImmutableObject implements Bui
ofy().load().type(RegistrarCreditBalance.class).ancestor(registrarCredit)) {
// Create the submap at this key if it doesn't exist already.
Map<DateTime, Money> submap =
Optional.fromNullable(map.get(balance.effectiveTime))
.or(new HashMap<DateTime, Money>());
Optional.ofNullable(map.get(balance.effectiveTime))
.orElse(new HashMap<DateTime, Money>());
submap.put(balance.writtenTime, balance.amount);
map.put(balance.effectiveTime, submap);
}
@ -212,8 +212,8 @@ public final class RegistrarCreditBalance extends ImmutableObject implements Bui
private Optional<Money> getMostRecentlyWrittenBalance(
Map.Entry<DateTime, ImmutableSortedMap<DateTime, Money>> balancesAtEffectiveTime) {
return balancesAtEffectiveTime == null
? Optional.<Money>absent()
// Don't use Optional.fromNullable() here since it's an error if there's a empty submap.
? Optional.<Money>empty()
// Don't use Optional.ofNullable() here since it's an error if there's a empty submap.
: 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 google.registry.model.EppResourceUtils.projectResourceOntoBuilderAtTime;
import com.google.common.base.Optional;
import com.google.common.base.Predicates;
import com.google.common.collect.ImmutableList;
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.contact.PostalInfo.Type;
import google.registry.model.transfer.TransferData;
import java.util.Optional;
import java.util.stream.Stream;
import javax.xml.bind.annotation.XmlElement;
import org.joda.time.DateTime;
@ -147,7 +147,7 @@ public class ContactResource extends EppResource implements
@Override
public final TransferData getTransferData() {
return Optional.fromNullable(transferData).or(TransferData.EMPTY);
return Optional.ofNullable(transferData).orElse(TransferData.EMPTY);
}
@Override

View file

@ -16,11 +16,11 @@ package google.registry.model.contact;
import static com.google.common.base.Preconditions.checkState;
import com.google.common.base.Optional;
import com.googlecode.objectify.annotation.Embed;
import google.registry.model.Buildable;
import google.registry.model.Buildable.Overlayable;
import google.registry.model.ImmutableObject;
import java.util.Optional;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
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.
checkState(source.type == null || source.type == type);
return asBuilder()
.setName(Optional.fromNullable(source.getName()).or(Optional.fromNullable(name)).orNull())
.setOrg(Optional.fromNullable(source.getOrg()).or(Optional.fromNullable(org)).orNull())
.setAddress(
Optional.fromNullable(source.getAddress()).or(Optional.fromNullable(address)).orNull())
.setName(Optional.ofNullable(source.getName()).orElse(name))
.setOrg(Optional.ofNullable(source.getOrg()).orElse(org))
.setAddress(Optional.ofNullable(source.getAddress()).orElse(address))
.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.leapSafeAddYears;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableSet;
import com.googlecode.objectify.Key;
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.TransferStatus;
import java.util.HashSet;
import java.util.Optional;
import java.util.Set;
import javax.annotation.Nullable;
import org.joda.time.DateTime;
@ -174,7 +174,7 @@ public class DomainResource extends DomainBase
@Override
public final TransferData getTransferData() {
return Optional.fromNullable(transferData).or(TransferData.EMPTY);
return Optional.ofNullable(transferData).orElse(TransferData.EMPTY);
}
@Override
@ -328,7 +328,7 @@ public class DomainResource extends DomainBase
return earliestOf(
leapSafeAddYears(
currentExpirationTime,
Optional.fromNullable(extendedRegistrationYears).or(0)),
Optional.ofNullable(extendedRegistrationYears).orElse(0)),
leapSafeAddYears(now, MAX_REGISTRATION_YEARS));
}

View file

@ -14,9 +14,9 @@
package google.registry.model.domain.fee;
import com.google.common.base.Optional;
import google.registry.model.ImmutableObject;
import google.registry.model.domain.Period;
import java.util.Optional;
import javax.xml.bind.annotation.XmlTransient;
import org.joda.money.CurrencyUnit;
import org.joda.time.DateTime;
@ -69,6 +69,6 @@ public abstract class FeeQueryCommandExtensionItem extends ImmutableObject {
public abstract String getSubphase();
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;
import com.google.common.base.Optional;
import google.registry.model.domain.fee.FeeCheckCommandExtensionItem;
import google.registry.model.domain.fee.FeeExtensionCommandDescriptor;
import java.util.Optional;
import javax.xml.bind.annotation.XmlType;
import org.joda.money.CurrencyUnit;
import org.joda.time.DateTime;
@ -79,6 +79,6 @@ public class FeeCheckCommandExtensionItemV06 extends FeeCheckCommandExtensionIte
@Override
public Optional<DateTime> getEffectiveDate() {
return Optional.absent();
return Optional.empty();
}
}

View file

@ -14,10 +14,10 @@
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.FeeQueryCommandExtensionItem;
import google.registry.model.eppinput.EppInput.CommandExtension;
import java.util.Optional;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
import org.joda.money.CurrencyUnit;
@ -66,7 +66,7 @@ public class FeeInfoCommandExtensionV06
@Override
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 com.google.common.base.Optional;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet;
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.FeeExtensionCommandDescriptor;
import google.registry.model.domain.fee11.FeeCheckCommandExtensionV11.FeeCheckCommandExtensionItemV11;
import java.util.Optional;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
@ -115,7 +115,7 @@ public class FeeCheckCommandExtensionV11 extends ImmutableObject
@Override
public Period getPeriod() {
return Optional.fromNullable(period).or(DEFAULT_PERIOD);
return Optional.ofNullable(period).orElse(DEFAULT_PERIOD);
}
@Override
@ -140,7 +140,7 @@ public class FeeCheckCommandExtensionV11 extends ImmutableObject
@Override
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.CharMatcher;
import com.google.common.base.Optional;
import google.registry.model.domain.Period;
import google.registry.model.domain.fee.FeeCheckCommandExtensionItem;
import java.util.Optional;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
@ -110,6 +110,6 @@ public class FeeCheckCommandExtensionItemV12 extends FeeCheckCommandExtensionIte
@Override
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.CharMatcher;
import com.google.common.base.Optional;
import com.google.common.primitives.Ints;
import com.googlecode.objectify.annotation.Embed;
import com.googlecode.objectify.annotation.IgnoreSave;
import com.googlecode.objectify.condition.IfNull;
import google.registry.model.ImmutableObject;
import java.util.Optional;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
@ -64,7 +64,7 @@ public class LaunchNotice extends ImmutableObject {
public String getValidatorId() {
// 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;
public NoticeIdType getNoticeId() {
return Optional.fromNullable(noticeId).or(EMPTY_NOTICE_ID);
return Optional.ofNullable(noticeId).orElse(EMPTY_NOTICE_ID);
}
public DateTime getExpirationTime() {

View file

@ -18,7 +18,6 @@ import static google.registry.util.CollectionUtils.nullSafeImmutableCopy;
import static google.registry.util.CollectionUtils.nullToEmptyImmutableCopy;
import com.google.common.base.Ascii;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet;
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.host.HostCommand;
import java.util.List;
import java.util.Optional;
import java.util.Set;
import javax.annotation.Nullable;
import javax.xml.bind.annotation.XmlAttribute;
@ -107,12 +107,12 @@ public class EppInput extends ImmutableObject {
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. */
public boolean isDomainResourceType() {
return getResourceType().or("").equals("domain");
return getResourceType().orElse("").equals("domain");
}
@Nullable
@ -131,7 +131,7 @@ public class EppInput extends ImmutableObject {
ResourceCommand resourceCommand = getResourceCommand();
return resourceCommand instanceof SingleResourceCommand
? 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.nullToEmptyImmutableCopy;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableList;
import google.registry.model.Buildable;
import google.registry.model.ImmutableObject;
@ -157,9 +156,7 @@ public class EppResponse extends ImmutableObject implements ResponseOrGreeting {
@Nullable
public ResponseExtension getFirstExtensionOfType(Class<? extends ResponseExtension> clazz) {
return Optional.fromJavaUtil(
extensions.stream().filter(clazz::isInstance).map(clazz::cast).findFirst())
.orNull();
return extensions.stream().filter(clazz::isInstance).map(clazz::cast).findFirst().orElse(null);
}
@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.DomainNameUtils.canonicalizeDomainName;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableSet;
import com.googlecode.objectify.Key;
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.transfer.TransferData;
import java.net.InetAddress;
import java.util.Optional;
import java.util.Set;
import javax.annotation.Nullable;
import org.joda.time.DateTime;
@ -146,9 +146,9 @@ public class HostResource extends EppResource implements ForeignKeyedEppResource
superordinateDomain != null
&& Key.create(superordinateDomain).equals(getSuperordinateDomain()));
DateTime lastSuperordinateChange =
Optional.fromNullable(getLastSuperordinateChange()).or(getCreationTime());
Optional.ofNullable(getLastSuperordinateChange()).orElse(getCreationTime());
DateTime lastTransferOfCurrentSuperordinate =
Optional.fromNullable(superordinateDomain.getLastTransferTime()).or(START_OF_TIME);
Optional.ofNullable(superordinateDomain.getLastTransferTime()).orElse(START_OF_TIME);
return (lastSuperordinateChange.isBefore(lastTransferOfCurrentSuperordinate))
? superordinateDomain.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.base.Converter;
import com.google.common.base.Optional;
import com.google.common.collect.FluentIterable;
import com.google.common.collect.ImmutableList;
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.DomainTransferResponse;
import java.util.List;
import java.util.Optional;
import org.joda.time.DateTime;
/**
@ -351,7 +351,7 @@ public abstract class PollMessage extends ImmutableObject
public Autorenew build() {
Autorenew instance = getInstance();
instance.autorenewEndTime =
Optional.fromNullable(instance.autorenewEndTime).or(END_OF_TIME);
Optional.ofNullable(instance.autorenewEndTime).orElse(END_OF_TIME);
return super.build();
}
}

View file

@ -14,7 +14,7 @@
package google.registry.model.pricing;
import com.google.common.base.Optional;
import java.util.Optional;
import org.joda.money.Money;
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 com.google.common.base.Joiner;
import com.google.common.base.Optional;
import com.google.common.net.InternetDomainName;
import google.registry.model.registry.Registry;
import java.util.Optional;
import javax.inject.Inject;
import org.joda.money.Money;
import org.joda.time.DateTime;
@ -52,8 +52,8 @@ public final class StaticPremiumListPricingEngine implements PremiumPricingEngin
isNameCollisionInSunrise ? "collision" : null));
return DomainPrices.create(
premiumPrice.isPresent(),
premiumPrice.or(registry.getStandardCreateCost()),
premiumPrice.or(registry.getStandardRenewCost(priceTime)),
Optional.<String>fromNullable(feeClass));
premiumPrice.orElse(registry.getStandardCreateCost()),
premiumPrice.orElse(registry.getStandardRenewCost(priceTime)),
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.function.Predicate.isEqual;
import com.google.common.base.Optional;
import com.google.common.base.Strings;
import com.google.common.base.Supplier;
import com.google.common.collect.ImmutableList;
@ -80,6 +79,7 @@ import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import java.util.Set;
import java.util.function.Predicate;
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. */
public static Optional<Registrar> loadByClientId(String clientId) {
checkArgument(!Strings.isNullOrEmpty(clientId), "clientId must be specified");
return Optional.fromNullable(
return Optional.ofNullable(
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. */
public static Optional<Registrar> loadByClientIdCached(String clientId) {
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 com.google.common.base.Joiner;
import com.google.common.base.Optional;
import com.google.common.base.Supplier;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
@ -35,6 +34,7 @@ import com.google.common.collect.Streams;
import com.google.common.net.InternetDomainName;
import com.googlecode.objectify.Work;
import google.registry.model.registry.Registry.TldType;
import java.util.Optional;
/** Utilities for finding and listing {@link Registry} entities. */
public final class Registries {
@ -123,7 +123,7 @@ public final class Registries {
return Optional.of(domainName);
}
}
return Optional.absent();
return Optional.empty();
}
/**
@ -132,7 +132,7 @@ public final class Registries {
*/
public static InternetDomainName findTldForNameOrThrow(InternetDomainName domainName) {
return checkArgumentNotNull(
findTldForName(domainName).orNull(),
findTldForName(domainName).orElse(null),
"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 com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Optional;
import com.google.common.base.Predicate;
import com.google.common.cache.CacheBuilder;
import com.google.common.cache.CacheLoader;
@ -67,6 +66,7 @@ import google.registry.model.registry.label.ReservedList.ReservedListEntry;
import google.registry.util.Idn;
import java.util.Collection;
import java.util.Map.Entry;
import java.util.Optional;
import java.util.Set;
import javax.annotation.Nullable;
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. */
public static Registry get(String tld) {
Registry registry = CACHE.getUnchecked(tld).orNull();
Registry registry = CACHE.getUnchecked(tld).orElse(null);
if (registry == null) {
throw new RegistryNotFoundException(tld);
}
@ -241,7 +241,7 @@ public class Registry extends ImmutableObject implements Buildable {
public Optional<Registry> load(final String tld) {
// Enter a transactionless context briefly; we don't want to enroll every TLD in a
// transaction that might be wrapping this call.
return Optional.fromNullable(
return Optional.ofNullable(
ofy()
.doTransactionless(
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.registry.Registries.getTlds;
import com.google.common.base.Optional;
import com.google.common.cache.CacheLoader.InvalidCacheLoadException;
import com.google.common.cache.LoadingCache;
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.List;
import java.util.Map;
import java.util.Optional;
import java.util.concurrent.ExecutionException;
import javax.annotation.Nullable;
import org.joda.time.DateTime;
@ -153,7 +153,7 @@ public abstract class BaseDomainLabelList<T extends Comparable<?>, R extends Dom
try {
return Optional.of(cache.get(listName));
} catch (InvalidCacheLoadException e) {
return Optional.absent();
return Optional.empty();
} catch (ExecutionException e) {
throw new UncheckedExecutionException("Could not retrieve list named " + listName, e);
}

View file

@ -13,6 +13,7 @@
// limitations under the License.
package google.registry.model.registry.label;
import static com.google.common.base.Preconditions.checkArgument;
import static com.google.common.hash.Funnels.unencodedCharsFunnel;
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 com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Optional;
import com.google.common.base.Splitter;
import com.google.common.cache.CacheBuilder;
import com.google.common.cache.CacheLoader;
@ -46,6 +46,7 @@ import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import java.util.Set;
import java.util.concurrent.ExecutionException;
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) {
return ofy()
.doTransactionless(
new Work<Optional<PremiumListEntry>>() {
@Override
public Optional<PremiumListEntry> run() {
return Optional.fromNullable(ofy().load().key(entryKey).now());
}
() -> {
return Optional.ofNullable(ofy().load().key(entryKey).now());
});
}
});
@ -226,7 +224,7 @@ public final class PremiumList extends BaseDomainLabelList<Money, PremiumList.Pr
try {
return Optional.of(cachePremiumLists.get(name));
} catch (InvalidCacheLoadException e) {
return Optional.<PremiumList> absent();
return Optional.empty();
} catch (ExecutionException 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.common.annotations.VisibleForTesting;
import com.google.common.base.Optional;
import com.google.common.cache.CacheLoader.InvalidCacheLoadException;
import com.google.common.collect.ImmutableMap;
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 java.util.List;
import java.util.Objects;
import java.util.Optional;
import java.util.concurrent.ExecutionException;
import org.joda.money.Money;
import org.joda.time.DateTime;
@ -73,7 +73,7 @@ public final class PremiumListUtils {
public static Optional<Money> getPremiumPrice(String label, Registry registry) {
// If the registry has no configured premium list, then no labels are premium.
if (registry.getPremiumList() == null) {
return Optional.<Money>absent();
return Optional.<Money>empty();
}
DateTime startTime = DateTime.now(UTC);
String listName = registry.getPremiumList().getName();
@ -103,7 +103,7 @@ public final class PremiumListUtils {
private static CheckResults checkStatus(PremiumListRevision premiumListRevision, String 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 =
@ -115,7 +115,7 @@ public final class PremiumListUtils {
if (entry.isPresent()) {
return CheckResults.create(CACHED_POSITIVE, Optional.of(entry.get().getValue()));
} 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()) {
return CheckResults.create(UNCACHED_POSITIVE, Optional.of(entry.get().getValue()));
} else {
return CheckResults.create(UNCACHED_NEGATIVE, Optional.<Money>absent());
return CheckResults.create(UNCACHED_NEGATIVE, Optional.<Money>empty());
}
} catch (InvalidCacheLoadException | ExecutionException e) {
throw new RuntimeException("Could not load premium list entry " + entryKey, e);
@ -173,7 +173,7 @@ public final class PremiumListUtils {
.id(premiumList.getName())
.now();
checkState(
Objects.equals(existing, oldPremiumList.orNull()),
Objects.equals(existing, oldPremiumList.orElse(null)),
"PremiumList was concurrently edited");
PremiumList newList = premiumList.asBuilder()
.setLastUpdateTime(now)

View file

@ -30,7 +30,6 @@ import static java.util.concurrent.TimeUnit.MILLISECONDS;
import static org.joda.time.DateTimeZone.UTC;
import com.google.common.base.Joiner;
import com.google.common.base.Optional;
import com.google.common.base.Splitter;
import com.google.common.cache.CacheBuilder;
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.List;
import java.util.Map;
import java.util.Optional;
import java.util.Set;
import java.util.concurrent.ExecutionException;
import javax.annotation.Nullable;
@ -338,7 +338,7 @@ public final class ReservedList
*/
public Optional<ReservationType> getReservationInList(String label) {
ReservedListEntry entry = getReservedListEntries().get(label);
return Optional.fromNullable(entry == null ? null : entry.reservationType);
return Optional.ofNullable(entry == null ? null : entry.reservationType);
}
@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.util.DateTimeUtils.isAtOrAfter;
import com.google.common.base.Optional;
import com.google.common.base.Strings;
import com.googlecode.objectify.VoidWork;
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.RequestStatusChecker;
import google.registry.util.RequestStatusCheckerImpl;
import java.util.Optional;
import javax.annotation.Nullable;
import org.joda.time.DateTime;
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
// 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.
return Optional.fromNullable(ofy().transactNew(new Work<Lock>() {
return Optional.ofNullable(ofy().transactNew(new Work<Lock>() {
@Override
public Lock run() {
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.extractSetOfParameters;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableSet;
import dagger.Module;
import dagger.Provides;
import google.registry.batch.ExpandRecurringBillingEventsAction;
import google.registry.request.Parameter;
import google.registry.request.RequestParameters;
import java.util.Optional;
import javax.servlet.http.HttpServletRequest;
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 com.google.common.base.Optional;
import com.google.common.collect.ImmutableList;
import com.google.common.util.concurrent.AbstractExecutionThreadService;
import java.io.IOException;
import java.util.Optional;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.Executor;
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 com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableList;
import com.google.common.util.concurrent.AbstractScheduledService;
import java.util.Optional;
import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.Executors;
@ -117,7 +117,7 @@ public class MetricReporter extends AbstractScheduledService {
runOneIteration();
// Offer a poision pill to inform the exporter to stop.
writeQueue.offer(Optional.<ImmutableList<MetricPoint<?>>>absent());
writeQueue.offer(Optional.<ImmutableList<MetricPoint<?>>>empty());
try {
metricExporter.awaitTerminated(10, TimeUnit.SECONDS);
logger.info("Shut down MetricExporter");

View file

@ -10,8 +10,9 @@ java_library(
srcs = glob(["*.java"]),
deps = [
"//java/google/registry/monitoring/metrics",
"//third_party/java/truth",
"@com_google_code_findbugs_jsr305",
"@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