mirror of
https://github.com/google/nomulus
synced 2026-09-12 11:06:29 +00:00
Populate the host in HostHistory objects in Host flows (#1129)
* Populate the host in HostHistory objects in Host flows
This commit is contained in:
@@ -95,7 +95,7 @@ public final class ContactCreateFlow implements TransactionalFlow {
|
||||
.setType(HistoryEntry.Type.CONTACT_CREATE)
|
||||
.setModificationTime(now)
|
||||
.setXmlBytes(null) // We don't want to store contact details in the history entry.
|
||||
.setContactBase(newContact);
|
||||
.setContact(newContact);
|
||||
tm().insertAll(
|
||||
ImmutableSet.of(
|
||||
newContact,
|
||||
|
||||
@@ -125,7 +125,7 @@ public final class ContactDeleteFlow implements TransactionalFlow {
|
||||
historyBuilder
|
||||
.setType(historyEntryType)
|
||||
.setModificationTime(now)
|
||||
.setContactBase(newContact)
|
||||
.setContact(newContact)
|
||||
.build();
|
||||
if (!tm().isOfy()) {
|
||||
handlePendingTransferOnDelete(existingContact, newContact, now, contactHistory);
|
||||
|
||||
@@ -91,7 +91,7 @@ public final class ContactTransferApproveFlow implements TransactionalFlow {
|
||||
historyBuilder
|
||||
.setType(HistoryEntry.Type.CONTACT_TRANSFER_APPROVE)
|
||||
.setModificationTime(now)
|
||||
.setContactBase(newContact)
|
||||
.setContact(newContact)
|
||||
.build();
|
||||
// Create a poll message for the gaining client.
|
||||
PollMessage gainingPollMessage =
|
||||
|
||||
@@ -87,7 +87,7 @@ public final class ContactTransferCancelFlow implements TransactionalFlow {
|
||||
historyBuilder
|
||||
.setType(HistoryEntry.Type.CONTACT_TRANSFER_CANCEL)
|
||||
.setModificationTime(now)
|
||||
.setContactBase(newContact)
|
||||
.setContact(newContact)
|
||||
.build();
|
||||
// Create a poll message for the losing client.
|
||||
PollMessage losingPollMessage =
|
||||
|
||||
@@ -85,7 +85,7 @@ public final class ContactTransferRejectFlow implements TransactionalFlow {
|
||||
historyBuilder
|
||||
.setType(HistoryEntry.Type.CONTACT_TRANSFER_REJECT)
|
||||
.setModificationTime(now)
|
||||
.setContactBase(newContact)
|
||||
.setContact(newContact)
|
||||
.build();
|
||||
PollMessage gainingPollMessage =
|
||||
createGainingTransferPollMessage(
|
||||
|
||||
@@ -153,7 +153,7 @@ public final class ContactTransferRequestFlow implements TransactionalFlow {
|
||||
tm().update(newContact);
|
||||
tm().insertAll(
|
||||
ImmutableSet.of(
|
||||
historyBuilder.setContactBase(newContact).build(),
|
||||
historyBuilder.setContact(newContact).build(),
|
||||
requestPollMessage,
|
||||
serverApproveGainingPollMessage,
|
||||
serverApproveLosingPollMessage));
|
||||
|
||||
@@ -149,7 +149,7 @@ public final class ContactUpdateFlow implements TransactionalFlow {
|
||||
.setType(HistoryEntry.Type.CONTACT_UPDATE)
|
||||
.setModificationTime(now)
|
||||
.setXmlBytes(null) // We don't want to store contact details in the history entry.
|
||||
.setContactBase(newContact);
|
||||
.setContact(newContact);
|
||||
tm().insert(historyBuilder.build());
|
||||
tm().update(newContact);
|
||||
return responseBuilder.build();
|
||||
|
||||
@@ -502,7 +502,7 @@ public class DomainCreateFlow implements TransactionalFlow {
|
||||
.setType(HistoryEntry.Type.DOMAIN_CREATE)
|
||||
.setPeriod(period)
|
||||
.setModificationTime(now)
|
||||
.setDomainContent(domain)
|
||||
.setDomain(domain)
|
||||
.build();
|
||||
}
|
||||
|
||||
|
||||
@@ -331,7 +331,7 @@ public final class DomainDeleteFlow implements TransactionalFlow {
|
||||
return historyBuilder
|
||||
.setType(HistoryEntry.Type.DOMAIN_DELETE)
|
||||
.setModificationTime(now)
|
||||
.setDomainContent(domain)
|
||||
.setDomain(domain)
|
||||
.build();
|
||||
}
|
||||
|
||||
|
||||
@@ -233,7 +233,7 @@ public final class DomainRenewFlow implements TransactionalFlow {
|
||||
.setType(HistoryEntry.Type.DOMAIN_RENEW)
|
||||
.setPeriod(period)
|
||||
.setModificationTime(now)
|
||||
.setDomainContent(newDomain)
|
||||
.setDomain(newDomain)
|
||||
.setDomainTransactionRecords(
|
||||
ImmutableSet.of(
|
||||
DomainTransactionRecord.create(
|
||||
|
||||
@@ -190,7 +190,7 @@ public final class DomainRestoreRequestFlow implements TransactionalFlow {
|
||||
return historyBuilder
|
||||
.setType(HistoryEntry.Type.DOMAIN_RESTORE)
|
||||
.setModificationTime(now)
|
||||
.setDomainContent(newDomain)
|
||||
.setDomain(newDomain)
|
||||
.setDomainTransactionRecords(
|
||||
ImmutableSet.of(
|
||||
DomainTransactionRecord.create(
|
||||
|
||||
@@ -243,7 +243,7 @@ public final class DomainTransferApproveFlow implements TransactionalFlow {
|
||||
.setType(HistoryEntry.Type.DOMAIN_TRANSFER_APPROVE)
|
||||
.setModificationTime(now)
|
||||
.setOtherClientId(gainingClientId)
|
||||
.setDomainContent(newDomain)
|
||||
.setDomain(newDomain)
|
||||
.setDomainTransactionRecords(
|
||||
union(
|
||||
cancelingRecords,
|
||||
|
||||
@@ -132,7 +132,7 @@ public final class DomainTransferCancelFlow implements TransactionalFlow {
|
||||
return historyBuilder
|
||||
.setType(HistoryEntry.Type.DOMAIN_TRANSFER_CANCEL)
|
||||
.setModificationTime(now)
|
||||
.setDomainContent(newDomain)
|
||||
.setDomain(newDomain)
|
||||
.setDomainTransactionRecords(cancelingRecords)
|
||||
.build();
|
||||
}
|
||||
|
||||
@@ -137,7 +137,7 @@ public final class DomainTransferRejectFlow implements TransactionalFlow {
|
||||
union(
|
||||
cancelingRecords,
|
||||
DomainTransactionRecord.create(newDomain.getTld(), now, TRANSFER_NACKED, 1)))
|
||||
.setDomainContent(newDomain)
|
||||
.setDomain(newDomain)
|
||||
.build();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -318,7 +318,7 @@ public final class DomainTransferRequestFlow implements TransactionalFlow {
|
||||
.setType(HistoryEntry.Type.DOMAIN_TRANSFER_REQUEST)
|
||||
.setPeriod(period)
|
||||
.setModificationTime(now)
|
||||
.setDomainContent(newDomain)
|
||||
.setDomain(newDomain)
|
||||
.setDomainTransactionRecords(
|
||||
ImmutableSet.of(
|
||||
DomainTransactionRecord.create(
|
||||
|
||||
@@ -221,7 +221,7 @@ public final class DomainUpdateFlow implements TransactionalFlow {
|
||||
return historyBuilder
|
||||
.setType(HistoryEntry.Type.DOMAIN_UPDATE)
|
||||
.setModificationTime(now)
|
||||
.setDomainContent(newDomain)
|
||||
.setDomain(newDomain)
|
||||
.build();
|
||||
}
|
||||
|
||||
|
||||
@@ -45,6 +45,7 @@ import google.registry.model.eppinput.ResourceCommand;
|
||||
import google.registry.model.eppoutput.CreateData.HostCreateData;
|
||||
import google.registry.model.eppoutput.EppResponse;
|
||||
import google.registry.model.host.HostCommand.Create;
|
||||
import google.registry.model.host.HostHistory;
|
||||
import google.registry.model.host.HostResource;
|
||||
import google.registry.model.index.EppResourceIndex;
|
||||
import google.registry.model.index.ForeignKeyIndex;
|
||||
@@ -85,7 +86,7 @@ public final class HostCreateFlow implements TransactionalFlow {
|
||||
@Inject ExtensionManager extensionManager;
|
||||
@Inject @ClientId String clientId;
|
||||
@Inject @TargetId String targetId;
|
||||
@Inject HistoryEntry.Builder historyBuilder;
|
||||
@Inject HostHistory.Builder historyBuilder;
|
||||
@Inject DnsQueue dnsQueue;
|
||||
@Inject EppResponse.Builder responseBuilder;
|
||||
|
||||
@@ -128,14 +129,11 @@ public final class HostCreateFlow implements TransactionalFlow {
|
||||
.setRepoId(createRepoId(ObjectifyService.allocateId(), roidSuffix))
|
||||
.setSuperordinateDomain(superordinateDomain.map(DomainBase::createVKey).orElse(null))
|
||||
.build();
|
||||
historyBuilder
|
||||
.setType(HistoryEntry.Type.HOST_CREATE)
|
||||
.setModificationTime(now)
|
||||
.setParent(Key.create(newHost));
|
||||
historyBuilder.setType(HistoryEntry.Type.HOST_CREATE).setModificationTime(now).setHost(newHost);
|
||||
ImmutableSet<ImmutableObject> entitiesToSave =
|
||||
ImmutableSet.of(
|
||||
newHost,
|
||||
historyBuilder.build().toChildHistoryEntity(),
|
||||
historyBuilder.build(),
|
||||
ForeignKeyIndex.create(newHost, newHost.getDeletionTime()),
|
||||
EppResourceIndex.create(Key.create(newHost)));
|
||||
if (superordinateDomain.isPresent()) {
|
||||
|
||||
@@ -130,7 +130,7 @@ public final class HostDeleteFlow implements TransactionalFlow {
|
||||
historyEntryType = Type.HOST_DELETE;
|
||||
resultCode = SUCCESS;
|
||||
}
|
||||
historyBuilder.setType(historyEntryType).setModificationTime(now).setHostBase(newHost);
|
||||
historyBuilder.setType(historyEntryType).setModificationTime(now).setHost(newHost);
|
||||
tm().insert(historyBuilder.build());
|
||||
tm().update(newHost);
|
||||
return responseBuilder.setResultFromCode(resultCode).build();
|
||||
|
||||
@@ -31,7 +31,6 @@ import static google.registry.persistence.transaction.TransactionManagerFactory.
|
||||
import static google.registry.util.CollectionUtils.isNullOrEmpty;
|
||||
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import com.googlecode.objectify.Key;
|
||||
import google.registry.batch.AsyncTaskEnqueuer;
|
||||
import google.registry.dns.DnsQueue;
|
||||
import google.registry.flows.EppException;
|
||||
@@ -55,6 +54,7 @@ import google.registry.model.eppoutput.EppResponse;
|
||||
import google.registry.model.host.HostCommand.Update;
|
||||
import google.registry.model.host.HostCommand.Update.AddRemove;
|
||||
import google.registry.model.host.HostCommand.Update.Change;
|
||||
import google.registry.model.host.HostHistory;
|
||||
import google.registry.model.host.HostResource;
|
||||
import google.registry.model.index.ForeignKeyIndex;
|
||||
import google.registry.model.reporting.HistoryEntry;
|
||||
@@ -116,7 +116,7 @@ public final class HostUpdateFlow implements TransactionalFlow {
|
||||
@Inject @ClientId String clientId;
|
||||
@Inject @TargetId String targetId;
|
||||
@Inject @Superuser boolean isSuperuser;
|
||||
@Inject HistoryEntry.Builder historyBuilder;
|
||||
@Inject HostHistory.Builder historyBuilder;
|
||||
@Inject AsyncTaskEnqueuer asyncTaskEnqueuer;
|
||||
@Inject DnsQueue dnsQueue;
|
||||
@Inject EppResponse.Builder responseBuilder;
|
||||
@@ -205,9 +205,8 @@ public final class HostUpdateFlow implements TransactionalFlow {
|
||||
historyBuilder
|
||||
.setType(HistoryEntry.Type.HOST_UPDATE)
|
||||
.setModificationTime(now)
|
||||
.setParent(Key.create(existingHost))
|
||||
.build()
|
||||
.toChildHistoryEntity());
|
||||
.setHost(newHost)
|
||||
.build());
|
||||
tm().updateAll(entitiesToUpdate.build());
|
||||
tm().insertAll(entitiesToInsert.build());
|
||||
return responseBuilder.build();
|
||||
|
||||
@@ -197,7 +197,7 @@ public class ContactHistory extends HistoryEntry implements SqlEntity {
|
||||
super(instance);
|
||||
}
|
||||
|
||||
public Builder setContactBase(@Nullable ContactBase contactBase) {
|
||||
public Builder setContact(@Nullable ContactBase contactBase) {
|
||||
// Nullable for the sake of pre-Registry-3.0 history objects
|
||||
if (contactBase == null) {
|
||||
return this;
|
||||
|
||||
@@ -345,7 +345,7 @@ public class DomainHistory extends HistoryEntry implements SqlEntity {
|
||||
super(instance);
|
||||
}
|
||||
|
||||
public Builder setDomainContent(@Nullable DomainContent domainContent) {
|
||||
public Builder setDomain(@Nullable DomainContent domainContent) {
|
||||
// Nullable for the sake of pre-Registry-3.0 history objects
|
||||
if (domainContent == null) {
|
||||
return this;
|
||||
|
||||
@@ -110,6 +110,9 @@ public class HostHistory extends HistoryEntry implements SqlEntity {
|
||||
if (hostBase != null && hostBase.getHostName() == null) {
|
||||
hostBase = null;
|
||||
}
|
||||
if (hostBase != null && hostBase.getRepoId() == null) {
|
||||
hostBase = hostBase.asBuilder().setRepoId(parent.getName()).build();
|
||||
}
|
||||
}
|
||||
|
||||
// In Datastore, save as a HistoryEntry object regardless of this object's type
|
||||
@@ -195,7 +198,7 @@ public class HostHistory extends HistoryEntry implements SqlEntity {
|
||||
super(instance);
|
||||
}
|
||||
|
||||
public Builder setHostBase(@Nullable HostBase hostBase) {
|
||||
public Builder setHost(@Nullable HostBase hostBase) {
|
||||
// Nullable for the sake of pre-Registry-3.0 history objects
|
||||
if (hostBase == null) {
|
||||
return this;
|
||||
|
||||
Reference in New Issue
Block a user