Add extra flow logic hook for domain allocation

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=138679232
This commit is contained in:
mountford 2016-11-09 13:41:45 -08:00 committed by Ben McIlwain
parent 218a4b735b
commit 09beacf746
5 changed files with 59 additions and 3 deletions

View file

@ -37,6 +37,7 @@ import static google.registry.util.CollectionUtils.isNullOrEmpty;
import static google.registry.util.DateTimeUtils.END_OF_TIME;
import static google.registry.util.DateTimeUtils.leapSafeAddYears;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet;
import com.google.common.net.InternetDomainName;
@ -175,6 +176,7 @@ public class DomainAllocateFlow implements TransactionalFlow {
.setNameservers(command.getNameservers())
.setContacts(command.getContacts())
.build();
handleExtraFlowLogic(registry.getTldStr(), years, historyEntry, newDomain, now);
entitiesToSave.add(
newDomain,
buildApplicationHistory(application, now),
@ -360,6 +362,22 @@ public class DomainAllocateFlow implements TransactionalFlow {
&& !matchesAnchorTenantReservation(domainName, authInfoToken);
}
private void handleExtraFlowLogic(
String tld, int years, HistoryEntry historyEntry, DomainResource newDomain, DateTime now)
throws EppException {
Optional<RegistryExtraFlowLogic> extraFlowLogic =
RegistryExtraFlowLogicProxy.newInstanceForTld(tld);
if (extraFlowLogic.isPresent()) {
extraFlowLogic.get().performAdditionalDomainAllocateLogic(
newDomain,
clientId,
now,
years,
eppInput,
historyEntry);
}
}
private void enqueueTasks(AllocateCreateExtension allocateCreate, DomainResource newDomain) {
if (newDomain.shouldPublishToDns()) {
DnsQueue.create().addDomainRefreshTask(newDomain.getFullyQualifiedDomainName());