mirror of
https://github.com/google/nomulus.git
synced 2025-05-13 07:57:13 +02:00
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:
parent
184b2b56ac
commit
c0f8da0c6e
581 changed files with 1325 additions and 932 deletions
|
@ -27,7 +27,6 @@ import com.google.appengine.tools.mapreduce.Mapper;
|
||||||
import com.google.appengine.tools.mapreduce.Reducer;
|
import com.google.appengine.tools.mapreduce.Reducer;
|
||||||
import com.google.appengine.tools.mapreduce.ReducerInput;
|
import com.google.appengine.tools.mapreduce.ReducerInput;
|
||||||
import com.google.auto.value.AutoValue;
|
import com.google.auto.value.AutoValue;
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
import com.google.common.collect.ImmutableMultiset;
|
import com.google.common.collect.ImmutableMultiset;
|
||||||
import com.googlecode.objectify.Key;
|
import com.googlecode.objectify.Key;
|
||||||
|
@ -100,7 +99,7 @@ public final class DeleteOldCommitLogsAction implements Runnable {
|
||||||
new DeleteOldCommitLogsMapper(),
|
new DeleteOldCommitLogsMapper(),
|
||||||
new DeleteOldCommitLogsReducer(deletionThreshold, isDryRun),
|
new DeleteOldCommitLogsReducer(deletionThreshold, isDryRun),
|
||||||
ImmutableList.of(
|
ImmutableList.of(
|
||||||
new CommitLogManifestInput(Optional.of(deletionThreshold)),
|
new CommitLogManifestInput(deletionThreshold),
|
||||||
EppResourceInputs.createKeyInput(EppResource.class)))));
|
EppResourceInputs.createKeyInput(EppResource.class)))));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -19,13 +19,13 @@ import static google.registry.request.RequestParameters.extractOptionalIntParame
|
||||||
import static google.registry.request.RequestParameters.extractOptionalParameter;
|
import static google.registry.request.RequestParameters.extractOptionalParameter;
|
||||||
|
|
||||||
import com.google.api.services.bigquery.model.TableFieldSchema;
|
import com.google.api.services.bigquery.model.TableFieldSchema;
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
import dagger.Module;
|
import dagger.Module;
|
||||||
import dagger.Provides;
|
import dagger.Provides;
|
||||||
import dagger.multibindings.IntoMap;
|
import dagger.multibindings.IntoMap;
|
||||||
import dagger.multibindings.StringKey;
|
import dagger.multibindings.StringKey;
|
||||||
import google.registry.request.Parameter;
|
import google.registry.request.Parameter;
|
||||||
|
import java.util.Optional;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -33,7 +33,6 @@ import static google.registry.util.PipelineUtils.createJobPath;
|
||||||
import com.google.appengine.tools.mapreduce.Mapper;
|
import com.google.appengine.tools.mapreduce.Mapper;
|
||||||
import com.google.appengine.tools.mapreduce.Reducer;
|
import com.google.appengine.tools.mapreduce.Reducer;
|
||||||
import com.google.appengine.tools.mapreduce.ReducerInput;
|
import com.google.appengine.tools.mapreduce.ReducerInput;
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
import com.google.common.collect.ImmutableSet;
|
import com.google.common.collect.ImmutableSet;
|
||||||
import com.google.common.collect.Range;
|
import com.google.common.collect.Range;
|
||||||
|
@ -62,6 +61,7 @@ import google.registry.request.Response;
|
||||||
import google.registry.request.auth.Auth;
|
import google.registry.request.auth.Auth;
|
||||||
import google.registry.util.Clock;
|
import google.registry.util.Clock;
|
||||||
import google.registry.util.FormattingLogger;
|
import google.registry.util.FormattingLogger;
|
||||||
|
import java.util.Optional;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import org.joda.money.Money;
|
import org.joda.money.Money;
|
||||||
|
@ -97,7 +97,7 @@ public class ExpandRecurringBillingEventsAction implements Runnable {
|
||||||
Cursor cursor = ofy().load().key(Cursor.createGlobalKey(RECURRING_BILLING)).now();
|
Cursor cursor = ofy().load().key(Cursor.createGlobalKey(RECURRING_BILLING)).now();
|
||||||
DateTime executeTime = clock.nowUtc();
|
DateTime executeTime = clock.nowUtc();
|
||||||
DateTime persistedCursorTime = (cursor == null ? START_OF_TIME : cursor.getCursorTime());
|
DateTime persistedCursorTime = (cursor == null ? START_OF_TIME : cursor.getCursorTime());
|
||||||
DateTime cursorTime = cursorTimeParam.or(persistedCursorTime);
|
DateTime cursorTime = cursorTimeParam.orElse(persistedCursorTime);
|
||||||
checkArgument(
|
checkArgument(
|
||||||
cursorTime.isBefore(executeTime),
|
cursorTime.isBefore(executeTime),
|
||||||
"Cursor time must be earlier than execution time.");
|
"Cursor time must be earlier than execution time.");
|
||||||
|
|
|
@ -18,7 +18,6 @@ import static com.google.common.net.MediaType.PLAIN_TEXT_UTF_8;
|
||||||
import static javax.servlet.http.HttpServletResponse.SC_BAD_REQUEST;
|
import static javax.servlet.http.HttpServletResponse.SC_BAD_REQUEST;
|
||||||
|
|
||||||
import com.google.appengine.api.datastore.DatastoreService;
|
import com.google.appengine.api.datastore.DatastoreService;
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.collect.ImmutableSet;
|
import com.google.common.collect.ImmutableSet;
|
||||||
import google.registry.batch.MapreduceEntityCleanupUtil.EligibleJobResults;
|
import google.registry.batch.MapreduceEntityCleanupUtil.EligibleJobResults;
|
||||||
import google.registry.mapreduce.MapreduceRunner;
|
import google.registry.mapreduce.MapreduceRunner;
|
||||||
|
@ -28,6 +27,7 @@ import google.registry.request.Response;
|
||||||
import google.registry.request.auth.Auth;
|
import google.registry.request.auth.Auth;
|
||||||
import google.registry.util.Clock;
|
import google.registry.util.Clock;
|
||||||
import google.registry.util.FormattingLogger;
|
import google.registry.util.FormattingLogger;
|
||||||
|
import java.util.Optional;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import org.joda.time.DateTime;
|
import org.joda.time.DateTime;
|
||||||
|
@ -164,7 +164,7 @@ public class MapreduceEntityCleanupAction implements Runnable {
|
||||||
handleBadRequest(ERROR_NON_POSITIVE_JOBS_TO_DELETE);
|
handleBadRequest(ERROR_NON_POSITIVE_JOBS_TO_DELETE);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
int defaultedDaysOld = daysOld.or(DEFAULT_DAYS_OLD);
|
int defaultedDaysOld = daysOld.orElse(DEFAULT_DAYS_OLD);
|
||||||
// Only generate the detailed response payload if there aren't too many jobs involved.
|
// Only generate the detailed response payload if there aren't too many jobs involved.
|
||||||
boolean verbose =
|
boolean verbose =
|
||||||
numJobsToDelete.isPresent() && (numJobsToDelete.get() <= DEFAULT_MAX_NUM_JOBS_TO_DELETE);
|
numJobsToDelete.isPresent() && (numJobsToDelete.get() <= DEFAULT_MAX_NUM_JOBS_TO_DELETE);
|
||||||
|
@ -174,14 +174,14 @@ public class MapreduceEntityCleanupAction implements Runnable {
|
||||||
// until we find enough, requesting deletion as we go.
|
// until we find enough, requesting deletion as we go.
|
||||||
int numJobsProcessed = 0;
|
int numJobsProcessed = 0;
|
||||||
DateTime cutoffDate = clock.nowUtc().minusDays(defaultedDaysOld);
|
DateTime cutoffDate = clock.nowUtc().minusDays(defaultedDaysOld);
|
||||||
Optional<String> cursor = Optional.absent();
|
Optional<String> cursor = Optional.empty();
|
||||||
do {
|
do {
|
||||||
Optional<Integer> numJobsToRequest =
|
Optional<Integer> numJobsToRequest =
|
||||||
Optional.fromNullable(
|
Optional.ofNullable(
|
||||||
numJobsToDelete.isPresent() ? numJobsToDelete.get() - numJobsProcessed : null);
|
numJobsToDelete.isPresent() ? numJobsToDelete.get() - numJobsProcessed : null);
|
||||||
EligibleJobResults batch =
|
EligibleJobResults batch =
|
||||||
mapreduceEntityCleanupUtil.findEligibleJobsByJobName(
|
mapreduceEntityCleanupUtil.findEligibleJobsByJobName(
|
||||||
jobName.orNull(), cutoffDate, numJobsToRequest, force.or(false), cursor);
|
jobName.orElse(null), cutoffDate, numJobsToRequest, force.orElse(false), cursor);
|
||||||
cursor = batch.cursor();
|
cursor = batch.cursor();
|
||||||
// Individual batches can come back empty if none of the returned jobs meet the requirements
|
// Individual batches can come back empty if none of the returned jobs meet the requirements
|
||||||
// or if all jobs have been exhausted.
|
// or if all jobs have been exhausted.
|
||||||
|
@ -200,7 +200,7 @@ public class MapreduceEntityCleanupAction implements Runnable {
|
||||||
if (numJobsProcessed == 0) {
|
if (numJobsProcessed == 0) {
|
||||||
logger.infofmt(
|
logger.infofmt(
|
||||||
"No eligible jobs found with name '%s' older than %s days old.",
|
"No eligible jobs found with name '%s' older than %s days old.",
|
||||||
jobName.or("(any)"), defaultedDaysOld);
|
jobName.orElse("(any)"), defaultedDaysOld);
|
||||||
payload.append("No eligible jobs found");
|
payload.append("No eligible jobs found");
|
||||||
} else {
|
} else {
|
||||||
logger.infofmt("A total of %s job(s) processed.", numJobsProcessed);
|
logger.infofmt("A total of %s job(s) processed.", numJobsProcessed);
|
||||||
|
@ -211,19 +211,19 @@ public class MapreduceEntityCleanupAction implements Runnable {
|
||||||
|
|
||||||
private String requestDeletion(Set<String> actualJobIds, boolean verbose) {
|
private String requestDeletion(Set<String> actualJobIds, boolean verbose) {
|
||||||
Optional<StringBuilder> payloadChunkBuilder =
|
Optional<StringBuilder> payloadChunkBuilder =
|
||||||
verbose ? Optional.of(new StringBuilder()) : Optional.<StringBuilder>absent();
|
verbose ? Optional.of(new StringBuilder()) : Optional.<StringBuilder>empty();
|
||||||
int errorCount = 0;
|
int errorCount = 0;
|
||||||
for (String actualJobId : actualJobIds) {
|
for (String actualJobId : actualJobIds) {
|
||||||
Optional<String> error =
|
Optional<String> error =
|
||||||
mapreduceEntityCleanupUtil.deleteJobAsync(datastore, actualJobId, force.or(false));
|
mapreduceEntityCleanupUtil.deleteJobAsync(datastore, actualJobId, force.orElse(false));
|
||||||
if (error.isPresent()) {
|
if (error.isPresent()) {
|
||||||
errorCount++;
|
errorCount++;
|
||||||
}
|
}
|
||||||
logger.infofmt("%s: %s", actualJobId, error.or("deletion requested"));
|
logger.infofmt("%s: %s", actualJobId, error.orElse("deletion requested"));
|
||||||
if (payloadChunkBuilder.isPresent()) {
|
if (payloadChunkBuilder.isPresent()) {
|
||||||
payloadChunkBuilder
|
payloadChunkBuilder
|
||||||
.get()
|
.get()
|
||||||
.append(String.format("%s: %s\n", actualJobId, error.or("deletion requested")));
|
.append(String.format("%s: %s\n", actualJobId, error.orElse("deletion requested")));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
logger.infofmt(
|
logger.infofmt(
|
||||||
|
|
|
@ -22,9 +22,9 @@ import com.google.appengine.tools.pipeline.impl.PipelineManager;
|
||||||
import com.google.appengine.tools.pipeline.impl.model.JobRecord;
|
import com.google.appengine.tools.pipeline.impl.model.JobRecord;
|
||||||
import com.google.appengine.tools.pipeline.util.Pair;
|
import com.google.appengine.tools.pipeline.util.Pair;
|
||||||
import com.google.auto.value.AutoValue;
|
import com.google.auto.value.AutoValue;
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.collect.ImmutableSet;
|
import com.google.common.collect.ImmutableSet;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
|
import java.util.Optional;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
@ -92,11 +92,11 @@ class MapreduceEntityCleanupUtil {
|
||||||
boolean ignoreState,
|
boolean ignoreState,
|
||||||
Optional<String> cursor) {
|
Optional<String> cursor) {
|
||||||
if (maxJobs.isPresent() && (maxJobs.get() <= 0)) {
|
if (maxJobs.isPresent() && (maxJobs.get() <= 0)) {
|
||||||
return EligibleJobResults.create(ImmutableSet.<String>of(), Optional.<String>absent());
|
return EligibleJobResults.create(ImmutableSet.<String>of(), Optional.empty());
|
||||||
}
|
}
|
||||||
Set<String> eligibleJobs = new HashSet<>();
|
Set<String> eligibleJobs = new HashSet<>();
|
||||||
Pair<? extends Iterable<JobRecord>, String> pair =
|
Pair<? extends Iterable<JobRecord>, String> pair =
|
||||||
PipelineManager.queryRootPipelines(jobName, cursor.orNull(), getMaxNumberOfJobsPerSearch());
|
PipelineManager.queryRootPipelines(jobName, cursor.orElse(null), getMaxNumberOfJobsPerSearch());
|
||||||
for (JobRecord jobRecord : pair.getFirst()) {
|
for (JobRecord jobRecord : pair.getFirst()) {
|
||||||
if (((jobRecord.getStartTime() == null)
|
if (((jobRecord.getStartTime() == null)
|
||||||
|| jobRecord.getStartTime().before(cutoffDate.toDate()))
|
|| jobRecord.getStartTime().before(cutoffDate.toDate()))
|
||||||
|
@ -108,12 +108,12 @@ class MapreduceEntityCleanupUtil {
|
||||||
eligibleJobs.add(jobRecord.getRootJobKey().getName());
|
eligibleJobs.add(jobRecord.getRootJobKey().getName());
|
||||||
if (maxJobs.isPresent() && (eligibleJobs.size() >= maxJobs.get())) {
|
if (maxJobs.isPresent() && (eligibleJobs.size() >= maxJobs.get())) {
|
||||||
return EligibleJobResults.create(
|
return EligibleJobResults.create(
|
||||||
ImmutableSet.copyOf(eligibleJobs), Optional.<String>absent());
|
ImmutableSet.copyOf(eligibleJobs), Optional.empty());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return EligibleJobResults.create(
|
return EligibleJobResults.create(
|
||||||
ImmutableSet.copyOf(eligibleJobs), Optional.fromNullable(pair.getSecond()));
|
ImmutableSet.copyOf(eligibleJobs), Optional.ofNullable(pair.getSecond()));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -148,7 +148,7 @@ class MapreduceEntityCleanupUtil {
|
||||||
// delete the pipeline-* entities as well.
|
// delete the pipeline-* entities as well.
|
||||||
try {
|
try {
|
||||||
PipelineManager.deletePipelineRecords(jobId, force, true /* async */);
|
PipelineManager.deletePipelineRecords(jobId, force, true /* async */);
|
||||||
return Optional.absent();
|
return Optional.empty();
|
||||||
} catch (NoSuchObjectException ex) {
|
} catch (NoSuchObjectException ex) {
|
||||||
return Optional.of("No such pipeline job");
|
return Optional.of("No such pipeline job");
|
||||||
} catch (IllegalStateException ex) {
|
} catch (IllegalStateException ex) {
|
||||||
|
|
|
@ -22,10 +22,10 @@ import com.braintreegateway.Customer;
|
||||||
import com.braintreegateway.CustomerRequest;
|
import com.braintreegateway.CustomerRequest;
|
||||||
import com.braintreegateway.Result;
|
import com.braintreegateway.Result;
|
||||||
import com.braintreegateway.exceptions.NotFoundException;
|
import com.braintreegateway.exceptions.NotFoundException;
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.base.VerifyException;
|
import com.google.common.base.VerifyException;
|
||||||
import google.registry.model.registrar.Registrar;
|
import google.registry.model.registrar.Registrar;
|
||||||
import google.registry.model.registrar.RegistrarContact;
|
import google.registry.model.registrar.RegistrarContact;
|
||||||
|
import java.util.Optional;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
|
||||||
/** Helper for creating Braintree customer entries for registrars. */
|
/** Helper for creating Braintree customer entries for registrars. */
|
||||||
|
@ -89,7 +89,7 @@ public class BraintreeRegistrarSyncer {
|
||||||
return Optional.of(contact);
|
return Optional.of(contact);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return Optional.absent();
|
return Optional.empty();
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean doesCustomerExist(String id) {
|
private boolean doesCustomerExist(String id) {
|
||||||
|
|
|
@ -19,7 +19,6 @@ import static google.registry.config.ConfigUtils.makeUrl;
|
||||||
import static java.lang.annotation.RetentionPolicy.RUNTIME;
|
import static java.lang.annotation.RetentionPolicy.RUNTIME;
|
||||||
|
|
||||||
import com.google.common.annotations.VisibleForTesting;
|
import com.google.common.annotations.VisibleForTesting;
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.base.Supplier;
|
import com.google.common.base.Supplier;
|
||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
import com.google.common.collect.ImmutableMap;
|
import com.google.common.collect.ImmutableMap;
|
||||||
|
@ -34,6 +33,7 @@ import java.net.URI;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Map.Entry;
|
import java.util.Map.Entry;
|
||||||
|
import java.util.Optional;
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
import javax.inject.Named;
|
import javax.inject.Named;
|
||||||
import javax.inject.Qualifier;
|
import javax.inject.Qualifier;
|
||||||
|
@ -333,13 +333,13 @@ public final class RegistryConfig {
|
||||||
@Provides
|
@Provides
|
||||||
@Config("cloudDnsRootUrl")
|
@Config("cloudDnsRootUrl")
|
||||||
public static Optional<String> getCloudDnsRootUrl(RegistryConfigSettings config) {
|
public static Optional<String> getCloudDnsRootUrl(RegistryConfigSettings config) {
|
||||||
return Optional.fromNullable(config.cloudDns.rootUrl);
|
return Optional.ofNullable(config.cloudDns.rootUrl);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
@Config("cloudDnsServicePath")
|
@Config("cloudDnsServicePath")
|
||||||
public static Optional<String> getCloudDnsServicePath(RegistryConfigSettings config) {
|
public static Optional<String> getCloudDnsServicePath(RegistryConfigSettings config) {
|
||||||
return Optional.fromNullable(config.cloudDns.servicePath);
|
return Optional.ofNullable(config.cloudDns.servicePath);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -674,7 +674,7 @@ public final class RegistryConfig {
|
||||||
@Provides
|
@Provides
|
||||||
@Config("sheetRegistrarId")
|
@Config("sheetRegistrarId")
|
||||||
public static Optional<String> provideSheetRegistrarId(RegistryConfigSettings config) {
|
public static Optional<String> provideSheetRegistrarId(RegistryConfigSettings config) {
|
||||||
return Optional.fromNullable(config.misc.sheetExportId);
|
return Optional.ofNullable(config.misc.sheetExportId);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -18,9 +18,9 @@ import static com.google.common.base.Ascii.toLowerCase;
|
||||||
import static google.registry.util.FormattingLogger.getLoggerForCallerClass;
|
import static google.registry.util.FormattingLogger.getLoggerForCallerClass;
|
||||||
import static google.registry.util.ResourceUtils.readResourceUtf8;
|
import static google.registry.util.ResourceUtils.readResourceUtf8;
|
||||||
|
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import google.registry.util.FormattingLogger;
|
import google.registry.util.FormattingLogger;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Optional;
|
||||||
import org.yaml.snakeyaml.Yaml;
|
import org.yaml.snakeyaml.Yaml;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -134,7 +134,7 @@ public final class YamlUtils {
|
||||||
*/
|
*/
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
private static Optional<Map<String, Object>> loadAsMap(Yaml yaml, String yamlString) {
|
private static Optional<Map<String, Object>> loadAsMap(Yaml yaml, String yamlString) {
|
||||||
return Optional.fromNullable((Map<String, Object>) yaml.load(yamlString));
|
return Optional.ofNullable((Map<String, Object>) yaml.load(yamlString));
|
||||||
}
|
}
|
||||||
|
|
||||||
private YamlUtils() {}
|
private YamlUtils() {}
|
||||||
|
|
|
@ -19,12 +19,12 @@ import static java.util.concurrent.TimeUnit.SECONDS;
|
||||||
|
|
||||||
import com.google.appengine.api.taskqueue.Queue;
|
import com.google.appengine.api.taskqueue.Queue;
|
||||||
import com.google.appengine.api.taskqueue.TaskOptions;
|
import com.google.appengine.api.taskqueue.TaskOptions;
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import google.registry.model.ofy.CommitLogBucket;
|
import google.registry.model.ofy.CommitLogBucket;
|
||||||
import google.registry.request.Action;
|
import google.registry.request.Action;
|
||||||
import google.registry.request.Parameter;
|
import google.registry.request.Parameter;
|
||||||
import google.registry.request.auth.Auth;
|
import google.registry.request.auth.Auth;
|
||||||
import google.registry.util.TaskEnqueuer;
|
import google.registry.util.TaskEnqueuer;
|
||||||
|
import java.util.Optional;
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
|
||||||
|
|
|
@ -19,11 +19,11 @@ import static google.registry.request.RequestParameters.extractOptionalIntParame
|
||||||
import static google.registry.request.RequestParameters.extractRequiredParameter;
|
import static google.registry.request.RequestParameters.extractRequiredParameter;
|
||||||
import static google.registry.request.RequestParameters.extractSetOfParameters;
|
import static google.registry.request.RequestParameters.extractSetOfParameters;
|
||||||
|
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.collect.ImmutableSet;
|
import com.google.common.collect.ImmutableSet;
|
||||||
import dagger.Module;
|
import dagger.Module;
|
||||||
import dagger.Provides;
|
import dagger.Provides;
|
||||||
import google.registry.request.Parameter;
|
import google.registry.request.Parameter;
|
||||||
|
import java.util.Optional;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
|
||||||
/** Dagger module for the cron package. */
|
/** Dagger module for the cron package. */
|
||||||
|
|
|
@ -32,7 +32,6 @@ import static java.util.concurrent.TimeUnit.SECONDS;
|
||||||
import com.google.appengine.api.taskqueue.Queue;
|
import com.google.appengine.api.taskqueue.Queue;
|
||||||
import com.google.appengine.api.taskqueue.TaskHandle;
|
import com.google.appengine.api.taskqueue.TaskHandle;
|
||||||
import com.google.appengine.api.taskqueue.TaskOptions;
|
import com.google.appengine.api.taskqueue.TaskOptions;
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.collect.ImmutableListMultimap;
|
import com.google.common.collect.ImmutableListMultimap;
|
||||||
import com.google.common.collect.ImmutableSet;
|
import com.google.common.collect.ImmutableSet;
|
||||||
import com.google.common.collect.Multimap;
|
import com.google.common.collect.Multimap;
|
||||||
|
@ -44,6 +43,7 @@ import google.registry.request.RequestParameters;
|
||||||
import google.registry.request.Response;
|
import google.registry.request.Response;
|
||||||
import google.registry.request.auth.Auth;
|
import google.registry.request.auth.Auth;
|
||||||
import google.registry.util.TaskEnqueuer;
|
import google.registry.util.TaskEnqueuer;
|
||||||
|
import java.util.Optional;
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
|
|
@ -32,7 +32,6 @@ import com.google.appengine.api.taskqueue.TaskOptions.Method;
|
||||||
import com.google.appengine.api.taskqueue.TransientFailureException;
|
import com.google.appengine.api.taskqueue.TransientFailureException;
|
||||||
import com.google.apphosting.api.DeadlineExceededException;
|
import com.google.apphosting.api.DeadlineExceededException;
|
||||||
import com.google.common.annotations.VisibleForTesting;
|
import com.google.common.annotations.VisibleForTesting;
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
import com.google.common.net.InternetDomainName;
|
import com.google.common.net.InternetDomainName;
|
||||||
import google.registry.dns.DnsConstants.TargetType;
|
import google.registry.dns.DnsConstants.TargetType;
|
||||||
|
@ -40,6 +39,7 @@ import google.registry.model.registry.Registries;
|
||||||
import google.registry.util.FormattingLogger;
|
import google.registry.util.FormattingLogger;
|
||||||
import google.registry.util.NonFinalForTesting;
|
import google.registry.util.NonFinalForTesting;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
|
|
@ -26,7 +26,6 @@ import com.google.appengine.api.taskqueue.Queue;
|
||||||
import com.google.appengine.api.taskqueue.TaskHandle;
|
import com.google.appengine.api.taskqueue.TaskHandle;
|
||||||
import com.google.appengine.api.taskqueue.TaskOptions;
|
import com.google.appengine.api.taskqueue.TaskOptions;
|
||||||
import com.google.auto.value.AutoValue;
|
import com.google.auto.value.AutoValue;
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.collect.ComparisonChain;
|
import com.google.common.collect.ComparisonChain;
|
||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
import com.google.common.collect.ImmutableMap;
|
import com.google.common.collect.ImmutableMap;
|
||||||
|
@ -48,6 +47,7 @@ import java.util.Collection;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Optional;
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
|
|
@ -24,7 +24,6 @@ import com.google.api.services.dns.model.Change;
|
||||||
import com.google.api.services.dns.model.ResourceRecordSet;
|
import com.google.api.services.dns.model.ResourceRecordSet;
|
||||||
import com.google.common.annotations.VisibleForTesting;
|
import com.google.common.annotations.VisibleForTesting;
|
||||||
import com.google.common.base.Joiner;
|
import com.google.common.base.Joiner;
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
import com.google.common.collect.ImmutableMap;
|
import com.google.common.collect.ImmutableMap;
|
||||||
import com.google.common.collect.ImmutableSet;
|
import com.google.common.collect.ImmutableSet;
|
||||||
|
@ -49,6 +48,7 @@ import java.net.InetAddress;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.concurrent.Callable;
|
import java.util.concurrent.Callable;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
@ -116,7 +116,7 @@ public class CloudDnsWriter extends BaseDnsWriter {
|
||||||
|
|
||||||
// Load the target domain. Note that it can be null if this domain was just deleted.
|
// Load the target domain. Note that it can be null if this domain was just deleted.
|
||||||
Optional<DomainResource> domainResource =
|
Optional<DomainResource> domainResource =
|
||||||
Optional.fromNullable(loadByForeignKey(DomainResource.class, domainName, clock.nowUtc()));
|
Optional.ofNullable(loadByForeignKey(DomainResource.class, domainName, clock.nowUtc()));
|
||||||
|
|
||||||
// Return early if no DNS records should be published.
|
// Return early if no DNS records should be published.
|
||||||
// desiredRecordsBuilder is populated with an empty set to indicate that all existing records
|
// desiredRecordsBuilder is populated with an empty set to indicate that all existing records
|
||||||
|
@ -186,7 +186,7 @@ public class CloudDnsWriter extends BaseDnsWriter {
|
||||||
// desiredRecords is populated with an empty set to indicate that all existing records
|
// desiredRecords is populated with an empty set to indicate that all existing records
|
||||||
// should be deleted.
|
// should be deleted.
|
||||||
Optional<HostResource> host =
|
Optional<HostResource> host =
|
||||||
Optional.fromNullable(loadByForeignKey(HostResource.class, hostName, clock.nowUtc()));
|
Optional.ofNullable(loadByForeignKey(HostResource.class, hostName, clock.nowUtc()));
|
||||||
|
|
||||||
// Return early if the host is deleted.
|
// Return early if the host is deleted.
|
||||||
if (!host.isPresent()) {
|
if (!host.isPresent()) {
|
||||||
|
|
|
@ -20,7 +20,6 @@ import com.google.api.client.json.JsonFactory;
|
||||||
import com.google.api.services.dns.Dns;
|
import com.google.api.services.dns.Dns;
|
||||||
import com.google.api.services.dns.DnsScopes;
|
import com.google.api.services.dns.DnsScopes;
|
||||||
import com.google.common.base.Function;
|
import com.google.common.base.Function;
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.util.concurrent.RateLimiter;
|
import com.google.common.util.concurrent.RateLimiter;
|
||||||
import dagger.Module;
|
import dagger.Module;
|
||||||
import dagger.Provides;
|
import dagger.Provides;
|
||||||
|
@ -29,6 +28,7 @@ import dagger.multibindings.IntoSet;
|
||||||
import dagger.multibindings.StringKey;
|
import dagger.multibindings.StringKey;
|
||||||
import google.registry.config.RegistryConfig.Config;
|
import google.registry.config.RegistryConfig.Config;
|
||||||
import google.registry.dns.writer.DnsWriter;
|
import google.registry.dns.writer.DnsWriter;
|
||||||
|
import java.util.Optional;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import javax.inject.Named;
|
import javax.inject.Named;
|
||||||
|
|
||||||
|
|
|
@ -20,7 +20,6 @@ import static com.google.common.collect.Sets.union;
|
||||||
import static google.registry.model.EppResourceUtils.loadByForeignKey;
|
import static google.registry.model.EppResourceUtils.loadByForeignKey;
|
||||||
|
|
||||||
import com.google.common.base.Joiner;
|
import com.google.common.base.Joiner;
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
import com.google.common.collect.ImmutableSet;
|
import com.google.common.collect.ImmutableSet;
|
||||||
import com.google.common.net.InternetDomainName;
|
import com.google.common.net.InternetDomainName;
|
||||||
|
@ -36,6 +35,7 @@ import java.io.IOException;
|
||||||
import java.net.Inet4Address;
|
import java.net.Inet4Address;
|
||||||
import java.net.Inet6Address;
|
import java.net.Inet6Address;
|
||||||
import java.net.InetAddress;
|
import java.net.InetAddress;
|
||||||
|
import java.util.Optional;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import org.joda.time.Duration;
|
import org.joda.time.Duration;
|
||||||
import org.xbill.DNS.AAAARecord;
|
import org.xbill.DNS.AAAARecord;
|
||||||
|
|
|
@ -26,7 +26,6 @@ java_binary(
|
||||||
"//java/google/registry/module/frontend",
|
"//java/google/registry/module/frontend",
|
||||||
"//java/google/registry/module/tools",
|
"//java/google/registry/module/tools",
|
||||||
"//java/google/registry/tools",
|
"//java/google/registry/tools",
|
||||||
"//third_party/java/truth",
|
|
||||||
"@com_google_apis_google_api_services_cloudkms",
|
"@com_google_apis_google_api_services_cloudkms",
|
||||||
"@com_google_appengine_api_1_0_sdk//:link",
|
"@com_google_appengine_api_1_0_sdk//:link",
|
||||||
"@com_google_appengine_api_stubs",
|
"@com_google_appengine_api_stubs",
|
||||||
|
@ -34,6 +33,8 @@ java_binary(
|
||||||
"@com_google_appengine_testing",
|
"@com_google_appengine_testing",
|
||||||
"@com_google_appengine_tools_sdk",
|
"@com_google_appengine_tools_sdk",
|
||||||
"@com_google_guava_testlib",
|
"@com_google_guava_testlib",
|
||||||
|
"@com_google_truth",
|
||||||
|
"@com_google_truth_extensions_truth_java8_extension",
|
||||||
"@junit",
|
"@junit",
|
||||||
"@org_apache_ftpserver_core",
|
"@org_apache_ftpserver_core",
|
||||||
"@org_apache_sshd_core",
|
"@org_apache_sshd_core",
|
||||||
|
|
|
@ -23,13 +23,13 @@ import com.google.appengine.api.datastore.Text;
|
||||||
import com.google.common.annotations.VisibleForTesting;
|
import com.google.common.annotations.VisibleForTesting;
|
||||||
import com.google.common.base.Ascii;
|
import com.google.common.base.Ascii;
|
||||||
import com.google.common.base.Joiner;
|
import com.google.common.base.Joiner;
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.collect.ImmutableSet;
|
import com.google.common.collect.ImmutableSet;
|
||||||
import google.registry.util.Clock;
|
import google.registry.util.Clock;
|
||||||
import google.registry.util.NonFinalForTesting;
|
import google.registry.util.NonFinalForTesting;
|
||||||
import google.registry.util.SystemClock;
|
import google.registry.util.SystemClock;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
import org.joda.time.DateTime;
|
import org.joda.time.DateTime;
|
||||||
import org.joda.time.Duration;
|
import org.joda.time.Duration;
|
||||||
|
|
||||||
|
@ -71,9 +71,9 @@ public class DatastoreBackupInfo {
|
||||||
|
|
||||||
kinds = ImmutableSet.copyOf(rawKinds);
|
kinds = ImmutableSet.copyOf(rawKinds);
|
||||||
startTime = new DateTime(rawStartTime).withZone(UTC);
|
startTime = new DateTime(rawStartTime).withZone(UTC);
|
||||||
completeTime = Optional.fromNullable(
|
completeTime = Optional.ofNullable(
|
||||||
rawCompleteTime == null ? null : new DateTime(rawCompleteTime).withZone(UTC));
|
rawCompleteTime == null ? null : new DateTime(rawCompleteTime).withZone(UTC));
|
||||||
gcsFilename = Optional.fromNullable(
|
gcsFilename = Optional.ofNullable(
|
||||||
rawGcsFilename == null ? null : gcsPathToUri(rawGcsFilename.getValue()));
|
rawGcsFilename == null ? null : gcsPathToUri(rawGcsFilename.getValue()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -126,7 +126,7 @@ public class DatastoreBackupInfo {
|
||||||
* backup started (if it has not completed).
|
* backup started (if it has not completed).
|
||||||
*/
|
*/
|
||||||
public Duration getRunningTime() {
|
public Duration getRunningTime() {
|
||||||
return new Duration(startTime, completeTime.or(clock.nowUtc()));
|
return new Duration(startTime, completeTime.orElse(clock.nowUtc()));
|
||||||
}
|
}
|
||||||
|
|
||||||
public Optional<String> getGcsFilename() {
|
public Optional<String> getGcsFilename() {
|
||||||
|
@ -140,9 +140,9 @@ public class DatastoreBackupInfo {
|
||||||
"Backup name: " + backupName,
|
"Backup name: " + backupName,
|
||||||
"Status: " + getStatus(),
|
"Status: " + getStatus(),
|
||||||
"Started: " + startTime,
|
"Started: " + startTime,
|
||||||
"Ended: " + completeTime.orNull(),
|
"Ended: " + completeTime.orElse(null),
|
||||||
"Duration: " + Ascii.toLowerCase(getRunningTime().toPeriod().toString().substring(2)),
|
"Duration: " + Ascii.toLowerCase(getRunningTime().toPeriod().toString().substring(2)),
|
||||||
"GCS: " + gcsFilename.orNull(),
|
"GCS: " + gcsFilename.orElse(null),
|
||||||
"Kinds: " + kinds,
|
"Kinds: " + kinds,
|
||||||
"");
|
"");
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,7 +23,6 @@ import static google.registry.util.RegistrarUtils.normalizeClientId;
|
||||||
import static javax.servlet.http.HttpServletResponse.SC_INTERNAL_SERVER_ERROR;
|
import static javax.servlet.http.HttpServletResponse.SC_INTERNAL_SERVER_ERROR;
|
||||||
import static javax.servlet.http.HttpServletResponse.SC_OK;
|
import static javax.servlet.http.HttpServletResponse.SC_OK;
|
||||||
|
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
import com.google.common.collect.ImmutableMap;
|
import com.google.common.collect.ImmutableMap;
|
||||||
import com.google.common.collect.Sets;
|
import com.google.common.collect.Sets;
|
||||||
|
@ -43,6 +42,7 @@ import java.io.IOException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Optional;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
@ -140,7 +140,7 @@ public final class SyncGroupMembersAction implements Runnable {
|
||||||
return null;
|
return null;
|
||||||
},
|
},
|
||||||
RuntimeException.class);
|
RuntimeException.class);
|
||||||
resultsBuilder.put(registrar, Optional.<Throwable>absent());
|
resultsBuilder.put(registrar, Optional.<Throwable>empty());
|
||||||
} catch (Throwable e) {
|
} catch (Throwable e) {
|
||||||
logger.severe(e, e.getMessage());
|
logger.severe(e, e.getMessage());
|
||||||
resultsBuilder.put(registrar, Optional.of(e));
|
resultsBuilder.put(registrar, Optional.of(e));
|
||||||
|
|
|
@ -16,10 +16,10 @@ package google.registry.export.sheet;
|
||||||
|
|
||||||
import static com.google.common.base.Strings.emptyToNull;
|
import static com.google.common.base.Strings.emptyToNull;
|
||||||
|
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import dagger.Module;
|
import dagger.Module;
|
||||||
import dagger.Provides;
|
import dagger.Provides;
|
||||||
import google.registry.request.Parameter;
|
import google.registry.request.Parameter;
|
||||||
|
import java.util.Optional;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
|
||||||
/** Dagger module for the sheet package. */
|
/** Dagger module for the sheet package. */
|
||||||
|
@ -29,6 +29,6 @@ public final class SheetModule {
|
||||||
@Provides
|
@Provides
|
||||||
@Parameter("id")
|
@Parameter("id")
|
||||||
static Optional<String> provideId(HttpServletRequest req) {
|
static Optional<String> provideId(HttpServletRequest req) {
|
||||||
return Optional.fromNullable(emptyToNull(req.getParameter("id")));
|
return Optional.ofNullable(emptyToNull(req.getParameter("id")));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,7 +27,6 @@ import com.google.appengine.api.modules.ModulesService;
|
||||||
import com.google.appengine.api.modules.ModulesServiceFactory;
|
import com.google.appengine.api.modules.ModulesServiceFactory;
|
||||||
import com.google.appengine.api.taskqueue.TaskHandle;
|
import com.google.appengine.api.taskqueue.TaskHandle;
|
||||||
import com.google.appengine.api.taskqueue.TaskOptions.Method;
|
import com.google.appengine.api.taskqueue.TaskOptions.Method;
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import google.registry.config.RegistryConfig.Config;
|
import google.registry.config.RegistryConfig.Config;
|
||||||
import google.registry.request.Action;
|
import google.registry.request.Action;
|
||||||
import google.registry.request.Parameter;
|
import google.registry.request.Parameter;
|
||||||
|
@ -37,6 +36,7 @@ import google.registry.request.lock.LockHandler;
|
||||||
import google.registry.util.FormattingLogger;
|
import google.registry.util.FormattingLogger;
|
||||||
import google.registry.util.NonFinalForTesting;
|
import google.registry.util.NonFinalForTesting;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.util.Optional;
|
||||||
import java.util.concurrent.Callable;
|
import java.util.concurrent.Callable;
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
@ -121,7 +121,7 @@ public class SyncRegistrarsSheetAction implements Runnable {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
final Optional<String> sheetId = idParam.or(idConfig);
|
final Optional<String> sheetId = Optional.ofNullable(idParam.orElse(idConfig.orElse(null)));
|
||||||
if (!sheetId.isPresent()) {
|
if (!sheetId.isPresent()) {
|
||||||
Result.MISSINGNO.send(response, null);
|
Result.MISSINGNO.send(response, null);
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -22,7 +22,6 @@ import static java.nio.charset.StandardCharsets.UTF_8;
|
||||||
|
|
||||||
import com.google.common.annotations.VisibleForTesting;
|
import com.google.common.annotations.VisibleForTesting;
|
||||||
import com.google.common.base.Joiner;
|
import com.google.common.base.Joiner;
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.base.Strings;
|
import com.google.common.base.Strings;
|
||||||
import com.google.common.collect.ImmutableMap;
|
import com.google.common.collect.ImmutableMap;
|
||||||
import google.registry.flows.FlowModule.EppExceptionInProviderException;
|
import google.registry.flows.FlowModule.EppExceptionInProviderException;
|
||||||
|
@ -35,6 +34,7 @@ import google.registry.model.eppoutput.Result.Code;
|
||||||
import google.registry.monitoring.whitebox.BigQueryMetricsEnqueuer;
|
import google.registry.monitoring.whitebox.BigQueryMetricsEnqueuer;
|
||||||
import google.registry.monitoring.whitebox.EppMetric;
|
import google.registry.monitoring.whitebox.EppMetric;
|
||||||
import google.registry.util.FormattingLogger;
|
import google.registry.util.FormattingLogger;
|
||||||
|
import java.util.Optional;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import org.json.simple.JSONValue;
|
import org.json.simple.JSONValue;
|
||||||
|
|
||||||
|
@ -62,7 +62,7 @@ public final class EppController {
|
||||||
boolean isDryRun,
|
boolean isDryRun,
|
||||||
boolean isSuperuser,
|
boolean isSuperuser,
|
||||||
byte[] inputXmlBytes) {
|
byte[] inputXmlBytes) {
|
||||||
eppMetricBuilder.setClientId(Optional.fromNullable(sessionMetadata.getClientId()));
|
eppMetricBuilder.setClientId(Optional.ofNullable(sessionMetadata.getClientId()));
|
||||||
eppMetricBuilder.setPrivilegeLevel(isSuperuser ? "SUPERUSER" : "NORMAL");
|
eppMetricBuilder.setPrivilegeLevel(isSuperuser ? "SUPERUSER" : "NORMAL");
|
||||||
try {
|
try {
|
||||||
EppInput eppInput;
|
EppInput eppInput;
|
||||||
|
|
|
@ -86,9 +86,9 @@ public class EppMetrics {
|
||||||
String eppStatusCode =
|
String eppStatusCode =
|
||||||
metric.getStatus().isPresent() ? String.valueOf(metric.getStatus().get().code) : "";
|
metric.getStatus().isPresent() ? String.valueOf(metric.getStatus().get().code) : "";
|
||||||
eppRequestsByRegistrar.increment(
|
eppRequestsByRegistrar.increment(
|
||||||
metric.getCommandName().or(""), metric.getClientId().or(""), eppStatusCode);
|
metric.getCommandName().orElse(""), metric.getClientId().orElse(""), eppStatusCode);
|
||||||
eppRequestsByTld.increment(
|
eppRequestsByTld.increment(
|
||||||
metric.getCommandName().or(""), metric.getTld().or(""), eppStatusCode);
|
metric.getCommandName().orElse(""), metric.getTld().orElse(""), eppStatusCode);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Records the server-side processing time for an EPP request. */
|
/** Records the server-side processing time for an EPP request. */
|
||||||
|
@ -98,8 +98,14 @@ public class EppMetrics {
|
||||||
long processingTime =
|
long processingTime =
|
||||||
metric.getEndTimestamp().getMillis() - metric.getStartTimestamp().getMillis();
|
metric.getEndTimestamp().getMillis() - metric.getStartTimestamp().getMillis();
|
||||||
processingTimeByRegistrar.record(
|
processingTimeByRegistrar.record(
|
||||||
processingTime, metric.getCommandName().or(""), metric.getClientId().or(""), eppStatusCode);
|
processingTime,
|
||||||
|
metric.getCommandName().orElse(""),
|
||||||
|
metric.getClientId().orElse(""),
|
||||||
|
eppStatusCode);
|
||||||
processingTimeByTld.record(
|
processingTimeByTld.record(
|
||||||
processingTime, metric.getCommandName().or(""), metric.getTld().or(""), eppStatusCode);
|
processingTime,
|
||||||
|
metric.getCommandName().orElse(""),
|
||||||
|
metric.getTld().orElse(""),
|
||||||
|
eppStatusCode);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,7 +17,6 @@ package google.registry.flows;
|
||||||
import static com.google.common.base.Preconditions.checkState;
|
import static com.google.common.base.Preconditions.checkState;
|
||||||
import static com.google.common.base.Strings.nullToEmpty;
|
import static com.google.common.base.Strings.nullToEmpty;
|
||||||
|
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.base.Strings;
|
import com.google.common.base.Strings;
|
||||||
import dagger.Module;
|
import dagger.Module;
|
||||||
import dagger.Provides;
|
import dagger.Provides;
|
||||||
|
@ -35,6 +34,7 @@ import google.registry.model.eppoutput.EppResponse;
|
||||||
import google.registry.model.eppoutput.Result;
|
import google.registry.model.eppoutput.Result;
|
||||||
import google.registry.model.reporting.HistoryEntry;
|
import google.registry.model.reporting.HistoryEntry;
|
||||||
import java.lang.annotation.Documented;
|
import java.lang.annotation.Documented;
|
||||||
|
import java.util.Optional;
|
||||||
import javax.inject.Qualifier;
|
import javax.inject.Qualifier;
|
||||||
|
|
||||||
/** Module to choose and instantiate an EPP flow. */
|
/** Module to choose and instantiate an EPP flow. */
|
||||||
|
@ -194,7 +194,7 @@ public class FlowModule {
|
||||||
@Provides
|
@Provides
|
||||||
@FlowScope
|
@FlowScope
|
||||||
static Optional<AuthInfo> provideOptionalAuthInfo(ResourceCommand resourceCommand) {
|
static Optional<AuthInfo> provideOptionalAuthInfo(ResourceCommand resourceCommand) {
|
||||||
return Optional.fromNullable(((SingleResourceCommand) resourceCommand).getAuthInfo());
|
return Optional.ofNullable(((SingleResourceCommand) resourceCommand).getAuthInfo());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
|
|
|
@ -19,7 +19,6 @@ import static google.registry.xml.XmlTransformer.prettyPrint;
|
||||||
import static java.util.Collections.EMPTY_LIST;
|
import static java.util.Collections.EMPTY_LIST;
|
||||||
|
|
||||||
import com.google.common.base.Ascii;
|
import com.google.common.base.Ascii;
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
import com.google.common.collect.ImmutableMap;
|
import com.google.common.collect.ImmutableMap;
|
||||||
import com.google.common.collect.ImmutableSet;
|
import com.google.common.collect.ImmutableSet;
|
||||||
|
@ -29,6 +28,7 @@ import google.registry.flows.annotations.ReportingSpec;
|
||||||
import google.registry.model.eppcommon.Trid;
|
import google.registry.model.eppcommon.Trid;
|
||||||
import google.registry.model.eppinput.EppInput;
|
import google.registry.model.eppinput.EppInput;
|
||||||
import google.registry.util.FormattingLogger;
|
import google.registry.util.FormattingLogger;
|
||||||
|
import java.util.Optional;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import org.json.simple.JSONValue;
|
import org.json.simple.JSONValue;
|
||||||
|
|
||||||
|
@ -72,7 +72,7 @@ public class FlowReporter {
|
||||||
// Explicitly log flow metadata separately from the EPP XML itself so that it stays compact
|
// Explicitly log flow metadata separately from the EPP XML itself so that it stays compact
|
||||||
// enough to be sure to fit in a single log entry (the XML part in rare cases could be long
|
// enough to be sure to fit in a single log entry (the XML part in rare cases could be long
|
||||||
// enough to overflow into multiple log entries, breaking routine parsing of the JSON format).
|
// enough to overflow into multiple log entries, breaking routine parsing of the JSON format).
|
||||||
String singleTargetId = eppInput.getSingleTargetId().or("");
|
String singleTargetId = eppInput.getSingleTargetId().orElse("");
|
||||||
ImmutableList<String> targetIds = eppInput.getTargetIds();
|
ImmutableList<String> targetIds = eppInput.getTargetIds();
|
||||||
logger.infofmt(
|
logger.infofmt(
|
||||||
"%s: %s",
|
"%s: %s",
|
||||||
|
@ -82,12 +82,12 @@ public class FlowReporter {
|
||||||
.put("serverTrid", trid.getServerTransactionId())
|
.put("serverTrid", trid.getServerTransactionId())
|
||||||
.put("clientId", clientId)
|
.put("clientId", clientId)
|
||||||
.put("commandType", eppInput.getCommandType())
|
.put("commandType", eppInput.getCommandType())
|
||||||
.put("resourceType", eppInput.getResourceType().or(""))
|
.put("resourceType", eppInput.getResourceType().orElse(""))
|
||||||
.put("flowClassName", flowClass.getSimpleName())
|
.put("flowClassName", flowClass.getSimpleName())
|
||||||
.put("targetId", singleTargetId)
|
.put("targetId", singleTargetId)
|
||||||
.put("targetIds", targetIds)
|
.put("targetIds", targetIds)
|
||||||
.put(
|
.put(
|
||||||
"tld", eppInput.isDomainResourceType() ? extractTld(singleTargetId).or("") : "")
|
"tld", eppInput.isDomainResourceType() ? extractTld(singleTargetId).orElse("") : "")
|
||||||
.put(
|
.put(
|
||||||
"tlds",
|
"tlds",
|
||||||
eppInput.isDomainResourceType() ? extractTlds(targetIds).asList() : EMPTY_LIST)
|
eppInput.isDomainResourceType() ? extractTlds(targetIds).asList() : EMPTY_LIST)
|
||||||
|
@ -108,7 +108,7 @@ public class FlowReporter {
|
||||||
private static final Optional<String> extractTld(String domainName) {
|
private static final Optional<String> extractTld(String domainName) {
|
||||||
int index = domainName.indexOf('.');
|
int index = domainName.indexOf('.');
|
||||||
return index == -1
|
return index == -1
|
||||||
? Optional.<String>absent()
|
? Optional.<String>empty()
|
||||||
: Optional.of(Ascii.toLowerCase(domainName.substring(index + 1)));
|
: Optional.of(Ascii.toLowerCase(domainName.substring(index + 1)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@ import static com.google.common.base.MoreObjects.toStringHelper;
|
||||||
import static google.registry.util.CollectionUtils.nullToEmpty;
|
import static google.registry.util.CollectionUtils.nullToEmpty;
|
||||||
|
|
||||||
import com.google.common.base.Joiner;
|
import com.google.common.base.Joiner;
|
||||||
import com.google.common.base.Optional;
|
import java.util.Optional;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import javax.servlet.http.HttpSession;
|
import javax.servlet.http.HttpSession;
|
||||||
|
|
||||||
|
@ -53,7 +53,7 @@ public class HttpSessionMetadata implements SessionMetadata {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getFailedLoginAttempts() {
|
public int getFailedLoginAttempts() {
|
||||||
return Optional.fromNullable((Integer) session.getAttribute(FAILED_LOGIN_ATTEMPTS)).or(0);
|
return Optional.ofNullable((Integer) session.getAttribute(FAILED_LOGIN_ATTEMPTS)).orElse(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -17,7 +17,6 @@ package google.registry.flows;
|
||||||
import static com.google.common.base.Preconditions.checkArgument;
|
import static com.google.common.base.Preconditions.checkArgument;
|
||||||
import static com.google.common.base.Preconditions.checkNotNull;
|
import static com.google.common.base.Preconditions.checkNotNull;
|
||||||
import static com.google.common.base.Preconditions.checkState;
|
import static com.google.common.base.Preconditions.checkState;
|
||||||
import static com.google.common.collect.Iterables.tryFind;
|
|
||||||
import static com.google.common.collect.Sets.intersection;
|
import static com.google.common.collect.Sets.intersection;
|
||||||
import static google.registry.model.EppResourceUtils.loadByForeignKey;
|
import static google.registry.model.EppResourceUtils.loadByForeignKey;
|
||||||
import static google.registry.model.EppResourceUtils.queryForLinkedDomains;
|
import static google.registry.model.EppResourceUtils.queryForLinkedDomains;
|
||||||
|
@ -26,7 +25,6 @@ import static google.registry.model.index.ForeignKeyIndex.loadAndGetKey;
|
||||||
import static google.registry.model.ofy.ObjectifyService.ofy;
|
import static google.registry.model.ofy.ObjectifyService.ofy;
|
||||||
|
|
||||||
import com.google.common.base.Function;
|
import com.google.common.base.Function;
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.base.Predicate;
|
import com.google.common.base.Predicate;
|
||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
import com.google.common.collect.ImmutableSet;
|
import com.google.common.collect.ImmutableSet;
|
||||||
|
@ -68,6 +66,7 @@ import google.registry.model.transfer.TransferResponse.ContactTransferResponse;
|
||||||
import google.registry.model.transfer.TransferResponse.DomainTransferResponse;
|
import google.registry.model.transfer.TransferResponse.DomainTransferResponse;
|
||||||
import google.registry.model.transfer.TransferStatus;
|
import google.registry.model.transfer.TransferStatus;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import org.joda.time.DateTime;
|
import org.joda.time.DateTime;
|
||||||
|
|
||||||
|
@ -345,7 +344,11 @@ public final class ResourceFlowUtils {
|
||||||
}
|
}
|
||||||
// The roid should match one of the contacts.
|
// The roid should match one of the contacts.
|
||||||
Optional<Key<ContactResource>> foundContact =
|
Optional<Key<ContactResource>> foundContact =
|
||||||
tryFind(domain.getReferencedContacts(), key -> key.getName().equals(authRepoId));
|
domain
|
||||||
|
.getReferencedContacts()
|
||||||
|
.stream()
|
||||||
|
.filter(key -> key.getName().equals(authRepoId))
|
||||||
|
.findFirst();
|
||||||
if (!foundContact.isPresent()) {
|
if (!foundContact.isPresent()) {
|
||||||
throw new BadAuthInfoForResourceException();
|
throw new BadAuthInfoForResourceException();
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,7 +20,6 @@ import static google.registry.request.RequestParameters.extractOptionalHeader;
|
||||||
import static google.registry.request.RequestParameters.extractRequiredHeader;
|
import static google.registry.request.RequestParameters.extractRequiredHeader;
|
||||||
|
|
||||||
import com.google.common.annotations.VisibleForTesting;
|
import com.google.common.annotations.VisibleForTesting;
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
import com.google.common.net.HostAndPort;
|
import com.google.common.net.HostAndPort;
|
||||||
import com.google.common.net.InetAddresses;
|
import com.google.common.net.InetAddresses;
|
||||||
|
@ -32,6 +31,7 @@ import google.registry.request.Header;
|
||||||
import google.registry.util.CidrAddressBlock;
|
import google.registry.util.CidrAddressBlock;
|
||||||
import google.registry.util.FormattingLogger;
|
import google.registry.util.FormattingLogger;
|
||||||
import java.net.InetAddress;
|
import java.net.InetAddress;
|
||||||
|
import java.util.Optional;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
|
||||||
|
|
|
@ -23,7 +23,6 @@ import static google.registry.flows.ResourceFlowUtils.verifyResourceOwnership;
|
||||||
import static google.registry.model.eppoutput.Result.Code.SUCCESS_WITH_ACTION_PENDING;
|
import static google.registry.model.eppoutput.Result.Code.SUCCESS_WITH_ACTION_PENDING;
|
||||||
import static google.registry.model.ofy.ObjectifyService.ofy;
|
import static google.registry.model.ofy.ObjectifyService.ofy;
|
||||||
|
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.collect.ImmutableSet;
|
import com.google.common.collect.ImmutableSet;
|
||||||
import com.googlecode.objectify.Key;
|
import com.googlecode.objectify.Key;
|
||||||
import google.registry.flows.EppException;
|
import google.registry.flows.EppException;
|
||||||
|
@ -43,6 +42,7 @@ import google.registry.model.eppcommon.Trid;
|
||||||
import google.registry.model.eppoutput.EppResponse;
|
import google.registry.model.eppoutput.EppResponse;
|
||||||
import google.registry.model.reporting.HistoryEntry;
|
import google.registry.model.reporting.HistoryEntry;
|
||||||
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
||||||
|
import java.util.Optional;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import org.joda.time.DateTime;
|
import org.joda.time.DateTime;
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,6 @@ import static google.registry.flows.ResourceFlowUtils.loadAndVerifyExistence;
|
||||||
import static google.registry.flows.ResourceFlowUtils.verifyOptionalAuthInfo;
|
import static google.registry.flows.ResourceFlowUtils.verifyOptionalAuthInfo;
|
||||||
import static google.registry.model.EppResourceUtils.isLinked;
|
import static google.registry.model.EppResourceUtils.isLinked;
|
||||||
|
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.collect.ImmutableSet;
|
import com.google.common.collect.ImmutableSet;
|
||||||
import com.googlecode.objectify.Key;
|
import com.googlecode.objectify.Key;
|
||||||
import google.registry.flows.EppException;
|
import google.registry.flows.EppException;
|
||||||
|
@ -35,6 +34,7 @@ import google.registry.model.eppcommon.StatusValue;
|
||||||
import google.registry.model.eppoutput.EppResponse;
|
import google.registry.model.eppoutput.EppResponse;
|
||||||
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
||||||
import google.registry.util.Clock;
|
import google.registry.util.Clock;
|
||||||
|
import java.util.Optional;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import org.joda.time.DateTime;
|
import org.joda.time.DateTime;
|
||||||
|
|
||||||
|
|
|
@ -24,7 +24,6 @@ import static google.registry.flows.contact.ContactFlowUtils.createGainingTransf
|
||||||
import static google.registry.flows.contact.ContactFlowUtils.createTransferResponse;
|
import static google.registry.flows.contact.ContactFlowUtils.createTransferResponse;
|
||||||
import static google.registry.model.ofy.ObjectifyService.ofy;
|
import static google.registry.model.ofy.ObjectifyService.ofy;
|
||||||
|
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.googlecode.objectify.Key;
|
import com.googlecode.objectify.Key;
|
||||||
import google.registry.flows.EppException;
|
import google.registry.flows.EppException;
|
||||||
import google.registry.flows.ExtensionManager;
|
import google.registry.flows.ExtensionManager;
|
||||||
|
@ -41,6 +40,7 @@ import google.registry.model.poll.PollMessage;
|
||||||
import google.registry.model.reporting.HistoryEntry;
|
import google.registry.model.reporting.HistoryEntry;
|
||||||
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
||||||
import google.registry.model.transfer.TransferStatus;
|
import google.registry.model.transfer.TransferStatus;
|
||||||
|
import java.util.Optional;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import org.joda.time.DateTime;
|
import org.joda.time.DateTime;
|
||||||
|
|
||||||
|
|
|
@ -24,7 +24,6 @@ import static google.registry.flows.contact.ContactFlowUtils.createLosingTransfe
|
||||||
import static google.registry.flows.contact.ContactFlowUtils.createTransferResponse;
|
import static google.registry.flows.contact.ContactFlowUtils.createTransferResponse;
|
||||||
import static google.registry.model.ofy.ObjectifyService.ofy;
|
import static google.registry.model.ofy.ObjectifyService.ofy;
|
||||||
|
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.googlecode.objectify.Key;
|
import com.googlecode.objectify.Key;
|
||||||
import google.registry.flows.EppException;
|
import google.registry.flows.EppException;
|
||||||
import google.registry.flows.ExtensionManager;
|
import google.registry.flows.ExtensionManager;
|
||||||
|
@ -41,6 +40,7 @@ import google.registry.model.poll.PollMessage;
|
||||||
import google.registry.model.reporting.HistoryEntry;
|
import google.registry.model.reporting.HistoryEntry;
|
||||||
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
||||||
import google.registry.model.transfer.TransferStatus;
|
import google.registry.model.transfer.TransferStatus;
|
||||||
|
import java.util.Optional;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import org.joda.time.DateTime;
|
import org.joda.time.DateTime;
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,6 @@ import static google.registry.flows.ResourceFlowUtils.loadAndVerifyExistence;
|
||||||
import static google.registry.flows.ResourceFlowUtils.verifyOptionalAuthInfo;
|
import static google.registry.flows.ResourceFlowUtils.verifyOptionalAuthInfo;
|
||||||
import static google.registry.flows.contact.ContactFlowUtils.createTransferResponse;
|
import static google.registry.flows.contact.ContactFlowUtils.createTransferResponse;
|
||||||
|
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import google.registry.flows.EppException;
|
import google.registry.flows.EppException;
|
||||||
import google.registry.flows.ExtensionManager;
|
import google.registry.flows.ExtensionManager;
|
||||||
import google.registry.flows.Flow;
|
import google.registry.flows.Flow;
|
||||||
|
@ -33,6 +32,7 @@ import google.registry.model.eppcommon.AuthInfo;
|
||||||
import google.registry.model.eppoutput.EppResponse;
|
import google.registry.model.eppoutput.EppResponse;
|
||||||
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
||||||
import google.registry.util.Clock;
|
import google.registry.util.Clock;
|
||||||
|
import java.util.Optional;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -24,7 +24,6 @@ import static google.registry.flows.contact.ContactFlowUtils.createGainingTransf
|
||||||
import static google.registry.flows.contact.ContactFlowUtils.createTransferResponse;
|
import static google.registry.flows.contact.ContactFlowUtils.createTransferResponse;
|
||||||
import static google.registry.model.ofy.ObjectifyService.ofy;
|
import static google.registry.model.ofy.ObjectifyService.ofy;
|
||||||
|
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.googlecode.objectify.Key;
|
import com.googlecode.objectify.Key;
|
||||||
import google.registry.flows.EppException;
|
import google.registry.flows.EppException;
|
||||||
import google.registry.flows.ExtensionManager;
|
import google.registry.flows.ExtensionManager;
|
||||||
|
@ -40,6 +39,7 @@ import google.registry.model.poll.PollMessage;
|
||||||
import google.registry.model.reporting.HistoryEntry;
|
import google.registry.model.reporting.HistoryEntry;
|
||||||
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
||||||
import google.registry.model.transfer.TransferStatus;
|
import google.registry.model.transfer.TransferStatus;
|
||||||
|
import java.util.Optional;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import org.joda.time.DateTime;
|
import org.joda.time.DateTime;
|
||||||
|
|
||||||
|
|
|
@ -25,7 +25,6 @@ import static google.registry.flows.contact.ContactFlowUtils.createTransferRespo
|
||||||
import static google.registry.model.eppoutput.Result.Code.SUCCESS_WITH_ACTION_PENDING;
|
import static google.registry.model.eppoutput.Result.Code.SUCCESS_WITH_ACTION_PENDING;
|
||||||
import static google.registry.model.ofy.ObjectifyService.ofy;
|
import static google.registry.model.ofy.ObjectifyService.ofy;
|
||||||
|
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.collect.ImmutableSet;
|
import com.google.common.collect.ImmutableSet;
|
||||||
import com.googlecode.objectify.Key;
|
import com.googlecode.objectify.Key;
|
||||||
import google.registry.config.RegistryConfig.Config;
|
import google.registry.config.RegistryConfig.Config;
|
||||||
|
@ -48,6 +47,7 @@ import google.registry.model.reporting.HistoryEntry;
|
||||||
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
||||||
import google.registry.model.transfer.TransferData;
|
import google.registry.model.transfer.TransferData;
|
||||||
import google.registry.model.transfer.TransferStatus;
|
import google.registry.model.transfer.TransferStatus;
|
||||||
|
import java.util.Optional;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import org.joda.time.DateTime;
|
import org.joda.time.DateTime;
|
||||||
import org.joda.time.Duration;
|
import org.joda.time.Duration;
|
||||||
|
|
|
@ -26,7 +26,6 @@ import static google.registry.flows.contact.ContactFlowUtils.validateAsciiPostal
|
||||||
import static google.registry.flows.contact.ContactFlowUtils.validateContactAgainstPolicy;
|
import static google.registry.flows.contact.ContactFlowUtils.validateContactAgainstPolicy;
|
||||||
import static google.registry.model.ofy.ObjectifyService.ofy;
|
import static google.registry.model.ofy.ObjectifyService.ofy;
|
||||||
|
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.collect.ImmutableSet;
|
import com.google.common.collect.ImmutableSet;
|
||||||
import com.googlecode.objectify.Key;
|
import com.googlecode.objectify.Key;
|
||||||
import google.registry.flows.EppException;
|
import google.registry.flows.EppException;
|
||||||
|
@ -49,6 +48,7 @@ import google.registry.model.eppinput.ResourceCommand;
|
||||||
import google.registry.model.eppoutput.EppResponse;
|
import google.registry.model.eppoutput.EppResponse;
|
||||||
import google.registry.model.reporting.HistoryEntry;
|
import google.registry.model.reporting.HistoryEntry;
|
||||||
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
||||||
|
import java.util.Optional;
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import org.joda.time.DateTime;
|
import org.joda.time.DateTime;
|
||||||
|
|
|
@ -15,7 +15,6 @@
|
||||||
package google.registry.flows.custom;
|
package google.registry.flows.custom;
|
||||||
|
|
||||||
import com.google.auto.value.AutoValue;
|
import com.google.auto.value.AutoValue;
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
import com.google.common.net.InternetDomainName;
|
import com.google.common.net.InternetDomainName;
|
||||||
import google.registry.flows.EppException;
|
import google.registry.flows.EppException;
|
||||||
|
@ -28,6 +27,7 @@ import google.registry.model.eppinput.EppInput;
|
||||||
import google.registry.model.eppoutput.EppResponse.ResponseData;
|
import google.registry.model.eppoutput.EppResponse.ResponseData;
|
||||||
import google.registry.model.eppoutput.EppResponse.ResponseExtension;
|
import google.registry.model.eppoutput.EppResponse.ResponseExtension;
|
||||||
import google.registry.model.reporting.HistoryEntry;
|
import google.registry.model.reporting.HistoryEntry;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A no-op base class for {@link DomainCreateFlow} custom logic.
|
* A no-op base class for {@link DomainCreateFlow} custom logic.
|
||||||
|
|
|
@ -26,7 +26,6 @@ import static google.registry.flows.domain.DomainFlowUtils.verifyRegistryStateAl
|
||||||
import static google.registry.model.EppResourceUtils.loadDomainApplication;
|
import static google.registry.model.EppResourceUtils.loadDomainApplication;
|
||||||
import static google.registry.model.ofy.ObjectifyService.ofy;
|
import static google.registry.model.ofy.ObjectifyService.ofy;
|
||||||
|
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.googlecode.objectify.Key;
|
import com.googlecode.objectify.Key;
|
||||||
import google.registry.flows.EppException;
|
import google.registry.flows.EppException;
|
||||||
import google.registry.flows.EppException.StatusProhibitsOperationException;
|
import google.registry.flows.EppException.StatusProhibitsOperationException;
|
||||||
|
@ -48,6 +47,7 @@ import google.registry.model.registry.Registry;
|
||||||
import google.registry.model.registry.Registry.TldState;
|
import google.registry.model.registry.Registry.TldState;
|
||||||
import google.registry.model.reporting.HistoryEntry;
|
import google.registry.model.reporting.HistoryEntry;
|
||||||
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
||||||
|
import java.util.Optional;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import org.joda.time.DateTime;
|
import org.joda.time.DateTime;
|
||||||
|
|
||||||
|
|
|
@ -25,7 +25,6 @@ import static google.registry.flows.domain.DomainFlowUtils.loadForeignKeyedDesig
|
||||||
import static google.registry.flows.domain.DomainFlowUtils.verifyApplicationDomainMatchesTargetId;
|
import static google.registry.flows.domain.DomainFlowUtils.verifyApplicationDomainMatchesTargetId;
|
||||||
import static google.registry.model.ofy.ObjectifyService.ofy;
|
import static google.registry.model.ofy.ObjectifyService.ofy;
|
||||||
|
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
import com.googlecode.objectify.Key;
|
import com.googlecode.objectify.Key;
|
||||||
import google.registry.flows.EppException;
|
import google.registry.flows.EppException;
|
||||||
|
@ -52,6 +51,7 @@ import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
||||||
import google.registry.model.smd.EncodedSignedMark;
|
import google.registry.model.smd.EncodedSignedMark;
|
||||||
import google.registry.model.smd.SignedMark;
|
import google.registry.model.smd.SignedMark;
|
||||||
import google.registry.util.Clock;
|
import google.registry.util.Clock;
|
||||||
|
import java.util.Optional;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -44,7 +44,6 @@ import static google.registry.model.EppResourceUtils.loadDomainApplication;
|
||||||
import static google.registry.model.ofy.ObjectifyService.ofy;
|
import static google.registry.model.ofy.ObjectifyService.ofy;
|
||||||
import static google.registry.util.CollectionUtils.nullToEmpty;
|
import static google.registry.util.CollectionUtils.nullToEmpty;
|
||||||
|
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.collect.ImmutableSet;
|
import com.google.common.collect.ImmutableSet;
|
||||||
import com.google.common.collect.Sets;
|
import com.google.common.collect.Sets;
|
||||||
import com.google.common.net.InternetDomainName;
|
import com.google.common.net.InternetDomainName;
|
||||||
|
@ -77,6 +76,7 @@ import google.registry.model.eppoutput.EppResponse;
|
||||||
import google.registry.model.registry.Registry;
|
import google.registry.model.registry.Registry;
|
||||||
import google.registry.model.reporting.HistoryEntry;
|
import google.registry.model.reporting.HistoryEntry;
|
||||||
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
||||||
|
import java.util.Optional;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import org.joda.time.DateTime;
|
import org.joda.time.DateTime;
|
||||||
|
|
||||||
|
|
|
@ -27,7 +27,6 @@ import static google.registry.model.index.DomainApplicationIndex.loadActiveAppli
|
||||||
import static google.registry.model.registry.label.ReservationType.getTypeOfHighestSeverity;
|
import static google.registry.model.registry.label.ReservationType.getTypeOfHighestSeverity;
|
||||||
import static google.registry.pricing.PricingEngineProxy.isDomainPremium;
|
import static google.registry.pricing.PricingEngineProxy.isDomainPremium;
|
||||||
|
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
import com.google.common.collect.ImmutableMap;
|
import com.google.common.collect.ImmutableMap;
|
||||||
import com.google.common.collect.ImmutableSet;
|
import com.google.common.collect.ImmutableSet;
|
||||||
|
@ -63,6 +62,7 @@ import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
||||||
import google.registry.util.Clock;
|
import google.registry.util.Clock;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import org.joda.time.DateTime;
|
import org.joda.time.DateTime;
|
||||||
|
@ -151,7 +151,7 @@ public final class DomainCheckFlow implements Flow {
|
||||||
ImmutableList.Builder<DomainCheck> checks = new ImmutableList.Builder<>();
|
ImmutableList.Builder<DomainCheck> checks = new ImmutableList.Builder<>();
|
||||||
for (String targetId : targetIds) {
|
for (String targetId : targetIds) {
|
||||||
Optional<String> message = getMessageForCheck(domainNames.get(targetId), existingIds, now);
|
Optional<String> message = getMessageForCheck(domainNames.get(targetId), existingIds, now);
|
||||||
checks.add(DomainCheck.create(!message.isPresent(), targetId, message.orNull()));
|
checks.add(DomainCheck.create(!message.isPresent(), targetId, message.orElse(null)));
|
||||||
}
|
}
|
||||||
BeforeResponseReturnData responseData =
|
BeforeResponseReturnData responseData =
|
||||||
customLogic.beforeResponse(
|
customLogic.beforeResponse(
|
||||||
|
@ -187,7 +187,7 @@ public final class DomainCheckFlow implements Flow {
|
||||||
}
|
}
|
||||||
|
|
||||||
return reservationTypes.isEmpty()
|
return reservationTypes.isEmpty()
|
||||||
? Optional.<String>absent()
|
? Optional.<String>empty()
|
||||||
: Optional.of(getTypeOfHighestSeverity(reservationTypes).getMessageForCheck());
|
: Optional.of(getTypeOfHighestSeverity(reservationTypes).getMessageForCheck());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -46,7 +46,6 @@ import static google.registry.model.registry.label.ReservedList.matchesAnchorTen
|
||||||
import static google.registry.util.DateTimeUtils.END_OF_TIME;
|
import static google.registry.util.DateTimeUtils.END_OF_TIME;
|
||||||
import static google.registry.util.DateTimeUtils.leapSafeAddYears;
|
import static google.registry.util.DateTimeUtils.leapSafeAddYears;
|
||||||
|
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
import com.google.common.collect.ImmutableSet;
|
import com.google.common.collect.ImmutableSet;
|
||||||
import com.google.common.collect.Sets;
|
import com.google.common.collect.Sets;
|
||||||
|
@ -105,6 +104,7 @@ import google.registry.model.reporting.DomainTransactionRecord.TransactionReport
|
||||||
import google.registry.model.reporting.HistoryEntry;
|
import google.registry.model.reporting.HistoryEntry;
|
||||||
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
||||||
import google.registry.tmch.LordnTask;
|
import google.registry.tmch.LordnTask;
|
||||||
|
import java.util.Optional;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import org.joda.time.DateTime;
|
import org.joda.time.DateTime;
|
||||||
import org.joda.time.Duration;
|
import org.joda.time.Duration;
|
||||||
|
@ -255,7 +255,7 @@ public class DomainCreateFlow implements TransactionalFlow {
|
||||||
DomainCreateFlowCustomLogic.AfterValidationParameters.newBuilder()
|
DomainCreateFlowCustomLogic.AfterValidationParameters.newBuilder()
|
||||||
.setDomainName(domainName)
|
.setDomainName(domainName)
|
||||||
.setYears(years)
|
.setYears(years)
|
||||||
.setSignedMarkId(Optional.fromNullable(signedMarkId))
|
.setSignedMarkId(Optional.ofNullable(signedMarkId))
|
||||||
.build());
|
.build());
|
||||||
FeeCreateCommandExtension feeCreate =
|
FeeCreateCommandExtension feeCreate =
|
||||||
eppInput.getSingleExtension(FeeCreateCommandExtension.class);
|
eppInput.getSingleExtension(FeeCreateCommandExtension.class);
|
||||||
|
|
|
@ -37,7 +37,6 @@ import static google.registry.pricing.PricingEngineProxy.getDomainRenewCost;
|
||||||
import static google.registry.util.CollectionUtils.nullToEmpty;
|
import static google.registry.util.CollectionUtils.nullToEmpty;
|
||||||
import static google.registry.util.CollectionUtils.union;
|
import static google.registry.util.CollectionUtils.union;
|
||||||
|
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
import com.google.common.collect.ImmutableSet;
|
import com.google.common.collect.ImmutableSet;
|
||||||
import com.google.common.collect.Sets;
|
import com.google.common.collect.Sets;
|
||||||
|
@ -90,6 +89,7 @@ import google.registry.model.reporting.HistoryEntry;
|
||||||
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
||||||
import google.registry.model.transfer.TransferStatus;
|
import google.registry.model.transfer.TransferStatus;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
import java.util.Optional;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
|
|
@ -40,7 +40,6 @@ import static google.registry.util.DomainNameUtils.ACE_PREFIX;
|
||||||
|
|
||||||
import com.google.common.base.CharMatcher;
|
import com.google.common.base.CharMatcher;
|
||||||
import com.google.common.base.Joiner;
|
import com.google.common.base.Joiner;
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.base.Splitter;
|
import com.google.common.base.Splitter;
|
||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
import com.google.common.collect.ImmutableMap;
|
import com.google.common.collect.ImmutableMap;
|
||||||
|
@ -115,6 +114,7 @@ import java.math.BigDecimal;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
import java.util.Optional;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
import org.joda.money.CurrencyUnit;
|
import org.joda.money.CurrencyUnit;
|
||||||
|
@ -490,7 +490,7 @@ public class DomainFlowUtils {
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
static void updateAutorenewRecurrenceEndTime(DomainResource domain, DateTime newEndTime) {
|
static void updateAutorenewRecurrenceEndTime(DomainResource domain, DateTime newEndTime) {
|
||||||
Optional<PollMessage.Autorenew> autorenewPollMessage =
|
Optional<PollMessage.Autorenew> autorenewPollMessage =
|
||||||
Optional.fromNullable(ofy().load().key(domain.getAutorenewPollMessage()).now());
|
Optional.ofNullable(ofy().load().key(domain.getAutorenewPollMessage()).now());
|
||||||
|
|
||||||
// Construct an updated autorenew poll message. If the autorenew poll message no longer exists,
|
// Construct an updated autorenew poll message. If the autorenew poll message no longer exists,
|
||||||
// create a new one at the same id. This can happen if a transfer was requested on a domain
|
// create a new one at the same id. This can happen if a transfer was requested on a domain
|
||||||
|
@ -557,7 +557,7 @@ public class DomainFlowUtils {
|
||||||
.setCommand(feeRequest.getCommandName(), feeRequest.getPhase(), feeRequest.getSubphase())
|
.setCommand(feeRequest.getCommandName(), feeRequest.getPhase(), feeRequest.getSubphase())
|
||||||
.setCurrencyIfSupported(registry.getCurrency())
|
.setCurrencyIfSupported(registry.getCurrency())
|
||||||
.setPeriod(feeRequest.getPeriod())
|
.setPeriod(feeRequest.getPeriod())
|
||||||
.setClass(pricingLogic.getFeeClass(domainNameString, now).orNull());
|
.setClass(pricingLogic.getFeeClass(domainNameString, now).orElse(null));
|
||||||
|
|
||||||
ImmutableList<Fee> fees = ImmutableList.of();
|
ImmutableList<Fee> fees = ImmutableList.of();
|
||||||
switch (feeRequest.getCommandName()) {
|
switch (feeRequest.getCommandName()) {
|
||||||
|
@ -939,22 +939,21 @@ public class DomainFlowUtils {
|
||||||
.order("modificationTime")
|
.order("modificationTime")
|
||||||
.list();
|
.list();
|
||||||
Optional<HistoryEntry> entryToCancel =
|
Optional<HistoryEntry> entryToCancel =
|
||||||
Optional.fromJavaUtil(
|
Streams.findLast(
|
||||||
Streams.findLast(
|
recentHistoryEntries
|
||||||
recentHistoryEntries
|
.stream()
|
||||||
.stream()
|
.filter(
|
||||||
.filter(
|
historyEntry -> {
|
||||||
historyEntry -> {
|
// Look for add and renew transaction records that have yet to be reported
|
||||||
// Look for add and renew transaction records that have yet to be reported
|
for (DomainTransactionRecord record :
|
||||||
for (DomainTransactionRecord record :
|
historyEntry.getDomainTransactionRecords()) {
|
||||||
historyEntry.getDomainTransactionRecords()) {
|
if (cancelableFields.contains(record.getReportField())
|
||||||
if (cancelableFields.contains(record.getReportField())
|
&& record.getReportingTime().isAfter(now)) {
|
||||||
&& record.getReportingTime().isAfter(now)) {
|
return true;
|
||||||
return true;
|
}
|
||||||
}
|
}
|
||||||
}
|
return false;
|
||||||
return false;
|
}));
|
||||||
})));
|
|
||||||
ImmutableSet.Builder<DomainTransactionRecord> recordsBuilder = new ImmutableSet.Builder<>();
|
ImmutableSet.Builder<DomainTransactionRecord> recordsBuilder = new ImmutableSet.Builder<>();
|
||||||
if (entryToCancel.isPresent()) {
|
if (entryToCancel.isPresent()) {
|
||||||
for (DomainTransactionRecord record : entryToCancel.get().getDomainTransactionRecords()) {
|
for (DomainTransactionRecord record : entryToCancel.get().getDomainTransactionRecords()) {
|
||||||
|
|
|
@ -24,7 +24,6 @@ import static google.registry.flows.domain.DomainFlowUtils.loadForeignKeyedDesig
|
||||||
import static google.registry.model.EppResourceUtils.loadByForeignKey;
|
import static google.registry.model.EppResourceUtils.loadByForeignKey;
|
||||||
import static google.registry.model.ofy.ObjectifyService.ofy;
|
import static google.registry.model.ofy.ObjectifyService.ofy;
|
||||||
|
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
import com.google.common.collect.ImmutableSet;
|
import com.google.common.collect.ImmutableSet;
|
||||||
import com.google.common.net.InternetDomainName;
|
import com.google.common.net.InternetDomainName;
|
||||||
|
@ -53,6 +52,7 @@ import google.registry.model.eppoutput.EppResponse;
|
||||||
import google.registry.model.eppoutput.EppResponse.ResponseExtension;
|
import google.registry.model.eppoutput.EppResponse.ResponseExtension;
|
||||||
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
||||||
import google.registry.util.Clock;
|
import google.registry.util.Clock;
|
||||||
|
import java.util.Optional;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import org.joda.time.DateTime;
|
import org.joda.time.DateTime;
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,6 @@ import static google.registry.pricing.PricingEngineProxy.getDomainCreateCost;
|
||||||
import static google.registry.pricing.PricingEngineProxy.getDomainFeeClass;
|
import static google.registry.pricing.PricingEngineProxy.getDomainFeeClass;
|
||||||
import static google.registry.pricing.PricingEngineProxy.getDomainRenewCost;
|
import static google.registry.pricing.PricingEngineProxy.getDomainRenewCost;
|
||||||
|
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.net.InternetDomainName;
|
import com.google.common.net.InternetDomainName;
|
||||||
import com.googlecode.objectify.Key;
|
import com.googlecode.objectify.Key;
|
||||||
import google.registry.flows.EppException;
|
import google.registry.flows.EppException;
|
||||||
|
@ -37,6 +36,7 @@ import google.registry.model.domain.fee.BaseFee;
|
||||||
import google.registry.model.domain.fee.BaseFee.FeeType;
|
import google.registry.model.domain.fee.BaseFee.FeeType;
|
||||||
import google.registry.model.domain.fee.Fee;
|
import google.registry.model.domain.fee.Fee;
|
||||||
import google.registry.model.registry.Registry;
|
import google.registry.model.registry.Registry;
|
||||||
|
import java.util.Optional;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import org.joda.money.CurrencyUnit;
|
import org.joda.money.CurrencyUnit;
|
||||||
import org.joda.money.Money;
|
import org.joda.money.Money;
|
||||||
|
@ -210,6 +210,6 @@ public final class DomainPricingLogic {
|
||||||
return Optional.of(token);
|
return Optional.of(token);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return Optional.<LrpTokenEntity>absent();
|
return Optional.<LrpTokenEntity>empty();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,7 +30,6 @@ import static google.registry.flows.domain.DomainFlowUtils.verifyUnitIsYears;
|
||||||
import static google.registry.model.ofy.ObjectifyService.ofy;
|
import static google.registry.model.ofy.ObjectifyService.ofy;
|
||||||
import static google.registry.util.DateTimeUtils.leapSafeAddYears;
|
import static google.registry.util.DateTimeUtils.leapSafeAddYears;
|
||||||
|
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
import com.google.common.collect.ImmutableSet;
|
import com.google.common.collect.ImmutableSet;
|
||||||
import com.googlecode.objectify.Key;
|
import com.googlecode.objectify.Key;
|
||||||
|
@ -74,6 +73,7 @@ import google.registry.model.reporting.DomainTransactionRecord;
|
||||||
import google.registry.model.reporting.DomainTransactionRecord.TransactionReportField;
|
import google.registry.model.reporting.DomainTransactionRecord.TransactionReportField;
|
||||||
import google.registry.model.reporting.HistoryEntry;
|
import google.registry.model.reporting.HistoryEntry;
|
||||||
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
||||||
|
import java.util.Optional;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import org.joda.money.Money;
|
import org.joda.money.Money;
|
||||||
import org.joda.time.DateTime;
|
import org.joda.time.DateTime;
|
||||||
|
|
|
@ -28,7 +28,6 @@ import static google.registry.flows.domain.DomainFlowUtils.verifyPremiumNameIsNo
|
||||||
import static google.registry.model.ofy.ObjectifyService.ofy;
|
import static google.registry.model.ofy.ObjectifyService.ofy;
|
||||||
import static google.registry.util.DateTimeUtils.END_OF_TIME;
|
import static google.registry.util.DateTimeUtils.END_OF_TIME;
|
||||||
|
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
import com.google.common.collect.ImmutableSet;
|
import com.google.common.collect.ImmutableSet;
|
||||||
import com.google.common.net.InternetDomainName;
|
import com.google.common.net.InternetDomainName;
|
||||||
|
@ -67,6 +66,7 @@ import google.registry.model.reporting.DomainTransactionRecord;
|
||||||
import google.registry.model.reporting.DomainTransactionRecord.TransactionReportField;
|
import google.registry.model.reporting.DomainTransactionRecord.TransactionReportField;
|
||||||
import google.registry.model.reporting.HistoryEntry;
|
import google.registry.model.reporting.HistoryEntry;
|
||||||
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
||||||
|
import java.util.Optional;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import org.joda.money.Money;
|
import org.joda.money.Money;
|
||||||
import org.joda.time.DateTime;
|
import org.joda.time.DateTime;
|
||||||
|
|
|
@ -33,7 +33,6 @@ import static google.registry.pricing.PricingEngineProxy.getDomainRenewCost;
|
||||||
import static google.registry.util.CollectionUtils.union;
|
import static google.registry.util.CollectionUtils.union;
|
||||||
import static google.registry.util.DateTimeUtils.END_OF_TIME;
|
import static google.registry.util.DateTimeUtils.END_OF_TIME;
|
||||||
|
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.collect.ImmutableSet;
|
import com.google.common.collect.ImmutableSet;
|
||||||
import com.googlecode.objectify.Key;
|
import com.googlecode.objectify.Key;
|
||||||
import google.registry.flows.EppException;
|
import google.registry.flows.EppException;
|
||||||
|
@ -60,6 +59,7 @@ import google.registry.model.reporting.HistoryEntry;
|
||||||
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
||||||
import google.registry.model.transfer.TransferData;
|
import google.registry.model.transfer.TransferData;
|
||||||
import google.registry.model.transfer.TransferStatus;
|
import google.registry.model.transfer.TransferStatus;
|
||||||
|
import java.util.Optional;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import org.joda.time.DateTime;
|
import org.joda.time.DateTime;
|
||||||
|
|
||||||
|
@ -119,7 +119,7 @@ public final class DomainTransferApproveFlow implements TransactionalFlow {
|
||||||
// the transfer period to zero. There is not a transfer cost if the transfer period is zero.
|
// the transfer period to zero. There is not a transfer cost if the transfer period is zero.
|
||||||
Optional<BillingEvent.OneTime> billingEvent =
|
Optional<BillingEvent.OneTime> billingEvent =
|
||||||
(transferData.getTransferPeriod().getValue() == 0)
|
(transferData.getTransferPeriod().getValue() == 0)
|
||||||
? Optional.<BillingEvent.OneTime>absent()
|
? Optional.<BillingEvent.OneTime>empty()
|
||||||
: Optional.of(
|
: Optional.of(
|
||||||
new BillingEvent.OneTime.Builder()
|
new BillingEvent.OneTime.Builder()
|
||||||
.setReason(Reason.TRANSFER)
|
.setReason(Reason.TRANSFER)
|
||||||
|
|
|
@ -29,7 +29,6 @@ import static google.registry.model.ofy.ObjectifyService.ofy;
|
||||||
import static google.registry.model.reporting.DomainTransactionRecord.TransactionReportField.TRANSFER_SUCCESSFUL;
|
import static google.registry.model.reporting.DomainTransactionRecord.TransactionReportField.TRANSFER_SUCCESSFUL;
|
||||||
import static google.registry.util.DateTimeUtils.END_OF_TIME;
|
import static google.registry.util.DateTimeUtils.END_OF_TIME;
|
||||||
|
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.collect.ImmutableSet;
|
import com.google.common.collect.ImmutableSet;
|
||||||
import com.googlecode.objectify.Key;
|
import com.googlecode.objectify.Key;
|
||||||
import google.registry.flows.EppException;
|
import google.registry.flows.EppException;
|
||||||
|
@ -49,6 +48,7 @@ import google.registry.model.reporting.DomainTransactionRecord;
|
||||||
import google.registry.model.reporting.HistoryEntry;
|
import google.registry.model.reporting.HistoryEntry;
|
||||||
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
||||||
import google.registry.model.transfer.TransferStatus;
|
import google.registry.model.transfer.TransferStatus;
|
||||||
|
import java.util.Optional;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import org.joda.time.DateTime;
|
import org.joda.time.DateTime;
|
||||||
|
|
||||||
|
|
|
@ -20,7 +20,6 @@ import static google.registry.flows.ResourceFlowUtils.verifyOptionalAuthInfo;
|
||||||
import static google.registry.flows.domain.DomainTransferUtils.createTransferResponse;
|
import static google.registry.flows.domain.DomainTransferUtils.createTransferResponse;
|
||||||
import static google.registry.model.domain.DomainResource.extendRegistrationWithCap;
|
import static google.registry.model.domain.DomainResource.extendRegistrationWithCap;
|
||||||
|
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import google.registry.flows.EppException;
|
import google.registry.flows.EppException;
|
||||||
import google.registry.flows.ExtensionManager;
|
import google.registry.flows.ExtensionManager;
|
||||||
import google.registry.flows.Flow;
|
import google.registry.flows.Flow;
|
||||||
|
@ -36,6 +35,7 @@ import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
||||||
import google.registry.model.transfer.TransferData;
|
import google.registry.model.transfer.TransferData;
|
||||||
import google.registry.model.transfer.TransferStatus;
|
import google.registry.model.transfer.TransferStatus;
|
||||||
import google.registry.util.Clock;
|
import google.registry.util.Clock;
|
||||||
|
import java.util.Optional;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import org.joda.time.DateTime;
|
import org.joda.time.DateTime;
|
||||||
|
|
||||||
|
|
|
@ -31,7 +31,6 @@ import static google.registry.model.reporting.DomainTransactionRecord.Transactio
|
||||||
import static google.registry.util.CollectionUtils.union;
|
import static google.registry.util.CollectionUtils.union;
|
||||||
import static google.registry.util.DateTimeUtils.END_OF_TIME;
|
import static google.registry.util.DateTimeUtils.END_OF_TIME;
|
||||||
|
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.collect.ImmutableSet;
|
import com.google.common.collect.ImmutableSet;
|
||||||
import com.googlecode.objectify.Key;
|
import com.googlecode.objectify.Key;
|
||||||
import google.registry.flows.EppException;
|
import google.registry.flows.EppException;
|
||||||
|
@ -51,6 +50,7 @@ import google.registry.model.reporting.DomainTransactionRecord;
|
||||||
import google.registry.model.reporting.HistoryEntry;
|
import google.registry.model.reporting.HistoryEntry;
|
||||||
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
||||||
import google.registry.model.transfer.TransferStatus;
|
import google.registry.model.transfer.TransferStatus;
|
||||||
|
import java.util.Optional;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import org.joda.time.DateTime;
|
import org.joda.time.DateTime;
|
||||||
|
|
||||||
|
|
|
@ -32,7 +32,6 @@ import static google.registry.model.domain.DomainResource.extendRegistrationWith
|
||||||
import static google.registry.model.eppoutput.Result.Code.SUCCESS_WITH_ACTION_PENDING;
|
import static google.registry.model.eppoutput.Result.Code.SUCCESS_WITH_ACTION_PENDING;
|
||||||
import static google.registry.model.ofy.ObjectifyService.ofy;
|
import static google.registry.model.ofy.ObjectifyService.ofy;
|
||||||
|
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
import com.google.common.collect.ImmutableSet;
|
import com.google.common.collect.ImmutableSet;
|
||||||
import com.googlecode.objectify.Key;
|
import com.googlecode.objectify.Key;
|
||||||
|
@ -72,6 +71,7 @@ import google.registry.model.transfer.TransferData;
|
||||||
import google.registry.model.transfer.TransferData.TransferServerApproveEntity;
|
import google.registry.model.transfer.TransferData.TransferServerApproveEntity;
|
||||||
import google.registry.model.transfer.TransferResponse.DomainTransferResponse;
|
import google.registry.model.transfer.TransferResponse.DomainTransferResponse;
|
||||||
import google.registry.model.transfer.TransferStatus;
|
import google.registry.model.transfer.TransferStatus;
|
||||||
|
import java.util.Optional;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import org.joda.money.Money;
|
import org.joda.money.Money;
|
||||||
import org.joda.time.DateTime;
|
import org.joda.time.DateTime;
|
||||||
|
@ -160,7 +160,7 @@ public final class DomainTransferRequestFlow implements TransactionalFlow {
|
||||||
// If the period is zero, then there is no fee for the transfer.
|
// If the period is zero, then there is no fee for the transfer.
|
||||||
Optional<FeesAndCredits> feesAndCredits =
|
Optional<FeesAndCredits> feesAndCredits =
|
||||||
(period.getValue() == 0)
|
(period.getValue() == 0)
|
||||||
? Optional.<FeesAndCredits>absent()
|
? Optional.<FeesAndCredits>empty()
|
||||||
: Optional.of(pricingLogic.getTransferPrice(registry, targetId, now));
|
: Optional.of(pricingLogic.getTransferPrice(registry, targetId, now));
|
||||||
if (feesAndCredits.isPresent()) {
|
if (feesAndCredits.isPresent()) {
|
||||||
validateFeeChallenge(targetId, tld, now, feeTransfer, feesAndCredits.get());
|
validateFeeChallenge(targetId, tld, now, feeTransfer, feesAndCredits.get());
|
||||||
|
@ -200,7 +200,7 @@ public final class DomainTransferRequestFlow implements TransactionalFlow {
|
||||||
gainingClientId,
|
gainingClientId,
|
||||||
(feesAndCredits.isPresent())
|
(feesAndCredits.isPresent())
|
||||||
? Optional.of(feesAndCredits.get().getTotalCost())
|
? Optional.of(feesAndCredits.get().getTotalCost())
|
||||||
: Optional.<Money>absent(),
|
: Optional.<Money>empty(),
|
||||||
now);
|
now);
|
||||||
// Create the transfer data that represents the pending transfer.
|
// Create the transfer data that represents the pending transfer.
|
||||||
TransferData pendingTransferData =
|
TransferData pendingTransferData =
|
||||||
|
|
|
@ -18,7 +18,6 @@ import static com.google.common.collect.Iterables.getOnlyElement;
|
||||||
import static com.google.common.collect.MoreCollectors.onlyElement;
|
import static com.google.common.collect.MoreCollectors.onlyElement;
|
||||||
import static google.registry.util.DateTimeUtils.END_OF_TIME;
|
import static google.registry.util.DateTimeUtils.END_OF_TIME;
|
||||||
|
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
import com.google.common.collect.ImmutableSet;
|
import com.google.common.collect.ImmutableSet;
|
||||||
import com.googlecode.objectify.Key;
|
import com.googlecode.objectify.Key;
|
||||||
|
@ -38,6 +37,7 @@ import google.registry.model.transfer.TransferData;
|
||||||
import google.registry.model.transfer.TransferData.TransferServerApproveEntity;
|
import google.registry.model.transfer.TransferData.TransferServerApproveEntity;
|
||||||
import google.registry.model.transfer.TransferResponse.DomainTransferResponse;
|
import google.registry.model.transfer.TransferResponse.DomainTransferResponse;
|
||||||
import google.registry.model.transfer.TransferStatus;
|
import google.registry.model.transfer.TransferStatus;
|
||||||
|
import java.util.Optional;
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
import org.joda.money.Money;
|
import org.joda.money.Money;
|
||||||
import org.joda.time.DateTime;
|
import org.joda.time.DateTime;
|
||||||
|
@ -135,11 +135,10 @@ public final class DomainTransferUtils {
|
||||||
registry,
|
registry,
|
||||||
transferCost.get()));
|
transferCost.get()));
|
||||||
}
|
}
|
||||||
|
createOptionalAutorenewCancellation(
|
||||||
|
automaticTransferTime, historyEntry, targetId, existingDomain, transferCost)
|
||||||
|
.ifPresent(builder::add);
|
||||||
return builder
|
return builder
|
||||||
.addAll(
|
|
||||||
createOptionalAutorenewCancellation(
|
|
||||||
automaticTransferTime, historyEntry, targetId, existingDomain, transferCost)
|
|
||||||
.asSet())
|
|
||||||
.add(
|
.add(
|
||||||
createGainingClientAutorenewEvent(
|
createGainingClientAutorenewEvent(
|
||||||
serverApproveNewExpirationTime, historyEntry, targetId, gainingClientId))
|
serverApproveNewExpirationTime, historyEntry, targetId, gainingClientId))
|
||||||
|
@ -273,7 +272,7 @@ public final class DomainTransferUtils {
|
||||||
.setEventTime(automaticTransferTime)
|
.setEventTime(automaticTransferTime)
|
||||||
.build());
|
.build());
|
||||||
}
|
}
|
||||||
return Optional.absent();
|
return Optional.empty();
|
||||||
}
|
}
|
||||||
|
|
||||||
private static BillingEvent.OneTime createTransferBillingEvent(
|
private static BillingEvent.OneTime createTransferBillingEvent(
|
||||||
|
|
|
@ -44,7 +44,6 @@ import static google.registry.model.ofy.ObjectifyService.ofy;
|
||||||
import static google.registry.util.CollectionUtils.nullToEmpty;
|
import static google.registry.util.CollectionUtils.nullToEmpty;
|
||||||
import static google.registry.util.DateTimeUtils.earliestOf;
|
import static google.registry.util.DateTimeUtils.earliestOf;
|
||||||
|
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.collect.ImmutableSet;
|
import com.google.common.collect.ImmutableSet;
|
||||||
import com.google.common.net.InternetDomainName;
|
import com.google.common.net.InternetDomainName;
|
||||||
import com.googlecode.objectify.Key;
|
import com.googlecode.objectify.Key;
|
||||||
|
@ -82,6 +81,7 @@ import google.registry.model.eppoutput.EppResponse;
|
||||||
import google.registry.model.registry.Registry;
|
import google.registry.model.registry.Registry;
|
||||||
import google.registry.model.reporting.HistoryEntry;
|
import google.registry.model.reporting.HistoryEntry;
|
||||||
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
||||||
|
import java.util.Optional;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import org.joda.time.DateTime;
|
import org.joda.time.DateTime;
|
||||||
|
|
||||||
|
@ -371,6 +371,6 @@ public final class DomainUpdateFlow implements TransactionalFlow {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return Optional.absent();
|
return Optional.empty();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,7 +25,6 @@ import static google.registry.model.ofy.ObjectifyService.ofy;
|
||||||
import static google.registry.util.CollectionUtils.isNullOrEmpty;
|
import static google.registry.util.CollectionUtils.isNullOrEmpty;
|
||||||
import static google.registry.util.CollectionUtils.union;
|
import static google.registry.util.CollectionUtils.union;
|
||||||
|
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.collect.ImmutableSet;
|
import com.google.common.collect.ImmutableSet;
|
||||||
import com.googlecode.objectify.Key;
|
import com.googlecode.objectify.Key;
|
||||||
import google.registry.config.RegistryConfig.Config;
|
import google.registry.config.RegistryConfig.Config;
|
||||||
|
@ -52,6 +51,7 @@ import google.registry.model.index.ForeignKeyIndex;
|
||||||
import google.registry.model.ofy.ObjectifyService;
|
import google.registry.model.ofy.ObjectifyService;
|
||||||
import google.registry.model.reporting.HistoryEntry;
|
import google.registry.model.reporting.HistoryEntry;
|
||||||
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
||||||
|
import java.util.Optional;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import org.joda.time.DateTime;
|
import org.joda.time.DateTime;
|
||||||
|
|
||||||
|
@ -103,8 +103,8 @@ public final class HostCreateFlow implements TransactionalFlow {
|
||||||
// we can detect error conditions earlier.
|
// we can detect error conditions earlier.
|
||||||
Optional<DomainResource> superordinateDomain =
|
Optional<DomainResource> superordinateDomain =
|
||||||
lookupSuperordinateDomain(validateHostName(targetId), now);
|
lookupSuperordinateDomain(validateHostName(targetId), now);
|
||||||
verifySuperordinateDomainNotInPendingDelete(superordinateDomain.orNull());
|
verifySuperordinateDomainNotInPendingDelete(superordinateDomain.orElse(null));
|
||||||
verifySuperordinateDomainOwnership(clientId, superordinateDomain.orNull());
|
verifySuperordinateDomainOwnership(clientId, superordinateDomain.orElse(null));
|
||||||
boolean willBeSubordinate = superordinateDomain.isPresent();
|
boolean willBeSubordinate = superordinateDomain.isPresent();
|
||||||
boolean hasIpAddresses = !isNullOrEmpty(command.getInetAddresses());
|
boolean hasIpAddresses = !isNullOrEmpty(command.getInetAddresses());
|
||||||
if (willBeSubordinate != hasIpAddresses) {
|
if (willBeSubordinate != hasIpAddresses) {
|
||||||
|
|
|
@ -21,7 +21,6 @@ import static google.registry.util.PreconditionsUtils.checkArgumentNotNull;
|
||||||
import static java.util.stream.Collectors.joining;
|
import static java.util.stream.Collectors.joining;
|
||||||
|
|
||||||
import com.google.common.base.Ascii;
|
import com.google.common.base.Ascii;
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.net.InternetDomainName;
|
import com.google.common.net.InternetDomainName;
|
||||||
import google.registry.flows.EppException;
|
import google.registry.flows.EppException;
|
||||||
import google.registry.flows.EppException.AuthorizationErrorException;
|
import google.registry.flows.EppException.AuthorizationErrorException;
|
||||||
|
@ -33,6 +32,7 @@ import google.registry.flows.EppException.StatusProhibitsOperationException;
|
||||||
import google.registry.model.domain.DomainResource;
|
import google.registry.model.domain.DomainResource;
|
||||||
import google.registry.model.eppcommon.StatusValue;
|
import google.registry.model.eppcommon.StatusValue;
|
||||||
import google.registry.util.Idn;
|
import google.registry.util.Idn;
|
||||||
|
import java.util.Optional;
|
||||||
import org.joda.time.DateTime;
|
import org.joda.time.DateTime;
|
||||||
|
|
||||||
/** Static utility functions for host flows. */
|
/** Static utility functions for host flows. */
|
||||||
|
@ -94,7 +94,7 @@ public class HostFlowUtils {
|
||||||
Optional<InternetDomainName> tld = findTldForName(hostName);
|
Optional<InternetDomainName> tld = findTldForName(hostName);
|
||||||
if (!tld.isPresent()) {
|
if (!tld.isPresent()) {
|
||||||
// This is an host on a TLD we don't run, therefore obviously external, so we are done.
|
// This is an host on a TLD we don't run, therefore obviously external, so we are done.
|
||||||
return Optional.absent();
|
return Optional.empty();
|
||||||
}
|
}
|
||||||
// This is a subordinate host
|
// This is a subordinate host
|
||||||
String domainName =
|
String domainName =
|
||||||
|
|
|
@ -30,7 +30,6 @@ import static google.registry.model.index.ForeignKeyIndex.loadAndGetKey;
|
||||||
import static google.registry.model.ofy.ObjectifyService.ofy;
|
import static google.registry.model.ofy.ObjectifyService.ofy;
|
||||||
import static google.registry.util.CollectionUtils.isNullOrEmpty;
|
import static google.registry.util.CollectionUtils.isNullOrEmpty;
|
||||||
|
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.collect.ImmutableSet;
|
import com.google.common.collect.ImmutableSet;
|
||||||
import com.googlecode.objectify.Key;
|
import com.googlecode.objectify.Key;
|
||||||
import google.registry.dns.DnsQueue;
|
import google.registry.dns.DnsQueue;
|
||||||
|
@ -61,6 +60,7 @@ import google.registry.model.index.ForeignKeyIndex;
|
||||||
import google.registry.model.reporting.HistoryEntry;
|
import google.registry.model.reporting.HistoryEntry;
|
||||||
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
import google.registry.model.reporting.IcannReportingTypes.ActivityReportField;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
import java.util.Optional;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import org.joda.time.DateTime;
|
import org.joda.time.DateTime;
|
||||||
|
|
||||||
|
@ -141,10 +141,10 @@ public final class HostUpdateFlow implements TransactionalFlow {
|
||||||
// Note that lookupSuperordinateDomain calls cloneProjectedAtTime on the domain for us.
|
// Note that lookupSuperordinateDomain calls cloneProjectedAtTime on the domain for us.
|
||||||
Optional<DomainResource> newSuperordinateDomain =
|
Optional<DomainResource> newSuperordinateDomain =
|
||||||
lookupSuperordinateDomain(validateHostName(newHostName), now);
|
lookupSuperordinateDomain(validateHostName(newHostName), now);
|
||||||
verifySuperordinateDomainNotInPendingDelete(newSuperordinateDomain.orNull());
|
verifySuperordinateDomainNotInPendingDelete(newSuperordinateDomain.orElse(null));
|
||||||
EppResource owningResource = firstNonNull(oldSuperordinateDomain, existingHost);
|
EppResource owningResource = firstNonNull(oldSuperordinateDomain, existingHost);
|
||||||
verifyUpdateAllowed(
|
verifyUpdateAllowed(
|
||||||
command, existingHost, newSuperordinateDomain.orNull(), owningResource, isHostRename);
|
command, existingHost, newSuperordinateDomain.orElse(null), owningResource, isHostRename);
|
||||||
if (isHostRename && loadAndGetKey(HostResource.class, newHostName, now) != null) {
|
if (isHostRename && loadAndGetKey(HostResource.class, newHostName, now) != null) {
|
||||||
throw new HostAlreadyExistsException(newHostName);
|
throw new HostAlreadyExistsException(newHostName);
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,7 +17,6 @@ package google.registry.flows.session;
|
||||||
import static com.google.common.collect.Sets.difference;
|
import static com.google.common.collect.Sets.difference;
|
||||||
import static google.registry.util.CollectionUtils.nullToEmpty;
|
import static google.registry.util.CollectionUtils.nullToEmpty;
|
||||||
|
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.collect.ImmutableSet;
|
import com.google.common.collect.ImmutableSet;
|
||||||
import google.registry.flows.EppException;
|
import google.registry.flows.EppException;
|
||||||
import google.registry.flows.EppException.AuthenticationErrorClosingConnectionException;
|
import google.registry.flows.EppException.AuthenticationErrorClosingConnectionException;
|
||||||
|
@ -42,6 +41,7 @@ import google.registry.model.eppinput.EppInput.Services;
|
||||||
import google.registry.model.eppoutput.EppResponse;
|
import google.registry.model.eppoutput.EppResponse;
|
||||||
import google.registry.model.registrar.Registrar;
|
import google.registry.model.registrar.Registrar;
|
||||||
import google.registry.util.FormattingLogger;
|
import google.registry.util.FormattingLogger;
|
||||||
|
import java.util.Optional;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
|
||||||
|
|
|
@ -16,10 +16,10 @@ package google.registry.keyring.api;
|
||||||
|
|
||||||
import static com.google.common.base.Strings.emptyToNull;
|
import static com.google.common.base.Strings.emptyToNull;
|
||||||
|
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import dagger.Module;
|
import dagger.Module;
|
||||||
import dagger.Provides;
|
import dagger.Provides;
|
||||||
import java.lang.annotation.Documented;
|
import java.lang.annotation.Documented;
|
||||||
|
import java.util.Optional;
|
||||||
import javax.inject.Qualifier;
|
import javax.inject.Qualifier;
|
||||||
import org.bouncycastle.openpgp.PGPKeyPair;
|
import org.bouncycastle.openpgp.PGPKeyPair;
|
||||||
import org.bouncycastle.openpgp.PGPPrivateKey;
|
import org.bouncycastle.openpgp.PGPPrivateKey;
|
||||||
|
@ -57,19 +57,19 @@ public final class KeyModule {
|
||||||
@Provides
|
@Provides
|
||||||
@Key("marksdbDnlLogin")
|
@Key("marksdbDnlLogin")
|
||||||
static Optional<String> provideMarksdbDnlLogin(Keyring keyring) {
|
static Optional<String> provideMarksdbDnlLogin(Keyring keyring) {
|
||||||
return Optional.fromNullable(emptyToNull(keyring.getMarksdbDnlLogin()));
|
return Optional.ofNullable(emptyToNull(keyring.getMarksdbDnlLogin()));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
@Key("marksdbLordnPassword")
|
@Key("marksdbLordnPassword")
|
||||||
static Optional<String> provideMarksdbLordnPassword(Keyring keyring) {
|
static Optional<String> provideMarksdbLordnPassword(Keyring keyring) {
|
||||||
return Optional.fromNullable(emptyToNull(keyring.getMarksdbLordnPassword()));
|
return Optional.ofNullable(emptyToNull(keyring.getMarksdbLordnPassword()));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
@Key("marksdbSmdrlLogin")
|
@Key("marksdbSmdrlLogin")
|
||||||
static Optional<String> provideMarksdbSmdrlLogin(Keyring keyring) {
|
static Optional<String> provideMarksdbSmdrlLogin(Keyring keyring) {
|
||||||
return Optional.fromNullable(emptyToNull(keyring.getMarksdbSmdrlLogin()));
|
return Optional.ofNullable(emptyToNull(keyring.getMarksdbSmdrlLogin()));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
|
|
|
@ -22,10 +22,10 @@ import static org.bouncycastle.bcpg.PublicKeyAlgorithmTags.ELGAMAL_GENERAL;
|
||||||
import static org.bouncycastle.bcpg.PublicKeyAlgorithmTags.RSA_GENERAL;
|
import static org.bouncycastle.bcpg.PublicKeyAlgorithmTags.RSA_GENERAL;
|
||||||
import static org.bouncycastle.bcpg.PublicKeyAlgorithmTags.RSA_SIGN;
|
import static org.bouncycastle.bcpg.PublicKeyAlgorithmTags.RSA_SIGN;
|
||||||
|
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.base.VerifyException;
|
import com.google.common.base.VerifyException;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
|
import java.util.Optional;
|
||||||
import org.bouncycastle.openpgp.PGPException;
|
import org.bouncycastle.openpgp.PGPException;
|
||||||
import org.bouncycastle.openpgp.PGPKeyPair;
|
import org.bouncycastle.openpgp.PGPKeyPair;
|
||||||
import org.bouncycastle.openpgp.PGPPrivateKey;
|
import org.bouncycastle.openpgp.PGPPrivateKey;
|
||||||
|
@ -156,7 +156,7 @@ public final class PgpHelper {
|
||||||
throw new AssertionError();
|
throw new AssertionError();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return Optional.absent();
|
return Optional.empty();
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Returns {@code true} if this key can be used for signing. */
|
/** Returns {@code true} if this key can be used for signing. */
|
||||||
|
|
|
@ -43,73 +43,73 @@ public final class LoadTestModule {
|
||||||
@Parameter("delaySeconds")
|
@Parameter("delaySeconds")
|
||||||
static int provideDelaySeconds(HttpServletRequest req) {
|
static int provideDelaySeconds(HttpServletRequest req) {
|
||||||
return extractOptionalIntParameter(req, "delaySeconds")
|
return extractOptionalIntParameter(req, "delaySeconds")
|
||||||
.or(Minutes.ONE.toStandardSeconds().getSeconds());
|
.orElse(Minutes.ONE.toStandardSeconds().getSeconds());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
@Parameter("runSeconds")
|
@Parameter("runSeconds")
|
||||||
static int provideRunSeconds(HttpServletRequest req) {
|
static int provideRunSeconds(HttpServletRequest req) {
|
||||||
return extractOptionalIntParameter(req, "runSeconds")
|
return extractOptionalIntParameter(req, "runSeconds")
|
||||||
.or(Minutes.ONE.toStandardSeconds().getSeconds());
|
.orElse(Minutes.ONE.toStandardSeconds().getSeconds());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
@Parameter("successfulDomainCreates")
|
@Parameter("successfulDomainCreates")
|
||||||
static int provideSuccessfulDomainCreates(HttpServletRequest req) {
|
static int provideSuccessfulDomainCreates(HttpServletRequest req) {
|
||||||
return extractOptionalIntParameter(req, "successfulDomainCreates").or(0);
|
return extractOptionalIntParameter(req, "successfulDomainCreates").orElse(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
@Parameter("failedDomainCreates")
|
@Parameter("failedDomainCreates")
|
||||||
static int provideFailedDomainCreates(HttpServletRequest req) {
|
static int provideFailedDomainCreates(HttpServletRequest req) {
|
||||||
return extractOptionalIntParameter(req, "failedDomainCreates").or(0);
|
return extractOptionalIntParameter(req, "failedDomainCreates").orElse(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
@Parameter("domainInfos")
|
@Parameter("domainInfos")
|
||||||
static int provideDomainInfos(HttpServletRequest req) {
|
static int provideDomainInfos(HttpServletRequest req) {
|
||||||
return extractOptionalIntParameter(req, "domainInfos").or(0);
|
return extractOptionalIntParameter(req, "domainInfos").orElse(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
@Parameter("domainChecks")
|
@Parameter("domainChecks")
|
||||||
static int provideDomainChecks(HttpServletRequest req) {
|
static int provideDomainChecks(HttpServletRequest req) {
|
||||||
return extractOptionalIntParameter(req, "domainChecks").or(0);
|
return extractOptionalIntParameter(req, "domainChecks").orElse(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
@Parameter("successfulContactCreates")
|
@Parameter("successfulContactCreates")
|
||||||
static int provideSuccessfulContactCreates(HttpServletRequest req) {
|
static int provideSuccessfulContactCreates(HttpServletRequest req) {
|
||||||
return extractOptionalIntParameter(req, "successfulContactCreates").or(0);
|
return extractOptionalIntParameter(req, "successfulContactCreates").orElse(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
@Parameter("failedContactCreates")
|
@Parameter("failedContactCreates")
|
||||||
static int provideFailedContactCreates(HttpServletRequest req) {
|
static int provideFailedContactCreates(HttpServletRequest req) {
|
||||||
return extractOptionalIntParameter(req, "failedContactCreates").or(0);
|
return extractOptionalIntParameter(req, "failedContactCreates").orElse(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
@Parameter("contactInfos")
|
@Parameter("contactInfos")
|
||||||
static int provideContactInfos(HttpServletRequest req) {
|
static int provideContactInfos(HttpServletRequest req) {
|
||||||
return extractOptionalIntParameter(req, "contactInfos").or(0);
|
return extractOptionalIntParameter(req, "contactInfos").orElse(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
@Parameter("successfulHostCreates")
|
@Parameter("successfulHostCreates")
|
||||||
static int provideSuccessfulHostCreates(HttpServletRequest req) {
|
static int provideSuccessfulHostCreates(HttpServletRequest req) {
|
||||||
return extractOptionalIntParameter(req, "successfulHostCreates").or(0);
|
return extractOptionalIntParameter(req, "successfulHostCreates").orElse(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
@Parameter("failedHostCreates")
|
@Parameter("failedHostCreates")
|
||||||
static int provideFailedHostCreates(HttpServletRequest req) {
|
static int provideFailedHostCreates(HttpServletRequest req) {
|
||||||
return extractOptionalIntParameter(req, "failedHostCreates").or(0);
|
return extractOptionalIntParameter(req, "failedHostCreates").orElse(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
@Parameter("hostInfos")
|
@Parameter("hostInfos")
|
||||||
static int provideHostInfos(HttpServletRequest req) {
|
static int provideHostInfos(HttpServletRequest req) {
|
||||||
return extractOptionalIntParameter(req, "hostInfos").or(0);
|
return extractOptionalIntParameter(req, "hostInfos").orElse(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,10 +20,10 @@ import static google.registry.mapreduce.MapreduceRunner.PARAM_REDUCE_SHARDS;
|
||||||
import static google.registry.request.RequestParameters.extractBooleanParameter;
|
import static google.registry.request.RequestParameters.extractBooleanParameter;
|
||||||
import static google.registry.request.RequestParameters.extractOptionalIntParameter;
|
import static google.registry.request.RequestParameters.extractOptionalIntParameter;
|
||||||
|
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import dagger.Module;
|
import dagger.Module;
|
||||||
import dagger.Provides;
|
import dagger.Provides;
|
||||||
import google.registry.request.Parameter;
|
import google.registry.request.Parameter;
|
||||||
|
import java.util.Optional;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
|
||||||
/** Dagger module for the mapreduce package. */
|
/** Dagger module for the mapreduce package. */
|
||||||
|
|
|
@ -33,12 +33,12 @@ import com.google.appengine.tools.mapreduce.outputs.NoOutput;
|
||||||
import com.google.appengine.tools.pipeline.Job0;
|
import com.google.appengine.tools.pipeline.Job0;
|
||||||
import com.google.appengine.tools.pipeline.JobSetting;
|
import com.google.appengine.tools.pipeline.JobSetting;
|
||||||
import com.google.common.annotations.VisibleForTesting;
|
import com.google.common.annotations.VisibleForTesting;
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import google.registry.mapreduce.inputs.ConcatenatingInput;
|
import google.registry.mapreduce.inputs.ConcatenatingInput;
|
||||||
import google.registry.request.Parameter;
|
import google.registry.request.Parameter;
|
||||||
import google.registry.util.FormattingLogger;
|
import google.registry.util.FormattingLogger;
|
||||||
import google.registry.util.PipelineUtils;
|
import google.registry.util.PipelineUtils;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
import java.util.Optional;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import org.joda.time.Duration;
|
import org.joda.time.Duration;
|
||||||
|
|
||||||
|
@ -143,7 +143,7 @@ public class MapreduceRunner {
|
||||||
return new MapJob<>(
|
return new MapJob<>(
|
||||||
new MapSpecification.Builder<I, O, R>()
|
new MapSpecification.Builder<I, O, R>()
|
||||||
.setJobName(jobName)
|
.setJobName(jobName)
|
||||||
.setInput(new ConcatenatingInput<>(inputs, httpParamMapShards.or(defaultMapShards)))
|
.setInput(new ConcatenatingInput<>(inputs, httpParamMapShards.orElse(defaultMapShards)))
|
||||||
.setMapper(mapper)
|
.setMapper(mapper)
|
||||||
.setOutput(output)
|
.setOutput(output)
|
||||||
.build(),
|
.build(),
|
||||||
|
@ -199,13 +199,13 @@ public class MapreduceRunner {
|
||||||
return new MapReduceJob<>(
|
return new MapReduceJob<>(
|
||||||
new MapReduceSpecification.Builder<I, K, V, O, R>()
|
new MapReduceSpecification.Builder<I, K, V, O, R>()
|
||||||
.setJobName(jobName)
|
.setJobName(jobName)
|
||||||
.setInput(new ConcatenatingInput<>(inputs, httpParamMapShards.or(defaultMapShards)))
|
.setInput(new ConcatenatingInput<>(inputs, httpParamMapShards.orElse(defaultMapShards)))
|
||||||
.setMapper(mapper)
|
.setMapper(mapper)
|
||||||
.setReducer(reducer)
|
.setReducer(reducer)
|
||||||
.setOutput(output)
|
.setOutput(output)
|
||||||
.setKeyMarshaller(Marshallers.<K>getSerializationMarshaller())
|
.setKeyMarshaller(Marshallers.<K>getSerializationMarshaller())
|
||||||
.setValueMarshaller(Marshallers.<V>getSerializationMarshaller())
|
.setValueMarshaller(Marshallers.<V>getSerializationMarshaller())
|
||||||
.setNumReducers(httpParamReduceShards.or(defaultReduceShards))
|
.setNumReducers(httpParamReduceShards.orElse(defaultReduceShards))
|
||||||
.build(),
|
.build(),
|
||||||
new MapReduceSettings.Builder()
|
new MapReduceSettings.Builder()
|
||||||
.setWorkerQueueName(QUEUE_NAME)
|
.setWorkerQueueName(QUEUE_NAME)
|
||||||
|
|
|
@ -14,6 +14,7 @@ java_library(
|
||||||
"@com_google_appengine_api_1_0_sdk",
|
"@com_google_appengine_api_1_0_sdk",
|
||||||
"@com_google_appengine_tools_appengine_mapreduce",
|
"@com_google_appengine_tools_appengine_mapreduce",
|
||||||
"@com_google_appengine_tools_appengine_pipeline",
|
"@com_google_appengine_tools_appengine_pipeline",
|
||||||
|
"@com_google_code_findbugs_jsr305",
|
||||||
"@com_google_dagger",
|
"@com_google_dagger",
|
||||||
"@com_google_guava",
|
"@com_google_guava",
|
||||||
"@javax_servlet_api",
|
"@javax_servlet_api",
|
||||||
|
|
|
@ -16,27 +16,33 @@ package google.registry.mapreduce.inputs;
|
||||||
|
|
||||||
import com.google.appengine.tools.mapreduce.Input;
|
import com.google.appengine.tools.mapreduce.Input;
|
||||||
import com.google.appengine.tools.mapreduce.InputReader;
|
import com.google.appengine.tools.mapreduce.InputReader;
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
import com.googlecode.objectify.Key;
|
import com.googlecode.objectify.Key;
|
||||||
import google.registry.model.ofy.CommitLogBucket;
|
import google.registry.model.ofy.CommitLogBucket;
|
||||||
import google.registry.model.ofy.CommitLogManifest;
|
import google.registry.model.ofy.CommitLogManifest;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import javax.annotation.Nullable;
|
||||||
import org.joda.time.DateTime;
|
import org.joda.time.DateTime;
|
||||||
|
|
||||||
/** Base class for {@link Input} classes that map over {@link CommitLogManifest}. */
|
/** Base class for {@link Input} classes that map over {@link CommitLogManifest}. */
|
||||||
public class CommitLogManifestInput extends Input<Key<CommitLogManifest>> {
|
public class CommitLogManifestInput extends Input<Key<CommitLogManifest>> {
|
||||||
|
|
||||||
private static final long serialVersionUID = 2043552272352286428L;
|
private static final long serialVersionUID = 6744322799131602384L;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cutoff date for result.
|
* Cutoff date for result.
|
||||||
*
|
*
|
||||||
* If present, all resulting CommitLogManifest will be dated prior to this date.
|
* <p>If present, all resulting CommitLogManifest will be dated prior to this date. This can't be
|
||||||
|
* of type {@code Optional<DateTime>} because Optional purposely isn't Serializable.
|
||||||
*/
|
*/
|
||||||
private final Optional<DateTime> olderThan;
|
@Nullable
|
||||||
|
private final DateTime olderThan;
|
||||||
|
|
||||||
public CommitLogManifestInput(Optional<DateTime> olderThan) {
|
public CommitLogManifestInput() {
|
||||||
|
this.olderThan = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public CommitLogManifestInput(@Nullable DateTime olderThan) {
|
||||||
this.olderThan = olderThan;
|
this.olderThan = olderThan;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -21,7 +21,6 @@ import com.google.appengine.api.datastore.Cursor;
|
||||||
import com.google.appengine.api.datastore.DatastoreTimeoutException;
|
import com.google.appengine.api.datastore.DatastoreTimeoutException;
|
||||||
import com.google.appengine.api.datastore.QueryResultIterator;
|
import com.google.appengine.api.datastore.QueryResultIterator;
|
||||||
import com.google.appengine.tools.mapreduce.InputReader;
|
import com.google.appengine.tools.mapreduce.InputReader;
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.googlecode.objectify.Key;
|
import com.googlecode.objectify.Key;
|
||||||
import com.googlecode.objectify.cmd.Query;
|
import com.googlecode.objectify.cmd.Query;
|
||||||
import google.registry.model.ofy.CommitLogBucket;
|
import google.registry.model.ofy.CommitLogBucket;
|
||||||
|
@ -30,13 +29,12 @@ import google.registry.util.FormattingLogger;
|
||||||
import google.registry.util.Retrier;
|
import google.registry.util.Retrier;
|
||||||
import google.registry.util.SystemSleeper;
|
import google.registry.util.SystemSleeper;
|
||||||
import java.util.NoSuchElementException;
|
import java.util.NoSuchElementException;
|
||||||
|
import javax.annotation.Nullable;
|
||||||
import org.joda.time.DateTime;
|
import org.joda.time.DateTime;
|
||||||
|
|
||||||
/** {@link InputReader} that maps over {@link CommitLogManifest}. */
|
/** {@link InputReader} that maps over {@link CommitLogManifest}. */
|
||||||
class CommitLogManifestReader extends InputReader<Key<CommitLogManifest>> {
|
class CommitLogManifestReader extends InputReader<Key<CommitLogManifest>> {
|
||||||
|
|
||||||
private static final long serialVersionUID = 5117046535590539778L;
|
|
||||||
|
|
||||||
static final FormattingLogger logger = FormattingLogger.getLoggerForCallerClass();
|
static final FormattingLogger logger = FormattingLogger.getLoggerForCallerClass();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -48,6 +46,7 @@ class CommitLogManifestReader extends InputReader<Key<CommitLogManifest>> {
|
||||||
private static final long MEMORY_ESTIMATE = 100 * 1024;
|
private static final long MEMORY_ESTIMATE = 100 * 1024;
|
||||||
|
|
||||||
private static final Retrier retrier = new Retrier(new SystemSleeper(), 3);
|
private static final Retrier retrier = new Retrier(new SystemSleeper(), 3);
|
||||||
|
private static final long serialVersionUID = 2553537421598284748L;
|
||||||
|
|
||||||
private final Key<CommitLogBucket> bucketKey;
|
private final Key<CommitLogBucket> bucketKey;
|
||||||
|
|
||||||
|
@ -56,7 +55,8 @@ class CommitLogManifestReader extends InputReader<Key<CommitLogManifest>> {
|
||||||
*
|
*
|
||||||
* If present, all resulting CommitLogManifest will be dated prior to this date.
|
* If present, all resulting CommitLogManifest will be dated prior to this date.
|
||||||
*/
|
*/
|
||||||
private final Optional<DateTime> olderThan;
|
@Nullable
|
||||||
|
private final DateTime olderThan;
|
||||||
|
|
||||||
private Cursor cursor;
|
private Cursor cursor;
|
||||||
private int total;
|
private int total;
|
||||||
|
@ -64,7 +64,7 @@ class CommitLogManifestReader extends InputReader<Key<CommitLogManifest>> {
|
||||||
|
|
||||||
private transient QueryResultIterator<Key<CommitLogManifest>> queryIterator;
|
private transient QueryResultIterator<Key<CommitLogManifest>> queryIterator;
|
||||||
|
|
||||||
CommitLogManifestReader(Key<CommitLogBucket> bucketKey, Optional<DateTime> olderThan) {
|
CommitLogManifestReader(Key<CommitLogBucket> bucketKey, @Nullable DateTime olderThan) {
|
||||||
this.bucketKey = bucketKey;
|
this.bucketKey = bucketKey;
|
||||||
this.olderThan = olderThan;
|
this.olderThan = olderThan;
|
||||||
}
|
}
|
||||||
|
@ -112,10 +112,10 @@ class CommitLogManifestReader extends InputReader<Key<CommitLogManifest>> {
|
||||||
/** Query for children of this bucket. */
|
/** Query for children of this bucket. */
|
||||||
Query<CommitLogManifest> query() {
|
Query<CommitLogManifest> query() {
|
||||||
Query<CommitLogManifest> query = ofy().load().type(CommitLogManifest.class).ancestor(bucketKey);
|
Query<CommitLogManifest> query = ofy().load().type(CommitLogManifest.class).ancestor(bucketKey);
|
||||||
if (olderThan.isPresent()) {
|
if (olderThan != null) {
|
||||||
query = query.filterKey(
|
query = query.filterKey(
|
||||||
"<",
|
"<",
|
||||||
Key.create(bucketKey, CommitLogManifest.class, olderThan.get().getMillis()));
|
Key.create(bucketKey, CommitLogManifest.class, olderThan.getMillis()));
|
||||||
}
|
}
|
||||||
return query;
|
return query;
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,10 +18,10 @@ import static com.google.common.base.Preconditions.checkNotNull;
|
||||||
import static com.google.common.base.Preconditions.checkState;
|
import static com.google.common.base.Preconditions.checkState;
|
||||||
import static google.registry.model.ofy.ObjectifyService.ofy;
|
import static google.registry.model.ofy.ObjectifyService.ofy;
|
||||||
|
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import google.registry.model.ofy.ObjectifyService;
|
import google.registry.model.ofy.ObjectifyService;
|
||||||
import google.registry.util.TypeUtils.TypeInstantiator;
|
import google.registry.util.TypeUtils.TypeInstantiator;
|
||||||
import java.lang.reflect.Field;
|
import java.lang.reflect.Field;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
/** Interface for {@link ImmutableObject} subclasses that have a builder. */
|
/** Interface for {@link ImmutableObject} subclasses that have a builder. */
|
||||||
public interface Buildable {
|
public interface Buildable {
|
||||||
|
@ -64,8 +64,8 @@ public interface Buildable {
|
||||||
}
|
}
|
||||||
if (idField != null
|
if (idField != null
|
||||||
&& !idField.getType().equals(String.class)
|
&& !idField.getType().equals(String.class)
|
||||||
&& Optional.fromNullable((Long) ModelUtils.getFieldValue(instance, idField))
|
&& Optional.ofNullable((Long) ModelUtils.getFieldValue(instance, idField))
|
||||||
.or(0L) == 0) {
|
.orElse(0L) == 0) {
|
||||||
ModelUtils.setFieldValue(instance, idField, ObjectifyService.allocateId());
|
ModelUtils.setFieldValue(instance, idField, ObjectifyService.allocateId());
|
||||||
}
|
}
|
||||||
return instance;
|
return instance;
|
||||||
|
|
|
@ -23,7 +23,6 @@ import static google.registry.util.CollectionUtils.nullToEmptyImmutableCopy;
|
||||||
import static google.registry.util.DateTimeUtils.END_OF_TIME;
|
import static google.registry.util.DateTimeUtils.END_OF_TIME;
|
||||||
|
|
||||||
import com.google.common.annotations.VisibleForTesting;
|
import com.google.common.annotations.VisibleForTesting;
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.collect.ImmutableSet;
|
import com.google.common.collect.ImmutableSet;
|
||||||
import com.google.common.collect.ImmutableSortedMap;
|
import com.google.common.collect.ImmutableSortedMap;
|
||||||
import com.googlecode.objectify.Key;
|
import com.googlecode.objectify.Key;
|
||||||
|
@ -32,6 +31,7 @@ import com.googlecode.objectify.annotation.Index;
|
||||||
import google.registry.model.eppcommon.StatusValue;
|
import google.registry.model.eppcommon.StatusValue;
|
||||||
import google.registry.model.ofy.CommitLogManifest;
|
import google.registry.model.ofy.CommitLogManifest;
|
||||||
import google.registry.model.transfer.TransferData;
|
import google.registry.model.transfer.TransferData;
|
||||||
|
import java.util.Optional;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import org.joda.time.DateTime;
|
import org.joda.time.DateTime;
|
||||||
|
|
||||||
|
@ -296,7 +296,7 @@ public abstract class EppResource extends BackupGroupRoot implements Buildable {
|
||||||
addStatusValue(StatusValue.OK);
|
addStatusValue(StatusValue.OK);
|
||||||
}
|
}
|
||||||
// If there is no deletion time, set it to END_OF_TIME.
|
// If there is no deletion time, set it to END_OF_TIME.
|
||||||
setDeletionTime(Optional.fromNullable(getInstance().deletionTime).or(END_OF_TIME));
|
setDeletionTime(Optional.ofNullable(getInstance().deletionTime).orElse(END_OF_TIME));
|
||||||
return ImmutableObject.cloneEmptyToNull(super.build());
|
return ImmutableObject.cloneEmptyToNull(super.build());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,8 +16,8 @@ package google.registry.model;
|
||||||
|
|
||||||
import static google.registry.util.DateTimeUtils.START_OF_TIME;
|
import static google.registry.util.DateTimeUtils.START_OF_TIME;
|
||||||
|
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import google.registry.model.translators.UpdateAutoTimestampTranslatorFactory;
|
import google.registry.model.translators.UpdateAutoTimestampTranslatorFactory;
|
||||||
|
import java.util.Optional;
|
||||||
import org.joda.time.DateTime;
|
import org.joda.time.DateTime;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -31,7 +31,7 @@ public class UpdateAutoTimestamp extends ImmutableObject {
|
||||||
|
|
||||||
/** Returns the timestamp, or {@link #START_OF_TIME} if it's null. */
|
/** Returns the timestamp, or {@link #START_OF_TIME} if it's null. */
|
||||||
public DateTime getTimestamp() {
|
public DateTime getTimestamp() {
|
||||||
return Optional.fromNullable(timestamp).or(START_OF_TIME);
|
return Optional.ofNullable(timestamp).orElse(START_OF_TIME);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static UpdateAutoTimestamp create(DateTime timestamp) {
|
public static UpdateAutoTimestamp create(DateTime timestamp) {
|
||||||
|
|
|
@ -24,7 +24,6 @@ import static google.registry.util.CollectionUtils.nullToEmptyImmutableCopy;
|
||||||
import static google.registry.util.DateTimeUtils.END_OF_TIME;
|
import static google.registry.util.DateTimeUtils.END_OF_TIME;
|
||||||
import static google.registry.util.PreconditionsUtils.checkArgumentNotNull;
|
import static google.registry.util.PreconditionsUtils.checkArgumentNotNull;
|
||||||
|
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.collect.ImmutableMap;
|
import com.google.common.collect.ImmutableMap;
|
||||||
import com.google.common.collect.ImmutableSet;
|
import com.google.common.collect.ImmutableSet;
|
||||||
import com.google.common.collect.Sets;
|
import com.google.common.collect.Sets;
|
||||||
|
@ -44,6 +43,7 @@ import google.registry.model.domain.rgp.GracePeriodStatus;
|
||||||
import google.registry.model.reporting.HistoryEntry;
|
import google.registry.model.reporting.HistoryEntry;
|
||||||
import google.registry.model.transfer.TransferData.TransferServerApproveEntity;
|
import google.registry.model.transfer.TransferData.TransferServerApproveEntity;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
import java.util.Optional;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
import org.joda.money.Money;
|
import org.joda.money.Money;
|
||||||
|
@ -391,7 +391,7 @@ public abstract class BillingEvent extends ImmutableObject
|
||||||
checkNotNull(instance.reason);
|
checkNotNull(instance.reason);
|
||||||
instance.recurrenceTimeOfYear = TimeOfYear.fromDateTime(instance.eventTime);
|
instance.recurrenceTimeOfYear = TimeOfYear.fromDateTime(instance.eventTime);
|
||||||
instance.recurrenceEndTime =
|
instance.recurrenceEndTime =
|
||||||
Optional.fromNullable(instance.recurrenceEndTime).or(END_OF_TIME);
|
Optional.ofNullable(instance.recurrenceEndTime).orElse(END_OF_TIME);
|
||||||
return super.build();
|
return super.build();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,7 +21,6 @@ import static google.registry.model.ofy.ObjectifyService.ofy;
|
||||||
import static google.registry.model.registry.Registries.assertTldExists;
|
import static google.registry.model.registry.Registries.assertTldExists;
|
||||||
|
|
||||||
import com.google.common.base.Joiner;
|
import com.google.common.base.Joiner;
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.collect.ComparisonChain;
|
import com.google.common.collect.ComparisonChain;
|
||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
import com.google.common.collect.Ordering;
|
import com.google.common.collect.Ordering;
|
||||||
|
@ -35,6 +34,7 @@ import google.registry.model.ImmutableObject;
|
||||||
import google.registry.model.annotations.ReportedOn;
|
import google.registry.model.annotations.ReportedOn;
|
||||||
import google.registry.model.registrar.Registrar;
|
import google.registry.model.registrar.Registrar;
|
||||||
import google.registry.model.registry.Registry;
|
import google.registry.model.registry.Registry;
|
||||||
|
import java.util.Optional;
|
||||||
import org.joda.money.CurrencyUnit;
|
import org.joda.money.CurrencyUnit;
|
||||||
import org.joda.time.DateTime;
|
import org.joda.time.DateTime;
|
||||||
|
|
||||||
|
@ -194,7 +194,7 @@ public final class RegistrarCredit extends ImmutableObject implements Buildable
|
||||||
Registry.get(instance.tld).getCurrency().equals(instance.currency),
|
Registry.get(instance.tld).getCurrency().equals(instance.currency),
|
||||||
"Credits must be in the currency of the assigned TLD");
|
"Credits must be in the currency of the assigned TLD");
|
||||||
instance.description =
|
instance.description =
|
||||||
Optional.fromNullable(instance.description).or(instance.getDefaultDescription());
|
Optional.ofNullable(instance.description).orElse(instance.getDefaultDescription());
|
||||||
return super.build();
|
return super.build();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,7 +20,6 @@ import static com.google.common.base.Preconditions.checkState;
|
||||||
import static google.registry.model.ofy.ObjectifyService.ofy;
|
import static google.registry.model.ofy.ObjectifyService.ofy;
|
||||||
|
|
||||||
import com.google.common.annotations.VisibleForTesting;
|
import com.google.common.annotations.VisibleForTesting;
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.collect.ForwardingNavigableMap;
|
import com.google.common.collect.ForwardingNavigableMap;
|
||||||
import com.google.common.collect.ImmutableSortedMap;
|
import com.google.common.collect.ImmutableSortedMap;
|
||||||
import com.google.common.collect.Maps;
|
import com.google.common.collect.Maps;
|
||||||
|
@ -34,6 +33,7 @@ import google.registry.model.ImmutableObject;
|
||||||
import google.registry.model.annotations.ReportedOn;
|
import google.registry.model.annotations.ReportedOn;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Optional;
|
||||||
import org.joda.money.CurrencyUnit;
|
import org.joda.money.CurrencyUnit;
|
||||||
import org.joda.money.Money;
|
import org.joda.money.Money;
|
||||||
import org.joda.time.DateTime;
|
import org.joda.time.DateTime;
|
||||||
|
@ -171,8 +171,8 @@ public final class RegistrarCreditBalance extends ImmutableObject implements Bui
|
||||||
ofy().load().type(RegistrarCreditBalance.class).ancestor(registrarCredit)) {
|
ofy().load().type(RegistrarCreditBalance.class).ancestor(registrarCredit)) {
|
||||||
// Create the submap at this key if it doesn't exist already.
|
// Create the submap at this key if it doesn't exist already.
|
||||||
Map<DateTime, Money> submap =
|
Map<DateTime, Money> submap =
|
||||||
Optional.fromNullable(map.get(balance.effectiveTime))
|
Optional.ofNullable(map.get(balance.effectiveTime))
|
||||||
.or(new HashMap<DateTime, Money>());
|
.orElse(new HashMap<DateTime, Money>());
|
||||||
submap.put(balance.writtenTime, balance.amount);
|
submap.put(balance.writtenTime, balance.amount);
|
||||||
map.put(balance.effectiveTime, submap);
|
map.put(balance.effectiveTime, submap);
|
||||||
}
|
}
|
||||||
|
@ -212,8 +212,8 @@ public final class RegistrarCreditBalance extends ImmutableObject implements Bui
|
||||||
private Optional<Money> getMostRecentlyWrittenBalance(
|
private Optional<Money> getMostRecentlyWrittenBalance(
|
||||||
Map.Entry<DateTime, ImmutableSortedMap<DateTime, Money>> balancesAtEffectiveTime) {
|
Map.Entry<DateTime, ImmutableSortedMap<DateTime, Money>> balancesAtEffectiveTime) {
|
||||||
return balancesAtEffectiveTime == null
|
return balancesAtEffectiveTime == null
|
||||||
? Optional.<Money>absent()
|
? Optional.<Money>empty()
|
||||||
// Don't use Optional.fromNullable() here since it's an error if there's a empty submap.
|
// Don't use Optional.ofNullable() here since it's an error if there's a empty submap.
|
||||||
: Optional.of(balancesAtEffectiveTime.getValue().lastEntry().getValue());
|
: Optional.of(balancesAtEffectiveTime.getValue().lastEntry().getValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,6 @@ import static com.google.common.base.Preconditions.checkArgument;
|
||||||
import static com.google.common.collect.ImmutableList.toImmutableList;
|
import static com.google.common.collect.ImmutableList.toImmutableList;
|
||||||
import static google.registry.model.EppResourceUtils.projectResourceOntoBuilderAtTime;
|
import static google.registry.model.EppResourceUtils.projectResourceOntoBuilderAtTime;
|
||||||
|
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.base.Predicates;
|
import com.google.common.base.Predicates;
|
||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
import com.googlecode.objectify.annotation.Entity;
|
import com.googlecode.objectify.annotation.Entity;
|
||||||
|
@ -32,6 +31,7 @@ import google.registry.model.annotations.ExternalMessagingName;
|
||||||
import google.registry.model.annotations.ReportedOn;
|
import google.registry.model.annotations.ReportedOn;
|
||||||
import google.registry.model.contact.PostalInfo.Type;
|
import google.registry.model.contact.PostalInfo.Type;
|
||||||
import google.registry.model.transfer.TransferData;
|
import google.registry.model.transfer.TransferData;
|
||||||
|
import java.util.Optional;
|
||||||
import java.util.stream.Stream;
|
import java.util.stream.Stream;
|
||||||
import javax.xml.bind.annotation.XmlElement;
|
import javax.xml.bind.annotation.XmlElement;
|
||||||
import org.joda.time.DateTime;
|
import org.joda.time.DateTime;
|
||||||
|
@ -147,7 +147,7 @@ public class ContactResource extends EppResource implements
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public final TransferData getTransferData() {
|
public final TransferData getTransferData() {
|
||||||
return Optional.fromNullable(transferData).or(TransferData.EMPTY);
|
return Optional.ofNullable(transferData).orElse(TransferData.EMPTY);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -16,11 +16,11 @@ package google.registry.model.contact;
|
||||||
|
|
||||||
import static com.google.common.base.Preconditions.checkState;
|
import static com.google.common.base.Preconditions.checkState;
|
||||||
|
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.googlecode.objectify.annotation.Embed;
|
import com.googlecode.objectify.annotation.Embed;
|
||||||
import google.registry.model.Buildable;
|
import google.registry.model.Buildable;
|
||||||
import google.registry.model.Buildable.Overlayable;
|
import google.registry.model.Buildable.Overlayable;
|
||||||
import google.registry.model.ImmutableObject;
|
import google.registry.model.ImmutableObject;
|
||||||
|
import java.util.Optional;
|
||||||
import javax.xml.bind.annotation.XmlAttribute;
|
import javax.xml.bind.annotation.XmlAttribute;
|
||||||
import javax.xml.bind.annotation.XmlElement;
|
import javax.xml.bind.annotation.XmlElement;
|
||||||
import javax.xml.bind.annotation.XmlEnumValue;
|
import javax.xml.bind.annotation.XmlEnumValue;
|
||||||
|
@ -77,10 +77,9 @@ public class PostalInfo extends ImmutableObject implements Overlayable<PostalInf
|
||||||
// Don't overlay the type field, as that should never change.
|
// Don't overlay the type field, as that should never change.
|
||||||
checkState(source.type == null || source.type == type);
|
checkState(source.type == null || source.type == type);
|
||||||
return asBuilder()
|
return asBuilder()
|
||||||
.setName(Optional.fromNullable(source.getName()).or(Optional.fromNullable(name)).orNull())
|
.setName(Optional.ofNullable(source.getName()).orElse(name))
|
||||||
.setOrg(Optional.fromNullable(source.getOrg()).or(Optional.fromNullable(org)).orNull())
|
.setOrg(Optional.ofNullable(source.getOrg()).orElse(org))
|
||||||
.setAddress(
|
.setAddress(Optional.ofNullable(source.getAddress()).orElse(address))
|
||||||
Optional.fromNullable(source.getAddress()).or(Optional.fromNullable(address)).orNull())
|
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -24,7 +24,6 @@ import static google.registry.util.DateTimeUtils.earliestOf;
|
||||||
import static google.registry.util.DateTimeUtils.isBeforeOrAt;
|
import static google.registry.util.DateTimeUtils.isBeforeOrAt;
|
||||||
import static google.registry.util.DateTimeUtils.leapSafeAddYears;
|
import static google.registry.util.DateTimeUtils.leapSafeAddYears;
|
||||||
|
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.collect.ImmutableSet;
|
import com.google.common.collect.ImmutableSet;
|
||||||
import com.googlecode.objectify.Key;
|
import com.googlecode.objectify.Key;
|
||||||
import com.googlecode.objectify.annotation.EntitySubclass;
|
import com.googlecode.objectify.annotation.EntitySubclass;
|
||||||
|
@ -41,6 +40,7 @@ import google.registry.model.registry.Registry;
|
||||||
import google.registry.model.transfer.TransferData;
|
import google.registry.model.transfer.TransferData;
|
||||||
import google.registry.model.transfer.TransferStatus;
|
import google.registry.model.transfer.TransferStatus;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
|
import java.util.Optional;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
import org.joda.time.DateTime;
|
import org.joda.time.DateTime;
|
||||||
|
@ -174,7 +174,7 @@ public class DomainResource extends DomainBase
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public final TransferData getTransferData() {
|
public final TransferData getTransferData() {
|
||||||
return Optional.fromNullable(transferData).or(TransferData.EMPTY);
|
return Optional.ofNullable(transferData).orElse(TransferData.EMPTY);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -328,7 +328,7 @@ public class DomainResource extends DomainBase
|
||||||
return earliestOf(
|
return earliestOf(
|
||||||
leapSafeAddYears(
|
leapSafeAddYears(
|
||||||
currentExpirationTime,
|
currentExpirationTime,
|
||||||
Optional.fromNullable(extendedRegistrationYears).or(0)),
|
Optional.ofNullable(extendedRegistrationYears).orElse(0)),
|
||||||
leapSafeAddYears(now, MAX_REGISTRATION_YEARS));
|
leapSafeAddYears(now, MAX_REGISTRATION_YEARS));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -14,9 +14,9 @@
|
||||||
|
|
||||||
package google.registry.model.domain.fee;
|
package google.registry.model.domain.fee;
|
||||||
|
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import google.registry.model.ImmutableObject;
|
import google.registry.model.ImmutableObject;
|
||||||
import google.registry.model.domain.Period;
|
import google.registry.model.domain.Period;
|
||||||
|
import java.util.Optional;
|
||||||
import javax.xml.bind.annotation.XmlTransient;
|
import javax.xml.bind.annotation.XmlTransient;
|
||||||
import org.joda.money.CurrencyUnit;
|
import org.joda.money.CurrencyUnit;
|
||||||
import org.joda.time.DateTime;
|
import org.joda.time.DateTime;
|
||||||
|
@ -69,6 +69,6 @@ public abstract class FeeQueryCommandExtensionItem extends ImmutableObject {
|
||||||
public abstract String getSubphase();
|
public abstract String getSubphase();
|
||||||
|
|
||||||
public Period getPeriod() {
|
public Period getPeriod() {
|
||||||
return Optional.fromNullable(period).or(DEFAULT_PERIOD);
|
return Optional.ofNullable(period).orElse(DEFAULT_PERIOD);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,9 +14,9 @@
|
||||||
|
|
||||||
package google.registry.model.domain.fee06;
|
package google.registry.model.domain.fee06;
|
||||||
|
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import google.registry.model.domain.fee.FeeCheckCommandExtensionItem;
|
import google.registry.model.domain.fee.FeeCheckCommandExtensionItem;
|
||||||
import google.registry.model.domain.fee.FeeExtensionCommandDescriptor;
|
import google.registry.model.domain.fee.FeeExtensionCommandDescriptor;
|
||||||
|
import java.util.Optional;
|
||||||
import javax.xml.bind.annotation.XmlType;
|
import javax.xml.bind.annotation.XmlType;
|
||||||
import org.joda.money.CurrencyUnit;
|
import org.joda.money.CurrencyUnit;
|
||||||
import org.joda.time.DateTime;
|
import org.joda.time.DateTime;
|
||||||
|
@ -79,6 +79,6 @@ public class FeeCheckCommandExtensionItemV06 extends FeeCheckCommandExtensionIte
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Optional<DateTime> getEffectiveDate() {
|
public Optional<DateTime> getEffectiveDate() {
|
||||||
return Optional.absent();
|
return Optional.empty();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,10 +14,10 @@
|
||||||
|
|
||||||
package google.registry.model.domain.fee06;
|
package google.registry.model.domain.fee06;
|
||||||
|
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import google.registry.model.domain.fee.FeeExtensionCommandDescriptor;
|
import google.registry.model.domain.fee.FeeExtensionCommandDescriptor;
|
||||||
import google.registry.model.domain.fee.FeeQueryCommandExtensionItem;
|
import google.registry.model.domain.fee.FeeQueryCommandExtensionItem;
|
||||||
import google.registry.model.eppinput.EppInput.CommandExtension;
|
import google.registry.model.eppinput.EppInput.CommandExtension;
|
||||||
|
import java.util.Optional;
|
||||||
import javax.xml.bind.annotation.XmlRootElement;
|
import javax.xml.bind.annotation.XmlRootElement;
|
||||||
import javax.xml.bind.annotation.XmlType;
|
import javax.xml.bind.annotation.XmlType;
|
||||||
import org.joda.money.CurrencyUnit;
|
import org.joda.money.CurrencyUnit;
|
||||||
|
@ -66,7 +66,7 @@ public class FeeInfoCommandExtensionV06
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Optional<DateTime> getEffectiveDate() {
|
public Optional<DateTime> getEffectiveDate() {
|
||||||
return Optional.absent();
|
return Optional.empty();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -16,7 +16,6 @@ package google.registry.model.domain.fee11;
|
||||||
|
|
||||||
import static com.google.common.base.Preconditions.checkState;
|
import static com.google.common.base.Preconditions.checkState;
|
||||||
|
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
import com.google.common.collect.ImmutableSet;
|
import com.google.common.collect.ImmutableSet;
|
||||||
import google.registry.model.ImmutableObject;
|
import google.registry.model.ImmutableObject;
|
||||||
|
@ -26,6 +25,7 @@ import google.registry.model.domain.fee.FeeCheckCommandExtensionItem;
|
||||||
import google.registry.model.domain.fee.FeeCheckResponseExtensionItem;
|
import google.registry.model.domain.fee.FeeCheckResponseExtensionItem;
|
||||||
import google.registry.model.domain.fee.FeeExtensionCommandDescriptor;
|
import google.registry.model.domain.fee.FeeExtensionCommandDescriptor;
|
||||||
import google.registry.model.domain.fee11.FeeCheckCommandExtensionV11.FeeCheckCommandExtensionItemV11;
|
import google.registry.model.domain.fee11.FeeCheckCommandExtensionV11.FeeCheckCommandExtensionItemV11;
|
||||||
|
import java.util.Optional;
|
||||||
import javax.xml.bind.annotation.XmlElement;
|
import javax.xml.bind.annotation.XmlElement;
|
||||||
import javax.xml.bind.annotation.XmlRootElement;
|
import javax.xml.bind.annotation.XmlRootElement;
|
||||||
import javax.xml.bind.annotation.XmlType;
|
import javax.xml.bind.annotation.XmlType;
|
||||||
|
@ -115,7 +115,7 @@ public class FeeCheckCommandExtensionV11 extends ImmutableObject
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Period getPeriod() {
|
public Period getPeriod() {
|
||||||
return Optional.fromNullable(period).or(DEFAULT_PERIOD);
|
return Optional.ofNullable(period).orElse(DEFAULT_PERIOD);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -140,7 +140,7 @@ public class FeeCheckCommandExtensionV11 extends ImmutableObject
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Optional<DateTime> getEffectiveDate() {
|
public Optional<DateTime> getEffectiveDate() {
|
||||||
return Optional.absent();
|
return Optional.empty();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,9 +16,9 @@ package google.registry.model.domain.fee12;
|
||||||
|
|
||||||
import com.google.common.base.Ascii;
|
import com.google.common.base.Ascii;
|
||||||
import com.google.common.base.CharMatcher;
|
import com.google.common.base.CharMatcher;
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import google.registry.model.domain.Period;
|
import google.registry.model.domain.Period;
|
||||||
import google.registry.model.domain.fee.FeeCheckCommandExtensionItem;
|
import google.registry.model.domain.fee.FeeCheckCommandExtensionItem;
|
||||||
|
import java.util.Optional;
|
||||||
import javax.xml.bind.annotation.XmlAttribute;
|
import javax.xml.bind.annotation.XmlAttribute;
|
||||||
import javax.xml.bind.annotation.XmlElement;
|
import javax.xml.bind.annotation.XmlElement;
|
||||||
import javax.xml.bind.annotation.XmlType;
|
import javax.xml.bind.annotation.XmlType;
|
||||||
|
@ -110,6 +110,6 @@ public class FeeCheckCommandExtensionItemV12 extends FeeCheckCommandExtensionIte
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Optional<DateTime> getEffectiveDate() {
|
public Optional<DateTime> getEffectiveDate() {
|
||||||
return Optional.fromNullable(feeDate);
|
return Optional.ofNullable(feeDate);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,12 +22,12 @@ import static java.util.concurrent.TimeUnit.MILLISECONDS;
|
||||||
|
|
||||||
import com.google.common.base.Ascii;
|
import com.google.common.base.Ascii;
|
||||||
import com.google.common.base.CharMatcher;
|
import com.google.common.base.CharMatcher;
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.primitives.Ints;
|
import com.google.common.primitives.Ints;
|
||||||
import com.googlecode.objectify.annotation.Embed;
|
import com.googlecode.objectify.annotation.Embed;
|
||||||
import com.googlecode.objectify.annotation.IgnoreSave;
|
import com.googlecode.objectify.annotation.IgnoreSave;
|
||||||
import com.googlecode.objectify.condition.IfNull;
|
import com.googlecode.objectify.condition.IfNull;
|
||||||
import google.registry.model.ImmutableObject;
|
import google.registry.model.ImmutableObject;
|
||||||
|
import java.util.Optional;
|
||||||
import javax.xml.bind.annotation.XmlAttribute;
|
import javax.xml.bind.annotation.XmlAttribute;
|
||||||
import javax.xml.bind.annotation.XmlElement;
|
import javax.xml.bind.annotation.XmlElement;
|
||||||
import javax.xml.bind.annotation.XmlType;
|
import javax.xml.bind.annotation.XmlType;
|
||||||
|
@ -64,7 +64,7 @@ public class LaunchNotice extends ImmutableObject {
|
||||||
|
|
||||||
public String getValidatorId() {
|
public String getValidatorId() {
|
||||||
// The default value is "tmch".
|
// The default value is "tmch".
|
||||||
return Optional.fromNullable(validatorId).or("tmch");
|
return Optional.ofNullable(validatorId).orElse("tmch");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -78,7 +78,7 @@ public class LaunchNotice extends ImmutableObject {
|
||||||
DateTime acceptedTime;
|
DateTime acceptedTime;
|
||||||
|
|
||||||
public NoticeIdType getNoticeId() {
|
public NoticeIdType getNoticeId() {
|
||||||
return Optional.fromNullable(noticeId).or(EMPTY_NOTICE_ID);
|
return Optional.ofNullable(noticeId).orElse(EMPTY_NOTICE_ID);
|
||||||
}
|
}
|
||||||
|
|
||||||
public DateTime getExpirationTime() {
|
public DateTime getExpirationTime() {
|
||||||
|
|
|
@ -18,7 +18,6 @@ import static google.registry.util.CollectionUtils.nullSafeImmutableCopy;
|
||||||
import static google.registry.util.CollectionUtils.nullToEmptyImmutableCopy;
|
import static google.registry.util.CollectionUtils.nullToEmptyImmutableCopy;
|
||||||
|
|
||||||
import com.google.common.base.Ascii;
|
import com.google.common.base.Ascii;
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
import com.google.common.collect.ImmutableSet;
|
import com.google.common.collect.ImmutableSet;
|
||||||
import google.registry.model.ImmutableObject;
|
import google.registry.model.ImmutableObject;
|
||||||
|
@ -56,6 +55,7 @@ import google.registry.model.eppinput.ResourceCommand.ResourceCheck;
|
||||||
import google.registry.model.eppinput.ResourceCommand.SingleResourceCommand;
|
import google.registry.model.eppinput.ResourceCommand.SingleResourceCommand;
|
||||||
import google.registry.model.host.HostCommand;
|
import google.registry.model.host.HostCommand;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
import javax.xml.bind.annotation.XmlAttribute;
|
import javax.xml.bind.annotation.XmlAttribute;
|
||||||
|
@ -107,12 +107,12 @@ public class EppInput extends ImmutableObject {
|
||||||
return Optional.of(xmlSchemaAnnotation.xmlns()[0].prefix());
|
return Optional.of(xmlSchemaAnnotation.xmlns()[0].prefix());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return Optional.absent();
|
return Optional.empty();
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Returns whether this EppInput represents a command that operates on domain resources. */
|
/** Returns whether this EppInput represents a command that operates on domain resources. */
|
||||||
public boolean isDomainResourceType() {
|
public boolean isDomainResourceType() {
|
||||||
return getResourceType().or("").equals("domain");
|
return getResourceType().orElse("").equals("domain");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
|
@ -131,7 +131,7 @@ public class EppInput extends ImmutableObject {
|
||||||
ResourceCommand resourceCommand = getResourceCommand();
|
ResourceCommand resourceCommand = getResourceCommand();
|
||||||
return resourceCommand instanceof SingleResourceCommand
|
return resourceCommand instanceof SingleResourceCommand
|
||||||
? Optional.of(((SingleResourceCommand) resourceCommand).getTargetId())
|
? Optional.of(((SingleResourceCommand) resourceCommand).getTargetId())
|
||||||
: Optional.<String>absent();
|
: Optional.<String>empty();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -17,7 +17,6 @@ package google.registry.model.eppoutput;
|
||||||
import static google.registry.util.CollectionUtils.forceEmptyToNull;
|
import static google.registry.util.CollectionUtils.forceEmptyToNull;
|
||||||
import static google.registry.util.CollectionUtils.nullToEmptyImmutableCopy;
|
import static google.registry.util.CollectionUtils.nullToEmptyImmutableCopy;
|
||||||
|
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
import google.registry.model.Buildable;
|
import google.registry.model.Buildable;
|
||||||
import google.registry.model.ImmutableObject;
|
import google.registry.model.ImmutableObject;
|
||||||
|
@ -157,9 +156,7 @@ public class EppResponse extends ImmutableObject implements ResponseOrGreeting {
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
public ResponseExtension getFirstExtensionOfType(Class<? extends ResponseExtension> clazz) {
|
public ResponseExtension getFirstExtensionOfType(Class<? extends ResponseExtension> clazz) {
|
||||||
return Optional.fromJavaUtil(
|
return extensions.stream().filter(clazz::isInstance).map(clazz::cast).findFirst().orElse(null);
|
||||||
extensions.stream().filter(clazz::isInstance).map(clazz::cast).findFirst())
|
|
||||||
.orNull();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
|
|
|
@ -21,7 +21,6 @@ import static google.registry.util.CollectionUtils.nullToEmptyImmutableCopy;
|
||||||
import static google.registry.util.DateTimeUtils.START_OF_TIME;
|
import static google.registry.util.DateTimeUtils.START_OF_TIME;
|
||||||
import static google.registry.util.DomainNameUtils.canonicalizeDomainName;
|
import static google.registry.util.DomainNameUtils.canonicalizeDomainName;
|
||||||
|
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.collect.ImmutableSet;
|
import com.google.common.collect.ImmutableSet;
|
||||||
import com.googlecode.objectify.Key;
|
import com.googlecode.objectify.Key;
|
||||||
import com.googlecode.objectify.annotation.Entity;
|
import com.googlecode.objectify.annotation.Entity;
|
||||||
|
@ -35,6 +34,7 @@ import google.registry.model.annotations.ReportedOn;
|
||||||
import google.registry.model.domain.DomainResource;
|
import google.registry.model.domain.DomainResource;
|
||||||
import google.registry.model.transfer.TransferData;
|
import google.registry.model.transfer.TransferData;
|
||||||
import java.net.InetAddress;
|
import java.net.InetAddress;
|
||||||
|
import java.util.Optional;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
import org.joda.time.DateTime;
|
import org.joda.time.DateTime;
|
||||||
|
@ -146,9 +146,9 @@ public class HostResource extends EppResource implements ForeignKeyedEppResource
|
||||||
superordinateDomain != null
|
superordinateDomain != null
|
||||||
&& Key.create(superordinateDomain).equals(getSuperordinateDomain()));
|
&& Key.create(superordinateDomain).equals(getSuperordinateDomain()));
|
||||||
DateTime lastSuperordinateChange =
|
DateTime lastSuperordinateChange =
|
||||||
Optional.fromNullable(getLastSuperordinateChange()).or(getCreationTime());
|
Optional.ofNullable(getLastSuperordinateChange()).orElse(getCreationTime());
|
||||||
DateTime lastTransferOfCurrentSuperordinate =
|
DateTime lastTransferOfCurrentSuperordinate =
|
||||||
Optional.fromNullable(superordinateDomain.getLastTransferTime()).or(START_OF_TIME);
|
Optional.ofNullable(superordinateDomain.getLastTransferTime()).orElse(START_OF_TIME);
|
||||||
return (lastSuperordinateChange.isBefore(lastTransferOfCurrentSuperordinate))
|
return (lastSuperordinateChange.isBefore(lastTransferOfCurrentSuperordinate))
|
||||||
? superordinateDomain.getLastTransferTime()
|
? superordinateDomain.getLastTransferTime()
|
||||||
: getLastTransferTime();
|
: getLastTransferTime();
|
||||||
|
|
|
@ -22,7 +22,6 @@ import static google.registry.util.PreconditionsUtils.checkArgumentNotNull;
|
||||||
|
|
||||||
import com.google.common.annotations.VisibleForTesting;
|
import com.google.common.annotations.VisibleForTesting;
|
||||||
import com.google.common.base.Converter;
|
import com.google.common.base.Converter;
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.collect.FluentIterable;
|
import com.google.common.collect.FluentIterable;
|
||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
import com.google.common.collect.Streams;
|
import com.google.common.collect.Streams;
|
||||||
|
@ -47,6 +46,7 @@ import google.registry.model.transfer.TransferData.TransferServerApproveEntity;
|
||||||
import google.registry.model.transfer.TransferResponse.ContactTransferResponse;
|
import google.registry.model.transfer.TransferResponse.ContactTransferResponse;
|
||||||
import google.registry.model.transfer.TransferResponse.DomainTransferResponse;
|
import google.registry.model.transfer.TransferResponse.DomainTransferResponse;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
import org.joda.time.DateTime;
|
import org.joda.time.DateTime;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -351,7 +351,7 @@ public abstract class PollMessage extends ImmutableObject
|
||||||
public Autorenew build() {
|
public Autorenew build() {
|
||||||
Autorenew instance = getInstance();
|
Autorenew instance = getInstance();
|
||||||
instance.autorenewEndTime =
|
instance.autorenewEndTime =
|
||||||
Optional.fromNullable(instance.autorenewEndTime).or(END_OF_TIME);
|
Optional.ofNullable(instance.autorenewEndTime).orElse(END_OF_TIME);
|
||||||
return super.build();
|
return super.build();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
|
|
||||||
package google.registry.model.pricing;
|
package google.registry.model.pricing;
|
||||||
|
|
||||||
import com.google.common.base.Optional;
|
import java.util.Optional;
|
||||||
import org.joda.money.Money;
|
import org.joda.money.Money;
|
||||||
import org.joda.time.DateTime;
|
import org.joda.time.DateTime;
|
||||||
|
|
||||||
|
|
|
@ -23,9 +23,9 @@ import static google.registry.model.registry.label.ReservedList.getReservationTy
|
||||||
import static google.registry.util.DomainNameUtils.getTldFromDomainName;
|
import static google.registry.util.DomainNameUtils.getTldFromDomainName;
|
||||||
|
|
||||||
import com.google.common.base.Joiner;
|
import com.google.common.base.Joiner;
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.net.InternetDomainName;
|
import com.google.common.net.InternetDomainName;
|
||||||
import google.registry.model.registry.Registry;
|
import google.registry.model.registry.Registry;
|
||||||
|
import java.util.Optional;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import org.joda.money.Money;
|
import org.joda.money.Money;
|
||||||
import org.joda.time.DateTime;
|
import org.joda.time.DateTime;
|
||||||
|
@ -52,8 +52,8 @@ public final class StaticPremiumListPricingEngine implements PremiumPricingEngin
|
||||||
isNameCollisionInSunrise ? "collision" : null));
|
isNameCollisionInSunrise ? "collision" : null));
|
||||||
return DomainPrices.create(
|
return DomainPrices.create(
|
||||||
premiumPrice.isPresent(),
|
premiumPrice.isPresent(),
|
||||||
premiumPrice.or(registry.getStandardCreateCost()),
|
premiumPrice.orElse(registry.getStandardCreateCost()),
|
||||||
premiumPrice.or(registry.getStandardRenewCost(priceTime)),
|
premiumPrice.orElse(registry.getStandardRenewCost(priceTime)),
|
||||||
Optional.<String>fromNullable(feeClass));
|
Optional.<String>ofNullable(feeClass));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -39,7 +39,6 @@ import static java.nio.charset.StandardCharsets.UTF_8;
|
||||||
import static java.util.Comparator.comparing;
|
import static java.util.Comparator.comparing;
|
||||||
import static java.util.function.Predicate.isEqual;
|
import static java.util.function.Predicate.isEqual;
|
||||||
|
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.base.Strings;
|
import com.google.common.base.Strings;
|
||||||
import com.google.common.base.Supplier;
|
import com.google.common.base.Supplier;
|
||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
|
@ -80,6 +79,7 @@ import java.util.Comparator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
import java.util.Optional;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.function.Predicate;
|
import java.util.function.Predicate;
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
|
@ -896,13 +896,13 @@ public class Registrar extends ImmutableObject implements Buildable, Jsonifiable
|
||||||
/** Loads and returns a registrar entity by its client id directly from Datastore. */
|
/** Loads and returns a registrar entity by its client id directly from Datastore. */
|
||||||
public static Optional<Registrar> loadByClientId(String clientId) {
|
public static Optional<Registrar> loadByClientId(String clientId) {
|
||||||
checkArgument(!Strings.isNullOrEmpty(clientId), "clientId must be specified");
|
checkArgument(!Strings.isNullOrEmpty(clientId), "clientId must be specified");
|
||||||
return Optional.fromNullable(
|
return Optional.ofNullable(
|
||||||
ofy().load().type(Registrar.class).parent(getCrossTldKey()).id(clientId).now());
|
ofy().load().type(Registrar.class).parent(getCrossTldKey()).id(clientId).now());
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Loads and returns a registrar entity by its client id using an in-memory cache. */
|
/** Loads and returns a registrar entity by its client id using an in-memory cache. */
|
||||||
public static Optional<Registrar> loadByClientIdCached(String clientId) {
|
public static Optional<Registrar> loadByClientIdCached(String clientId) {
|
||||||
checkArgument(!Strings.isNullOrEmpty(clientId), "clientId must be specified");
|
checkArgument(!Strings.isNullOrEmpty(clientId), "clientId must be specified");
|
||||||
return Optional.fromNullable(CACHE_BY_CLIENT_ID.get().get(clientId));
|
return Optional.ofNullable(CACHE_BY_CLIENT_ID.get().get(clientId));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,7 +27,6 @@ import static google.registry.model.ofy.ObjectifyService.ofy;
|
||||||
import static google.registry.util.PreconditionsUtils.checkArgumentNotNull;
|
import static google.registry.util.PreconditionsUtils.checkArgumentNotNull;
|
||||||
|
|
||||||
import com.google.common.base.Joiner;
|
import com.google.common.base.Joiner;
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.base.Supplier;
|
import com.google.common.base.Supplier;
|
||||||
import com.google.common.collect.ImmutableMap;
|
import com.google.common.collect.ImmutableMap;
|
||||||
import com.google.common.collect.ImmutableSet;
|
import com.google.common.collect.ImmutableSet;
|
||||||
|
@ -35,6 +34,7 @@ import com.google.common.collect.Streams;
|
||||||
import com.google.common.net.InternetDomainName;
|
import com.google.common.net.InternetDomainName;
|
||||||
import com.googlecode.objectify.Work;
|
import com.googlecode.objectify.Work;
|
||||||
import google.registry.model.registry.Registry.TldType;
|
import google.registry.model.registry.Registry.TldType;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
/** Utilities for finding and listing {@link Registry} entities. */
|
/** Utilities for finding and listing {@link Registry} entities. */
|
||||||
public final class Registries {
|
public final class Registries {
|
||||||
|
@ -123,7 +123,7 @@ public final class Registries {
|
||||||
return Optional.of(domainName);
|
return Optional.of(domainName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return Optional.absent();
|
return Optional.empty();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -132,7 +132,7 @@ public final class Registries {
|
||||||
*/
|
*/
|
||||||
public static InternetDomainName findTldForNameOrThrow(InternetDomainName domainName) {
|
public static InternetDomainName findTldForNameOrThrow(InternetDomainName domainName) {
|
||||||
return checkArgumentNotNull(
|
return checkArgumentNotNull(
|
||||||
findTldForName(domainName).orNull(),
|
findTldForName(domainName).orElse(null),
|
||||||
"Domain name is not under a recognized TLD: %s", domainName.toString());
|
"Domain name is not under a recognized TLD: %s", domainName.toString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,7 +30,6 @@ import static java.util.concurrent.TimeUnit.MILLISECONDS;
|
||||||
import static org.joda.money.CurrencyUnit.USD;
|
import static org.joda.money.CurrencyUnit.USD;
|
||||||
|
|
||||||
import com.google.common.annotations.VisibleForTesting;
|
import com.google.common.annotations.VisibleForTesting;
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.base.Predicate;
|
import com.google.common.base.Predicate;
|
||||||
import com.google.common.cache.CacheBuilder;
|
import com.google.common.cache.CacheBuilder;
|
||||||
import com.google.common.cache.CacheLoader;
|
import com.google.common.cache.CacheLoader;
|
||||||
|
@ -67,6 +66,7 @@ import google.registry.model.registry.label.ReservedList.ReservedListEntry;
|
||||||
import google.registry.util.Idn;
|
import google.registry.util.Idn;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.Map.Entry;
|
import java.util.Map.Entry;
|
||||||
|
import java.util.Optional;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
import org.joda.money.CurrencyUnit;
|
import org.joda.money.CurrencyUnit;
|
||||||
|
@ -213,7 +213,7 @@ public class Registry extends ImmutableObject implements Buildable {
|
||||||
|
|
||||||
/** Returns the registry for a given TLD, throwing if none exists. */
|
/** Returns the registry for a given TLD, throwing if none exists. */
|
||||||
public static Registry get(String tld) {
|
public static Registry get(String tld) {
|
||||||
Registry registry = CACHE.getUnchecked(tld).orNull();
|
Registry registry = CACHE.getUnchecked(tld).orElse(null);
|
||||||
if (registry == null) {
|
if (registry == null) {
|
||||||
throw new RegistryNotFoundException(tld);
|
throw new RegistryNotFoundException(tld);
|
||||||
}
|
}
|
||||||
|
@ -241,7 +241,7 @@ public class Registry extends ImmutableObject implements Buildable {
|
||||||
public Optional<Registry> load(final String tld) {
|
public Optional<Registry> load(final String tld) {
|
||||||
// Enter a transactionless context briefly; we don't want to enroll every TLD in a
|
// Enter a transactionless context briefly; we don't want to enroll every TLD in a
|
||||||
// transaction that might be wrapping this call.
|
// transaction that might be wrapping this call.
|
||||||
return Optional.fromNullable(
|
return Optional.ofNullable(
|
||||||
ofy()
|
ofy()
|
||||||
.doTransactionless(
|
.doTransactionless(
|
||||||
new Work<Registry>() {
|
new Work<Registry>() {
|
||||||
|
|
|
@ -19,7 +19,6 @@ import static com.google.common.base.Strings.isNullOrEmpty;
|
||||||
import static google.registry.model.common.EntityGroupRoot.getCrossTldKey;
|
import static google.registry.model.common.EntityGroupRoot.getCrossTldKey;
|
||||||
import static google.registry.model.registry.Registries.getTlds;
|
import static google.registry.model.registry.Registries.getTlds;
|
||||||
|
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.cache.CacheLoader.InvalidCacheLoadException;
|
import com.google.common.cache.CacheLoader.InvalidCacheLoadException;
|
||||||
import com.google.common.cache.LoadingCache;
|
import com.google.common.cache.LoadingCache;
|
||||||
import com.google.common.collect.HashMultiset;
|
import com.google.common.collect.HashMultiset;
|
||||||
|
@ -39,6 +38,7 @@ import google.registry.model.registry.label.ReservedList.ReservedListEntry;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Optional;
|
||||||
import java.util.concurrent.ExecutionException;
|
import java.util.concurrent.ExecutionException;
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
import org.joda.time.DateTime;
|
import org.joda.time.DateTime;
|
||||||
|
@ -153,7 +153,7 @@ public abstract class BaseDomainLabelList<T extends Comparable<?>, R extends Dom
|
||||||
try {
|
try {
|
||||||
return Optional.of(cache.get(listName));
|
return Optional.of(cache.get(listName));
|
||||||
} catch (InvalidCacheLoadException e) {
|
} catch (InvalidCacheLoadException e) {
|
||||||
return Optional.absent();
|
return Optional.empty();
|
||||||
} catch (ExecutionException e) {
|
} catch (ExecutionException e) {
|
||||||
throw new UncheckedExecutionException("Could not retrieve list named " + listName, e);
|
throw new UncheckedExecutionException("Could not retrieve list named " + listName, e);
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,6 +13,7 @@
|
||||||
// limitations under the License.
|
// limitations under the License.
|
||||||
|
|
||||||
package google.registry.model.registry.label;
|
package google.registry.model.registry.label;
|
||||||
|
|
||||||
import static com.google.common.base.Preconditions.checkArgument;
|
import static com.google.common.base.Preconditions.checkArgument;
|
||||||
import static com.google.common.hash.Funnels.unencodedCharsFunnel;
|
import static com.google.common.hash.Funnels.unencodedCharsFunnel;
|
||||||
import static google.registry.config.RegistryConfig.getDomainLabelListCacheDuration;
|
import static google.registry.config.RegistryConfig.getDomainLabelListCacheDuration;
|
||||||
|
@ -24,7 +25,6 @@ import static google.registry.model.ofy.ObjectifyService.ofy;
|
||||||
import static java.util.concurrent.TimeUnit.MILLISECONDS;
|
import static java.util.concurrent.TimeUnit.MILLISECONDS;
|
||||||
|
|
||||||
import com.google.common.annotations.VisibleForTesting;
|
import com.google.common.annotations.VisibleForTesting;
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.base.Splitter;
|
import com.google.common.base.Splitter;
|
||||||
import com.google.common.cache.CacheBuilder;
|
import com.google.common.cache.CacheBuilder;
|
||||||
import com.google.common.cache.CacheLoader;
|
import com.google.common.cache.CacheLoader;
|
||||||
|
@ -46,6 +46,7 @@ import java.io.ByteArrayOutputStream;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
import java.util.Optional;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.concurrent.ExecutionException;
|
import java.util.concurrent.ExecutionException;
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
|
@ -206,12 +207,9 @@ public final class PremiumList extends BaseDomainLabelList<Money, PremiumList.Pr
|
||||||
public Optional<PremiumListEntry> load(final Key<PremiumListEntry> entryKey) {
|
public Optional<PremiumListEntry> load(final Key<PremiumListEntry> entryKey) {
|
||||||
return ofy()
|
return ofy()
|
||||||
.doTransactionless(
|
.doTransactionless(
|
||||||
new Work<Optional<PremiumListEntry>>() {
|
() -> {
|
||||||
@Override
|
return Optional.ofNullable(ofy().load().key(entryKey).now());
|
||||||
public Optional<PremiumListEntry> run() {
|
});
|
||||||
return Optional.fromNullable(ofy().load().key(entryKey).now());
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -226,7 +224,7 @@ public final class PremiumList extends BaseDomainLabelList<Money, PremiumList.Pr
|
||||||
try {
|
try {
|
||||||
return Optional.of(cachePremiumLists.get(name));
|
return Optional.of(cachePremiumLists.get(name));
|
||||||
} catch (InvalidCacheLoadException e) {
|
} catch (InvalidCacheLoadException e) {
|
||||||
return Optional.<PremiumList> absent();
|
return Optional.empty();
|
||||||
} catch (ExecutionException e) {
|
} catch (ExecutionException e) {
|
||||||
throw new UncheckedExecutionException("Could not retrieve premium list named " + name, e);
|
throw new UncheckedExecutionException("Could not retrieve premium list named " + name, e);
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,7 +31,6 @@ import static org.joda.time.DateTimeZone.UTC;
|
||||||
|
|
||||||
import com.google.auto.value.AutoValue;
|
import com.google.auto.value.AutoValue;
|
||||||
import com.google.common.annotations.VisibleForTesting;
|
import com.google.common.annotations.VisibleForTesting;
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.cache.CacheLoader.InvalidCacheLoadException;
|
import com.google.common.cache.CacheLoader.InvalidCacheLoadException;
|
||||||
import com.google.common.collect.ImmutableMap;
|
import com.google.common.collect.ImmutableMap;
|
||||||
import com.google.common.collect.ImmutableSet;
|
import com.google.common.collect.ImmutableSet;
|
||||||
|
@ -45,6 +44,7 @@ import google.registry.model.registry.label.PremiumList.PremiumListEntry;
|
||||||
import google.registry.model.registry.label.PremiumList.PremiumListRevision;
|
import google.registry.model.registry.label.PremiumList.PremiumListRevision;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
import java.util.Optional;
|
||||||
import java.util.concurrent.ExecutionException;
|
import java.util.concurrent.ExecutionException;
|
||||||
import org.joda.money.Money;
|
import org.joda.money.Money;
|
||||||
import org.joda.time.DateTime;
|
import org.joda.time.DateTime;
|
||||||
|
@ -73,7 +73,7 @@ public final class PremiumListUtils {
|
||||||
public static Optional<Money> getPremiumPrice(String label, Registry registry) {
|
public static Optional<Money> getPremiumPrice(String label, Registry registry) {
|
||||||
// If the registry has no configured premium list, then no labels are premium.
|
// If the registry has no configured premium list, then no labels are premium.
|
||||||
if (registry.getPremiumList() == null) {
|
if (registry.getPremiumList() == null) {
|
||||||
return Optional.<Money>absent();
|
return Optional.<Money>empty();
|
||||||
}
|
}
|
||||||
DateTime startTime = DateTime.now(UTC);
|
DateTime startTime = DateTime.now(UTC);
|
||||||
String listName = registry.getPremiumList().getName();
|
String listName = registry.getPremiumList().getName();
|
||||||
|
@ -103,7 +103,7 @@ public final class PremiumListUtils {
|
||||||
|
|
||||||
private static CheckResults checkStatus(PremiumListRevision premiumListRevision, String label) {
|
private static CheckResults checkStatus(PremiumListRevision premiumListRevision, String label) {
|
||||||
if (!premiumListRevision.getProbablePremiumLabels().mightContain(label)) {
|
if (!premiumListRevision.getProbablePremiumLabels().mightContain(label)) {
|
||||||
return CheckResults.create(BLOOM_FILTER_NEGATIVE, Optional.<Money>absent());
|
return CheckResults.create(BLOOM_FILTER_NEGATIVE, Optional.<Money>empty());
|
||||||
}
|
}
|
||||||
|
|
||||||
Key<PremiumListEntry> entryKey =
|
Key<PremiumListEntry> entryKey =
|
||||||
|
@ -115,7 +115,7 @@ public final class PremiumListUtils {
|
||||||
if (entry.isPresent()) {
|
if (entry.isPresent()) {
|
||||||
return CheckResults.create(CACHED_POSITIVE, Optional.of(entry.get().getValue()));
|
return CheckResults.create(CACHED_POSITIVE, Optional.of(entry.get().getValue()));
|
||||||
} else {
|
} else {
|
||||||
return CheckResults.create(CACHED_NEGATIVE, Optional.<Money>absent());
|
return CheckResults.create(CACHED_NEGATIVE, Optional.<Money>empty());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -123,7 +123,7 @@ public final class PremiumListUtils {
|
||||||
if (entry.isPresent()) {
|
if (entry.isPresent()) {
|
||||||
return CheckResults.create(UNCACHED_POSITIVE, Optional.of(entry.get().getValue()));
|
return CheckResults.create(UNCACHED_POSITIVE, Optional.of(entry.get().getValue()));
|
||||||
} else {
|
} else {
|
||||||
return CheckResults.create(UNCACHED_NEGATIVE, Optional.<Money>absent());
|
return CheckResults.create(UNCACHED_NEGATIVE, Optional.<Money>empty());
|
||||||
}
|
}
|
||||||
} catch (InvalidCacheLoadException | ExecutionException e) {
|
} catch (InvalidCacheLoadException | ExecutionException e) {
|
||||||
throw new RuntimeException("Could not load premium list entry " + entryKey, e);
|
throw new RuntimeException("Could not load premium list entry " + entryKey, e);
|
||||||
|
@ -173,7 +173,7 @@ public final class PremiumListUtils {
|
||||||
.id(premiumList.getName())
|
.id(premiumList.getName())
|
||||||
.now();
|
.now();
|
||||||
checkState(
|
checkState(
|
||||||
Objects.equals(existing, oldPremiumList.orNull()),
|
Objects.equals(existing, oldPremiumList.orElse(null)),
|
||||||
"PremiumList was concurrently edited");
|
"PremiumList was concurrently edited");
|
||||||
PremiumList newList = premiumList.asBuilder()
|
PremiumList newList = premiumList.asBuilder()
|
||||||
.setLastUpdateTime(now)
|
.setLastUpdateTime(now)
|
||||||
|
|
|
@ -30,7 +30,6 @@ import static java.util.concurrent.TimeUnit.MILLISECONDS;
|
||||||
import static org.joda.time.DateTimeZone.UTC;
|
import static org.joda.time.DateTimeZone.UTC;
|
||||||
|
|
||||||
import com.google.common.base.Joiner;
|
import com.google.common.base.Joiner;
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.base.Splitter;
|
import com.google.common.base.Splitter;
|
||||||
import com.google.common.cache.CacheBuilder;
|
import com.google.common.cache.CacheBuilder;
|
||||||
import com.google.common.cache.CacheLoader;
|
import com.google.common.cache.CacheLoader;
|
||||||
|
@ -49,6 +48,7 @@ import google.registry.model.registry.label.DomainLabelMetrics.MetricsReservedLi
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Optional;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.concurrent.ExecutionException;
|
import java.util.concurrent.ExecutionException;
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
|
@ -338,7 +338,7 @@ public final class ReservedList
|
||||||
*/
|
*/
|
||||||
public Optional<ReservationType> getReservationInList(String label) {
|
public Optional<ReservationType> getReservationInList(String label) {
|
||||||
ReservedListEntry entry = getReservedListEntries().get(label);
|
ReservedListEntry entry = getReservedListEntries().get(label);
|
||||||
return Optional.fromNullable(entry == null ? null : entry.reservationType);
|
return Optional.ofNullable(entry == null ? null : entry.reservationType);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -18,7 +18,6 @@ import static com.google.common.base.Preconditions.checkArgument;
|
||||||
import static google.registry.model.ofy.ObjectifyService.ofy;
|
import static google.registry.model.ofy.ObjectifyService.ofy;
|
||||||
import static google.registry.util.DateTimeUtils.isAtOrAfter;
|
import static google.registry.util.DateTimeUtils.isAtOrAfter;
|
||||||
|
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.base.Strings;
|
import com.google.common.base.Strings;
|
||||||
import com.googlecode.objectify.VoidWork;
|
import com.googlecode.objectify.VoidWork;
|
||||||
import com.googlecode.objectify.Work;
|
import com.googlecode.objectify.Work;
|
||||||
|
@ -30,6 +29,7 @@ import google.registry.model.annotations.NotBackedUp.Reason;
|
||||||
import google.registry.util.FormattingLogger;
|
import google.registry.util.FormattingLogger;
|
||||||
import google.registry.util.RequestStatusChecker;
|
import google.registry.util.RequestStatusChecker;
|
||||||
import google.registry.util.RequestStatusCheckerImpl;
|
import google.registry.util.RequestStatusCheckerImpl;
|
||||||
|
import java.util.Optional;
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
import org.joda.time.DateTime;
|
import org.joda.time.DateTime;
|
||||||
import org.joda.time.Duration;
|
import org.joda.time.Duration;
|
||||||
|
@ -99,7 +99,7 @@ public class Lock extends ImmutableObject {
|
||||||
// It's important to use transactNew rather than transact, because a Lock can be used to control
|
// It's important to use transactNew rather than transact, because a Lock can be used to control
|
||||||
// access to resources like GCS that can't be transactionally rolled back. Therefore, the lock
|
// access to resources like GCS that can't be transactionally rolled back. Therefore, the lock
|
||||||
// must be definitively acquired before it is used, even when called inside another transaction.
|
// must be definitively acquired before it is used, even when called inside another transaction.
|
||||||
return Optional.fromNullable(ofy().transactNew(new Work<Lock>() {
|
return Optional.ofNullable(ofy().transactNew(new Work<Lock>() {
|
||||||
@Override
|
@Override
|
||||||
public Lock run() {
|
public Lock run() {
|
||||||
String lockId = makeLockId(resourceName, tld);
|
String lockId = makeLockId(resourceName, tld);
|
||||||
|
|
|
@ -20,13 +20,13 @@ import static google.registry.request.RequestParameters.extractOptionalDatetimeP
|
||||||
import static google.registry.request.RequestParameters.extractRequiredParameter;
|
import static google.registry.request.RequestParameters.extractRequiredParameter;
|
||||||
import static google.registry.request.RequestParameters.extractSetOfParameters;
|
import static google.registry.request.RequestParameters.extractSetOfParameters;
|
||||||
|
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.collect.ImmutableSet;
|
import com.google.common.collect.ImmutableSet;
|
||||||
import dagger.Module;
|
import dagger.Module;
|
||||||
import dagger.Provides;
|
import dagger.Provides;
|
||||||
import google.registry.batch.ExpandRecurringBillingEventsAction;
|
import google.registry.batch.ExpandRecurringBillingEventsAction;
|
||||||
import google.registry.request.Parameter;
|
import google.registry.request.Parameter;
|
||||||
import google.registry.request.RequestParameters;
|
import google.registry.request.RequestParameters;
|
||||||
|
import java.util.Optional;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import org.joda.time.DateTime;
|
import org.joda.time.DateTime;
|
||||||
|
|
||||||
|
|
|
@ -16,10 +16,10 @@ package google.registry.monitoring.metrics;
|
||||||
|
|
||||||
import static com.google.common.util.concurrent.MoreExecutors.directExecutor;
|
import static com.google.common.util.concurrent.MoreExecutors.directExecutor;
|
||||||
|
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
import com.google.common.util.concurrent.AbstractExecutionThreadService;
|
import com.google.common.util.concurrent.AbstractExecutionThreadService;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.util.Optional;
|
||||||
import java.util.concurrent.BlockingQueue;
|
import java.util.concurrent.BlockingQueue;
|
||||||
import java.util.concurrent.Executor;
|
import java.util.concurrent.Executor;
|
||||||
import java.util.concurrent.ExecutorService;
|
import java.util.concurrent.ExecutorService;
|
||||||
|
|
|
@ -18,9 +18,9 @@ import static com.google.common.base.Preconditions.checkArgument;
|
||||||
import static com.google.common.util.concurrent.MoreExecutors.directExecutor;
|
import static com.google.common.util.concurrent.MoreExecutors.directExecutor;
|
||||||
|
|
||||||
import com.google.common.annotations.VisibleForTesting;
|
import com.google.common.annotations.VisibleForTesting;
|
||||||
import com.google.common.base.Optional;
|
|
||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
import com.google.common.util.concurrent.AbstractScheduledService;
|
import com.google.common.util.concurrent.AbstractScheduledService;
|
||||||
|
import java.util.Optional;
|
||||||
import java.util.concurrent.ArrayBlockingQueue;
|
import java.util.concurrent.ArrayBlockingQueue;
|
||||||
import java.util.concurrent.BlockingQueue;
|
import java.util.concurrent.BlockingQueue;
|
||||||
import java.util.concurrent.Executors;
|
import java.util.concurrent.Executors;
|
||||||
|
@ -117,7 +117,7 @@ public class MetricReporter extends AbstractScheduledService {
|
||||||
runOneIteration();
|
runOneIteration();
|
||||||
|
|
||||||
// Offer a poision pill to inform the exporter to stop.
|
// Offer a poision pill to inform the exporter to stop.
|
||||||
writeQueue.offer(Optional.<ImmutableList<MetricPoint<?>>>absent());
|
writeQueue.offer(Optional.<ImmutableList<MetricPoint<?>>>empty());
|
||||||
try {
|
try {
|
||||||
metricExporter.awaitTerminated(10, TimeUnit.SECONDS);
|
metricExporter.awaitTerminated(10, TimeUnit.SECONDS);
|
||||||
logger.info("Shut down MetricExporter");
|
logger.info("Shut down MetricExporter");
|
||||||
|
|
|
@ -10,8 +10,9 @@ java_library(
|
||||||
srcs = glob(["*.java"]),
|
srcs = glob(["*.java"]),
|
||||||
deps = [
|
deps = [
|
||||||
"//java/google/registry/monitoring/metrics",
|
"//java/google/registry/monitoring/metrics",
|
||||||
"//third_party/java/truth",
|
|
||||||
"@com_google_code_findbugs_jsr305",
|
"@com_google_code_findbugs_jsr305",
|
||||||
"@com_google_guava",
|
"@com_google_guava",
|
||||||
|
"@com_google_truth",
|
||||||
|
"@com_google_truth_extensions_truth_java8_extension",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue