Get rid of ReferenceUnions entirely

This is the third and final phase in the migration away from ReferenceUnions.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=138778148
This commit is contained in:
mcilwain 2016-11-10 10:46:16 -08:00 committed by Ben McIlwain
parent 8d97fa5858
commit 780a5add78
14 changed files with 5 additions and 148 deletions

View file

@ -19,7 +19,6 @@ import static com.google.common.collect.Maps.newHashMap;
import static com.google.common.collect.Sets.newHashSet;
import static com.google.common.truth.Truth.assertThat;
import static google.registry.model.ImmutableObject.cloneEmptyToNull;
import static google.registry.testing.DatastoreHelper.persistActiveContact;
import static google.registry.testing.DatastoreHelper.persistResource;
import static google.registry.util.DateTimeUtils.START_OF_TIME;
@ -31,7 +30,6 @@ import com.googlecode.objectify.Key;
import com.googlecode.objectify.ObjectifyService;
import com.googlecode.objectify.annotation.Entity;
import com.googlecode.objectify.annotation.Id;
import google.registry.model.domain.ReferenceUnion;
import google.registry.testing.AppEngineRule;
import google.registry.util.CidrAddressBlock;
import java.util.ArrayDeque;
@ -255,6 +253,7 @@ public class ImmutableObjectTest {
/** Subclass of ImmutableObject with keys to other objects. */
public static class RootObject extends ImmutableObject {
Key<ValueObject> hydrateMe;
@DoNotHydrate
@ -263,8 +262,6 @@ public class ImmutableObjectTest {
Map<String, Key<ValueObject>> map;
Set<Key<ValueObject>> set;
ReferenceUnion<?> referenceUnion;
}
/** Simple subclass of ImmutableObject. */
@ -308,11 +305,4 @@ public class ImmutableObjectTest {
root.set = ImmutableSet.of(Key.create(persistResource(ValueObject.create(1, "foo"))));
assertThat(root.toHydratedString()).contains("foo");
}
@Test
public void testToHydratedString_expandsReferenceUnions() {
RootObject root = new RootObject();
root.referenceUnion = ReferenceUnion.create(Key.create(persistActiveContact("foo")));
assertThat(root.toHydratedString()).contains("foo");
}
}

View file

@ -130,10 +130,8 @@ public class DomainApplicationTest extends EntityTestCase {
domainApplication.asBuilder().setPeriod(Period.create(5, Period.Unit.YEARS)).build());
verifyIndexing(
domainApplication,
"allContacts.contactId.linked",
"allContacts.contact",
"fullyQualifiedDomainName",
"nameservers.linked",
"nsHosts",
"deletionTime",
"currentSponsorClientId",

View file

@ -23,8 +23,6 @@ import static google.registry.testing.DatastoreHelper.cloneAndSetAutoTimestamps;
import static google.registry.testing.DatastoreHelper.createTld;
import static google.registry.testing.DatastoreHelper.newDomainResource;
import static google.registry.testing.DatastoreHelper.newHostResource;
import static google.registry.testing.DatastoreHelper.persistActiveContact;
import static google.registry.testing.DatastoreHelper.persistActiveHost;
import static google.registry.testing.DatastoreHelper.persistResource;
import static google.registry.testing.DomainResourceSubject.assertAboutDomains;
import static google.registry.util.DateTimeUtils.START_OF_TIME;
@ -174,10 +172,8 @@ public class DomainResourceTest extends EntityTestCase {
public void testIndexing() throws Exception {
verifyIndexing(
domain,
"allContacts.contactId.linked",
"allContacts.contact",
"fullyQualifiedDomainName",
"nameservers.linked",
"nsHosts",
"currentSponsorClientId",
"deletionTime",
@ -455,28 +451,4 @@ public class DomainResourceTest extends EntityTestCase {
public void testToHydratedString_notCircular() {
domain.toHydratedString(); // If there are circular references, this will overflow the stack.
}
// TODO(b/28713909): Remove these tests once ReferenceUnion migration is complete.
@Test
public void testDualSavingOfDesignatedContact() {
ContactResource contact = persistActiveContact("time1006");
DesignatedContact designatedContact = new DesignatedContact();
designatedContact.contact = Key.create(contact);
designatedContact.type = Type.ADMIN;
DomainResource domainWithContact =
domain.asBuilder().setContacts(ImmutableSet.of(designatedContact)).build();
assertThat(getOnlyElement(domainWithContact.getContacts()).contactId).isNull();
DomainResource reloadedDomain = persistResource(domainWithContact);
assertThat(getOnlyElement(reloadedDomain.getContacts()).contactId)
.isEqualTo(ReferenceUnion.create(Key.create(contact)));
}
@Test
public void testDualSavingOfNameservers() {
HostResource host = persistActiveHost("zzz.xxx.yyy");
DomainResource domain = newDomainResource("python-django-unchained.com", host);
assertThat(domain.nameservers).isNull();
DomainResource djangoReloaded = persistResource(domain);
assertThat(djangoReloaded.nameservers).containsExactly(ReferenceUnion.create(Key.create(host)));
}
}

View file

@ -189,7 +189,6 @@ enum google.registry.model.contact.PostalInfo$Type {
class google.registry.model.domain.DesignatedContact {
com.googlecode.objectify.Key<google.registry.model.contact.ContactResource> contact;
google.registry.model.domain.DesignatedContact$Type type;
google.registry.model.domain.ReferenceUnion<google.registry.model.contact.ContactResource> contactId;
}
enum google.registry.model.domain.DesignatedContact$Type {
ADMIN;
@ -218,7 +217,6 @@ class google.registry.model.domain.DomainApplication {
java.util.List<google.registry.model.smd.EncodedSignedMark> encodedSignedMarks;
java.util.Set<com.googlecode.objectify.Key<google.registry.model.host.HostResource>> nsHosts;
java.util.Set<google.registry.model.domain.DesignatedContact> allContacts;
java.util.Set<google.registry.model.domain.ReferenceUnion<google.registry.model.host.HostResource>> nameservers;
java.util.Set<google.registry.model.domain.secdns.DelegationSignerData> dsData;
java.util.Set<google.registry.model.eppcommon.StatusValue> status;
org.joda.money.Money auctionPrice;
@ -245,7 +243,6 @@ class google.registry.model.domain.DomainBase {
java.lang.String tld;
java.util.Set<com.googlecode.objectify.Key<google.registry.model.host.HostResource>> nsHosts;
java.util.Set<google.registry.model.domain.DesignatedContact> allContacts;
java.util.Set<google.registry.model.domain.ReferenceUnion<google.registry.model.host.HostResource>> nameservers;
java.util.Set<google.registry.model.domain.secdns.DelegationSignerData> dsData;
java.util.Set<google.registry.model.eppcommon.StatusValue> status;
org.joda.time.DateTime deletionTime;
@ -274,7 +271,6 @@ class google.registry.model.domain.DomainResource {
java.util.Set<com.googlecode.objectify.Key<google.registry.model.host.HostResource>> nsHosts;
java.util.Set<google.registry.model.domain.DesignatedContact> allContacts;
java.util.Set<google.registry.model.domain.GracePeriod> gracePeriods;
java.util.Set<google.registry.model.domain.ReferenceUnion<google.registry.model.host.HostResource>> nameservers;
java.util.Set<google.registry.model.domain.secdns.DelegationSignerData> dsData;
java.util.Set<google.registry.model.eppcommon.StatusValue> status;
java.util.Set<java.lang.String> subordinateHosts;
@ -307,9 +303,6 @@ enum google.registry.model.domain.Period$Unit {
MONTHS;
YEARS;
}
class google.registry.model.domain.ReferenceUnion {
com.googlecode.objectify.Key<T> linked;
}
enum google.registry.model.domain.launch.ApplicationStatus {
ALLOCATED;
INVALID;