Scope down lastTransferTime to only ContactResource, DomainResource

and HostResource.

DomainApplication is not transferable and has no need for this
field. HostResource needs it because it can be transferred with
a domain.

This is all in service of removing the ofy().load() inside of
host's cloneProjectedAtTime.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=139346925
This commit is contained in:
cgoldfeder 2016-11-16 10:18:31 -08:00 committed by Ben McIlwain
parent 5368489987
commit fdc8ceb6bb
15 changed files with 121 additions and 56 deletions

View file

@ -125,6 +125,14 @@ public class ContactResource extends EppResource
@XmlTransient
TransferData transferData;
/**
* The time that this resource was last transferred.
*
* <p>Can be null if the resource has never been transferred.
*/
@XmlElement(name = "trDate")
DateTime lastTransferTime;
// If any new fields are added which contain personal information, make sure they are cleared by
// the wipeOut() function, so that data is not kept around for deleted contacts.
@ -170,6 +178,11 @@ public class ContactResource extends EppResource
return Optional.fromNullable(transferData).or(TransferData.EMPTY);
}
@Override
public DateTime getLastTransferTime() {
return lastTransferTime;
}
@Override
public String getForeignKey() {
return contactId;
@ -275,6 +288,12 @@ public class ContactResource extends EppResource
return this;
}
@Override
public Builder setLastTransferTime(DateTime lastTransferTime) {
getInstance().lastTransferTime = lastTransferTime;
return thisCastToDerived();
}
/**
* Remove all personally identifying information about a contact.
*