Remove duplicate version of lookupSuperordinateDomain() function

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=148657943
This commit is contained in:
mcilwain 2017-02-27 09:35:33 -08:00 committed by Ben McIlwain
parent 90114858fa
commit 64bfbea324
4 changed files with 7 additions and 34 deletions

View file

@ -96,8 +96,8 @@ public final class HostCreateFlow implements TransactionalFlow {
// The superordinate domain of the host object if creating an in-bailiwick host, or null if // The superordinate domain of the host object if creating an in-bailiwick host, or null if
// creating an external host. This is looked up before we actually create the Host object so // creating an external host. This is looked up before we actually create the Host object so
// we can detect error conditions earlier. // we can detect error conditions earlier.
Optional<DomainResource> superordinateDomain = Optional.fromNullable( Optional<DomainResource> superordinateDomain =
lookupSuperordinateDomain(validateHostName(targetId), now)); lookupSuperordinateDomain(validateHostName(targetId), now);
verifyDomainIsSameRegistrar(superordinateDomain.orNull(), clientId); verifyDomainIsSameRegistrar(superordinateDomain.orNull(), clientId);
boolean willBeSubordinate = superordinateDomain.isPresent(); boolean willBeSubordinate = superordinateDomain.isPresent();
boolean hasIpAddresses = !isNullOrEmpty(command.getInetAddresses()); boolean hasIpAddresses = !isNullOrEmpty(command.getInetAddresses());

View file

@ -86,12 +86,12 @@ public class HostFlowUtils {
} }
/** Return the {@link DomainResource} this host is subordinate to, or null for external hosts. */ /** Return the {@link DomainResource} this host is subordinate to, or null for external hosts. */
static DomainResource lookupSuperordinateDomain( public static Optional<DomainResource> lookupSuperordinateDomain(
InternetDomainName hostName, DateTime now) throws EppException { InternetDomainName hostName, DateTime now) throws EppException {
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 null; return Optional.absent();
} }
// This is a subordinate host // This is a subordinate host
String domainName = Joiner.on('.').join(Iterables.skip( String domainName = Joiner.on('.').join(Iterables.skip(
@ -100,7 +100,7 @@ public class HostFlowUtils {
if (superordinateDomain == null || !isActive(superordinateDomain, now)) { if (superordinateDomain == null || !isActive(superordinateDomain, now)) {
throw new SuperordinateDomainDoesNotExistException(domainName); throw new SuperordinateDomainDoesNotExistException(domainName);
} }
return superordinateDomain; return Optional.of(superordinateDomain);
} }
/** Superordinate domain for this hostname does not exist. */ /** Superordinate domain for this hostname does not exist. */

View file

@ -130,7 +130,7 @@ public final class HostUpdateFlow implements TransactionalFlow {
String newHostName = firstNonNull(suppliedNewHostName, oldHostName); String newHostName = firstNonNull(suppliedNewHostName, oldHostName);
// 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 =
Optional.fromNullable(lookupSuperordinateDomain(validateHostName(newHostName), now)); lookupSuperordinateDomain(validateHostName(newHostName), now);
verifyUpdateAllowed(command, existingHost, newSuperordinateDomain.orNull()); verifyUpdateAllowed(command, existingHost, newSuperordinateDomain.orNull());
if (isHostRename && loadAndGetKey(HostResource.class, newHostName, now) != null) { if (isHostRename && loadAndGetKey(HostResource.class, newHostName, now) != null) {
throw new HostAlreadyExistsException(newHostName); throw new HostAlreadyExistsException(newHostName);

View file

@ -14,18 +14,14 @@
package google.registry.rde.imports; package google.registry.rde.imports;
import static com.google.common.base.Preconditions.checkState; import static google.registry.flows.host.HostFlowUtils.lookupSuperordinateDomain;
import static google.registry.mapreduce.MapreduceRunner.PARAM_MAP_SHARDS; import static google.registry.mapreduce.MapreduceRunner.PARAM_MAP_SHARDS;
import static google.registry.model.EppResourceUtils.loadByForeignKey;
import static google.registry.model.ofy.ObjectifyService.ofy; import static google.registry.model.ofy.ObjectifyService.ofy;
import static google.registry.model.registry.Registries.findTldForName;
import static google.registry.util.PipelineUtils.createJobPath; import static google.registry.util.PipelineUtils.createJobPath;
import com.google.appengine.tools.mapreduce.Mapper; import com.google.appengine.tools.mapreduce.Mapper;
import com.google.common.base.Joiner;
import com.google.common.base.Optional; import com.google.common.base.Optional;
import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList;
import com.google.common.collect.Iterables;
import com.google.common.net.InternetDomainName; import com.google.common.net.InternetDomainName;
import com.googlecode.objectify.Key; import com.googlecode.objectify.Key;
import com.googlecode.objectify.VoidWork; import com.googlecode.objectify.VoidWork;
@ -135,29 +131,6 @@ public class RdeHostLinkAction implements Runnable {
throw new HostLinkException(xjcHost.getName(), xjcHost.toString(), e); throw new HostLinkException(xjcHost.getName(), xjcHost.toString(), e);
} }
} }
/**
* Return the {@link DomainResource} this host is subordinate to, or absent for out of zone
* hosts.
*
* @throws IllegalStateException for hosts without superordinate domains
*/
private static Optional<DomainResource> lookupSuperordinateDomain(
InternetDomainName hostName, DateTime now) {
Optional<InternetDomainName> tld = findTldForName(hostName);
// out of zone hosts cannot be linked
if (!tld.isPresent()) {
return Optional.absent();
}
// This is a subordinate host
String domainName = Joiner.on('.').join(Iterables.skip(
hostName.parts(), hostName.parts().size() - (tld.get().parts().size() + 1)));
DomainResource superordinateDomain = loadByForeignKey(DomainResource.class, domainName, now);
// Hosts can't be linked if domains import hasn't been run
checkState(
superordinateDomain != null, "Superordinate domain does not exist: %s", domainName);
return Optional.of(superordinateDomain);
}
} }
private static class HostLinkException extends RuntimeException { private static class HostLinkException extends RuntimeException {