diff --git a/core/src/main/java/google/registry/model/domain/DomainContent.java b/core/src/main/java/google/registry/model/domain/DomainContent.java index 47c83bf76..d538a19b3 100644 --- a/core/src/main/java/google/registry/model/domain/DomainContent.java +++ b/core/src/main/java/google/registry/model/domain/DomainContent.java @@ -337,6 +337,10 @@ public class DomainContent extends EppResource nullToEmptyImmutableCopy(dsData).stream() .map(dsData -> dsData.cloneWithDomainRepoId(getRepoId())) .collect(toImmutableSet()); + + if (transferData != null) { + transferData.convertVKeys(); + } } @PostLoad diff --git a/core/src/main/java/google/registry/model/poll/PollMessage.java b/core/src/main/java/google/registry/model/poll/PollMessage.java index fc641b76b..76625581f 100644 --- a/core/src/main/java/google/registry/model/poll/PollMessage.java +++ b/core/src/main/java/google/registry/model/poll/PollMessage.java @@ -295,7 +295,7 @@ public abstract class PollMessage extends ImmutableObject @Transient @ImmutableObject.DoNotCompare List domainPendingActionNotificationResponses; - @Transient List domainTransferResponses; + @Transient @ImmutableObject.DoNotCompare List domainTransferResponses; @Transient List hostPendingActionNotificationResponses; diff --git a/core/src/main/java/google/registry/model/transfer/DomainTransferData.java b/core/src/main/java/google/registry/model/transfer/DomainTransferData.java index 32a6682bf..57e4d7f50 100644 --- a/core/src/main/java/google/registry/model/transfer/DomainTransferData.java +++ b/core/src/main/java/google/registry/model/transfer/DomainTransferData.java @@ -144,6 +144,16 @@ public class DomainTransferData extends TransferData rootKey, serverApproveAutorenewPollMessage, serverApproveAutorenewPollMessageHistoryId); } + /** + * Fix the VKey "kind" for the PollMessage keys. + * + *

For use by DomainBase/DomainHistory OnLoad methods ONLY. + */ + public void convertVKeys() { + serverApproveAutorenewPollMessage = + PollMessage.Autorenew.convertVKey(serverApproveAutorenewPollMessage); + } + @SuppressWarnings("unused") // For Hibernate. private void loadServerApproveBillingEventHistoryId( @AlsoLoad("serverApproveBillingEvent") VKey val) { diff --git a/core/src/main/java/google/registry/model/transfer/TransferData.java b/core/src/main/java/google/registry/model/transfer/TransferData.java index 5ca29497a..b6b1cbcb8 100644 --- a/core/src/main/java/google/registry/model/transfer/TransferData.java +++ b/core/src/main/java/google/registry/model/transfer/TransferData.java @@ -15,6 +15,7 @@ package google.registry.model.transfer; import static com.google.common.collect.ImmutableList.toImmutableList; +import static google.registry.model.ImmutableObject.DoNotCompare; import static google.registry.util.CollectionUtils.isNullOrEmpty; import static google.registry.util.CollectionUtils.nullToEmpty; import static google.registry.util.CollectionUtils.nullToEmptyImmutableCopy; @@ -76,6 +77,7 @@ public abstract class TransferData< * be deleted. */ @Transient + @DoNotCompare @IgnoreSave(IfNull.class) Set> serverApproveEntities; diff --git a/core/src/test/java/google/registry/flows/domain/DomainDeleteFlowTest.java b/core/src/test/java/google/registry/flows/domain/DomainDeleteFlowTest.java index db60e9951..f60db23c3 100644 --- a/core/src/test/java/google/registry/flows/domain/DomainDeleteFlowTest.java +++ b/core/src/test/java/google/registry/flows/domain/DomainDeleteFlowTest.java @@ -112,7 +112,7 @@ class DomainDeleteFlowTest extends ResourceFlowTestCase