Add extra flow logic hooks for transfer approve, cancel and reject

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=139217498
This commit is contained in:
mountford 2016-11-15 10:32:46 -08:00 committed by Ben McIlwain
parent 5262cd2854
commit fb47d2563d
12 changed files with 150 additions and 6 deletions

View file

@ -177,6 +177,7 @@ public final class DomainTransferApproveFlow implements TransactionalFlow {
newDomain.getTransferData(),
newExpirationTime,
historyEntry);
handleExtraFlowLogic(tld, historyEntry, newDomain);
ofy().save().<ImmutableObject>entities(
newDomain,
historyEntry,
@ -192,4 +193,16 @@ public final class DomainTransferApproveFlow implements TransactionalFlow {
targetId, newDomain.getTransferData(), newDomain.getRegistrationExpirationTime()))
.build();
}
private void handleExtraFlowLogic(
String tld, HistoryEntry historyEntry, DomainResource newDomain) throws EppException {
Optional<RegistryExtraFlowLogic> extraFlowLogic =
RegistryExtraFlowLogicProxy.newInstanceForTld(tld);
if (extraFlowLogic.isPresent()) {
extraFlowLogic.get().performAdditionalDomainTransferApproveLogic(
newDomain,
clientId,
historyEntry);
}
}
}

View file

@ -92,6 +92,7 @@ public final class DomainTransferCancelFlow implements TransactionalFlow {
.build();
DomainResource newDomain =
denyPendingTransfer(existingDomain, TransferStatus.CLIENT_CANCELLED, now);
handleExtraFlowLogic(existingDomain.getTld(), historyEntry, existingDomain);
ofy().save().<ImmutableObject>entities(
newDomain,
historyEntry,
@ -107,4 +108,16 @@ public final class DomainTransferCancelFlow implements TransactionalFlow {
.setResData(createTransferResponse(targetId, newDomain.getTransferData(), null))
.build();
}
private void handleExtraFlowLogic(
String tld, HistoryEntry historyEntry, DomainResource existingDomain) throws EppException {
Optional<RegistryExtraFlowLogic> extraFlowLogic =
RegistryExtraFlowLogicProxy.newInstanceForTld(tld);
if (extraFlowLogic.isPresent()) {
extraFlowLogic.get().performAdditionalDomainTransferCancelLogic(
existingDomain,
clientId,
historyEntry);
}
}
}

View file

@ -90,6 +90,7 @@ public final class DomainTransferRejectFlow implements TransactionalFlow {
checkAllowedAccessToTld(clientId, existingDomain.getTld());
DomainResource newDomain =
denyPendingTransfer(existingDomain, TransferStatus.CLIENT_REJECTED, now);
handleExtraFlowLogic(existingDomain.getTld(), historyEntry, existingDomain);
ofy().save().<ImmutableObject>entities(
newDomain,
historyEntry,
@ -105,4 +106,16 @@ public final class DomainTransferRejectFlow implements TransactionalFlow {
.setResData(createTransferResponse(targetId, newDomain.getTransferData(), null))
.build();
}
private void handleExtraFlowLogic(
String tld, HistoryEntry historyEntry, DomainResource existingDomain) throws EppException {
Optional<RegistryExtraFlowLogic> extraFlowLogic =
RegistryExtraFlowLogicProxy.newInstanceForTld(tld);
if (extraFlowLogic.isPresent()) {
extraFlowLogic.get().performAdditionalDomainTransferRejectLogic(
existingDomain,
clientId,
historyEntry);
}
}
}

View file

@ -382,7 +382,7 @@ public final class DomainTransferRequestFlow implements TransactionalFlow {
Optional<RegistryExtraFlowLogic> extraFlowLogic =
RegistryExtraFlowLogicProxy.newInstanceForDomain(existingDomain);
if (extraFlowLogic.isPresent()) {
extraFlowLogic.get().performAdditionalDomainTransferLogic(
extraFlowLogic.get().performAdditionalDomainTransferRequestLogic(
existingDomain,
gainingClientId,
now,

View file

@ -126,8 +126,26 @@ public interface RegistryExtraFlowLogic {
EppInput eppInput,
HistoryEntry historyEntry) throws EppException;
/** Performs additional tasks required for a transfer command. */
public void performAdditionalDomainTransferLogic(
/** Performs additional tasks required for a domain transfer approve command. */
public void performAdditionalDomainTransferApproveLogic(
DomainResource domain,
String clientId,
HistoryEntry historyEntry) throws EppException;
/** Performs additional tasks required for a domain transfer cancel command. */
public void performAdditionalDomainTransferCancelLogic(
DomainResource domain,
String clientId,
HistoryEntry historyEntry) throws EppException;
/** Performs additional tasks required for a domain transfer reject command. */
public void performAdditionalDomainTransferRejectLogic(
DomainResource domain,
String clientId,
HistoryEntry historyEntry) throws EppException;
/** Performs additional tasks required for a transfer request command. */
public void performAdditionalDomainTransferRequestLogic(
DomainResource domain,
String clientId,
DateTime asOfDate,