mirror of
https://github.com/google/nomulus.git
synced 2025-06-26 06:14:54 +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 static google.registry.model.ofy.ObjectifyService.ofy;
|
|||
import static google.registry.util.PreconditionsUtils.checkArgumentNotNull;
|
||||
|
||||
import com.google.common.base.Joiner;
|
||||
import com.google.common.base.Optional;
|
||||
import com.google.common.base.Supplier;
|
||||
import com.google.common.collect.ImmutableMap;
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
|
@ -35,6 +34,7 @@ import com.google.common.collect.Streams;
|
|||
import com.google.common.net.InternetDomainName;
|
||||
import com.googlecode.objectify.Work;
|
||||
import google.registry.model.registry.Registry.TldType;
|
||||
import java.util.Optional;
|
||||
|
||||
/** Utilities for finding and listing {@link Registry} entities. */
|
||||
public final class Registries {
|
||||
|
@ -123,7 +123,7 @@ public final class Registries {
|
|||
return Optional.of(domainName);
|
||||
}
|
||||
}
|
||||
return Optional.absent();
|
||||
return Optional.empty();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -132,7 +132,7 @@ public final class Registries {
|
|||
*/
|
||||
public static InternetDomainName findTldForNameOrThrow(InternetDomainName domainName) {
|
||||
return checkArgumentNotNull(
|
||||
findTldForName(domainName).orNull(),
|
||||
findTldForName(domainName).orElse(null),
|
||||
"Domain name is not under a recognized TLD: %s", domainName.toString());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -30,7 +30,6 @@ import static java.util.concurrent.TimeUnit.MILLISECONDS;
|
|||
import static org.joda.money.CurrencyUnit.USD;
|
||||
|
||||
import com.google.common.annotations.VisibleForTesting;
|
||||
import com.google.common.base.Optional;
|
||||
import com.google.common.base.Predicate;
|
||||
import com.google.common.cache.CacheBuilder;
|
||||
import com.google.common.cache.CacheLoader;
|
||||
|
@ -67,6 +66,7 @@ import google.registry.model.registry.label.ReservedList.ReservedListEntry;
|
|||
import google.registry.util.Idn;
|
||||
import java.util.Collection;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.Optional;
|
||||
import java.util.Set;
|
||||
import javax.annotation.Nullable;
|
||||
import org.joda.money.CurrencyUnit;
|
||||
|
@ -213,7 +213,7 @@ public class Registry extends ImmutableObject implements Buildable {
|
|||
|
||||
/** Returns the registry for a given TLD, throwing if none exists. */
|
||||
public static Registry get(String tld) {
|
||||
Registry registry = CACHE.getUnchecked(tld).orNull();
|
||||
Registry registry = CACHE.getUnchecked(tld).orElse(null);
|
||||
if (registry == null) {
|
||||
throw new RegistryNotFoundException(tld);
|
||||
}
|
||||
|
@ -241,7 +241,7 @@ public class Registry extends ImmutableObject implements Buildable {
|
|||
public Optional<Registry> load(final String tld) {
|
||||
// Enter a transactionless context briefly; we don't want to enroll every TLD in a
|
||||
// transaction that might be wrapping this call.
|
||||
return Optional.fromNullable(
|
||||
return Optional.ofNullable(
|
||||
ofy()
|
||||
.doTransactionless(
|
||||
new Work<Registry>() {
|
||||
|
|
|
@ -19,7 +19,6 @@ import static com.google.common.base.Strings.isNullOrEmpty;
|
|||
import static google.registry.model.common.EntityGroupRoot.getCrossTldKey;
|
||||
import static google.registry.model.registry.Registries.getTlds;
|
||||
|
||||
import com.google.common.base.Optional;
|
||||
import com.google.common.cache.CacheLoader.InvalidCacheLoadException;
|
||||
import com.google.common.cache.LoadingCache;
|
||||
import com.google.common.collect.HashMultiset;
|
||||
|
@ -39,6 +38,7 @@ import google.registry.model.registry.label.ReservedList.ReservedListEntry;
|
|||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
import java.util.concurrent.ExecutionException;
|
||||
import javax.annotation.Nullable;
|
||||
import org.joda.time.DateTime;
|
||||
|
@ -153,7 +153,7 @@ public abstract class BaseDomainLabelList<T extends Comparable<?>, R extends Dom
|
|||
try {
|
||||
return Optional.of(cache.get(listName));
|
||||
} catch (InvalidCacheLoadException e) {
|
||||
return Optional.absent();
|
||||
return Optional.empty();
|
||||
} catch (ExecutionException e) {
|
||||
throw new UncheckedExecutionException("Could not retrieve list named " + listName, e);
|
||||
}
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
// limitations under the License.
|
||||
|
||||
package google.registry.model.registry.label;
|
||||
|
||||
import static com.google.common.base.Preconditions.checkArgument;
|
||||
import static com.google.common.hash.Funnels.unencodedCharsFunnel;
|
||||
import static google.registry.config.RegistryConfig.getDomainLabelListCacheDuration;
|
||||
|
@ -24,7 +25,6 @@ import static google.registry.model.ofy.ObjectifyService.ofy;
|
|||
import static java.util.concurrent.TimeUnit.MILLISECONDS;
|
||||
|
||||
import com.google.common.annotations.VisibleForTesting;
|
||||
import com.google.common.base.Optional;
|
||||
import com.google.common.base.Splitter;
|
||||
import com.google.common.cache.CacheBuilder;
|
||||
import com.google.common.cache.CacheLoader;
|
||||
|
@ -46,6 +46,7 @@ import java.io.ByteArrayOutputStream;
|
|||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.Optional;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.ExecutionException;
|
||||
import javax.annotation.Nullable;
|
||||
|
@ -206,12 +207,9 @@ public final class PremiumList extends BaseDomainLabelList<Money, PremiumList.Pr
|
|||
public Optional<PremiumListEntry> load(final Key<PremiumListEntry> entryKey) {
|
||||
return ofy()
|
||||
.doTransactionless(
|
||||
new Work<Optional<PremiumListEntry>>() {
|
||||
@Override
|
||||
public Optional<PremiumListEntry> run() {
|
||||
return Optional.fromNullable(ofy().load().key(entryKey).now());
|
||||
}
|
||||
});
|
||||
() -> {
|
||||
return Optional.ofNullable(ofy().load().key(entryKey).now());
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -226,7 +224,7 @@ public final class PremiumList extends BaseDomainLabelList<Money, PremiumList.Pr
|
|||
try {
|
||||
return Optional.of(cachePremiumLists.get(name));
|
||||
} catch (InvalidCacheLoadException e) {
|
||||
return Optional.<PremiumList> absent();
|
||||
return Optional.empty();
|
||||
} catch (ExecutionException e) {
|
||||
throw new UncheckedExecutionException("Could not retrieve premium list named " + name, e);
|
||||
}
|
||||
|
|
|
@ -31,7 +31,6 @@ import static org.joda.time.DateTimeZone.UTC;
|
|||
|
||||
import com.google.auto.value.AutoValue;
|
||||
import com.google.common.annotations.VisibleForTesting;
|
||||
import com.google.common.base.Optional;
|
||||
import com.google.common.cache.CacheLoader.InvalidCacheLoadException;
|
||||
import com.google.common.collect.ImmutableMap;
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
|
@ -45,6 +44,7 @@ import google.registry.model.registry.label.PremiumList.PremiumListEntry;
|
|||
import google.registry.model.registry.label.PremiumList.PremiumListRevision;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.Optional;
|
||||
import java.util.concurrent.ExecutionException;
|
||||
import org.joda.money.Money;
|
||||
import org.joda.time.DateTime;
|
||||
|
@ -73,7 +73,7 @@ public final class PremiumListUtils {
|
|||
public static Optional<Money> getPremiumPrice(String label, Registry registry) {
|
||||
// If the registry has no configured premium list, then no labels are premium.
|
||||
if (registry.getPremiumList() == null) {
|
||||
return Optional.<Money>absent();
|
||||
return Optional.<Money>empty();
|
||||
}
|
||||
DateTime startTime = DateTime.now(UTC);
|
||||
String listName = registry.getPremiumList().getName();
|
||||
|
@ -103,7 +103,7 @@ public final class PremiumListUtils {
|
|||
|
||||
private static CheckResults checkStatus(PremiumListRevision premiumListRevision, String label) {
|
||||
if (!premiumListRevision.getProbablePremiumLabels().mightContain(label)) {
|
||||
return CheckResults.create(BLOOM_FILTER_NEGATIVE, Optional.<Money>absent());
|
||||
return CheckResults.create(BLOOM_FILTER_NEGATIVE, Optional.<Money>empty());
|
||||
}
|
||||
|
||||
Key<PremiumListEntry> entryKey =
|
||||
|
@ -115,7 +115,7 @@ public final class PremiumListUtils {
|
|||
if (entry.isPresent()) {
|
||||
return CheckResults.create(CACHED_POSITIVE, Optional.of(entry.get().getValue()));
|
||||
} else {
|
||||
return CheckResults.create(CACHED_NEGATIVE, Optional.<Money>absent());
|
||||
return CheckResults.create(CACHED_NEGATIVE, Optional.<Money>empty());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -123,7 +123,7 @@ public final class PremiumListUtils {
|
|||
if (entry.isPresent()) {
|
||||
return CheckResults.create(UNCACHED_POSITIVE, Optional.of(entry.get().getValue()));
|
||||
} else {
|
||||
return CheckResults.create(UNCACHED_NEGATIVE, Optional.<Money>absent());
|
||||
return CheckResults.create(UNCACHED_NEGATIVE, Optional.<Money>empty());
|
||||
}
|
||||
} catch (InvalidCacheLoadException | ExecutionException e) {
|
||||
throw new RuntimeException("Could not load premium list entry " + entryKey, e);
|
||||
|
@ -173,7 +173,7 @@ public final class PremiumListUtils {
|
|||
.id(premiumList.getName())
|
||||
.now();
|
||||
checkState(
|
||||
Objects.equals(existing, oldPremiumList.orNull()),
|
||||
Objects.equals(existing, oldPremiumList.orElse(null)),
|
||||
"PremiumList was concurrently edited");
|
||||
PremiumList newList = premiumList.asBuilder()
|
||||
.setLastUpdateTime(now)
|
||||
|
|
|
@ -30,7 +30,6 @@ import static java.util.concurrent.TimeUnit.MILLISECONDS;
|
|||
import static org.joda.time.DateTimeZone.UTC;
|
||||
|
||||
import com.google.common.base.Joiner;
|
||||
import com.google.common.base.Optional;
|
||||
import com.google.common.base.Splitter;
|
||||
import com.google.common.cache.CacheBuilder;
|
||||
import com.google.common.cache.CacheLoader;
|
||||
|
@ -49,6 +48,7 @@ import google.registry.model.registry.label.DomainLabelMetrics.MetricsReservedLi
|
|||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.ExecutionException;
|
||||
import javax.annotation.Nullable;
|
||||
|
@ -338,7 +338,7 @@ public final class ReservedList
|
|||
*/
|
||||
public Optional<ReservationType> getReservationInList(String label) {
|
||||
ReservedListEntry entry = getReservedListEntries().get(label);
|
||||
return Optional.fromNullable(entry == null ? null : entry.reservationType);
|
||||
return Optional.ofNullable(entry == null ? null : entry.reservationType);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue