From aacd834e16caab8e9be2568d698b4142f4f1ad45 Mon Sep 17 00:00:00 2001 From: Ben McIlwain Date: Mon, 29 Aug 2022 14:48:32 -0400 Subject: [PATCH] Rename ContactResource -> Contact (#1763) * Rename ContactResource -> Contact This is a follow-up to PR #1725 and #1733. Now all EPP resource entity class names have been rationalized to match with their SQL table names. --- .../batch/DeleteLoadTestDataAction.java | 10 +- .../registry/beam/common/JpaDemoPipeline.java | 5 +- .../google/registry/beam/rde/RdePipeline.java | 30 ++-- .../resave/ResaveAllEppResourcesPipeline.java | 10 +- .../default/WEB-INF/datastore-indexes.xml | 4 +- .../registry/flows/ResourceFlowUtils.java | 9 +- .../flows/contact/ContactCheckFlow.java | 4 +- .../flows/contact/ContactCreateFlow.java | 8 +- .../flows/contact/ContactDeleteFlow.java | 8 +- .../flows/contact/ContactFlowUtils.java | 4 +- .../flows/contact/ContactInfoFlow.java | 4 +- .../contact/ContactTransferApproveFlow.java | 8 +- .../contact/ContactTransferCancelFlow.java | 6 +- .../contact/ContactTransferQueryFlow.java | 5 +- .../contact/ContactTransferRejectFlow.java | 6 +- .../contact/ContactTransferRequestFlow.java | 14 +- .../flows/contact/ContactUpdateFlow.java | 8 +- .../flows/domain/DomainFlowUtils.java | 20 +-- .../google/registry/model/EntityClasses.java | 4 +- .../registry/model/EppResourceUtils.java | 8 +- .../registry/model/ResourceTransferUtils.java | 8 +- .../{ContactResource.java => Contact.java} | 35 ++-- .../registry/model/contact/ContactBase.java | 16 +- .../model/contact/ContactCommand.java | 20 +-- .../model/contact/ContactHistory.java | 15 +- .../model/contact/ContactPhoneNumber.java | 8 +- .../model/domain/DesignatedContact.java | 10 +- .../registry/model/domain/DomainBase.java | 22 +-- .../registry/model/domain/DomainCommand.java | 12 +- .../registry/model/eppcommon/StatusValue.java | 10 +- .../registry/model/index/ForeignKeyIndex.java | 10 +- .../google/registry/model/package-info.java | 2 +- .../registry/model/poll/PollMessage.java | 6 +- .../model/reporting/HistoryEntry.java | 6 +- .../model/reporting/HistoryEntryDao.java | 4 +- .../EppHistoryVKeyTranslatorFactory.java | 2 +- .../registry/rdap/RdapEntityAction.java | 10 +- .../registry/rdap/RdapEntitySearchAction.java | 43 +++-- .../registry/rdap/RdapJsonFormatter.java | 46 +++--- ...verter.java => ContactToXjcConverter.java} | 16 +- .../registry/rde/DomainToXjcConverter.java | 8 +- .../google/registry/rde/RdeFragmenter.java | 6 +- .../google/registry/rde/RdeMarshaller.java | 10 +- .../google/registry/rde/RdeStagingAction.java | 6 +- .../registry/tools/CommandUtilities.java | 4 +- .../registry/tools/GetContactCommand.java | 4 +- .../params/EppResourceTypeParameter.java | 4 +- .../registry/whois/DomainWhoisResponse.java | 24 ++- .../main/resources/META-INF/persistence.xml | 4 +- .../registry/batch/AsyncTaskEnqueuerTest.java | 8 +- .../WipeOutContactHistoryPiiActionTest.java | 25 ++- .../beam/common/RegistryJpaReadTest.java | 19 +-- .../beam/common/RegistryJpaWriteTest.java | 18 +- .../registry/beam/rde/RdePipelineTest.java | 10 +- .../ResaveAllEppResourcesPipelineTest.java | 10 +- .../beam/spec11/Spec11PipelineTest.java | 10 +- .../flows/contact/ContactCheckFlowTest.java | 4 +- .../flows/contact/ContactCreateFlowTest.java | 12 +- .../flows/contact/ContactDeleteFlowTest.java | 12 +- .../flows/contact/ContactInfoFlowTest.java | 26 +-- .../ContactTransferApproveFlowTest.java | 6 +- .../ContactTransferCancelFlowTest.java | 6 +- .../contact/ContactTransferFlowTestCase.java | 17 +- .../contact/ContactTransferQueryFlowTest.java | 6 +- .../ContactTransferRejectFlowTest.java | 6 +- .../ContactTransferRequestFlowTest.java | 6 +- .../flows/contact/ContactUpdateFlowTest.java | 154 ++++++++++-------- .../flows/domain/DomainCreateFlowTest.java | 5 +- .../flows/domain/DomainDeleteFlowTest.java | 8 +- .../flows/domain/DomainInfoFlowTest.java | 10 +- .../domain/DomainTransferFlowTestCase.java | 4 +- .../flows/domain/DomainUpdateFlowTest.java | 26 ++- .../registry/flows/poll/PollAckFlowTest.java | 6 +- .../flows/poll/PollRequestFlowTest.java | 4 +- .../registry/model/EppResourceTest.java | 8 +- .../model/bulkquery/TestSetupHelper.java | 12 +- .../model/common/ClassPathManagerTest.java | 6 +- ...tactResourceTest.java => ContactTest.java} | 75 ++++----- .../registry/model/domain/DomainSqlTest.java | 18 +- .../registry/model/domain/DomainTest.java | 8 +- .../registry/model/eppinput/EppInputTest.java | 4 +- .../model/history/ContactHistoryTest.java | 18 +- .../model/history/DomainHistoryTest.java | 6 +- .../registry/model/ofy/OfyFilterTest.java | 6 +- .../google/registry/model/ofy/OfyTest.java | 13 +- .../registry/model/poll/PollMessageTest.java | 4 +- .../reporting/Spec11ThreatMatchDaoTest.java | 4 +- .../reporting/Spec11ThreatMatchTest.java | 9 +- .../registry/rdap/RdapDomainActionTest.java | 72 ++++---- .../rdap/RdapDomainSearchActionTest.java | 49 +++--- .../registry/rdap/RdapEntityActionTest.java | 75 +++++---- .../rdap/RdapEntitySearchActionTest.java | 32 ++-- .../registry/rdap/RdapJsonFormatterTest.java | 111 ++++++------- .../rdap/RdapNameserverSearchActionTest.java | 16 +- ...st.java => ContactToXjcConverterTest.java} | 42 ++--- .../rde/DomainToXjcConverterTest.java | 12 +- .../java/google/registry/rde/RdeFixtures.java | 13 +- .../integration/SqlIntegrationTestSuite.java | 4 +- .../java/google/registry/server/Fixture.java | 113 +++++++------ .../testing/AppEngineExtensionTest.java | 4 +- ...sourceSubject.java => ContactSubject.java} | 50 +++--- .../registry/testing/DatabaseHelper.java | 37 ++--- .../testing/FullFieldsTestEntityHelper.java | 95 +++++------ .../registry/tools/GetContactCommandTest.java | 23 ++- .../registry/tools/GetDomainCommandTest.java | 2 +- .../tools/UnrenewDomainCommandTest.java | 6 +- .../tools/UpdateDomainCommandTest.java | 20 +-- .../whois/DomainWhoisResponseTest.java | 20 +-- .../registry/whois/WhoisActionTest.java | 115 ++++++++----- .../registry/whois/WhoisHttpActionTest.java | 83 ++++++---- .../google/registry/export/backup_kinds.txt | 2 +- .../registry/export/reporting_kinds.txt | 2 +- .../google/registry/model/schema.txt | 52 +++--- docs/architecture.md | 6 +- docs/code-structure.md | 11 +- .../scripts/testdata/datastore-indexes.xml | 4 +- 116 files changed, 1118 insertions(+), 1108 deletions(-) rename core/src/main/java/google/registry/model/contact/{ContactResource.java => Contact.java} (77%) rename core/src/main/java/google/registry/rde/{ContactResourceToXjcConverter.java => ContactToXjcConverter.java} (94%) rename core/src/test/java/google/registry/model/contact/{ContactResourceTest.java => ContactTest.java} (81%) rename core/src/test/java/google/registry/rde/{ContactResourceToXjcConverterTest.java => ContactToXjcConverterTest.java} (92%) rename core/src/test/java/google/registry/testing/{ContactResourceSubject.java => ContactSubject.java} (67%) diff --git a/core/src/main/java/google/registry/batch/DeleteLoadTestDataAction.java b/core/src/main/java/google/registry/batch/DeleteLoadTestDataAction.java index 30d29da9e..cb2b87edd 100644 --- a/core/src/main/java/google/registry/batch/DeleteLoadTestDataAction.java +++ b/core/src/main/java/google/registry/batch/DeleteLoadTestDataAction.java @@ -29,7 +29,7 @@ import google.registry.config.RegistryEnvironment; import google.registry.flows.poll.PollFlowUtils; import google.registry.model.EppResource; import google.registry.model.EppResourceUtils; -import google.registry.model.contact.ContactResource; +import google.registry.model.contact.Contact; import google.registry.model.domain.Domain; import google.registry.model.host.Host; import google.registry.model.poll.PollMessage; @@ -43,8 +43,8 @@ import google.registry.util.Clock; import javax.inject.Inject; /** - * Hard deletes load-test ContactResources, Hosts, their subordinate history entries, and the - * associated ForeignKey and EppResourceIndex entities. + * Hard deletes load-test Contacts, Hosts, their subordinate history entries, and the associated + * ForeignKey and EppResourceIndex entities. * *

This only deletes contacts and hosts, NOT domains. To delete domains, use {@link * DeleteProberDataAction} and pass it the TLD(s) that the load test domains were created on. Note @@ -92,7 +92,7 @@ public class DeleteLoadTestDataAction implements Runnable { tm().transact( () -> { LOAD_TEST_REGISTRARS.forEach(this::deletePollMessages); - tm().loadAllOfStream(ContactResource.class).forEach(this::deleteContact); + tm().loadAllOfStream(Contact.class).forEach(this::deleteContact); tm().loadAllOfStream(Host.class).forEach(this::deleteHost); }); } @@ -108,7 +108,7 @@ public class DeleteLoadTestDataAction implements Runnable { } } - private void deleteContact(ContactResource contact) { + private void deleteContact(Contact contact) { if (!LOAD_TEST_REGISTRARS.contains(contact.getPersistedCurrentSponsorRegistrarId())) { return; } diff --git a/core/src/main/java/google/registry/beam/common/JpaDemoPipeline.java b/core/src/main/java/google/registry/beam/common/JpaDemoPipeline.java index b52408186..2a76cf5ab 100644 --- a/core/src/main/java/google/registry/beam/common/JpaDemoPipeline.java +++ b/core/src/main/java/google/registry/beam/common/JpaDemoPipeline.java @@ -17,7 +17,7 @@ package google.registry.beam.common; import static com.google.common.base.Verify.verify; import static google.registry.persistence.transaction.TransactionManagerFactory.jpaTm; -import google.registry.model.contact.ContactResource; +import google.registry.model.contact.Contact; import google.registry.persistence.transaction.CriteriaQueryBuilder; import google.registry.persistence.transaction.JpaTransactionManager; import java.io.Serializable; @@ -46,8 +46,7 @@ public class JpaDemoPipeline implements Serializable { .apply( "Read contacts", RegistryJpaIO.read( - () -> CriteriaQueryBuilder.create(ContactResource.class).build(), - ContactResource::getRepoId)) + () -> CriteriaQueryBuilder.create(Contact.class).build(), Contact::getRepoId)) .apply( "Count Contacts", ParDo.of( diff --git a/core/src/main/java/google/registry/beam/rde/RdePipeline.java b/core/src/main/java/google/registry/beam/rde/RdePipeline.java index 0bb7b9a24..442eb8657 100644 --- a/core/src/main/java/google/registry/beam/rde/RdePipeline.java +++ b/core/src/main/java/google/registry/beam/rde/RdePipeline.java @@ -45,8 +45,8 @@ import google.registry.config.CredentialModule; import google.registry.config.RegistryConfig.ConfigModule; import google.registry.gcs.GcsUtils; import google.registry.model.EppResource; +import google.registry.model.contact.Contact; import google.registry.model.contact.ContactHistory; -import google.registry.model.contact.ContactResource; import google.registry.model.domain.Domain; import google.registry.model.domain.DomainHistory; import google.registry.model.host.Host; @@ -140,7 +140,7 @@ import org.joda.time.DateTime; * pairs of (contact/host repo ID: pending deposit) for all RDE pending deposits for further * processing. * - *

{@link ContactResource}

+ *

{@link Contact}

* * We first join most recent contact histories, represented by (contact repo ID: contact history * revision ID) pairs, with referenced contacts, represented by (contact repo ID: pending deposit) @@ -150,13 +150,13 @@ import org.joda.time.DateTime; * *

{@link Host}

* - * Similar to {@link ContactResource}, we join the most recent host history with referenced hosts to - * find most recent referenced hosts. For external hosts we do the same treatment as we did on - * contacts and obtain the (pending deposit: deposit fragment) pairs. For subordinate hosts, we need - * to find the superordinate domain in order to properly handle pending transfer in the deposit as - * well. So we first find the superordinate domain repo ID from the host and join the (superordinate - * domain repo ID: (subordinate host repo ID: (pending deposit: revision ID))) pair with the (domain - * repo ID: revision ID) pair obtained from the domain history query in order to map the host at + * Similar to {@link Contact}, we join the most recent host history with referenced hosts to find + * most recent referenced hosts. For external hosts we do the same treatment as we did on contacts + * and obtain the (pending deposit: deposit fragment) pairs. For subordinate hosts, we need to find + * the superordinate domain in order to properly handle pending transfer in the deposit as well. So + * we first find the superordinate domain repo ID from the host and join the (superordinate domain + * repo ID: (subordinate host repo ID: (pending deposit: revision ID))) pair with the (domain repo + * ID: revision ID) pair obtained from the domain history query in order to map the host at * watermark to the domain at watermark. We then proceed to create the (pending deposit: deposit * fragment) pair for subordinate hosts using the added domain information. * @@ -466,10 +466,10 @@ public class RdePipeline implements Serializable { private PCollectionTuple processDomainHistories(PCollection> domainHistories) { Counter activeDomainCounter = Metrics.counter("RDE", "ActiveDomainBase"); Counter domainFragmentCounter = Metrics.counter("RDE", "DomainFragment"); - Counter referencedContactCounter = Metrics.counter("RDE", "ReferencedContactResource"); + Counter referencedContactCounter = Metrics.counter("RDE", "ReferencedContact"); Counter referencedHostCounter = Metrics.counter("RDE", "ReferencedHost"); return domainHistories.apply( - "Map DomainHistory to DepositFragment " + "and emit referenced ContactResource and Host", + "Map DomainHistory to DepositFragment " + "and emit referenced Contact and Host", ParDo.of( new DoFn, KV>() { @ProcessElement @@ -533,17 +533,17 @@ public class RdePipeline implements Serializable { PCollection> referencedContacts, PCollection> contactHistories) { Counter contactFragmentCounter = Metrics.counter("RDE", "ContactFragment"); - return removeUnreferencedResource(referencedContacts, contactHistories, ContactResource.class) + return removeUnreferencedResource(referencedContacts, contactHistories, Contact.class) .apply( - "Map ContactResource to DepositFragment", + "Map Contact to DepositFragment", FlatMapElements.into( kvs( TypeDescriptor.of(PendingDeposit.class), TypeDescriptor.of(DepositFragment.class))) .via( (KV kv) -> { - ContactResource contact = - (ContactResource) + Contact contact = + (Contact) loadResourceByHistoryEntryId( ContactHistory.class, kv.getKey(), diff --git a/core/src/main/java/google/registry/beam/resave/ResaveAllEppResourcesPipeline.java b/core/src/main/java/google/registry/beam/resave/ResaveAllEppResourcesPipeline.java index 52a9bd827..54529a4b7 100644 --- a/core/src/main/java/google/registry/beam/resave/ResaveAllEppResourcesPipeline.java +++ b/core/src/main/java/google/registry/beam/resave/ResaveAllEppResourcesPipeline.java @@ -22,7 +22,7 @@ import com.google.common.collect.ImmutableSet; import google.registry.beam.common.RegistryJpaIO; import google.registry.beam.common.RegistryJpaIO.Read; import google.registry.model.EppResource; -import google.registry.model.contact.ContactResource; +import google.registry.model.contact.Contact; import google.registry.model.domain.Domain; import google.registry.model.domain.DomainBase; import google.registry.model.host.Host; @@ -53,7 +53,7 @@ import org.joda.time.DateTime; public class ResaveAllEppResourcesPipeline implements Serializable { private static final ImmutableSet> EPP_RESOURCE_CLASSES = - ImmutableSet.of(ContactResource.class, Domain.class, Host.class); + ImmutableSet.of(Contact.class, Domain.class, Host.class); /** * There exist three possible situations where we know we'll want to project domains to the @@ -99,13 +99,13 @@ public class ResaveAllEppResourcesPipeline implements Serializable { /** Projects to the current time and saves any contacts with expired transfers. */ private void fastResaveContacts(Pipeline pipeline) { - Read read = + Read read = RegistryJpaIO.read( "FROM Contact WHERE transferData.transferStatus = 'PENDING' AND" + " transferData.pendingTransferExpirationTime < current_timestamp()", - ContactResource.class, + Contact.class, c -> c); - projectAndResaveResources(pipeline, ContactResource.class, read); + projectAndResaveResources(pipeline, Contact.class, read); } /** diff --git a/core/src/main/java/google/registry/env/common/default/WEB-INF/datastore-indexes.xml b/core/src/main/java/google/registry/env/common/default/WEB-INF/datastore-indexes.xml index eba8edb84..f11245fc3 100644 --- a/core/src/main/java/google/registry/env/common/default/WEB-INF/datastore-indexes.xml +++ b/core/src/main/java/google/registry/env/common/default/WEB-INF/datastore-indexes.xml @@ -1,6 +1,6 @@ - + @@ -91,7 +91,7 @@ - + diff --git a/core/src/main/java/google/registry/flows/ResourceFlowUtils.java b/core/src/main/java/google/registry/flows/ResourceFlowUtils.java index f39aaf02f..2248af63e 100644 --- a/core/src/main/java/google/registry/flows/ResourceFlowUtils.java +++ b/core/src/main/java/google/registry/flows/ResourceFlowUtils.java @@ -38,7 +38,7 @@ import google.registry.flows.exceptions.TooManyResourceChecksException; import google.registry.model.EppResource; import google.registry.model.EppResource.ForeignKeyedEppResource; import google.registry.model.EppResource.ResourceWithTransferData; -import google.registry.model.contact.ContactResource; +import google.registry.model.contact.Contact; import google.registry.model.domain.Domain; import google.registry.model.domain.DomainBase; import google.registry.model.domain.Period; @@ -139,7 +139,7 @@ public final class ResourceFlowUtils { } /** Check that the given AuthInfo is either missing or else is valid for the given resource. */ - public static void verifyOptionalAuthInfo(Optional authInfo, ContactResource contact) + public static void verifyOptionalAuthInfo(Optional authInfo, Contact contact) throws EppException { if (authInfo.isPresent()) { verifyAuthInfo(authInfo.get(), contact); @@ -167,7 +167,7 @@ public final class ResourceFlowUtils { return; } // The roid should match one of the contacts. - Optional> foundContact = + Optional> foundContact = domain.getReferencedContacts().stream() .filter(key -> key.getSqlKey().equals(authRepoId)) .findFirst(); @@ -179,8 +179,7 @@ public final class ResourceFlowUtils { } /** Check that the given {@link AuthInfo} is valid for the given contact. */ - public static void verifyAuthInfo(AuthInfo authInfo, ContactResource contact) - throws EppException { + public static void verifyAuthInfo(AuthInfo authInfo, Contact contact) throws EppException { String authRepoId = authInfo.getPw().getRepoId(); String authPassword = authInfo.getPw().getValue(); String contactPassword = contact.getAuthInfo().getPw().getValue(); diff --git a/core/src/main/java/google/registry/flows/contact/ContactCheckFlow.java b/core/src/main/java/google/registry/flows/contact/ContactCheckFlow.java index ee66602d7..7f799c4c6 100644 --- a/core/src/main/java/google/registry/flows/contact/ContactCheckFlow.java +++ b/core/src/main/java/google/registry/flows/contact/ContactCheckFlow.java @@ -26,8 +26,8 @@ import google.registry.flows.ExtensionManager; import google.registry.flows.Flow; import google.registry.flows.FlowModule.RegistrarId; import google.registry.flows.annotations.ReportingSpec; +import google.registry.model.contact.Contact; import google.registry.model.contact.ContactCommand.Check; -import google.registry.model.contact.ContactResource; import google.registry.model.eppinput.ResourceCommand; import google.registry.model.eppoutput.CheckData.ContactCheck; import google.registry.model.eppoutput.CheckData.ContactCheckData; @@ -62,7 +62,7 @@ public final class ContactCheckFlow implements Flow { ImmutableList targetIds = ((Check) resourceCommand).getTargetIds(); verifyTargetIdCount(targetIds, maxChecks); ImmutableSet existingIds = - checkResourcesExist(ContactResource.class, targetIds, clock.nowUtc()); + checkResourcesExist(Contact.class, targetIds, clock.nowUtc()); ImmutableList.Builder checks = new ImmutableList.Builder<>(); for (String id : targetIds) { boolean unused = !existingIds.contains(id); diff --git a/core/src/main/java/google/registry/flows/contact/ContactCreateFlow.java b/core/src/main/java/google/registry/flows/contact/ContactCreateFlow.java index 00c1230dd..d17c43842 100644 --- a/core/src/main/java/google/registry/flows/contact/ContactCreateFlow.java +++ b/core/src/main/java/google/registry/flows/contact/ContactCreateFlow.java @@ -33,9 +33,9 @@ import google.registry.flows.TransactionalFlow; import google.registry.flows.annotations.ReportingSpec; import google.registry.flows.exceptions.ResourceAlreadyExistsForThisClientException; import google.registry.flows.exceptions.ResourceCreateContentionException; +import google.registry.model.contact.Contact; import google.registry.model.contact.ContactCommand.Create; import google.registry.model.contact.ContactHistory; -import google.registry.model.contact.ContactResource; import google.registry.model.domain.metadata.MetadataExtension; import google.registry.model.eppinput.ResourceCommand; import google.registry.model.eppoutput.CreateData.ContactCreateData; @@ -75,9 +75,9 @@ public final class ContactCreateFlow implements TransactionalFlow { extensionManager.validate(); Create command = (Create) resourceCommand; DateTime now = tm().getTransactionTime(); - verifyResourceDoesNotExist(ContactResource.class, targetId, now, registrarId); - ContactResource newContact = - new ContactResource.Builder() + verifyResourceDoesNotExist(Contact.class, targetId, now, registrarId); + Contact newContact = + new Contact.Builder() .setContactId(targetId) .setAuthInfo(command.getAuthInfo()) .setCreationRegistrarId(registrarId) diff --git a/core/src/main/java/google/registry/flows/contact/ContactDeleteFlow.java b/core/src/main/java/google/registry/flows/contact/ContactDeleteFlow.java index 6e5a53627..938fba9fb 100644 --- a/core/src/main/java/google/registry/flows/contact/ContactDeleteFlow.java +++ b/core/src/main/java/google/registry/flows/contact/ContactDeleteFlow.java @@ -35,8 +35,8 @@ import google.registry.flows.FlowModule.Superuser; import google.registry.flows.FlowModule.TargetId; import google.registry.flows.TransactionalFlow; import google.registry.flows.annotations.ReportingSpec; +import google.registry.model.contact.Contact; import google.registry.model.contact.ContactHistory; -import google.registry.model.contact.ContactResource; import google.registry.model.domain.metadata.MetadataExtension; import google.registry.model.eppcommon.AuthInfo; import google.registry.model.eppcommon.StatusValue; @@ -91,15 +91,15 @@ public final class ContactDeleteFlow implements TransactionalFlow { validateRegistrarIsLoggedIn(registrarId); extensionManager.validate(); DateTime now = tm().getTransactionTime(); - checkLinkedDomains(targetId, now, ContactResource.class); - ContactResource existingContact = loadAndVerifyExistence(ContactResource.class, targetId, now); + checkLinkedDomains(targetId, now, Contact.class); + Contact existingContact = loadAndVerifyExistence(Contact.class, targetId, now); verifyNoDisallowedStatuses(existingContact, DISALLOWED_STATUSES); verifyOptionalAuthInfo(authInfo, existingContact); if (!isSuperuser) { verifyResourceOwnership(registrarId, existingContact); } // Handle pending transfers on contact deletion. - ContactResource newContact = + Contact newContact = existingContact.getStatusValues().contains(StatusValue.PENDING_TRANSFER) ? denyPendingTransfer(existingContact, SERVER_CANCELLED, now, registrarId) : existingContact; diff --git a/core/src/main/java/google/registry/flows/contact/ContactFlowUtils.java b/core/src/main/java/google/registry/flows/contact/ContactFlowUtils.java index 143cbc9f7..16049b344 100644 --- a/core/src/main/java/google/registry/flows/contact/ContactFlowUtils.java +++ b/core/src/main/java/google/registry/flows/contact/ContactFlowUtils.java @@ -24,10 +24,10 @@ import com.googlecode.objectify.Key; import google.registry.flows.EppException; import google.registry.flows.EppException.ParameterValuePolicyErrorException; import google.registry.flows.EppException.ParameterValueSyntaxErrorException; +import google.registry.model.contact.Contact; import google.registry.model.contact.ContactAddress; import google.registry.model.contact.ContactHistory; import google.registry.model.contact.ContactHistory.ContactHistoryId; -import google.registry.model.contact.ContactResource; import google.registry.model.contact.PostalInfo; import google.registry.model.poll.PendingActionNotificationResponse.ContactPendingActionNotificationResponse; import google.registry.model.poll.PollMessage; @@ -61,7 +61,7 @@ public class ContactFlowUtils { } /** Check contact's state against server policy. */ - static void validateContactAgainstPolicy(ContactResource contact) throws EppException { + static void validateContactAgainstPolicy(Contact contact) throws EppException { if (contact.getDisclose() != null && !contact.getDisclose().getFlag()) { throw new DeclineContactDisclosureFieldDisallowedPolicyException(); } diff --git a/core/src/main/java/google/registry/flows/contact/ContactInfoFlow.java b/core/src/main/java/google/registry/flows/contact/ContactInfoFlow.java index b21609c94..c042621ee 100644 --- a/core/src/main/java/google/registry/flows/contact/ContactInfoFlow.java +++ b/core/src/main/java/google/registry/flows/contact/ContactInfoFlow.java @@ -27,8 +27,8 @@ import google.registry.flows.FlowModule.RegistrarId; import google.registry.flows.FlowModule.Superuser; import google.registry.flows.FlowModule.TargetId; import google.registry.flows.annotations.ReportingSpec; +import google.registry.model.contact.Contact; import google.registry.model.contact.ContactInfoData; -import google.registry.model.contact.ContactResource; import google.registry.model.eppcommon.AuthInfo; import google.registry.model.eppcommon.StatusValue; import google.registry.model.eppoutput.EppResponse; @@ -69,7 +69,7 @@ public final class ContactInfoFlow implements Flow { DateTime now = clock.nowUtc(); validateRegistrarIsLoggedIn(registrarId); extensionManager.validate(); // There are no legal extensions for this flow. - ContactResource contact = loadAndVerifyExistence(ContactResource.class, targetId, now); + Contact contact = loadAndVerifyExistence(Contact.class, targetId, now); if (!isSuperuser) { verifyResourceOwnership(registrarId, contact); } diff --git a/core/src/main/java/google/registry/flows/contact/ContactTransferApproveFlow.java b/core/src/main/java/google/registry/flows/contact/ContactTransferApproveFlow.java index a7bd4ca9f..05e4c05a4 100644 --- a/core/src/main/java/google/registry/flows/contact/ContactTransferApproveFlow.java +++ b/core/src/main/java/google/registry/flows/contact/ContactTransferApproveFlow.java @@ -33,8 +33,8 @@ import google.registry.flows.FlowModule.RegistrarId; import google.registry.flows.FlowModule.TargetId; import google.registry.flows.TransactionalFlow; import google.registry.flows.annotations.ReportingSpec; +import google.registry.model.contact.Contact; import google.registry.model.contact.ContactHistory; -import google.registry.model.contact.ContactResource; import google.registry.model.domain.metadata.MetadataExtension; import google.registry.model.eppcommon.AuthInfo; import google.registry.model.eppinput.ResourceCommand; @@ -74,7 +74,7 @@ public final class ContactTransferApproveFlow implements TransactionalFlow { /** * The logic in this flow, which handles client approvals, very closely parallels the logic in - * {@link ContactResource#cloneProjectedAtTime} which handles implicit server approvals. + * {@link Contact#cloneProjectedAtTime} which handles implicit server approvals. */ @Override public EppResponse run() throws EppException { @@ -82,11 +82,11 @@ public final class ContactTransferApproveFlow implements TransactionalFlow { validateRegistrarIsLoggedIn(registrarId); extensionManager.validate(); DateTime now = tm().getTransactionTime(); - ContactResource existingContact = loadAndVerifyExistence(ContactResource.class, targetId, now); + Contact existingContact = loadAndVerifyExistence(Contact.class, targetId, now); verifyOptionalAuthInfo(authInfo, existingContact); verifyHasPendingTransfer(existingContact); verifyResourceOwnership(registrarId, existingContact); - ContactResource newContact = + Contact newContact = approvePendingTransfer(existingContact, TransferStatus.CLIENT_APPROVED, now); ContactHistory contactHistory = historyBuilder.setType(CONTACT_TRANSFER_APPROVE).setContact(newContact).build(); diff --git a/core/src/main/java/google/registry/flows/contact/ContactTransferCancelFlow.java b/core/src/main/java/google/registry/flows/contact/ContactTransferCancelFlow.java index 80f2b9678..15f38265a 100644 --- a/core/src/main/java/google/registry/flows/contact/ContactTransferCancelFlow.java +++ b/core/src/main/java/google/registry/flows/contact/ContactTransferCancelFlow.java @@ -33,8 +33,8 @@ import google.registry.flows.FlowModule.RegistrarId; import google.registry.flows.FlowModule.TargetId; import google.registry.flows.TransactionalFlow; import google.registry.flows.annotations.ReportingSpec; +import google.registry.model.contact.Contact; import google.registry.model.contact.ContactHistory; -import google.registry.model.contact.ContactResource; import google.registry.model.domain.metadata.MetadataExtension; import google.registry.model.eppcommon.AuthInfo; import google.registry.model.eppinput.ResourceCommand; @@ -78,11 +78,11 @@ public final class ContactTransferCancelFlow implements TransactionalFlow { validateRegistrarIsLoggedIn(registrarId); extensionManager.validate(); DateTime now = tm().getTransactionTime(); - ContactResource existingContact = loadAndVerifyExistence(ContactResource.class, targetId, now); + Contact existingContact = loadAndVerifyExistence(Contact.class, targetId, now); verifyOptionalAuthInfo(authInfo, existingContact); verifyHasPendingTransfer(existingContact); verifyTransferInitiator(registrarId, existingContact); - ContactResource newContact = + Contact newContact = denyPendingTransfer(existingContact, TransferStatus.CLIENT_CANCELLED, now, registrarId); ContactHistory contactHistory = historyBuilder.setType(CONTACT_TRANSFER_CANCEL).setContact(newContact).build(); diff --git a/core/src/main/java/google/registry/flows/contact/ContactTransferQueryFlow.java b/core/src/main/java/google/registry/flows/contact/ContactTransferQueryFlow.java index d2e47dbd2..f92a959a2 100644 --- a/core/src/main/java/google/registry/flows/contact/ContactTransferQueryFlow.java +++ b/core/src/main/java/google/registry/flows/contact/ContactTransferQueryFlow.java @@ -27,7 +27,7 @@ import google.registry.flows.FlowModule.TargetId; import google.registry.flows.annotations.ReportingSpec; import google.registry.flows.exceptions.NoTransferHistoryToQueryException; import google.registry.flows.exceptions.NotAuthorizedToViewTransferException; -import google.registry.model.contact.ContactResource; +import google.registry.model.contact.Contact; import google.registry.model.eppcommon.AuthInfo; import google.registry.model.eppoutput.EppResponse; import google.registry.model.reporting.IcannReportingTypes.ActivityReportField; @@ -66,8 +66,7 @@ public final class ContactTransferQueryFlow implements Flow { public EppResponse run() throws EppException { validateRegistrarIsLoggedIn(registrarId); extensionManager.validate(); // There are no legal extensions for this flow. - ContactResource contact = - loadAndVerifyExistence(ContactResource.class, targetId, clock.nowUtc()); + Contact contact = loadAndVerifyExistence(Contact.class, targetId, clock.nowUtc()); verifyOptionalAuthInfo(authInfo, contact); // Most of the fields on the transfer response are required, so there's no way to return valid // XML if the object has never been transferred (and hence the fields aren't populated). diff --git a/core/src/main/java/google/registry/flows/contact/ContactTransferRejectFlow.java b/core/src/main/java/google/registry/flows/contact/ContactTransferRejectFlow.java index 63b9a7d3a..5c801e474 100644 --- a/core/src/main/java/google/registry/flows/contact/ContactTransferRejectFlow.java +++ b/core/src/main/java/google/registry/flows/contact/ContactTransferRejectFlow.java @@ -33,8 +33,8 @@ import google.registry.flows.FlowModule.RegistrarId; import google.registry.flows.FlowModule.TargetId; import google.registry.flows.TransactionalFlow; import google.registry.flows.annotations.ReportingSpec; +import google.registry.model.contact.Contact; import google.registry.model.contact.ContactHistory; -import google.registry.model.contact.ContactResource; import google.registry.model.domain.metadata.MetadataExtension; import google.registry.model.eppcommon.AuthInfo; import google.registry.model.eppoutput.EppResponse; @@ -76,11 +76,11 @@ public final class ContactTransferRejectFlow implements TransactionalFlow { validateRegistrarIsLoggedIn(registrarId); extensionManager.validate(); DateTime now = tm().getTransactionTime(); - ContactResource existingContact = loadAndVerifyExistence(ContactResource.class, targetId, now); + Contact existingContact = loadAndVerifyExistence(Contact.class, targetId, now); verifyOptionalAuthInfo(authInfo, existingContact); verifyHasPendingTransfer(existingContact); verifyResourceOwnership(registrarId, existingContact); - ContactResource newContact = + Contact newContact = denyPendingTransfer(existingContact, TransferStatus.CLIENT_REJECTED, now, registrarId); ContactHistory contactHistory = historyBuilder.setType(CONTACT_TRANSFER_REJECT).setContact(newContact).build(); diff --git a/core/src/main/java/google/registry/flows/contact/ContactTransferRequestFlow.java b/core/src/main/java/google/registry/flows/contact/ContactTransferRequestFlow.java index 9bf469eec..65b3dda25 100644 --- a/core/src/main/java/google/registry/flows/contact/ContactTransferRequestFlow.java +++ b/core/src/main/java/google/registry/flows/contact/ContactTransferRequestFlow.java @@ -38,8 +38,8 @@ import google.registry.flows.TransactionalFlow; import google.registry.flows.annotations.ReportingSpec; import google.registry.flows.exceptions.AlreadyPendingTransferException; import google.registry.flows.exceptions.ObjectAlreadySponsoredException; +import google.registry.model.contact.Contact; import google.registry.model.contact.ContactHistory; -import google.registry.model.contact.ContactResource; import google.registry.model.domain.metadata.MetadataExtension; import google.registry.model.eppcommon.AuthInfo; import google.registry.model.eppcommon.StatusValue; @@ -96,7 +96,7 @@ public final class ContactTransferRequestFlow implements TransactionalFlow { validateRegistrarIsLoggedIn(gainingClientId); extensionManager.validate(); DateTime now = tm().getTransactionTime(); - ContactResource existingContact = loadAndVerifyExistence(ContactResource.class, targetId, now); + Contact existingContact = loadAndVerifyExistence(Contact.class, targetId, now); verifyAuthInfoPresentForResourceTransfer(authInfo); verifyAuthInfo(authInfo.get(), existingContact); // Verify that the resource does not already have a pending transfer. @@ -146,10 +146,12 @@ public final class ContactTransferRequestFlow implements TransactionalFlow { .asBuilder() .setEventTime(now) // Unlike the serverApprove messages, this applies immediately. .build(); - ContactResource newContact = existingContact.asBuilder() - .setTransferData(pendingTransferData) - .addStatusValue(StatusValue.PENDING_TRANSFER) - .build(); + Contact newContact = + existingContact + .asBuilder() + .setTransferData(pendingTransferData) + .addStatusValue(StatusValue.PENDING_TRANSFER) + .build(); tm().update(newContact); tm().insertAll( ImmutableSet.of( diff --git a/core/src/main/java/google/registry/flows/contact/ContactUpdateFlow.java b/core/src/main/java/google/registry/flows/contact/ContactUpdateFlow.java index ebbd81b2c..40abc1909 100644 --- a/core/src/main/java/google/registry/flows/contact/ContactUpdateFlow.java +++ b/core/src/main/java/google/registry/flows/contact/ContactUpdateFlow.java @@ -36,10 +36,10 @@ import google.registry.flows.FlowModule.TargetId; import google.registry.flows.TransactionalFlow; import google.registry.flows.annotations.ReportingSpec; import google.registry.flows.exceptions.ResourceHasClientUpdateProhibitedException; +import google.registry.model.contact.Contact; import google.registry.model.contact.ContactCommand.Update; import google.registry.model.contact.ContactCommand.Update.Change; import google.registry.model.contact.ContactHistory; -import google.registry.model.contact.ContactResource; import google.registry.model.contact.PostalInfo; import google.registry.model.domain.metadata.MetadataExtension; import google.registry.model.eppcommon.AuthInfo; @@ -94,7 +94,7 @@ public final class ContactUpdateFlow implements TransactionalFlow { extensionManager.validate(); Update command = (Update) resourceCommand; DateTime now = tm().getTransactionTime(); - ContactResource existingContact = loadAndVerifyExistence(ContactResource.class, targetId, now); + Contact existingContact = loadAndVerifyExistence(Contact.class, targetId, now); verifyOptionalAuthInfo(authInfo, existingContact); ImmutableSet statusToRemove = command.getInnerRemove().getStatusValues(); ImmutableSet statusesToAdd = command.getInnerAdd().getStatusValues(); @@ -104,7 +104,7 @@ public final class ContactUpdateFlow implements TransactionalFlow { } verifyNoDisallowedStatuses(existingContact, DISALLOWED_STATUSES); checkSameValuesNotAddedAndRemoved(statusesToAdd, statusToRemove); - ContactResource.Builder builder = existingContact.asBuilder(); + Contact.Builder builder = existingContact.asBuilder(); Change change = command.getInnerChange(); // The spec requires the following behaviors: // * If you update part of a postal info, the fields that you didn't update are unchanged. @@ -126,7 +126,7 @@ public final class ContactUpdateFlow implements TransactionalFlow { builder.setInternationalizedPostalInfo(null); } } - ContactResource newContact = + Contact newContact = builder .setLastEppUpdateTime(now) .setLastEppUpdateRegistrarId(registrarId) diff --git a/core/src/main/java/google/registry/flows/domain/DomainFlowUtils.java b/core/src/main/java/google/registry/flows/domain/DomainFlowUtils.java index f5f642395..7e8a7c7fd 100644 --- a/core/src/main/java/google/registry/flows/domain/DomainFlowUtils.java +++ b/core/src/main/java/google/registry/flows/domain/DomainFlowUtils.java @@ -79,7 +79,7 @@ import google.registry.model.billing.BillingEvent; import google.registry.model.billing.BillingEvent.Flag; import google.registry.model.billing.BillingEvent.Reason; import google.registry.model.billing.BillingEvent.Recurring; -import google.registry.model.contact.ContactResource; +import google.registry.model.contact.Contact; import google.registry.model.domain.DesignatedContact; import google.registry.model.domain.DesignatedContact.Type; import google.registry.model.domain.Domain; @@ -380,9 +380,7 @@ public class DomainFlowUtils { /** Verify that no linked resources have disallowed statuses. */ static void verifyNotInPendingDelete( - Set contacts, - VKey registrant, - Set> nameservers) + Set contacts, VKey registrant, Set> nameservers) throws EppException { ImmutableList.Builder> keysToLoad = new ImmutableList.Builder<>(); contacts.stream().map(DesignatedContact::getContactKey).forEach(keysToLoad::add); @@ -427,7 +425,7 @@ public class DomainFlowUtils { static void validateNoDuplicateContacts(Set contacts) throws ParameterValuePolicyErrorException { - ImmutableMultimap> contactsByType = + ImmutableMultimap> contactsByType = contacts.stream() .collect( toImmutableSetMultimap( @@ -436,15 +434,13 @@ public class DomainFlowUtils { // If any contact type has multiple contacts: if (contactsByType.asMap().values().stream().anyMatch(v -> v.size() > 1)) { // Find the duplicates. - Map>> dupeKeysMap = + Map>> dupeKeysMap = Maps.filterEntries(contactsByType.asMap(), e -> e.getValue().size() > 1); - ImmutableList> dupeKeys = + ImmutableList> dupeKeys = dupeKeysMap.values().stream().flatMap(Collection::stream).collect(toImmutableList()); // Load the duplicates in one batch. - Map, ContactResource> dupeContacts = - tm().loadByKeys(dupeKeys); - ImmutableMultimap.Builder> typesMap = - new ImmutableMultimap.Builder<>(); + Map, Contact> dupeContacts = tm().loadByKeys(dupeKeys); + ImmutableMultimap.Builder> typesMap = new ImmutableMultimap.Builder<>(); dupeKeysMap.forEach(typesMap::putAll); // Create an error message showing the type and contact IDs of the duplicates. throw new DuplicateContactForRoleException( @@ -453,7 +449,7 @@ public class DomainFlowUtils { } static void validateRequiredContactsPresent( - @Nullable VKey registrant, Set contacts) + @Nullable VKey registrant, Set contacts) throws RequiredParameterMissingException { if (registrant == null) { throw new MissingRegistrantException(); diff --git a/core/src/main/java/google/registry/model/EntityClasses.java b/core/src/main/java/google/registry/model/EntityClasses.java index 822146390..3466d54bc 100644 --- a/core/src/main/java/google/registry/model/EntityClasses.java +++ b/core/src/main/java/google/registry/model/EntityClasses.java @@ -18,8 +18,8 @@ import com.google.common.collect.ImmutableSet; import google.registry.model.annotations.DeleteAfterMigration; import google.registry.model.common.EntityGroupRoot; import google.registry.model.common.GaeUserIdConverter; +import google.registry.model.contact.Contact; import google.registry.model.contact.ContactHistory; -import google.registry.model.contact.ContactResource; import google.registry.model.domain.Domain; import google.registry.model.domain.DomainHistory; import google.registry.model.domain.token.AllocationToken; @@ -42,8 +42,8 @@ public final class EntityClasses { public static final ImmutableSet> ALL_CLASSES = ImmutableSet.of( AllocationToken.class, + Contact.class, ContactHistory.class, - ContactResource.class, Domain.class, DomainHistory.class, EntityGroupRoot.class, diff --git a/core/src/main/java/google/registry/model/EppResourceUtils.java b/core/src/main/java/google/registry/model/EppResourceUtils.java index da4ba7249..04b25cf58 100644 --- a/core/src/main/java/google/registry/model/EppResourceUtils.java +++ b/core/src/main/java/google/registry/model/EppResourceUtils.java @@ -32,7 +32,7 @@ import google.registry.config.RegistryConfig; import google.registry.model.EppResource.BuilderWithTransferData; import google.registry.model.EppResource.ForeignKeyedEppResource; import google.registry.model.EppResource.ResourceWithTransferData; -import google.registry.model.contact.ContactResource; +import google.registry.model.contact.Contact; import google.registry.model.domain.Domain; import google.registry.model.eppcommon.StatusValue; import google.registry.model.host.Host; @@ -345,10 +345,10 @@ public final class EppResourceUtils { public static ImmutableSet> getLinkedDomainKeys( VKey key, DateTime now, @Nullable Integer limit) { checkArgument( - key.getKind().equals(ContactResource.class) || key.getKind().equals(Host.class), - "key must be either VKey or VKey, but it is %s", + key.getKind().equals(Contact.class) || key.getKind().equals(Host.class), + "key must be either VKey or VKey, but it is %s", key); - boolean isContactKey = key.getKind().equals(ContactResource.class); + boolean isContactKey = key.getKind().equals(Contact.class); if (tm().isOfy()) { com.googlecode.objectify.cmd.Query query = auditedOfy() diff --git a/core/src/main/java/google/registry/model/ResourceTransferUtils.java b/core/src/main/java/google/registry/model/ResourceTransferUtils.java index d1ae1dbb7..f4bb48163 100644 --- a/core/src/main/java/google/registry/model/ResourceTransferUtils.java +++ b/core/src/main/java/google/registry/model/ResourceTransferUtils.java @@ -25,7 +25,7 @@ import com.google.common.collect.Sets; import google.registry.model.EppResource.BuilderWithTransferData; import google.registry.model.EppResource.ForeignKeyedEppResource; import google.registry.model.EppResource.ResourceWithTransferData; -import google.registry.model.contact.ContactResource; +import google.registry.model.contact.Contact; import google.registry.model.domain.Domain; import google.registry.model.eppcommon.StatusValue; import google.registry.model.eppcommon.Trid; @@ -60,7 +60,7 @@ public final class ResourceTransferUtils { EppResource eppResource, TransferData transferData) { assertIsContactOrDomain(eppResource); TransferResponse.Builder builder; - if (eppResource instanceof ContactResource) { + if (eppResource instanceof Contact) { builder = new ContactTransferResponse.Builder().setContactId(eppResource.getForeignKey()); } else { DomainTransferData domainTransferData = (DomainTransferData) transferData; @@ -93,7 +93,7 @@ public final class ResourceTransferUtils { boolean actionResult, DateTime processedDate) { assertIsContactOrDomain(eppResource); - return eppResource instanceof ContactResource + return eppResource instanceof Contact ? ContactPendingActionNotificationResponse.create( eppResource.getForeignKey(), actionResult, transferRequestTrid, processedDate) : DomainPendingActionNotificationResponse.create( @@ -101,7 +101,7 @@ public final class ResourceTransferUtils { } private static void assertIsContactOrDomain(EppResource eppResource) { - checkState(eppResource instanceof ContactResource || eppResource instanceof Domain); + checkState(eppResource instanceof Contact || eppResource instanceof Domain); } /** Update the relevant {@link ForeignKeyIndex} to cache the new deletion time. */ diff --git a/core/src/main/java/google/registry/model/contact/ContactResource.java b/core/src/main/java/google/registry/model/contact/Contact.java similarity index 77% rename from core/src/main/java/google/registry/model/contact/ContactResource.java rename to core/src/main/java/google/registry/model/contact/Contact.java index 59c98f772..68eac17b3 100644 --- a/core/src/main/java/google/registry/model/contact/ContactResource.java +++ b/core/src/main/java/google/registry/model/contact/Contact.java @@ -15,7 +15,6 @@ package google.registry.model.contact; import com.googlecode.objectify.Key; -import com.googlecode.objectify.annotation.Entity; import google.registry.model.EppResource.ForeignKeyedEppResource; import google.registry.model.annotations.ExternalMessagingName; import google.registry.model.annotations.ReportedOn; @@ -23,6 +22,10 @@ import google.registry.persistence.VKey; import google.registry.persistence.WithStringVKey; import javax.persistence.Access; import javax.persistence.AccessType; +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.Index; +import javax.persistence.Table; import org.joda.time.DateTime; /** @@ -32,35 +35,35 @@ import org.joda.time.DateTime; */ @ReportedOn @Entity -@javax.persistence.Entity(name = "Contact") -@javax.persistence.Table( +@com.googlecode.objectify.annotation.Entity +@Table( name = "Contact", indexes = { - @javax.persistence.Index(columnList = "creationTime"), - @javax.persistence.Index(columnList = "currentSponsorRegistrarId"), - @javax.persistence.Index(columnList = "deletionTime"), - @javax.persistence.Index(columnList = "contactId"), - @javax.persistence.Index(columnList = "searchName") + @Index(columnList = "creationTime"), + @Index(columnList = "currentSponsorRegistrarId"), + @Index(columnList = "deletionTime"), + @Index(columnList = "contactId"), + @Index(columnList = "searchName") }) @ExternalMessagingName("contact") @WithStringVKey @Access(AccessType.FIELD) -public class ContactResource extends ContactBase implements ForeignKeyedEppResource { +public class Contact extends ContactBase implements ForeignKeyedEppResource { @Override - public VKey createVKey() { - return VKey.create(ContactResource.class, getRepoId(), Key.create(this)); + public VKey createVKey() { + return VKey.create(Contact.class, getRepoId(), Key.create(this)); } @Override - @javax.persistence.Id + @Id @Access(AccessType.PROPERTY) public String getRepoId() { return super.getRepoId(); } @Override - public ContactResource cloneProjectedAtTime(DateTime now) { + public Contact cloneProjectedAtTime(DateTime now) { return ContactBase.cloneContactProjectedAtTime(this, now); } @@ -69,12 +72,12 @@ public class ContactResource extends ContactBase implements ForeignKeyedEppResou return new Builder(clone(this)); } - /** A builder for constructing {@link ContactResource}, since it is immutable. */ - public static class Builder extends ContactBase.Builder { + /** A builder for constructing {@link Contact}, since it is immutable. */ + public static class Builder extends ContactBase.Builder { public Builder() {} - private Builder(ContactResource instance) { + private Builder(Contact instance) { super(instance); } diff --git a/core/src/main/java/google/registry/model/contact/ContactBase.java b/core/src/main/java/google/registry/model/contact/ContactBase.java index 9bbd996d3..031f1f655 100644 --- a/core/src/main/java/google/registry/model/contact/ContactBase.java +++ b/core/src/main/java/google/registry/model/contact/ContactBase.java @@ -67,7 +67,7 @@ public class ContactBase extends EppResource implements ResourceWithTransferData /** * Localized postal info for the contact. All contained values must be representable in the 7-bit - * US-ASCII character set. Personal info; cleared by {@link ContactResource.Builder#wipeOut}. + * US-ASCII character set. Personal info; cleared by {@link Contact.Builder#wipeOut}. */ @Ignore @Embedded @@ -95,7 +95,7 @@ public class ContactBase extends EppResource implements ResourceWithTransferData /** * Internationalized postal info for the contact. Personal info; cleared by {@link - * ContactResource.Builder#wipeOut}. + * Contact.Builder#wipeOut}. */ @Ignore @Embedded @@ -124,11 +124,11 @@ public class ContactBase extends EppResource implements ResourceWithTransferData /** * Contact name used for name searches. This is set automatically to be the internationalized * postal name, or if null, the localized postal name, or if that is null as well, null. Personal - * info; cleared by {@link ContactResource.Builder#wipeOut}. + * info; cleared by {@link Contact.Builder#wipeOut}. */ @Index String searchName; - /** Contact’s voice number. Personal info; cleared by {@link ContactResource.Builder#wipeOut}. */ + /** Contact’s voice number. Personal info; cleared by {@link Contact.Builder#wipeOut}. */ @IgnoreSave(IfNull.class) @Embedded @AttributeOverrides({ @@ -137,7 +137,7 @@ public class ContactBase extends EppResource implements ResourceWithTransferData }) ContactPhoneNumber voice; - /** Contact’s fax number. Personal info; cleared by {@link ContactResource.Builder#wipeOut}. */ + /** Contact’s fax number. Personal info; cleared by {@link Contact.Builder#wipeOut}. */ @IgnoreSave(IfNull.class) @Embedded @AttributeOverrides({ @@ -146,7 +146,7 @@ public class ContactBase extends EppResource implements ResourceWithTransferData }) ContactPhoneNumber fax; - /** Contact’s email address. Personal info; cleared by {@link ContactResource.Builder#wipeOut}. */ + /** Contact’s email address. Personal info; cleared by {@link Contact.Builder#wipeOut}. */ @IgnoreSave(IfNull.class) String email; @@ -188,7 +188,7 @@ public class ContactBase extends EppResource implements ResourceWithTransferData public VKey createVKey() { throw new UnsupportedOperationException( "ContactBase is not an actual persisted entity you can create a key to;" - + " use ContactResource instead"); + + " use Contact instead"); } @OnLoad @@ -292,7 +292,7 @@ public class ContactBase extends EppResource implements ResourceWithTransferData return new Builder<>(clone(this)); } - /** A builder for constructing {@link ContactResource}, since it is immutable. */ + /** A builder for constructing {@link Contact}, since it is immutable. */ public static class Builder> extends EppResource.Builder implements BuilderWithTransferData { diff --git a/core/src/main/java/google/registry/model/contact/ContactCommand.java b/core/src/main/java/google/registry/model/contact/ContactCommand.java index 638ee1ade..df522b097 100644 --- a/core/src/main/java/google/registry/model/contact/ContactCommand.java +++ b/core/src/main/java/google/registry/model/contact/ContactCommand.java @@ -34,13 +34,13 @@ import javax.xml.bind.annotation.XmlType; import javax.xml.bind.annotation.adapters.CollapsedStringAdapter; import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; -/** A collection of {@link ContactResource} commands. */ +/** A collection of {@link Contact} commands. */ public class ContactCommand { /** The fields on "chgType" from RFC5733. */ @XmlTransient public static class ContactCreateOrChange extends ImmutableObject - implements ResourceCreateOrChange { + implements ResourceCreateOrChange { /** Postal info for the contact. */ List postalInfo; @@ -111,13 +111,13 @@ public class ContactCommand { } /** - * A create command for a {@link ContactResource}, mapping "createType" from RFC5733}. */ @XmlType(propOrder = {"contactId", "postalInfo", "voice", "fax", "email", "authInfo", "disclose"}) @XmlRootElement public static class Create extends ContactCreateOrChange - implements SingleResourceCommand, ResourceCreateOrChange { + implements SingleResourceCommand, ResourceCreateOrChange { /** * Unique identifier for this contact. * @@ -139,29 +139,29 @@ public class ContactCommand { } } - /** A delete command for a {@link ContactResource}. */ + /** A delete command for a {@link Contact}. */ @XmlRootElement public static class Delete extends AbstractSingleResourceCommand {} - /** An info request for a {@link ContactResource}. */ + /** An info request for a {@link Contact}. */ @XmlRootElement @XmlType(propOrder = {"targetId", "authInfo"}) public static class Info extends AbstractContactAuthCommand {} - /** A check request for {@link ContactResource}. */ + /** A check request for {@link Contact}. */ @XmlRootElement public static class Check extends ResourceCheck {} - /** A transfer operation for a {@link ContactResource}. */ + /** A transfer operation for a {@link Contact}. */ @XmlRootElement @XmlType(propOrder = {"targetId", "authInfo"}) public static class Transfer extends AbstractContactAuthCommand {} - /** An update to a {@link ContactResource}. */ + /** An update to a {@link Contact}. */ @XmlRootElement @XmlType(propOrder = {"targetId", "innerAdd", "innerRemove", "innerChange"}) public static class Update - extends ResourceUpdate { + extends ResourceUpdate { @XmlElement(name = "chg") protected Change innerChange; diff --git a/core/src/main/java/google/registry/model/contact/ContactHistory.java b/core/src/main/java/google/registry/model/contact/ContactHistory.java index 573149d5f..e02d24aec 100644 --- a/core/src/main/java/google/registry/model/contact/ContactHistory.java +++ b/core/src/main/java/google/registry/model/contact/ContactHistory.java @@ -58,7 +58,7 @@ import javax.persistence.PostLoad; @IdClass(ContactHistoryId.class) public class ContactHistory extends HistoryEntry implements UnsafeSerializable { - // Store ContactBase instead of ContactResource so we don't pick up its @Id + // Store ContactBase instead of Contact so we don't pick up its @Id // Nullable for the sake of pre-Registry-3.0 history objects @DoNotCompare @Nullable ContactBase contactBase; @@ -73,7 +73,7 @@ public class ContactHistory extends HistoryEntry implements UnsafeSerializable { /** This method is private because it is only used by Hibernate. */ @SuppressWarnings("unused") private void setContactRepoId(String contactRepoId) { - parent = Key.create(ContactResource.class, contactRepoId); + parent = Key.create(Contact.class, contactRepoId); } @Id @@ -98,9 +98,9 @@ public class ContactHistory extends HistoryEntry implements UnsafeSerializable { return Optional.ofNullable(contactBase); } - /** The key to the {@link ContactResource} this is based off of. */ - public VKey getParentVKey() { - return VKey.create(ContactResource.class, getContactRepoId()); + /** The key to the {@link Contact} this is based off of. */ + public VKey getParentVKey() { + return VKey.create(Contact.class, getContactRepoId()); } /** Creates a {@link VKey} instance for this entity. */ @@ -112,8 +112,7 @@ public class ContactHistory extends HistoryEntry implements UnsafeSerializable { @Override public Optional getResourceAtPointInTime() { - return getContactBase() - .map(contactBase -> new ContactResource.Builder().copyFrom(contactBase).build()); + return getContactBase().map(contactBase -> new Contact.Builder().copyFrom(contactBase).build()); } @PostLoad @@ -210,7 +209,7 @@ public class ContactHistory extends HistoryEntry implements UnsafeSerializable { } public Builder setContactRepoId(String contactRepoId) { - getInstance().parent = Key.create(ContactResource.class, contactRepoId); + getInstance().parent = Key.create(Contact.class, contactRepoId); return this; } diff --git a/core/src/main/java/google/registry/model/contact/ContactPhoneNumber.java b/core/src/main/java/google/registry/model/contact/ContactPhoneNumber.java index 750622b86..2d2571bc3 100644 --- a/core/src/main/java/google/registry/model/contact/ContactPhoneNumber.java +++ b/core/src/main/java/google/registry/model/contact/ContactPhoneNumber.java @@ -21,11 +21,11 @@ import javax.persistence.Embeddable; /** * EPP Contact Phone Number * - *

This class is embedded inside a {@link ContactResource} hold the phone number of an EPP - * contact. The fields are all defined in the parent class {@link PhoneNumber}, but the subclass is - * still necessary to pick up the contact namespace. + *

This class is embedded inside a {@link Contact} hold the phone number of an EPP contact. The + * fields are all defined in the parent class {@link PhoneNumber}, but the subclass is still + * necessary to pick up the contact namespace. * - * @see ContactResource + * @see Contact */ @Embed @Embeddable diff --git a/core/src/main/java/google/registry/model/domain/DesignatedContact.java b/core/src/main/java/google/registry/model/domain/DesignatedContact.java index e4d1e39a5..6c2fbaca3 100644 --- a/core/src/main/java/google/registry/model/domain/DesignatedContact.java +++ b/core/src/main/java/google/registry/model/domain/DesignatedContact.java @@ -22,7 +22,7 @@ import com.googlecode.objectify.annotation.Ignore; import com.googlecode.objectify.annotation.Index; import google.registry.model.ImmutableObject; import google.registry.model.UnsafeSerializable; -import google.registry.model.contact.ContactResource; +import google.registry.model.contact.Contact; import google.registry.persistence.VKey; import javax.persistence.Embeddable; import javax.xml.bind.annotation.XmlEnumValue; @@ -64,7 +64,7 @@ public class DesignatedContact extends ImmutableObject implements UnsafeSerializ REGISTRANT } - public static DesignatedContact create(Type type, VKey contact) { + public static DesignatedContact create(Type type, VKey contact) { DesignatedContact instance = new DesignatedContact(); instance.type = type; instance.contactVKey = checkArgumentNotNull(contact, "Must specify contact key"); @@ -74,14 +74,14 @@ public class DesignatedContact extends ImmutableObject implements UnsafeSerializ Type type; - @Index Key contact; - @Ignore VKey contactVKey; + @Index Key contact; + @Ignore VKey contactVKey; public Type getType() { return type; } - public VKey getContactKey() { + public VKey getContactKey() { return contactVKey; } diff --git a/core/src/main/java/google/registry/model/domain/DomainBase.java b/core/src/main/java/google/registry/model/domain/DomainBase.java index f301b1412..6a14e2077 100644 --- a/core/src/main/java/google/registry/model/domain/DomainBase.java +++ b/core/src/main/java/google/registry/model/domain/DomainBase.java @@ -52,7 +52,7 @@ import google.registry.model.EppResource; import google.registry.model.EppResource.ResourceWithTransferData; import google.registry.model.billing.BillingEvent; import google.registry.model.common.EntityGroupRoot; -import google.registry.model.contact.ContactResource; +import google.registry.model.contact.Contact; import google.registry.model.domain.launch.LaunchNotice; import google.registry.model.domain.rgp.GracePeriodStatus; import google.registry.model.domain.secdns.DelegationSignerData; @@ -132,11 +132,11 @@ public class DomainBase extends EppResource @EmptySetToNull @Index @Transient Set> nsHosts; /** Contacts. */ - VKey adminContact; + VKey adminContact; - VKey billingContact; - VKey techContact; - VKey registrantContact; + VKey billingContact; + VKey techContact; + VKey registrantContact; /** Authorization info (aka transfer secret) of the domain. */ @Embedded @@ -602,19 +602,19 @@ public class DomainBase extends EppResource } /** A key to the registrant who registered this domain. */ - public VKey getRegistrant() { + public VKey getRegistrant() { return registrantContact; } - public VKey getAdminContact() { + public VKey getAdminContact() { return adminContact; } - public VKey getBillingContact() { + public VKey getBillingContact() { return billingContact; } - public VKey getTechContact() { + public VKey getTechContact() { return techContact; } @@ -628,7 +628,7 @@ public class DomainBase extends EppResource } /** Returns all referenced contacts from this domain. */ - public ImmutableSet> getReferencedContacts() { + public ImmutableSet> getReferencedContacts() { return nullToEmptyImmutableCopy(getAllContacts(true)).stream() .map(DesignatedContact::getContactKey) .filter(Objects::nonNull) @@ -771,7 +771,7 @@ public class DomainBase extends EppResource return thisCastToDerived(); } - public B setRegistrant(VKey registrant) { + public B setRegistrant(VKey registrant) { // Set the registrant field specifically. getInstance().registrantContact = registrant; return thisCastToDerived(); diff --git a/core/src/main/java/google/registry/model/domain/DomainCommand.java b/core/src/main/java/google/registry/model/domain/DomainCommand.java index b4fa6f15d..183b90212 100644 --- a/core/src/main/java/google/registry/model/domain/DomainCommand.java +++ b/core/src/main/java/google/registry/model/domain/DomainCommand.java @@ -32,7 +32,7 @@ import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; import google.registry.model.EppResource; import google.registry.model.ImmutableObject; -import google.registry.model.contact.ContactResource; +import google.registry.model.contact.Contact; import google.registry.model.eppinput.ResourceCommand.AbstractSingleResourceCommand; import google.registry.model.eppinput.ResourceCommand.ResourceCheck; import google.registry.model.eppinput.ResourceCommand.ResourceCreateOrChange; @@ -80,7 +80,7 @@ public class DomainCommand { String registrantContactId; /** A resolved key to the registrant who registered this domain. */ - @XmlTransient VKey registrant; + @XmlTransient VKey registrant; /** Authorization info (aka transfer secret) of the domain. */ DomainAuthInfo authInfo; @@ -90,7 +90,7 @@ public class DomainCommand { } @Nullable - public VKey getRegistrant() { + public VKey getRegistrant() { return registrant; } @@ -391,7 +391,7 @@ public class DomainCommand { ? null : getOnlyElement( loadByForeignKeysCached( - ImmutableSet.of(clone.registrantContactId), ContactResource.class, now) + ImmutableSet.of(clone.registrantContactId), Contact.class, now) .values()); return clone; } @@ -431,8 +431,8 @@ public class DomainCommand { for (ForeignKeyedDesignatedContact contact : contacts) { foreignKeys.add(contact.contactId); } - ImmutableMap> loadedContacts = - loadByForeignKeysCached(foreignKeys.build(), ContactResource.class, now); + ImmutableMap> loadedContacts = + loadByForeignKeysCached(foreignKeys.build(), Contact.class, now); ImmutableSet.Builder linkedContacts = new ImmutableSet.Builder<>(); for (ForeignKeyedDesignatedContact contact : contacts) { linkedContacts.add( diff --git a/core/src/main/java/google/registry/model/eppcommon/StatusValue.java b/core/src/main/java/google/registry/model/eppcommon/StatusValue.java index 9bee17d82..54a09e8bf 100644 --- a/core/src/main/java/google/registry/model/eppcommon/StatusValue.java +++ b/core/src/main/java/google/registry/model/eppcommon/StatusValue.java @@ -20,8 +20,8 @@ import static com.google.common.base.Strings.nullToEmpty; import com.google.common.collect.ImmutableSet; import google.registry.model.EppResource; +import google.registry.model.contact.Contact; import google.registry.model.contact.ContactBase; -import google.registry.model.contact.ContactResource; import google.registry.model.domain.Domain; import google.registry.model.domain.DomainBase; import google.registry.model.host.Host; @@ -130,12 +130,12 @@ public enum StatusValue implements EppEnum { /** Enum to help clearly list which resource types a status value is allowed to be present on. */ private enum AllowedOn { ALL( + Contact.class, ContactBase.class, - ContactResource.class, - DomainBase.class, Domain.class, - HostBase.class, - Host.class), + DomainBase.class, + Host.class, + HostBase.class), NONE, DOMAINS(DomainBase.class, Domain.class); diff --git a/core/src/main/java/google/registry/model/index/ForeignKeyIndex.java b/core/src/main/java/google/registry/model/index/ForeignKeyIndex.java index c4d22de55..0e90d2e2a 100644 --- a/core/src/main/java/google/registry/model/index/ForeignKeyIndex.java +++ b/core/src/main/java/google/registry/model/index/ForeignKeyIndex.java @@ -47,7 +47,7 @@ import google.registry.model.CacheUtils.AppEngineEnvironmentCacheLoader; import google.registry.model.EppResource; import google.registry.model.annotations.DeleteAfterMigration; import google.registry.model.annotations.ReportedOn; -import google.registry.model.contact.ContactResource; +import google.registry.model.contact.Contact; import google.registry.model.domain.Domain; import google.registry.model.host.Host; import google.registry.persistence.VKey; @@ -70,10 +70,10 @@ import org.joda.time.DateTime; @DeleteAfterMigration public abstract class ForeignKeyIndex extends BackupGroupRoot { - /** The {@link ForeignKeyIndex} type for {@link ContactResource} entities. */ + /** The {@link ForeignKeyIndex} type for {@link Contact} entities. */ @ReportedOn @Entity - public static class ForeignKeyContactIndex extends ForeignKeyIndex {} + public static class ForeignKeyContactIndex extends ForeignKeyIndex {} /** The {@link ForeignKeyIndex} type for {@link Domain} entities. */ @ReportedOn @@ -89,14 +89,14 @@ public abstract class ForeignKeyIndex extends BackupGroup Class, Class>> RESOURCE_CLASS_TO_FKI_CLASS = ImmutableBiMap.of( - ContactResource.class, ForeignKeyContactIndex.class, + Contact.class, ForeignKeyContactIndex.class, Domain.class, ForeignKeyDomainIndex.class, Host.class, ForeignKeyHostIndex.class); private static final ImmutableMap, String> RESOURCE_CLASS_TO_FKI_PROPERTY = ImmutableMap.of( - ContactResource.class, "contactId", + Contact.class, "contactId", Domain.class, "fullyQualifiedDomainName", Host.class, "fullyQualifiedHostName"); diff --git a/core/src/main/java/google/registry/model/package-info.java b/core/src/main/java/google/registry/model/package-info.java index f32058170..749c38630 100644 --- a/core/src/main/java/google/registry/model/package-info.java +++ b/core/src/main/java/google/registry/model/package-info.java @@ -34,7 +34,7 @@ import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; * *

All first class entities are represented as a resource class - {@link * google.registry.model.domain.Domain}, {@link google.registry.model.host.Host}, {@link - * google.registry.model.contact.ContactResource}, and {@link + * google.registry.model.contact.Contact}, and {@link * google.registry.model.registrar.Registrar}. Resource objects are written in a single shared * entity group per TLD. All commands that operate on those entities are grouped in a "Command" * class- {@link google.registry.model.domain.DomainCommand}, {@link 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 2d3d6f867..af4800c27 100644 --- a/core/src/main/java/google/registry/model/poll/PollMessage.java +++ b/core/src/main/java/google/registry/model/poll/PollMessage.java @@ -26,9 +26,9 @@ import google.registry.model.ImmutableObject; import google.registry.model.UnsafeSerializable; import google.registry.model.annotations.ExternalMessagingName; import google.registry.model.annotations.OfyIdAllocation; +import google.registry.model.contact.Contact; import google.registry.model.contact.ContactHistory; import google.registry.model.contact.ContactHistory.ContactHistoryId; -import google.registry.model.contact.ContactResource; import google.registry.model.domain.Domain; import google.registry.model.domain.DomainHistory; import google.registry.model.domain.DomainHistory.DomainHistoryId; @@ -95,7 +95,7 @@ public abstract class PollMessage extends ImmutableObject /** Indicates the type of entity the poll message is for. */ public enum Type { DOMAIN(1L, Domain.class), - CONTACT(2L, ContactResource.class), + CONTACT(2L, Contact.class), HOST(3L, Host.class); private final long id; @@ -179,7 +179,7 @@ public abstract class PollMessage extends ImmutableObject /** * Returns the contact repo id. * - *

This may only be used on a ContactResource poll event. + *

This may only be used on a {@link Contact} poll event. */ public String getContactRepoId() { checkArgument(getType() == Type.CONTACT); diff --git a/core/src/main/java/google/registry/model/reporting/HistoryEntry.java b/core/src/main/java/google/registry/model/reporting/HistoryEntry.java index cc2414747..8a1bfbbe2 100644 --- a/core/src/main/java/google/registry/model/reporting/HistoryEntry.java +++ b/core/src/main/java/google/registry/model/reporting/HistoryEntry.java @@ -34,10 +34,10 @@ import google.registry.model.EppResource; import google.registry.model.ImmutableObject; import google.registry.model.UnsafeSerializable; import google.registry.model.annotations.ReportedOn; +import google.registry.model.contact.Contact; import google.registry.model.contact.ContactBase; import google.registry.model.contact.ContactHistory; import google.registry.model.contact.ContactHistory.ContactHistoryId; -import google.registry.model.contact.ContactResource; import google.registry.model.domain.Domain; import google.registry.model.domain.DomainBase; import google.registry.model.domain.DomainHistory; @@ -392,7 +392,7 @@ public class HistoryEntry extends ImmutableObject implements Buildable, UnsafeSe } else if (parentKind.equals(getKind(Host.class))) { resultEntity = new HostHistory.Builder().copyFrom(this).setHostRepoId(parent.getName()).build(); - } else if (parentKind.equals(getKind(ContactResource.class))) { + } else if (parentKind.equals(getKind(Contact.class))) { resultEntity = new ContactHistory.Builder().copyFrom(this).setContactRepoId(parent.getName()).build(); } else { @@ -418,7 +418,7 @@ public class HistoryEntry extends ImmutableObject implements Buildable, UnsafeSe HostHistory.class, new HostHistoryId(repoId, id), Key.create(parent, HostHistory.class, id)); - } else if (parentKind.equals(getKind(ContactResource.class))) { + } else if (parentKind.equals(getKind(Contact.class))) { return VKey.create( ContactHistory.class, new ContactHistoryId(repoId, id), diff --git a/core/src/main/java/google/registry/model/reporting/HistoryEntryDao.java b/core/src/main/java/google/registry/model/reporting/HistoryEntryDao.java index 4ee9ee9a3..3cf03b29b 100644 --- a/core/src/main/java/google/registry/model/reporting/HistoryEntryDao.java +++ b/core/src/main/java/google/registry/model/reporting/HistoryEntryDao.java @@ -25,8 +25,8 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import com.google.common.collect.Streams; import google.registry.model.EppResource; +import google.registry.model.contact.Contact; import google.registry.model.contact.ContactHistory; -import google.registry.model.contact.ContactResource; import google.registry.model.domain.Domain; import google.registry.model.domain.DomainHistory; import google.registry.model.host.Host; @@ -51,7 +51,7 @@ public class HistoryEntryDao { public static ImmutableMap, Class> RESOURCE_TYPES_TO_HISTORY_TYPES = ImmutableMap.of( - ContactResource.class, + Contact.class, ContactHistory.class, Domain.class, DomainHistory.class, diff --git a/core/src/main/java/google/registry/model/translators/EppHistoryVKeyTranslatorFactory.java b/core/src/main/java/google/registry/model/translators/EppHistoryVKeyTranslatorFactory.java index eeda422d3..dabf12850 100644 --- a/core/src/main/java/google/registry/model/translators/EppHistoryVKeyTranslatorFactory.java +++ b/core/src/main/java/google/registry/model/translators/EppHistoryVKeyTranslatorFactory.java @@ -40,7 +40,7 @@ public class EppHistoryVKeyTranslatorFactory // one dedicated VKey class, e.g. DomainHistoryVKey, for each such kind of entity, and we need // a way to map the raw Datastore key to its VKey class. So, we use the kind path as the key of // the map, and the kind path is created by concatenating all the kind strings in a raw Datastore - // key, e.g. the map key for ContactPollMessageVKey is "ContactResource/HistoryEntry/PollMessage". + // key, e.g. the map key for ContactPollMessageVKey is "Contact/HistoryEntry/PollMessage". @VisibleForTesting static final ImmutableMap> kindPathToVKeyClass = ImmutableSet.of(DomainHistoryVKey.class).stream() diff --git a/core/src/main/java/google/registry/rdap/RdapEntityAction.java b/core/src/main/java/google/registry/rdap/RdapEntityAction.java index 47967dfc9..b5f04e2a6 100644 --- a/core/src/main/java/google/registry/rdap/RdapEntityAction.java +++ b/core/src/main/java/google/registry/rdap/RdapEntityAction.java @@ -23,7 +23,7 @@ import static google.registry.request.Action.Method.HEAD; import com.google.common.collect.ImmutableSet; import com.google.common.primitives.Longs; import com.google.re2j.Pattern; -import google.registry.model.contact.ContactResource; +import google.registry.model.contact.Contact; import google.registry.model.registrar.Registrar; import google.registry.persistence.VKey; import google.registry.rdap.RdapJsonFormatter.OutputDataType; @@ -69,14 +69,14 @@ public class RdapEntityAction extends RdapActionBase { // RDAP Technical Implementation Guide 2.3.1 - MUST support contact entity lookup using the // handle if (ROID_PATTERN.matcher(pathSearchString).matches()) { - VKey contactVKey = VKey.create(ContactResource.class, pathSearchString); - Optional contactResource = + VKey contactVKey = VKey.create(Contact.class, pathSearchString); + Optional contact = replicaJpaTm().transact(() -> replicaJpaTm().loadByKeyIfPresent(contactVKey)); // As per Andy Newton on the regext mailing list, contacts by themselves have no role, since // they are global, and might have different roles for different domains. - if (contactResource.isPresent() && isAuthorized(contactResource.get())) { + if (contact.isPresent() && isAuthorized(contact.get())) { return rdapJsonFormatter.createRdapContactEntity( - contactResource.get(), ImmutableSet.of(), OutputDataType.FULL); + contact.get(), ImmutableSet.of(), OutputDataType.FULL); } } diff --git a/core/src/main/java/google/registry/rdap/RdapEntitySearchAction.java b/core/src/main/java/google/registry/rdap/RdapEntitySearchAction.java index 8c7e68a3f..3d8b89057 100644 --- a/core/src/main/java/google/registry/rdap/RdapEntitySearchAction.java +++ b/core/src/main/java/google/registry/rdap/RdapEntitySearchAction.java @@ -28,7 +28,7 @@ import com.google.common.collect.Streams; import com.google.common.primitives.Booleans; import com.google.common.primitives.Longs; import com.googlecode.objectify.cmd.Query; -import google.registry.model.contact.ContactResource; +import google.registry.model.contact.Contact; import google.registry.model.registrar.Registrar; import google.registry.persistence.VKey; import google.registry.persistence.transaction.CriteriaQueryBuilder; @@ -253,7 +253,7 @@ public class RdapEntitySearchAction extends RdapSearchActionBase { // see any names anyway. Also, if a registrar cursor is present, we have already moved past the // contacts, and don't need to fetch them this time. We can skip contacts if subtype is // REGISTRARS. - RdapResultSet resultSet; + RdapResultSet resultSet; if (subtype == Subtype.REGISTRARS) { resultSet = RdapResultSet.create(ImmutableList.of()); } else { @@ -262,9 +262,9 @@ public class RdapEntitySearchAction extends RdapSearchActionBase { resultSet = RdapResultSet.create(ImmutableList.of()); } else { if (tm().isOfy()) { - Query query = + Query query = queryItems( - ContactResource.class, + Contact.class, "searchName", partialStringQuery, cursorQueryString, // if we get here and there's a cursor, it must be a contact @@ -279,9 +279,9 @@ public class RdapEntitySearchAction extends RdapSearchActionBase { replicaJpaTm() .transact( () -> { - CriteriaQueryBuilder builder = + CriteriaQueryBuilder builder = queryItemsSql( - ContactResource.class, + Contact.class, "searchName", partialStringQuery, cursorQueryString, @@ -319,21 +319,20 @@ public class RdapEntitySearchAction extends RdapSearchActionBase { } // Handle queries without a wildcard (and not including deleted) -- load by ID. if (!partialStringQuery.getHasWildcard() && !shouldIncludeDeleted()) { - ImmutableList contactResourceList; + ImmutableList contactList; if (subtype == Subtype.REGISTRARS) { - contactResourceList = ImmutableList.of(); + contactList = ImmutableList.of(); } else { - Optional contactResource = + Optional contact = replicaJpaTm() .transact( () -> replicaJpaTm() .loadByKeyIfPresent( - VKey.create( - ContactResource.class, partialStringQuery.getInitialString()))); - contactResourceList = - (contactResource.isPresent() && shouldBeVisible(contactResource.get())) - ? ImmutableList.of(contactResource.get()) + VKey.create(Contact.class, partialStringQuery.getInitialString()))); + contactList = + (contact.isPresent() && shouldBeVisible(contact.get())) + ? ImmutableList.of(contact.get()) : ImmutableList.of(); } ImmutableList registrarList; @@ -343,9 +342,9 @@ public class RdapEntitySearchAction extends RdapSearchActionBase { registrarList = getMatchingRegistrars(partialStringQuery.getInitialString()); } return makeSearchResults( - contactResourceList, + contactList, IncompletenessWarningType.COMPLETE, - contactResourceList.size(), + contactList.size(), registrarList, QueryType.HANDLE); // Handle queries with a wildcard (or including deleted), but no suffix. Because the handle @@ -383,7 +382,7 @@ public class RdapEntitySearchAction extends RdapSearchActionBase { // get excluded due to permissioning. Any cursor present must be a contact cursor, because we // would never return a registrar for this search. int querySizeLimit = getStandardQuerySizeLimit(); - RdapResultSet contactResultSet; + RdapResultSet contactResultSet; if (subtype == Subtype.REGISTRARS) { contactResultSet = RdapResultSet.create(ImmutableList.of()); } else { @@ -391,7 +390,7 @@ public class RdapEntitySearchAction extends RdapSearchActionBase { contactResultSet = getMatchingResources( queryItemsByKey( - ContactResource.class, + Contact.class, partialStringQuery, cursorQueryString, getDeletedItemHandling(), @@ -405,7 +404,7 @@ public class RdapEntitySearchAction extends RdapSearchActionBase { () -> getMatchingResourcesSql( queryItemsByKeySql( - ContactResource.class, + Contact.class, partialStringQuery, cursorQueryString, getDeletedItemHandling()), @@ -436,7 +435,7 @@ public class RdapEntitySearchAction extends RdapSearchActionBase { * properties of the {@link RdapResultSet} structure and passes them as separate arguments. */ private EntitySearchResponse makeSearchResults( - RdapResultSet resultSet, List registrars, QueryType queryType) { + RdapResultSet resultSet, List registrars, QueryType queryType) { return makeSearchResults( resultSet.resources(), resultSet.incompletenessWarningType(), @@ -461,7 +460,7 @@ public class RdapEntitySearchAction extends RdapSearchActionBase { * @return an {@link RdapSearchResults} object */ private EntitySearchResponse makeSearchResults( - List contacts, + List contacts, IncompletenessWarningType incompletenessWarningType, int numContactsRetrieved, List registrars, @@ -485,7 +484,7 @@ public class RdapEntitySearchAction extends RdapSearchActionBase { EntitySearchResponse.builder() .setIncompletenessWarningType(incompletenessWarningType); Optional newCursor = Optional.empty(); - for (ContactResource contact : Iterables.limit(contacts, rdapResultSetMaxSize)) { + for (Contact contact : Iterables.limit(contacts, rdapResultSetMaxSize)) { // As per Andy Newton on the regext mailing list, contacts by themselves have no role, since // they are global, and might have different roles for different domains. builder diff --git a/core/src/main/java/google/registry/rdap/RdapJsonFormatter.java b/core/src/main/java/google/registry/rdap/RdapJsonFormatter.java index 984c725dc..96be81d02 100644 --- a/core/src/main/java/google/registry/rdap/RdapJsonFormatter.java +++ b/core/src/main/java/google/registry/rdap/RdapJsonFormatter.java @@ -39,9 +39,9 @@ import com.google.common.net.InetAddresses; import com.google.gson.JsonArray; import google.registry.config.RegistryConfig.Config; import google.registry.model.EppResource; +import google.registry.model.contact.Contact; import google.registry.model.contact.ContactAddress; import google.registry.model.contact.ContactPhoneNumber; -import google.registry.model.contact.ContactResource; import google.registry.model.contact.PostalInfo; import google.registry.model.domain.DesignatedContact; import google.registry.model.domain.DesignatedContact.Type; @@ -363,7 +363,7 @@ public class RdapJsonFormatter { ImmutableSet.copyOf( replicaJpaTm().loadByKeys(domain.getNameservers()).values())); // Load the registrant and other contacts and add them to the data. - ImmutableMap, ContactResource> loadedContacts = + ImmutableMap, Contact> loadedContacts = replicaJpaTm() .transact(() -> replicaJpaTm().loadByKeysIfPresent(domain.getReferencedContacts())); // RDAP Response Profile 2.7.3, A domain MUST have the REGISTRANT, ADMIN, TECH roles and MAY @@ -373,7 +373,7 @@ public class RdapJsonFormatter { // fields we don't want to show (as opposed to not having contacts at all) because of GDPR etc. // // the GDPR redaction is handled in createRdapContactEntity - ImmutableSetMultimap, Type> contactsToRoles = + ImmutableSetMultimap, Type> contactsToRoles = Streams.concat( domain.getContacts().stream(), Stream.of(DesignatedContact.create(Type.REGISTRANT, domain.getRegistrant()))) @@ -382,7 +382,7 @@ public class RdapJsonFormatter { toImmutableSetMultimap( DesignatedContact::getContactKey, DesignatedContact::getType)); - for (VKey contactKey : contactsToRoles.keySet()) { + for (VKey contactKey : contactsToRoles.keySet()) { Set roles = contactsToRoles.get(contactKey).stream() .map(RdapJsonFormatter::convertContactTypeToRdapRole) @@ -495,16 +495,14 @@ public class RdapJsonFormatter { } /** - * Creates a JSON object for a {@link ContactResource} and associated contact type. + * Creates a JSON object for a {@link Contact} and associated contact type. * - * @param contactResource the contact resource object from which the JSON object should be created + * @param contact the contact resource object from which the JSON object should be created * @param roles the roles of this contact * @param outputDataType whether to generate full or summary data */ RdapContactEntity createRdapContactEntity( - ContactResource contactResource, - Iterable roles, - OutputDataType outputDataType) { + Contact contact, Iterable roles, OutputDataType outputDataType) { RdapContactEntity.Builder contactBuilder = RdapContactEntity.builder(); // RDAP Response Profile 2.7.1, 2.7.3 - we MUST have the contacts. 2.7.4 discusses censoring of @@ -512,12 +510,12 @@ public class RdapJsonFormatter { // // 2.8 allows for unredacted output for authorized people. boolean isAuthorized = - rdapAuthorization.isAuthorizedForRegistrar(contactResource.getCurrentSponsorRegistrarId()); + rdapAuthorization.isAuthorizedForRegistrar(contact.getCurrentSponsorRegistrarId()); // ROID needs to be redacted if we aren't authorized, so we can't have a self-link for // unauthorized users if (isAuthorized) { - contactBuilder.linksBuilder().add(makeSelfLink("entity", contactResource.getRepoId())); + contactBuilder.linksBuilder().add(makeSelfLink("entity", contact.getRepoId())); } // Only show the "summary data remark" if the user is authorized to see this data - because @@ -544,10 +542,10 @@ public class RdapJsonFormatter { .remarksBuilder() .add(RdapIcannStandardInformation.CONTACT_PERSONAL_DATA_HIDDEN_DATA_REMARK); // to make sure we don't accidentally display data we shouldn't - we replace the - // contactResource with a safe resource. Then we can add any information we need (e.g. the + // contact with a safe resource. Then we can add any information we need (e.g. the // Organization / state / country of the registrant), although we currently don't do that. - contactResource = - new ContactResource.Builder() + contact = + new Contact.Builder() .setRepoId(CONTACT_REDACTED_VALUE) .setVoiceNumber( new ContactPhoneNumber.Builder().setPhoneNumber(CONTACT_REDACTED_VALUE).build()) @@ -572,7 +570,7 @@ public class RdapJsonFormatter { // RDAP Response Profile 2.7.3 - we MUST provide a handle set with the ROID, subject to the // redaction above. - contactBuilder.setHandle(contactResource.getRepoId()); + contactBuilder.setHandle(contact.getRepoId()); // RDAP Response Profile doesn't mention status for contacts, so we only show it if we're both // FULL and Authorized. @@ -581,11 +579,11 @@ public class RdapJsonFormatter { .statusBuilder() .addAll( makeStatusValueList( - isLinked(contactResource.createVKey(), getRequestTime()) - ? union(contactResource.getStatusValues(), StatusValue.LINKED) - : contactResource.getStatusValues(), + isLinked(contact.createVKey(), getRequestTime()) + ? union(contact.getStatusValues(), StatusValue.LINKED) + : contact.getStatusValues(), false, - contactResource.getDeletionTime().isBefore(getRequestTime()))); + contact.getDeletionTime().isBefore(getRequestTime()))); } contactBuilder.rolesBuilder().addAll(roles); @@ -596,9 +594,9 @@ public class RdapJsonFormatter { // RDAP Response Profile 2.7.3 - we MUST have FN, ADR, TEL, EMAIL. // // Note that 2.7.5 also says the EMAIL must be omitted, so we'll omit it - PostalInfo postalInfo = contactResource.getInternationalizedPostalInfo(); + PostalInfo postalInfo = contact.getInternationalizedPostalInfo(); if (postalInfo == null) { - postalInfo = contactResource.getLocalizedPostalInfo(); + postalInfo = contact.getLocalizedPostalInfo(); } if (postalInfo != null) { if (postalInfo.getName() != null) { @@ -609,11 +607,11 @@ public class RdapJsonFormatter { } addVCardAddressEntry(vcardBuilder, postalInfo.getAddress()); } - ContactPhoneNumber voicePhoneNumber = contactResource.getVoiceNumber(); + ContactPhoneNumber voicePhoneNumber = contact.getVoiceNumber(); if (voicePhoneNumber != null) { vcardBuilder.add(makePhoneEntry(PHONE_TYPE_VOICE, makePhoneString(voicePhoneNumber))); } - ContactPhoneNumber faxPhoneNumber = contactResource.getFaxNumber(); + ContactPhoneNumber faxPhoneNumber = contact.getFaxNumber(); if (faxPhoneNumber != null) { vcardBuilder.add(makePhoneEntry(PHONE_TYPE_FAX, makePhoneString(faxPhoneNumber))); } @@ -641,7 +639,7 @@ public class RdapJsonFormatter { // We also only add it for authorized users because millisecond times can fingerprint a user // just as much as the handle can. if (outputDataType == OutputDataType.FULL && isAuthorized) { - contactBuilder.eventsBuilder().addAll(makeOptionalEvents(contactResource)); + contactBuilder.eventsBuilder().addAll(makeOptionalEvents(contact)); } return contactBuilder.build(); } diff --git a/core/src/main/java/google/registry/rde/ContactResourceToXjcConverter.java b/core/src/main/java/google/registry/rde/ContactToXjcConverter.java similarity index 94% rename from core/src/main/java/google/registry/rde/ContactResourceToXjcConverter.java rename to core/src/main/java/google/registry/rde/ContactToXjcConverter.java index 4ec66997f..9a15a5fa0 100644 --- a/core/src/main/java/google/registry/rde/ContactResourceToXjcConverter.java +++ b/core/src/main/java/google/registry/rde/ContactToXjcConverter.java @@ -16,9 +16,9 @@ package google.registry.rde; import static google.registry.util.XmlEnumUtils.enumToXml; +import google.registry.model.contact.Contact; import google.registry.model.contact.ContactAddress; import google.registry.model.contact.ContactPhoneNumber; -import google.registry.model.contact.ContactResource; import google.registry.model.contact.Disclose; import google.registry.model.contact.Disclose.PostalInfoChoice; import google.registry.model.contact.PostalInfo; @@ -39,16 +39,16 @@ import google.registry.xjc.rdecontact.XjcRdeContactTransferDataType; import javax.annotation.CheckForNull; import javax.annotation.Nullable; -/** Utility class that turns {@link ContactResource} as {@link XjcRdeContactElement}. */ -final class ContactResourceToXjcConverter { +/** Utility class that turns {@link Contact} as {@link XjcRdeContactElement}. */ +final class ContactToXjcConverter { - /** Converts {@link ContactResource} to {@link XjcRdeContactElement}. */ - static XjcRdeContactElement convert(ContactResource host) { + /** Converts {@link Contact} to {@link XjcRdeContactElement}. */ + static XjcRdeContactElement convert(Contact host) { return new XjcRdeContactElement(convertContact(host)); } - /** Converts {@link ContactResource} to {@link XjcRdeContact}. */ - static XjcRdeContact convertContact(ContactResource model) { + /** Converts {@link Contact} to {@link XjcRdeContact}. */ + static XjcRdeContact convertContact(Contact model) { XjcRdeContact bean = new XjcRdeContact(); bean.setRoid(model.getRepoId()); for (StatusValue status : model.getStatusValues()) { @@ -188,5 +188,5 @@ final class ContactResourceToXjcConverter { return bean; } - private ContactResourceToXjcConverter() {} + private ContactToXjcConverter() {} } diff --git a/core/src/main/java/google/registry/rde/DomainToXjcConverter.java b/core/src/main/java/google/registry/rde/DomainToXjcConverter.java index 5394f85e4..701a6cf9f 100644 --- a/core/src/main/java/google/registry/rde/DomainToXjcConverter.java +++ b/core/src/main/java/google/registry/rde/DomainToXjcConverter.java @@ -21,7 +21,7 @@ import com.google.common.base.Ascii; import com.google.common.base.Strings; import com.google.common.collect.ImmutableSet; import com.google.common.flogger.FluentLogger; -import google.registry.model.contact.ContactResource; +import google.registry.model.contact.Contact; import google.registry.model.domain.DesignatedContact; import google.registry.model.domain.Domain; import google.registry.model.domain.rgp.GracePeriodStatus; @@ -168,11 +168,11 @@ final class DomainToXjcConverter { // o An OPTIONAL element that contain the identifier for // the human or organizational social information object associated // as the holder of the domain name object. - VKey registrant = model.getRegistrant(); + VKey registrant = model.getRegistrant(); if (registrant == null) { logger.atWarning().log("Domain %s has no registrant contact.", domainName); } else { - ContactResource registrantContact = tm().transact(() -> tm().loadByKey(registrant)); + Contact registrantContact = tm().transact(() -> tm().loadByKey(registrant)); checkState( registrantContact != null, "Registrant contact %s on domain %s does not exist", @@ -304,7 +304,7 @@ final class DomainToXjcConverter { "Contact key for type %s is null on domain %s", model.getType(), domainName); - ContactResource contact = tm().transact(() -> tm().loadByKey(model.getContactKey())); + Contact contact = tm().transact(() -> tm().loadByKey(model.getContactKey())); checkState( contact != null, "Contact %s on domain %s does not exist", diff --git a/core/src/main/java/google/registry/rde/RdeFragmenter.java b/core/src/main/java/google/registry/rde/RdeFragmenter.java index b49c2c7e1..93cbdf0ab 100644 --- a/core/src/main/java/google/registry/rde/RdeFragmenter.java +++ b/core/src/main/java/google/registry/rde/RdeFragmenter.java @@ -20,7 +20,7 @@ import static google.registry.persistence.transaction.TransactionManagerFactory. import com.google.auto.value.AutoValue; import com.google.common.collect.ImmutableMap; import google.registry.model.EppResource; -import google.registry.model.contact.ContactResource; +import google.registry.model.contact.Contact; import google.registry.model.domain.Domain; import google.registry.model.host.Host; import google.registry.model.rde.RdeMode; @@ -66,8 +66,8 @@ public class RdeFragmenter { result = Optional.of(marshaller.marshalDomain((Domain) resource, mode)); cache.put(WatermarkModePair.create(watermark, mode), result); return result; - } else if (resource instanceof ContactResource) { - result = Optional.of(marshaller.marshalContact((ContactResource) resource)); + } else if (resource instanceof Contact) { + result = Optional.of(marshaller.marshalContact((Contact) resource)); cache.put(WatermarkModePair.create(watermark, RdeMode.FULL), result); cache.put(WatermarkModePair.create(watermark, RdeMode.THIN), result); return result; diff --git a/core/src/main/java/google/registry/rde/RdeMarshaller.java b/core/src/main/java/google/registry/rde/RdeMarshaller.java index 323e4e05e..cce9d73ce 100644 --- a/core/src/main/java/google/registry/rde/RdeMarshaller.java +++ b/core/src/main/java/google/registry/rde/RdeMarshaller.java @@ -20,7 +20,7 @@ import static java.nio.charset.StandardCharsets.UTF_8; import com.google.common.flogger.FluentLogger; import com.googlecode.objectify.Key; import google.registry.model.ImmutableObject; -import google.registry.model.contact.ContactResource; +import google.registry.model.contact.Contact; import google.registry.model.domain.Domain; import google.registry.model.host.Host; import google.registry.model.rde.RdeMode; @@ -117,10 +117,10 @@ public final class RdeMarshaller implements Serializable { } } - /** Turns {@link ContactResource} object into an XML fragment. */ - public DepositFragment marshalContact(ContactResource contact) { - return marshalResource(RdeResourceType.CONTACT, contact, - ContactResourceToXjcConverter.convert(contact)); + /** Turns {@link Contact} object into an XML fragment. */ + public DepositFragment marshalContact(Contact contact) { + return marshalResource( + RdeResourceType.CONTACT, contact, ContactToXjcConverter.convert(contact)); } /** Turns {@link Domain} object into an XML fragment. */ diff --git a/core/src/main/java/google/registry/rde/RdeStagingAction.java b/core/src/main/java/google/registry/rde/RdeStagingAction.java index 7e0ca3499..1e788dc36 100644 --- a/core/src/main/java/google/registry/rde/RdeStagingAction.java +++ b/core/src/main/java/google/registry/rde/RdeStagingAction.java @@ -45,7 +45,7 @@ import google.registry.gcs.GcsUtils; import google.registry.keyring.api.KeyModule.Key; import google.registry.model.common.Cursor; import google.registry.model.common.Cursor.CursorType; -import google.registry.model.contact.ContactResource; +import google.registry.model.contact.Contact; import google.registry.model.domain.Domain; import google.registry.model.host.Host; import google.registry.model.index.EppResourceIndex; @@ -82,8 +82,8 @@ import org.joda.time.Duration; * type and loads the embedded resource from it, which is then projected to watermark time to * account for things like pending transfer. * - *

Only {@link ContactResource}s and {@link Host}s that are referenced by an included {@link - * Domain} will be included in the corresponding pending deposit. + *

Only {@link Contact}s and {@link Host}s that are referenced by an included {@link Domain} will + * be included in the corresponding pending deposit. * *

{@link Registrar} entities, both active and inactive, are included in all deposits. They are * not rewinded point-in-time. diff --git a/core/src/main/java/google/registry/tools/CommandUtilities.java b/core/src/main/java/google/registry/tools/CommandUtilities.java index 476567e87..3d76ea3cc 100644 --- a/core/src/main/java/google/registry/tools/CommandUtilities.java +++ b/core/src/main/java/google/registry/tools/CommandUtilities.java @@ -19,7 +19,7 @@ import static com.google.common.base.Preconditions.checkState; import com.google.common.base.Ascii; import com.google.common.base.Strings; import google.registry.model.EppResource; -import google.registry.model.contact.ContactResource; +import google.registry.model.contact.Contact; import google.registry.model.domain.Domain; import google.registry.model.host.Host; import google.registry.model.index.ForeignKeyIndex; @@ -31,7 +31,7 @@ class CommandUtilities { /** A useful parameter enum for commands that operate on {@link EppResource} objects. */ public enum ResourceType { - CONTACT(ContactResource.class), + CONTACT(Contact.class), HOST(Host.class), DOMAIN(Domain.class); diff --git a/core/src/main/java/google/registry/tools/GetContactCommand.java b/core/src/main/java/google/registry/tools/GetContactCommand.java index 8869b7e03..7528de5f4 100644 --- a/core/src/main/java/google/registry/tools/GetContactCommand.java +++ b/core/src/main/java/google/registry/tools/GetContactCommand.java @@ -18,7 +18,7 @@ import static google.registry.model.EppResourceUtils.loadByForeignKey; import com.beust.jcommander.Parameter; import com.beust.jcommander.Parameters; -import google.registry.model.contact.ContactResource; +import google.registry.model.contact.Contact; import java.util.List; /** Command to show one or more contacts. */ @@ -34,7 +34,7 @@ final class GetContactCommand extends GetEppResourceCommand { public void runAndPrint() { for (String contactId : mainParameters) { printResource( - "Contact", contactId, loadByForeignKey(ContactResource.class, contactId, readTimestamp)); + "Contact", contactId, loadByForeignKey(Contact.class, contactId, readTimestamp)); } } } diff --git a/core/src/main/java/google/registry/tools/params/EppResourceTypeParameter.java b/core/src/main/java/google/registry/tools/params/EppResourceTypeParameter.java index 8e9d4bb49..c89cc40d3 100644 --- a/core/src/main/java/google/registry/tools/params/EppResourceTypeParameter.java +++ b/core/src/main/java/google/registry/tools/params/EppResourceTypeParameter.java @@ -15,13 +15,13 @@ package google.registry.tools.params; import google.registry.model.EppResource; -import google.registry.model.contact.ContactResource; +import google.registry.model.contact.Contact; import google.registry.model.domain.Domain; import google.registry.model.host.Host; /** Enum to make it easy for a command to accept a flag that specifies an EppResource subclass. */ public enum EppResourceTypeParameter { - CONTACT(ContactResource.class), + CONTACT(Contact.class), DOMAIN(Domain.class), HOST(Host.class); diff --git a/core/src/main/java/google/registry/whois/DomainWhoisResponse.java b/core/src/main/java/google/registry/whois/DomainWhoisResponse.java index f1e4364d7..0c3f5ddfe 100644 --- a/core/src/main/java/google/registry/whois/DomainWhoisResponse.java +++ b/core/src/main/java/google/registry/whois/DomainWhoisResponse.java @@ -23,8 +23,8 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableSet; import com.google.common.flogger.FluentLogger; import google.registry.model.EppResource; +import google.registry.model.contact.Contact; import google.registry.model.contact.ContactPhoneNumber; -import google.registry.model.contact.ContactResource; import google.registry.model.contact.PostalInfo; import google.registry.model.domain.DesignatedContact; import google.registry.model.domain.DesignatedContact.Type; @@ -124,7 +124,7 @@ final class DomainWhoisResponse extends WhoisResponseImpl { } /** Returns the contact of the given type. */ - private Optional> getContactReference(Type type) { + private Optional> getContactReference(Type type) { Optional contactOfType = domain.getContacts().stream().filter(d -> d.getType() == type).findFirst(); return contactOfType.map(DesignatedContact::getContactKey); @@ -145,15 +145,15 @@ final class DomainWhoisResponse extends WhoisResponseImpl { /** Emit the contact entry of the given type. */ DomainEmitter emitContact( - String contactType, Optional> contact, boolean preferUnicode) { + String contactType, Optional> contact, boolean preferUnicode) { if (!contact.isPresent()) { return this; } // If we refer to a contact that doesn't exist, that's a bug. It means referential integrity // has somehow been broken. We skip the rest of this contact, but log it to hopefully bring it // someone's attention. - ContactResource contactResource = EppResource.loadCached(contact.get()); - if (contactResource == null) { + Contact contact1 = EppResource.loadCached(contact.get()); + if (contact1 == null) { logger.atSevere().log( "(BUG) Broken reference found from domain %s to contact %s.", domain.getDomainName(), contact); @@ -162,11 +162,10 @@ final class DomainWhoisResponse extends WhoisResponseImpl { PostalInfo postalInfo = chooseByUnicodePreference( preferUnicode, - contactResource.getLocalizedPostalInfo(), - contactResource.getInternationalizedPostalInfo()); + contact1.getLocalizedPostalInfo(), + contact1.getInternationalizedPostalInfo()); // ICANN Consistent Labeling & Display policy requires that this be the ROID. - emitField( - ImmutableList.of("Registry", contactType, "ID"), contactResource.getRepoId(), fullOutput); + emitField(ImmutableList.of("Registry", contactType, "ID"), contact1.getRepoId(), fullOutput); if (postalInfo != null) { emitFieldIfDefined(ImmutableList.of(contactType, "Name"), postalInfo.getName(), fullOutput); emitFieldIfDefined( @@ -175,10 +174,9 @@ final class DomainWhoisResponse extends WhoisResponseImpl { fullOutput || contactType.equals("Registrant")); emitAddress(contactType, postalInfo.getAddress(), fullOutput); } - emitPhone(contactType, "Phone", contactResource.getVoiceNumber()); - emitPhone(contactType, "Fax", contactResource.getFaxNumber()); - String emailFieldContent = - fullOutput ? contactResource.getEmailAddress() : whoisRedactedEmailText; + emitPhone(contactType, "Phone", contact1.getVoiceNumber()); + emitPhone(contactType, "Fax", contact1.getFaxNumber()); + String emailFieldContent = fullOutput ? contact1.getEmailAddress() : whoisRedactedEmailText; emitField(ImmutableList.of(contactType, "Email"), emailFieldContent); return this; } diff --git a/core/src/main/resources/META-INF/persistence.xml b/core/src/main/resources/META-INF/persistence.xml index 1a790641f..413c0ff53 100644 --- a/core/src/main/resources/META-INF/persistence.xml +++ b/core/src/main/resources/META-INF/persistence.xml @@ -45,7 +45,7 @@ google.registry.model.common.DatabaseMigrationStateSchedule google.registry.model.console.User google.registry.model.contact.ContactHistory - google.registry.model.contact.ContactResource + google.registry.model.contact.Contact google.registry.model.domain.Domain google.registry.model.domain.DomainHistory google.registry.model.domain.GracePeriod @@ -104,7 +104,7 @@ google.registry.model.billing.VKeyConverter_Cancellation google.registry.model.billing.VKeyConverter_OneTime google.registry.model.billing.VKeyConverter_Recurring - google.registry.model.contact.VKeyConverter_ContactResource + google.registry.model.contact.VKeyConverter_Contact google.registry.model.domain.VKeyConverter_Domain google.registry.model.domain.token.VKeyConverter_AllocationToken google.registry.model.host.VKeyConverter_Host diff --git a/core/src/test/java/google/registry/batch/AsyncTaskEnqueuerTest.java b/core/src/test/java/google/registry/batch/AsyncTaskEnqueuerTest.java index f26729662..a09a3a30e 100644 --- a/core/src/test/java/google/registry/batch/AsyncTaskEnqueuerTest.java +++ b/core/src/test/java/google/registry/batch/AsyncTaskEnqueuerTest.java @@ -27,7 +27,7 @@ import static org.joda.time.Duration.standardSeconds; import com.google.cloud.tasks.v2.HttpMethod; import com.google.common.collect.ImmutableSortedSet; -import google.registry.model.contact.ContactResource; +import google.registry.model.contact.Contact; import google.registry.testing.AppEngineExtension; import google.registry.testing.CloudTasksHelper; import google.registry.testing.CloudTasksHelper.TaskMatcher; @@ -80,7 +80,7 @@ public class AsyncTaskEnqueuerTest { @Test void test_enqueueAsyncResave_success() { - ContactResource contact = persistActiveContact("jd23456"); + Contact contact = persistActiveContact("jd23456"); asyncTaskEnqueuer.enqueueAsyncResave( contact.createVKey(), clock.nowUtc(), clock.nowUtc().plusDays(5)); cloudTasksHelper.assertTasksEnqueued( @@ -97,7 +97,7 @@ public class AsyncTaskEnqueuerTest { @Test void test_enqueueAsyncResave_multipleResaves() { - ContactResource contact = persistActiveContact("jd23456"); + Contact contact = persistActiveContact("jd23456"); DateTime now = clock.nowUtc(); asyncTaskEnqueuer.enqueueAsyncResave( contact.createVKey(), @@ -119,7 +119,7 @@ public class AsyncTaskEnqueuerTest { @MockitoSettings(strictness = Strictness.LENIENT) @Test void test_enqueueAsyncResave_ignoresTasksTooFarIntoFuture() { - ContactResource contact = persistActiveContact("jd23456"); + Contact contact = persistActiveContact("jd23456"); asyncTaskEnqueuer.enqueueAsyncResave( contact.createVKey(), clock.nowUtc(), clock.nowUtc().plusDays(31)); cloudTasksHelper.assertNoTasksEnqueued(QUEUE_ASYNC_ACTIONS); diff --git a/core/src/test/java/google/registry/batch/WipeOutContactHistoryPiiActionTest.java b/core/src/test/java/google/registry/batch/WipeOutContactHistoryPiiActionTest.java index c6e5ab4ad..a249d3c74 100644 --- a/core/src/test/java/google/registry/batch/WipeOutContactHistoryPiiActionTest.java +++ b/core/src/test/java/google/registry/batch/WipeOutContactHistoryPiiActionTest.java @@ -23,12 +23,12 @@ import static org.apache.http.HttpStatus.SC_OK; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableSet; +import google.registry.model.contact.Contact; import google.registry.model.contact.ContactAddress; import google.registry.model.contact.ContactAuthInfo; import google.registry.model.contact.ContactBase; import google.registry.model.contact.ContactHistory; import google.registry.model.contact.ContactPhoneNumber; -import google.registry.model.contact.ContactResource; import google.registry.model.contact.Disclose; import google.registry.model.contact.PostalInfo; import google.registry.model.eppcommon.AuthInfo.PasswordAuth; @@ -48,8 +48,8 @@ class WipeOutContactHistoryPiiActionTest { private static final int TEST_BATCH_SIZE = 20; private static final int MIN_MONTHS_BEFORE_WIPE_OUT = 18; - private static final ContactResource defaultContactResource = - new ContactResource.Builder() + private static final Contact DEFAULT_CONTACT = + new Contact.Builder() .setContactId("sh8013") .setRepoId("2FF-ROID") .setStatusValues(ImmutableSet.of(StatusValue.CLIENT_DELETE_PROHIBITED)) @@ -117,8 +117,7 @@ class WipeOutContactHistoryPiiActionTest { @Test void getAllHistoryEntitiesOlderThan_returnsAllPersistedEntities() { ImmutableList expectedToBeWipedOut = - persistLotsOfContactHistoryEntities( - 20, MIN_MONTHS_BEFORE_WIPE_OUT + 1, 0, defaultContactResource); + persistLotsOfContactHistoryEntities(20, MIN_MONTHS_BEFORE_WIPE_OUT + 1, 0, DEFAULT_CONTACT); jpaTm() .transact( () -> @@ -131,12 +130,10 @@ class WipeOutContactHistoryPiiActionTest { @Test void getAllHistoryEntitiesOlderThan_returnsOnlyOldEnoughPersistedEntities() { ImmutableList expectedToBeWipedOut = - persistLotsOfContactHistoryEntities( - 19, MIN_MONTHS_BEFORE_WIPE_OUT + 2, 0, defaultContactResource); + persistLotsOfContactHistoryEntities(19, MIN_MONTHS_BEFORE_WIPE_OUT + 2, 0, DEFAULT_CONTACT); // persisted entities that should not be part of the actual result - persistLotsOfContactHistoryEntities( - 15, 17, MIN_MONTHS_BEFORE_WIPE_OUT - 1, defaultContactResource); + persistLotsOfContactHistoryEntities(15, 17, MIN_MONTHS_BEFORE_WIPE_OUT - 1, DEFAULT_CONTACT); jpaTm() .transact( @@ -179,7 +176,7 @@ class WipeOutContactHistoryPiiActionTest { void run_withOneBatchOfEntities_success() { int numOfMonthsFromNow = MIN_MONTHS_BEFORE_WIPE_OUT + 2; ImmutableList expectedToBeWipedOut = - persistLotsOfContactHistoryEntities(20, numOfMonthsFromNow, 0, defaultContactResource); + persistLotsOfContactHistoryEntities(20, numOfMonthsFromNow, 0, DEFAULT_CONTACT); // The query should return a stream of all persisted entities. assertThat( @@ -216,7 +213,7 @@ class WipeOutContactHistoryPiiActionTest { void run_withMultipleBatches_numOfEntitiesAsNonMultipleOfBatchSize_success() { int numOfMonthsFromNow = MIN_MONTHS_BEFORE_WIPE_OUT + 2; ImmutableList expectedToBeWipedOut = - persistLotsOfContactHistoryEntities(56, numOfMonthsFromNow, 0, defaultContactResource); + persistLotsOfContactHistoryEntities(56, numOfMonthsFromNow, 0, DEFAULT_CONTACT); // The query should return a subset of all persisted data. assertThat( @@ -253,7 +250,7 @@ class WipeOutContactHistoryPiiActionTest { int numOfMonthsFromNow = MIN_MONTHS_BEFORE_WIPE_OUT + 2; ImmutableList expectedToBeWipedOut = persistLotsOfContactHistoryEntities( - TEST_BATCH_SIZE * 2, numOfMonthsFromNow, 0, defaultContactResource); + TEST_BATCH_SIZE * 2, numOfMonthsFromNow, 0, DEFAULT_CONTACT); // The query should return a subset of all persisted data. assertThat( @@ -302,7 +299,7 @@ class WipeOutContactHistoryPiiActionTest { void wipeOutContactHistoryData_wipesOutMultipleEntities() { int numOfMonthsFromNow = MIN_MONTHS_BEFORE_WIPE_OUT + 3; ImmutableList expectedToBeWipedOut = - persistLotsOfContactHistoryEntities(20, numOfMonthsFromNow, 0, defaultContactResource); + persistLotsOfContactHistoryEntities(20, numOfMonthsFromNow, 0, DEFAULT_CONTACT); assertAllEntitiesContainPii(DatabaseHelper.loadByEntitiesIfPresent(expectedToBeWipedOut)); @@ -319,7 +316,7 @@ class WipeOutContactHistoryPiiActionTest { /** persists a number of ContactHistory entities for load and query testing. */ ImmutableList persistLotsOfContactHistoryEntities( - int numOfEntities, int minusMonths, int minusDays, ContactResource contact) { + int numOfEntities, int minusMonths, int minusDays, Contact contact) { ImmutableList.Builder expectedEntitesBuilder = new ImmutableList.Builder<>(); for (int i = 0; i < numOfEntities; i++) { expectedEntitesBuilder.add( diff --git a/core/src/test/java/google/registry/beam/common/RegistryJpaReadTest.java b/core/src/test/java/google/registry/beam/common/RegistryJpaReadTest.java index 780f9d9f3..fa4228a85 100644 --- a/core/src/test/java/google/registry/beam/common/RegistryJpaReadTest.java +++ b/core/src/test/java/google/registry/beam/common/RegistryJpaReadTest.java @@ -16,6 +16,7 @@ package google.registry.beam.common; import static google.registry.testing.AppEngineExtension.makeRegistrar1; import static google.registry.testing.DatabaseHelper.insertInDb; +import static google.registry.testing.DatabaseHelper.newContact; import static google.registry.testing.DatabaseHelper.newRegistry; import static google.registry.util.DateTimeUtils.END_OF_TIME; import static google.registry.util.DateTimeUtils.START_OF_TIME; @@ -25,8 +26,8 @@ import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; import google.registry.beam.TestPipelineExtension; import google.registry.beam.common.RegistryJpaIO.Read; +import google.registry.model.contact.Contact; import google.registry.model.contact.ContactBase; -import google.registry.model.contact.ContactResource; import google.registry.model.domain.Domain; import google.registry.model.domain.DomainAuthInfo; import google.registry.model.domain.GracePeriod; @@ -42,7 +43,6 @@ import google.registry.persistence.transaction.CriteriaQueryBuilder; import google.registry.persistence.transaction.JpaTestExtensions; import google.registry.persistence.transaction.JpaTestExtensions.JpaIntegrationTestExtension; import google.registry.testing.AppEngineExtension; -import google.registry.testing.DatabaseHelper; import google.registry.testing.DatastoreEntityExtension; import google.registry.testing.FakeClock; import org.apache.beam.sdk.testing.PAssert; @@ -76,17 +76,17 @@ public class RegistryJpaReadTest { final transient TestPipelineExtension testPipeline = TestPipelineExtension.create().enableAbandonedNodeEnforcement(true); - private transient ImmutableList contacts; + private transient ImmutableList contacts; @BeforeEach void beforeEach() { Registrar ofyRegistrar = AppEngineExtension.makeRegistrar2(); insertInDb(ofyRegistrar); - ImmutableList.Builder builder = new ImmutableList.Builder<>(); + ImmutableList.Builder builder = new ImmutableList.Builder<>(); for (int i = 0; i < 3; i++) { - ContactResource contact = DatabaseHelper.newContactResource("contact_" + i); + Contact contact = newContact("contact_" + i); builder.add(contact); } contacts = builder.build(); @@ -95,10 +95,9 @@ public class RegistryJpaReadTest { @Test void readWithCriteriaQuery() { - Read read = + Read read = RegistryJpaIO.read( - () -> CriteriaQueryBuilder.create(ContactResource.class).build(), - ContactBase::getContactId); + () -> CriteriaQueryBuilder.create(Contact.class).build(), ContactBase::getContactId); PCollection repoIds = testPipeline.apply(read); PAssert.that(repoIds).containsInAnyOrder("contact_0", "contact_1", "contact_2"); @@ -172,8 +171,8 @@ public class RegistryJpaReadTest { .setRegistrarId("registrar1") .setEmailAddress("me@google.com") .build(); - ContactResource contact = - new ContactResource.Builder() + Contact contact = + new Contact.Builder() .setRepoId("contactid_1") .setCreationRegistrarId(registrar.getRegistrarId()) .setTransferData(new ContactTransferData.Builder().build()) diff --git a/core/src/test/java/google/registry/beam/common/RegistryJpaWriteTest.java b/core/src/test/java/google/registry/beam/common/RegistryJpaWriteTest.java index b1da0cade..c483ab4ac 100644 --- a/core/src/test/java/google/registry/beam/common/RegistryJpaWriteTest.java +++ b/core/src/test/java/google/registry/beam/common/RegistryJpaWriteTest.java @@ -17,11 +17,11 @@ package google.registry.beam.common; import static com.google.common.truth.Truth.assertThat; import static google.registry.model.ImmutableObjectSubject.immutableObjectCorrespondence; import static google.registry.persistence.transaction.TransactionManagerFactory.jpaTm; -import static google.registry.testing.DatabaseHelper.newContactResource; +import static google.registry.testing.DatabaseHelper.newContact; import com.google.common.collect.ImmutableList; import google.registry.beam.TestPipelineExtension; -import google.registry.model.contact.ContactResource; +import google.registry.model.contact.Contact; import google.registry.persistence.transaction.JpaTestExtensions; import google.registry.persistence.transaction.JpaTestExtensions.JpaIntegrationTestExtension; import google.registry.testing.AppEngineExtension; @@ -55,21 +55,17 @@ class RegistryJpaWriteTest implements Serializable { @Test void writeToSql_twoWriters() { jpaTm().transact(() -> jpaTm().put(AppEngineExtension.makeRegistrar2())); - ImmutableList.Builder contactsBuilder = new ImmutableList.Builder<>(); + ImmutableList.Builder contactsBuilder = new ImmutableList.Builder<>(); for (int i = 0; i < 3; i++) { - contactsBuilder.add(newContactResource("contact_" + i)); + contactsBuilder.add(newContact("contact_" + i)); } - ImmutableList contacts = contactsBuilder.build(); + ImmutableList contacts = contactsBuilder.build(); testPipeline .apply(Create.of(contacts)) - .apply( - RegistryJpaIO.write() - .withName("ContactResource") - .withBatchSize(4) - .withShards(2)); + .apply(RegistryJpaIO.write().withName("Contact").withBatchSize(4).withShards(2)); testPipeline.run().waitUntilFinish(); - assertThat(jpaTm().transact(() -> jpaTm().loadAllOf(ContactResource.class))) + assertThat(jpaTm().transact(() -> jpaTm().loadAllOf(Contact.class))) .comparingElementsUsing(immutableObjectCorrespondence("revisions", "updateTimestamp")) .containsExactlyElementsIn(contacts); } diff --git a/core/src/test/java/google/registry/beam/rde/RdePipelineTest.java b/core/src/test/java/google/registry/beam/rde/RdePipelineTest.java index 9546a7410..50d07abb4 100644 --- a/core/src/test/java/google/registry/beam/rde/RdePipelineTest.java +++ b/core/src/test/java/google/registry/beam/rde/RdePipelineTest.java @@ -53,9 +53,9 @@ import google.registry.gcs.GcsUtils; import google.registry.keyring.api.PgpHelper; import google.registry.model.common.Cursor; import google.registry.model.common.Cursor.CursorType; +import google.registry.model.contact.Contact; import google.registry.model.contact.ContactBase; import google.registry.model.contact.ContactHistory; -import google.registry.model.contact.ContactResource; import google.registry.model.domain.DesignatedContact; import google.registry.model.domain.Domain; import google.registry.model.domain.DomainBase; @@ -265,9 +265,9 @@ public class RdePipelineTest { // This contact is never referenced. persistContactHistory(persistActiveContact("contactX")); - ContactResource contact1 = persistActiveContact("contact1234"); + Contact contact1 = persistActiveContact("contact1234"); persistContactHistory(contact1); - ContactResource contact2 = persistActiveContact("contact456"); + Contact contact2 = persistActiveContact("contact456"); persistContactHistory(contact2); // This host is never referenced. @@ -302,7 +302,7 @@ public class RdePipelineTest { persistDomainHistory(deletedDomain.asBuilder().setDeletionTime(clock.nowUtc()).build()); kittyDomain = kittyDomain.asBuilder().setDomainName("cat.fun").build(); persistDomainHistory(kittyDomain); - ContactResource contact3 = persistActiveContact("contact789"); + Contact contact3 = persistActiveContact("contact789"); persistContactHistory(contact3); // This is a subordinate domain in TLD .cat, which is not included in any pending deposit. But // it should still be included as a subordinate host in the pendign deposit for .soy. @@ -329,7 +329,7 @@ public class RdePipelineTest { // resulting deposit fragments. clock.advanceBy(Duration.standardDays(2)); persistDomainHistory(kittyDomain.asBuilder().setDeletionTime(clock.nowUtc()).build()); - ContactResource futureContact = persistActiveContact("future-contact"); + Contact futureContact = persistActiveContact("future-contact"); persistContactHistory(futureContact); Host futureHost = persistActiveHost("ns1.future.tld"); persistHostHistory(futureHost); diff --git a/core/src/test/java/google/registry/beam/resave/ResaveAllEppResourcesPipelineTest.java b/core/src/test/java/google/registry/beam/resave/ResaveAllEppResourcesPipelineTest.java index 6226c3a90..477478eda 100644 --- a/core/src/test/java/google/registry/beam/resave/ResaveAllEppResourcesPipelineTest.java +++ b/core/src/test/java/google/registry/beam/resave/ResaveAllEppResourcesPipelineTest.java @@ -32,7 +32,7 @@ import static org.mockito.Mockito.verify; import google.registry.beam.TestPipelineExtension; import google.registry.model.EppResource; -import google.registry.model.contact.ContactResource; +import google.registry.model.contact.Contact; import google.registry.model.domain.Domain; import google.registry.model.domain.GracePeriod; import google.registry.model.eppcommon.StatusValue; @@ -81,7 +81,7 @@ public class ResaveAllEppResourcesPipelineTest { @Test void testPipeline_unchangedEntity() { - ContactResource contact = persistActiveContact("test123"); + Contact contact = persistActiveContact("test123"); DateTime creationTime = contact.getUpdateTimestamp().getTimestamp(); fakeClock.advanceOneMilli(); assertThat(loadByEntity(contact).getUpdateTimestamp().getTimestamp()).isEqualTo(creationTime); @@ -92,7 +92,7 @@ public class ResaveAllEppResourcesPipelineTest { @Test void testPipeline_fulfilledContactTransfer() { - ContactResource contact = persistActiveContact("test123"); + Contact contact = persistActiveContact("test123"); DateTime now = fakeClock.nowUtc(); contact = persistContactWithPendingTransfer(contact, now, now.plusDays(5), now); fakeClock.advanceBy(Duration.standardDays(10)); @@ -154,7 +154,7 @@ public class ResaveAllEppResourcesPipelineTest { @Test void testPipeline_fastOnlySavesChanged() { DateTime now = fakeClock.nowUtc(); - ContactResource contact = persistActiveContact("jd1234"); + Contact contact = persistActiveContact("jd1234"); persistDomainWithDependentResources("renewed", "tld", contact, now, now, now.plusYears(1)); persistActiveDomain("nonrenewed.tld", now, now.plusYears(20)); // Spy the transaction manager so we can be sure we're only saving the renewed domain @@ -171,7 +171,7 @@ public class ResaveAllEppResourcesPipelineTest { void testPipeline_notFastResavesAll() { options.setFast(false); DateTime now = fakeClock.nowUtc(); - ContactResource contact = persistActiveContact("jd1234"); + Contact contact = persistActiveContact("jd1234"); Domain renewed = persistDomainWithDependentResources("renewed", "tld", contact, now, now, now.plusYears(1)); Domain nonRenewed = diff --git a/core/src/test/java/google/registry/beam/spec11/Spec11PipelineTest.java b/core/src/test/java/google/registry/beam/spec11/Spec11PipelineTest.java index f96ccb694..c9f56e429 100644 --- a/core/src/test/java/google/registry/beam/spec11/Spec11PipelineTest.java +++ b/core/src/test/java/google/registry/beam/spec11/Spec11PipelineTest.java @@ -37,7 +37,7 @@ import com.google.common.truth.Correspondence.BinaryPredicate; import google.registry.beam.TestPipelineExtension; import google.registry.beam.spec11.SafeBrowsingTransforms.EvaluateSafeBrowsingFn; import google.registry.beam.spec11.SafeBrowsingTransformsTest.HttpResponder; -import google.registry.model.contact.ContactResource; +import google.registry.model.contact.Contact; import google.registry.model.domain.Domain; import google.registry.model.domain.DomainAuthInfo; import google.registry.model.eppcommon.AuthInfo.PasswordAuth; @@ -258,9 +258,9 @@ class Spec11PipelineTest { createTld("bank"); createTld("dev"); - ContactResource contact1 = persistActiveContact(registrar1.getRegistrarId()); - ContactResource contact2 = persistActiveContact(registrar2.getRegistrarId()); - ContactResource contact3 = persistActiveContact(registrar3.getRegistrarId()); + Contact contact1 = persistActiveContact(registrar1.getRegistrarId()); + Contact contact2 = persistActiveContact(registrar2.getRegistrarId()); + Contact contact3 = persistActiveContact(registrar3.getRegistrarId()); persistResource(createDomain("111.com", "123456789-COM", registrar1, contact1)); persistResource(createDomain("party-night.net", "2244AABBC-NET", registrar2, contact2)); @@ -297,7 +297,7 @@ class Spec11PipelineTest { } private Domain createDomain( - String domainName, String repoId, Registrar registrar, ContactResource contact) { + String domainName, String repoId, Registrar registrar, Contact contact) { return new Domain.Builder() .setDomainName(domainName) .setRepoId(repoId) diff --git a/core/src/test/java/google/registry/flows/contact/ContactCheckFlowTest.java b/core/src/test/java/google/registry/flows/contact/ContactCheckFlowTest.java index 54495dcfe..bb95bd53d 100644 --- a/core/src/test/java/google/registry/flows/contact/ContactCheckFlowTest.java +++ b/core/src/test/java/google/registry/flows/contact/ContactCheckFlowTest.java @@ -24,11 +24,11 @@ import google.registry.flows.EppException; import google.registry.flows.FlowUtils.NotLoggedInException; import google.registry.flows.ResourceCheckFlowTestCase; import google.registry.flows.exceptions.TooManyResourceChecksException; -import google.registry.model.contact.ContactResource; +import google.registry.model.contact.Contact; import org.junit.jupiter.api.Test; /** Unit tests for {@link ContactCheckFlow}. */ -class ContactCheckFlowTest extends ResourceCheckFlowTestCase { +class ContactCheckFlowTest extends ResourceCheckFlowTestCase { ContactCheckFlowTest() { setEppInput("contact_check.xml"); diff --git a/core/src/test/java/google/registry/flows/contact/ContactCreateFlowTest.java b/core/src/test/java/google/registry/flows/contact/ContactCreateFlowTest.java index 30c511100..52c3ffd7a 100644 --- a/core/src/test/java/google/registry/flows/contact/ContactCreateFlowTest.java +++ b/core/src/test/java/google/registry/flows/contact/ContactCreateFlowTest.java @@ -15,9 +15,9 @@ package google.registry.flows.contact; import static com.google.common.truth.Truth.assertThat; -import static google.registry.testing.ContactResourceSubject.assertAboutContacts; +import static google.registry.testing.ContactSubject.assertAboutContacts; import static google.registry.testing.DatabaseHelper.assertNoBillingEvents; -import static google.registry.testing.DatabaseHelper.newContactResource; +import static google.registry.testing.DatabaseHelper.newContact; import static google.registry.testing.DatabaseHelper.persistActiveContact; import static google.registry.testing.DatabaseHelper.persistDeletedContact; import static google.registry.testing.DatabaseHelper.persistResource; @@ -31,12 +31,12 @@ import google.registry.flows.contact.ContactFlowUtils.BadInternationalizedPostal import google.registry.flows.contact.ContactFlowUtils.DeclineContactDisclosureFieldDisallowedPolicyException; import google.registry.flows.exceptions.ResourceAlreadyExistsForThisClientException; import google.registry.flows.exceptions.ResourceCreateContentionException; -import google.registry.model.contact.ContactResource; +import google.registry.model.contact.Contact; import org.joda.time.DateTime; import org.junit.jupiter.api.Test; /** Unit tests for {@link ContactCreateFlow}. */ -class ContactCreateFlowTest extends ResourceFlowTestCase { +class ContactCreateFlowTest extends ResourceFlowTestCase { ContactCreateFlowTest() { setEppInput("contact_create.xml"); @@ -47,7 +47,7 @@ class ContactCreateFlowTest extends ResourceFlowTestCase { +class ContactDeleteFlowTest extends ResourceFlowTestCase { @BeforeEach void initFlowTest() { @@ -99,7 +99,7 @@ class ContactDeleteFlowTest extends ResourceFlowTestCase exception) throws Exception { persistResource( - newContactResource(getUniqueIdFromCommand()) + newContact(getUniqueIdFromCommand()) .asBuilder() .setStatusValues(ImmutableSet.of(statusValue)) .build()); diff --git a/core/src/test/java/google/registry/flows/contact/ContactInfoFlowTest.java b/core/src/test/java/google/registry/flows/contact/ContactInfoFlowTest.java index 03de02332..736c6665d 100644 --- a/core/src/test/java/google/registry/flows/contact/ContactInfoFlowTest.java +++ b/core/src/test/java/google/registry/flows/contact/ContactInfoFlowTest.java @@ -29,10 +29,10 @@ import google.registry.flows.FlowUtils.NotLoggedInException; import google.registry.flows.ResourceFlowTestCase; import google.registry.flows.ResourceFlowUtils.ResourceDoesNotExistException; import google.registry.flows.ResourceFlowUtils.ResourceNotOwnedException; +import google.registry.model.contact.Contact; import google.registry.model.contact.ContactAddress; import google.registry.model.contact.ContactAuthInfo; import google.registry.model.contact.ContactPhoneNumber; -import google.registry.model.contact.ContactResource; import google.registry.model.contact.Disclose; import google.registry.model.contact.PostalInfo; import google.registry.model.contact.PostalInfo.Type; @@ -44,16 +44,16 @@ import org.joda.time.DateTime; import org.junit.jupiter.api.Test; /** Unit tests for {@link ContactInfoFlow}. */ -class ContactInfoFlowTest extends ResourceFlowTestCase { +class ContactInfoFlowTest extends ResourceFlowTestCase { ContactInfoFlowTest() { setEppInput("contact_info.xml"); } - private ContactResource persistContactResource(boolean active) { - ContactResource contact = + private Contact persistContact(boolean active) { + Contact contact = persistResource( - new ContactResource.Builder() + new Contact.Builder() .setContactId("sh8013") .setRepoId("2FF-ROID") .setDeletionTime(active ? null : clock.nowUtc().minusDays(1)) @@ -107,7 +107,7 @@ class ContactInfoFlowTest extends ResourceFlowTestCase { + extends ContactTransferFlowTestCase { @BeforeEach void setUp() { diff --git a/core/src/test/java/google/registry/flows/contact/ContactTransferCancelFlowTest.java b/core/src/test/java/google/registry/flows/contact/ContactTransferCancelFlowTest.java index 1ca98f827..0d5c62f00 100644 --- a/core/src/test/java/google/registry/flows/contact/ContactTransferCancelFlowTest.java +++ b/core/src/test/java/google/registry/flows/contact/ContactTransferCancelFlowTest.java @@ -16,7 +16,7 @@ package google.registry.flows.contact; import static com.google.common.collect.MoreCollectors.onlyElement; import static com.google.common.truth.Truth.assertThat; -import static google.registry.testing.ContactResourceSubject.assertAboutContacts; +import static google.registry.testing.ContactSubject.assertAboutContacts; import static google.registry.testing.DatabaseHelper.assertNoBillingEvents; import static google.registry.testing.DatabaseHelper.getOnlyPollMessage; import static google.registry.testing.DatabaseHelper.getPollMessages; @@ -30,8 +30,8 @@ import google.registry.flows.ResourceFlowUtils.BadAuthInfoForResourceException; import google.registry.flows.ResourceFlowUtils.ResourceDoesNotExistException; import google.registry.flows.exceptions.NotPendingTransferException; import google.registry.flows.exceptions.NotTransferInitiatorException; +import google.registry.model.contact.Contact; import google.registry.model.contact.ContactAuthInfo; -import google.registry.model.contact.ContactResource; import google.registry.model.eppcommon.AuthInfo.PasswordAuth; import google.registry.model.poll.PollMessage; import google.registry.model.reporting.HistoryEntry; @@ -43,7 +43,7 @@ import org.junit.jupiter.api.Test; /** Unit tests for {@link ContactTransferCancelFlow}. */ class ContactTransferCancelFlowTest - extends ContactTransferFlowTestCase { + extends ContactTransferFlowTestCase { @BeforeEach void setUp() { diff --git a/core/src/test/java/google/registry/flows/contact/ContactTransferFlowTestCase.java b/core/src/test/java/google/registry/flows/contact/ContactTransferFlowTestCase.java index 8cfef6045..4ab2c266f 100644 --- a/core/src/test/java/google/registry/flows/contact/ContactTransferFlowTestCase.java +++ b/core/src/test/java/google/registry/flows/contact/ContactTransferFlowTestCase.java @@ -15,14 +15,14 @@ package google.registry.flows.contact; import static com.google.common.base.Preconditions.checkState; -import static google.registry.testing.DatabaseHelper.newContactResource; +import static google.registry.testing.DatabaseHelper.newContact; import static google.registry.testing.DatabaseHelper.persistContactWithPendingTransfer; import static google.registry.testing.DatabaseHelper.persistResource; import google.registry.flows.Flow; import google.registry.flows.ResourceFlowTestCase; import google.registry.model.EppResource; -import google.registry.model.contact.ContactResource; +import google.registry.model.contact.Contact; import google.registry.model.tld.Registry; import google.registry.model.transfer.TransferStatus; import google.registry.testing.AppEngineExtension; @@ -47,7 +47,7 @@ abstract class ContactTransferFlowTestCase { + extends ContactTransferFlowTestCase { @BeforeEach void setUp() { diff --git a/core/src/test/java/google/registry/flows/contact/ContactTransferRejectFlowTest.java b/core/src/test/java/google/registry/flows/contact/ContactTransferRejectFlowTest.java index 88a712a21..8742ff109 100644 --- a/core/src/test/java/google/registry/flows/contact/ContactTransferRejectFlowTest.java +++ b/core/src/test/java/google/registry/flows/contact/ContactTransferRejectFlowTest.java @@ -16,7 +16,7 @@ package google.registry.flows.contact; import static com.google.common.collect.MoreCollectors.onlyElement; import static com.google.common.truth.Truth.assertThat; -import static google.registry.testing.ContactResourceSubject.assertAboutContacts; +import static google.registry.testing.ContactSubject.assertAboutContacts; import static google.registry.testing.DatabaseHelper.assertNoBillingEvents; import static google.registry.testing.DatabaseHelper.getOnlyPollMessage; import static google.registry.testing.DatabaseHelper.getPollMessages; @@ -30,8 +30,8 @@ import google.registry.flows.ResourceFlowUtils.BadAuthInfoForResourceException; import google.registry.flows.ResourceFlowUtils.ResourceDoesNotExistException; import google.registry.flows.ResourceFlowUtils.ResourceNotOwnedException; import google.registry.flows.exceptions.NotPendingTransferException; +import google.registry.model.contact.Contact; import google.registry.model.contact.ContactAuthInfo; -import google.registry.model.contact.ContactResource; import google.registry.model.eppcommon.AuthInfo.PasswordAuth; import google.registry.model.eppcommon.Trid; import google.registry.model.poll.PendingActionNotificationResponse; @@ -45,7 +45,7 @@ import org.junit.jupiter.api.Test; /** Unit tests for {@link ContactTransferRejectFlow}. */ class ContactTransferRejectFlowTest - extends ContactTransferFlowTestCase { + extends ContactTransferFlowTestCase { @BeforeEach void setUp() { diff --git a/core/src/test/java/google/registry/flows/contact/ContactTransferRequestFlowTest.java b/core/src/test/java/google/registry/flows/contact/ContactTransferRequestFlowTest.java index d12b30dcf..c6671ef03 100644 --- a/core/src/test/java/google/registry/flows/contact/ContactTransferRequestFlowTest.java +++ b/core/src/test/java/google/registry/flows/contact/ContactTransferRequestFlowTest.java @@ -20,7 +20,7 @@ import static com.google.common.collect.Iterables.getOnlyElement; import static com.google.common.collect.MoreCollectors.onlyElement; import static com.google.common.truth.Truth.assertThat; import static google.registry.config.RegistryConfig.getContactAutomaticTransferLength; -import static google.registry.testing.ContactResourceSubject.assertAboutContacts; +import static google.registry.testing.ContactSubject.assertAboutContacts; import static google.registry.testing.DatabaseHelper.assertNoBillingEvents; import static google.registry.testing.DatabaseHelper.assertPollMessagesEqual; import static google.registry.testing.DatabaseHelper.deleteResource; @@ -42,8 +42,8 @@ import google.registry.flows.exceptions.AlreadyPendingTransferException; import google.registry.flows.exceptions.MissingTransferRequestAuthInfoException; import google.registry.flows.exceptions.ObjectAlreadySponsoredException; import google.registry.flows.exceptions.ResourceStatusProhibitsOperationException; +import google.registry.model.contact.Contact; import google.registry.model.contact.ContactAuthInfo; -import google.registry.model.contact.ContactResource; import google.registry.model.eppcommon.AuthInfo.PasswordAuth; import google.registry.model.eppcommon.StatusValue; import google.registry.model.eppcommon.Trid; @@ -57,7 +57,7 @@ import org.junit.jupiter.api.Test; /** Unit tests for {@link ContactTransferRequestFlow}. */ class ContactTransferRequestFlowTest - extends ContactTransferFlowTestCase { + extends ContactTransferFlowTestCase { ContactTransferRequestFlowTest() { // We need the transfer to happen at exactly this time in order for the response to match up. diff --git a/core/src/test/java/google/registry/flows/contact/ContactUpdateFlowTest.java b/core/src/test/java/google/registry/flows/contact/ContactUpdateFlowTest.java index c718c51e0..f77f49458 100644 --- a/core/src/test/java/google/registry/flows/contact/ContactUpdateFlowTest.java +++ b/core/src/test/java/google/registry/flows/contact/ContactUpdateFlowTest.java @@ -15,9 +15,9 @@ package google.registry.flows.contact; import static com.google.common.truth.Truth.assertThat; -import static google.registry.testing.ContactResourceSubject.assertAboutContacts; +import static google.registry.testing.ContactSubject.assertAboutContacts; import static google.registry.testing.DatabaseHelper.assertNoBillingEvents; -import static google.registry.testing.DatabaseHelper.newContactResource; +import static google.registry.testing.DatabaseHelper.newContact; import static google.registry.testing.DatabaseHelper.persistActiveContact; import static google.registry.testing.DatabaseHelper.persistDeletedContact; import static google.registry.testing.DatabaseHelper.persistResource; @@ -37,15 +37,15 @@ import google.registry.flows.contact.ContactFlowUtils.BadInternationalizedPostal import google.registry.flows.contact.ContactFlowUtils.DeclineContactDisclosureFieldDisallowedPolicyException; import google.registry.flows.exceptions.ResourceHasClientUpdateProhibitedException; import google.registry.flows.exceptions.ResourceStatusProhibitsOperationException; +import google.registry.model.contact.Contact; import google.registry.model.contact.ContactAddress; -import google.registry.model.contact.ContactResource; import google.registry.model.contact.PostalInfo; import google.registry.model.contact.PostalInfo.Type; import google.registry.model.eppcommon.StatusValue; import org.junit.jupiter.api.Test; /** Unit tests for {@link ContactUpdateFlow}. */ -class ContactUpdateFlowTest extends ResourceFlowTestCase { +class ContactUpdateFlowTest extends ResourceFlowTestCase { ContactUpdateFlowTest() { setEppInput("contact_update.xml"); @@ -56,7 +56,7 @@ class ContactUpdateFlowTest extends ResourceFlowTestCase { private static final Pattern OK_PATTERN = Pattern.compile("\"ok\""); - private ContactResource registrant; - private ContactResource contact; + private Contact registrant; + private Contact contact; private Host host1; private Host host2; private Host host3; @@ -661,7 +661,7 @@ class DomainInfoFlowTest extends ResourceFlowTestCase { @Test void testFailure_differentRegistrarUnrelatedContactAuthInfo() { persistTestEntities(false); - ContactResource unrelatedContact = persistActiveContact("foo1234"); + Contact unrelatedContact = persistActiveContact("foo1234"); sessionMetadata.setRegistrarId("ClientZ"); setEppInput("domain_info_with_contact_auth.xml"); // Replace the ROID in the xml file with the one for our unrelated contact. @@ -673,7 +673,7 @@ class DomainInfoFlowTest extends ResourceFlowTestCase { @Test void testFailure_unrelatedContactAuthInfo() { persistTestEntities(false); - ContactResource unrelatedContact = persistActiveContact("foo1234"); + Contact unrelatedContact = persistActiveContact("foo1234"); setEppInput("domain_info_with_contact_auth.xml"); // Replace the ROID in the xml file with the one for our unrelated contact. eppLoader.replaceAll("JD1234-REP", unrelatedContact.getRepoId()); diff --git a/core/src/test/java/google/registry/flows/domain/DomainTransferFlowTestCase.java b/core/src/test/java/google/registry/flows/domain/DomainTransferFlowTestCase.java index 0a265842e..9a75d4524 100644 --- a/core/src/test/java/google/registry/flows/domain/DomainTransferFlowTestCase.java +++ b/core/src/test/java/google/registry/flows/domain/DomainTransferFlowTestCase.java @@ -35,7 +35,7 @@ import google.registry.model.EppResource; import google.registry.model.billing.BillingEvent; import google.registry.model.billing.BillingEvent.Flag; import google.registry.model.billing.BillingEvent.Reason; -import google.registry.model.contact.ContactResource; +import google.registry.model.contact.Contact; import google.registry.model.domain.Domain; import google.registry.model.domain.DomainHistory; import google.registry.model.eppcommon.StatusValue; @@ -71,7 +71,7 @@ abstract class DomainTransferFlowTestCase static final DateTime EXTENDED_REGISTRATION_EXPIRATION_TIME = REGISTRATION_EXPIRATION_TIME.plusYears(EXTENDED_REGISTRATION_YEARS); - protected ContactResource contact; + protected Contact contact; protected Domain domain; Host subordinateHost; private DomainHistory historyEntryDomainCreate; diff --git a/core/src/test/java/google/registry/flows/domain/DomainUpdateFlowTest.java b/core/src/test/java/google/registry/flows/domain/DomainUpdateFlowTest.java index 0e1a67309..16054980c 100644 --- a/core/src/test/java/google/registry/flows/domain/DomainUpdateFlowTest.java +++ b/core/src/test/java/google/registry/flows/domain/DomainUpdateFlowTest.java @@ -91,7 +91,7 @@ import google.registry.flows.exceptions.ResourceHasClientUpdateProhibitedExcepti import google.registry.flows.exceptions.ResourceStatusProhibitsOperationException; import google.registry.model.billing.BillingEvent; import google.registry.model.billing.BillingEvent.Reason; -import google.registry.model.contact.ContactResource; +import google.registry.model.contact.Contact; import google.registry.model.domain.DesignatedContact; import google.registry.model.domain.DesignatedContact.Type; import google.registry.model.domain.Domain; @@ -127,9 +127,9 @@ class DomainUpdateFlowTest extends ResourceFlowTestCase sh8013Key = sh8013.createVKey(); + Contact sh8013 = loadByForeignKey(Contact.class, "sh8013", clock.nowUtc()).get(); + VKey sh8013Key = sh8013.createVKey(); persistResource( DatabaseHelper.newDomain(getUniqueIdFromCommand()) .asBuilder() @@ -1111,9 +1109,7 @@ class DomainUpdateFlowTest extends ResourceFlowTestCase { private static final long MESSAGE_ID = 3; private Domain domain; - private ContactResource contact; + private Contact contact; @BeforeEach void setUp() { @@ -116,7 +116,7 @@ class PollAckFlowTest extends FlowTestCase { } @Test - void testSuccess_messageOnContactResource() throws Exception { + void testSuccess_messageOnContact() throws Exception { persistOneTimePollMessage(MESSAGE_ID); assertTransactionalFlow(true); runFlowAssertResponse(loadFile("poll_ack_response_empty.xml")); diff --git a/core/src/test/java/google/registry/flows/poll/PollRequestFlowTest.java b/core/src/test/java/google/registry/flows/poll/PollRequestFlowTest.java index 0f7d9253e..7aad8c7c6 100644 --- a/core/src/test/java/google/registry/flows/poll/PollRequestFlowTest.java +++ b/core/src/test/java/google/registry/flows/poll/PollRequestFlowTest.java @@ -27,8 +27,8 @@ import com.google.common.collect.ImmutableList; import google.registry.flows.EppException; import google.registry.flows.FlowTestCase; import google.registry.flows.poll.PollRequestFlow.UnexpectedMessageIdException; +import google.registry.model.contact.Contact; import google.registry.model.contact.ContactHistory; -import google.registry.model.contact.ContactResource; import google.registry.model.domain.Domain; import google.registry.model.eppcommon.Trid; import google.registry.model.host.Host; @@ -48,7 +48,7 @@ import org.junit.jupiter.api.Test; class PollRequestFlowTest extends FlowTestCase { private Domain domain; - private ContactResource contact; + private Contact contact; private Host host; @BeforeEach diff --git a/core/src/test/java/google/registry/model/EppResourceTest.java b/core/src/test/java/google/registry/model/EppResourceTest.java index 8ffd7b4ca..4dd4c454e 100644 --- a/core/src/test/java/google/registry/model/EppResourceTest.java +++ b/core/src/test/java/google/registry/model/EppResourceTest.java @@ -22,7 +22,7 @@ import static google.registry.testing.DatabaseHelper.persistActiveHost; import static google.registry.testing.DatabaseHelper.persistResource; import com.google.common.collect.ImmutableList; -import google.registry.model.contact.ContactResource; +import google.registry.model.contact.Contact; import google.registry.model.host.Host; import google.registry.testing.TestCacheExtension; import java.time.Duration; @@ -38,14 +38,14 @@ public class EppResourceTest extends EntityTestCase { @Test void test_loadCached_ignoresContactChange() { - ContactResource originalContact = persistActiveContact("contact123"); + Contact originalContact = persistActiveContact("contact123"); assertThat(EppResource.loadCached(ImmutableList.of(originalContact.createVKey()))) .containsExactly(originalContact.createVKey(), originalContact); - ContactResource modifiedContact = + Contact modifiedContact = persistResource(originalContact.asBuilder().setEmailAddress("different@fake.lol").build()); assertThat(EppResource.loadCached(ImmutableList.of(originalContact.createVKey()))) .containsExactly(originalContact.createVKey(), originalContact); - assertThat(loadByForeignKey(ContactResource.class, "contact123", fakeClock.nowUtc())) + assertThat(loadByForeignKey(Contact.class, "contact123", fakeClock.nowUtc())) .hasValue(modifiedContact); } diff --git a/core/src/test/java/google/registry/model/bulkquery/TestSetupHelper.java b/core/src/test/java/google/registry/model/bulkquery/TestSetupHelper.java index 887b6c935..2b6ea0c63 100644 --- a/core/src/test/java/google/registry/model/bulkquery/TestSetupHelper.java +++ b/core/src/test/java/google/registry/model/bulkquery/TestSetupHelper.java @@ -22,7 +22,7 @@ import static java.nio.charset.StandardCharsets.UTF_8; import com.google.common.base.Ascii; import com.google.common.collect.ImmutableSet; -import google.registry.model.contact.ContactResource; +import google.registry.model.contact.Contact; import google.registry.model.domain.DesignatedContact; import google.registry.model.domain.Domain; import google.registry.model.domain.DomainAuthInfo; @@ -72,7 +72,7 @@ public final class TestSetupHelper { public Registry registry; public Registrar registrar; - public ContactResource contact; + public Contact contact; public Domain domain; public DomainHistory domainHistory; public Host host; @@ -118,8 +118,8 @@ public final class TestSetupHelper { } } - static ContactResource createContact(String repoId, String registrarId) { - return new ContactResource.Builder() + static Contact createContact(String repoId, String registrarId) { + return new Contact.Builder() .setRepoId(repoId) .setCreationRegistrarId(registrarId) .setTransferData(new ContactTransferData.Builder().build()) @@ -127,7 +127,7 @@ public final class TestSetupHelper { .build(); } - static Domain createSimpleDomain(ContactResource contact) { + static Domain createSimpleDomain(Contact contact) { return DatabaseHelper.newDomain(DOMAIN_NAME, DOMAIN_REPO_ID, contact) .asBuilder() .setCreationRegistrarId(REGISTRAR_ID) @@ -135,7 +135,7 @@ public final class TestSetupHelper { .build(); } - static Domain createFullDomain(ContactResource contact, Host host, FakeClock fakeClock) { + static Domain createFullDomain(Contact contact, Host host, FakeClock fakeClock) { return createSimpleDomain(contact) .asBuilder() .setDomainName(DOMAIN_NAME) diff --git a/core/src/test/java/google/registry/model/common/ClassPathManagerTest.java b/core/src/test/java/google/registry/model/common/ClassPathManagerTest.java index d98d1d4bd..14278ef8e 100644 --- a/core/src/test/java/google/registry/model/common/ClassPathManagerTest.java +++ b/core/src/test/java/google/registry/model/common/ClassPathManagerTest.java @@ -17,7 +17,7 @@ package google.registry.model.common; import static com.google.common.truth.Truth.assertThat; import static org.junit.jupiter.api.Assertions.assertThrows; -import google.registry.model.contact.ContactResource; +import google.registry.model.contact.Contact; import google.registry.model.domain.Domain; import google.registry.model.domain.DomainHistory; import google.registry.model.domain.token.AllocationToken; @@ -54,7 +54,7 @@ public class ClassPathManagerTest { assertThat(ClassPathManager.getClass("RdeRevision")).isEqualTo(RdeRevision.class); assertThat(ClassPathManager.getClass("Host")).isEqualTo(Host.class); assertThat(ClassPathManager.getClass("Registrar")).isEqualTo(Registrar.class); - assertThat(ClassPathManager.getClass("ContactResource")).isEqualTo(ContactResource.class); + assertThat(ClassPathManager.getClass("Contact")).isEqualTo(Contact.class); assertThat(ClassPathManager.getClass("GaeUserIdConverter")).isEqualTo(GaeUserIdConverter.class); assertThat(ClassPathManager.getClass("EppResourceIndexBucket")) .isEqualTo(EppResourceIndexBucket.class); @@ -106,7 +106,7 @@ public class ClassPathManagerTest { assertThat(ClassPathManager.getClassName(RdeRevision.class)).isEqualTo("RdeRevision"); assertThat(ClassPathManager.getClassName(Host.class)).isEqualTo("Host"); assertThat(ClassPathManager.getClassName(Registrar.class)).isEqualTo("Registrar"); - assertThat(ClassPathManager.getClassName(ContactResource.class)).isEqualTo("ContactResource"); + assertThat(ClassPathManager.getClassName(Contact.class)).isEqualTo("Contact"); assertThat(ClassPathManager.getClassName(GaeUserIdConverter.class)) .isEqualTo("GaeUserIdConverter"); assertThat(ClassPathManager.getClassName(EppResourceIndexBucket.class)) diff --git a/core/src/test/java/google/registry/model/contact/ContactResourceTest.java b/core/src/test/java/google/registry/model/contact/ContactTest.java similarity index 81% rename from core/src/test/java/google/registry/model/contact/ContactResourceTest.java rename to core/src/test/java/google/registry/model/contact/ContactTest.java index bcf8c0a8e..a75631224 100644 --- a/core/src/test/java/google/registry/model/contact/ContactResourceTest.java +++ b/core/src/test/java/google/registry/model/contact/ContactTest.java @@ -18,7 +18,7 @@ import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth8.assertThat; import static google.registry.model.EppResourceUtils.loadByForeignKey; import static google.registry.model.ImmutableObjectSubject.assertAboutImmutableObjects; -import static google.registry.testing.ContactResourceSubject.assertAboutContacts; +import static google.registry.testing.ContactSubject.assertAboutContacts; import static google.registry.testing.DatabaseHelper.cloneAndSetAutoTimestamps; import static google.registry.testing.DatabaseHelper.createTld; import static google.registry.testing.DatabaseHelper.insertInDb; @@ -43,13 +43,13 @@ import google.registry.util.SerializeUtils; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -/** Unit tests for {@link ContactResource}. */ -public class ContactResourceTest extends EntityTestCase { +/** Unit tests for {@link Contact}. */ +public class ContactTest extends EntityTestCase { - private ContactResource originalContact; - private ContactResource contactResource; + private Contact originalContact; + private Contact contact; - ContactResourceTest() { + ContactTest() { super(JpaEntityCoverageCheck.ENABLED); } @@ -57,7 +57,7 @@ public class ContactResourceTest extends EntityTestCase { void setUp() { createTld("foobar"); originalContact = - new ContactResource.Builder() + new Contact.Builder() .setContactId("contact_id") .setRepoId("1-FOOBAR") .setCreationRegistrarId("TheRegistrar") @@ -118,15 +118,15 @@ public class ContactResourceTest extends EntityTestCase { .setTransferRequestTrid(Trid.create("client-trid", "server-trid")) .build()) .build(); - // Set up a new persisted ContactResource entity. - contactResource = persistResource(cloneAndSetAutoTimestamps(originalContact)); + // Set up a new persisted Contact entity. + contact = persistResource(cloneAndSetAutoTimestamps(originalContact)); } @Test - void testContactBaseToContactResource() { + void testContactBaseToContact() { assertAboutImmutableObjects() - .that(new ContactResource.Builder().copyFrom(contactResource).build()) - .isEqualExceptFields(contactResource, "updateTimestamp", "revisions"); + .that(new Contact.Builder().copyFrom(contact).build()) + .isEqualExceptFields(contact, "updateTimestamp", "revisions"); } @Test @@ -143,8 +143,8 @@ public class ContactResourceTest extends EntityTestCase { @Test void testCloudSqlPersistence_succeed() { - ContactResource persisted = loadByEntity(originalContact); - ContactResource fixed = + Contact persisted = loadByEntity(originalContact); + Contact fixed = originalContact .asBuilder() .setCreationTime(persisted.getCreationTime()) @@ -160,28 +160,25 @@ public class ContactResourceTest extends EntityTestCase { @Test void testPersistence() { - assertThat( - loadByForeignKey( - ContactResource.class, contactResource.getForeignKey(), fakeClock.nowUtc())) - .hasValue(contactResource); + assertThat(loadByForeignKey(Contact.class, contact.getForeignKey(), fakeClock.nowUtc())) + .hasValue(contact); } @Test void testSerializable() { - ContactResource persisted = - loadByForeignKey(ContactResource.class, contactResource.getForeignKey(), fakeClock.nowUtc()) - .get(); + Contact persisted = + loadByForeignKey(Contact.class, contact.getForeignKey(), fakeClock.nowUtc()).get(); assertThat(SerializeUtils.serializeDeserialize(persisted)).isEqualTo(persisted); } @Test void testEmptyStringsBecomeNull() { - assertThat(new ContactResource.Builder().setContactId(null).build().getContactId()).isNull(); - assertThat(new ContactResource.Builder().setContactId("").build().getContactId()).isNull(); - assertThat(new ContactResource.Builder().setContactId(" ").build().getContactId()).isNotNull(); + assertThat(new Contact.Builder().setContactId(null).build().getContactId()).isNull(); + assertThat(new Contact.Builder().setContactId("").build().getContactId()).isNull(); + assertThat(new Contact.Builder().setContactId(" ").build().getContactId()).isNotNull(); // Nested ImmutableObjects should also be fixed assertThat( - new ContactResource.Builder() + new Contact.Builder() .setInternationalizedPostalInfo( new PostalInfo.Builder().setType(Type.INTERNATIONALIZED).setName(null).build()) .build() @@ -189,7 +186,7 @@ public class ContactResourceTest extends EntityTestCase { .getName()) .isNull(); assertThat( - new ContactResource.Builder() + new Contact.Builder() .setInternationalizedPostalInfo( new PostalInfo.Builder().setType(Type.INTERNATIONALIZED).setName("").build()) .build() @@ -197,7 +194,7 @@ public class ContactResourceTest extends EntityTestCase { .getName()) .isNull(); assertThat( - new ContactResource.Builder() + new Contact.Builder() .setInternationalizedPostalInfo( new PostalInfo.Builder().setType(Type.INTERNATIONALIZED).setName(" ").build()) .build() @@ -208,9 +205,8 @@ public class ContactResourceTest extends EntityTestCase { @Test void testEmptyTransferDataBecomesNull() { - ContactResource withNull = new ContactResource.Builder().setTransferData(null).build(); - ContactResource withEmpty = - withNull.asBuilder().setTransferData(ContactTransferData.EMPTY).build(); + Contact withNull = new Contact.Builder().setTransferData(null).build(); + Contact withEmpty = withNull.asBuilder().setTransferData(ContactTransferData.EMPTY).build(); assertThat(withNull).isEqualTo(withEmpty); assertThat(withEmpty.transferData).isNull(); } @@ -219,19 +215,17 @@ public class ContactResourceTest extends EntityTestCase { void testImplicitStatusValues() { // OK is implicit if there's no other statuses. assertAboutContacts() - .that(new ContactResource.Builder().build()) + .that(new Contact.Builder().build()) .hasExactlyStatusValues(StatusValue.OK); // If there are other status values, OK should be suppressed. assertAboutContacts() .that( - new ContactResource.Builder() - .setStatusValues(ImmutableSet.of(StatusValue.CLIENT_HOLD)) - .build()) + new Contact.Builder().setStatusValues(ImmutableSet.of(StatusValue.CLIENT_HOLD)).build()) .hasExactlyStatusValues(StatusValue.CLIENT_HOLD); // When OK is suppressed, it should be removed even if it was originally there. assertAboutContacts() .that( - new ContactResource.Builder() + new Contact.Builder() .setStatusValues(ImmutableSet.of(StatusValue.OK, StatusValue.CLIENT_HOLD)) .build()) .hasExactlyStatusValues(StatusValue.CLIENT_HOLD); @@ -239,11 +233,11 @@ public class ContactResourceTest extends EntityTestCase { @Test void testExpiredTransfer() { - ContactResource afterTransfer = - contactResource + Contact afterTransfer = + contact .asBuilder() .setTransferData( - contactResource + contact .getTransferData() .asBuilder() .setTransferStatus(TransferStatus.PENDING) @@ -262,14 +256,13 @@ public class ContactResourceTest extends EntityTestCase { void testSetCreationTime_cantBeCalledTwice() { IllegalStateException thrown = assertThrows( - IllegalStateException.class, - () -> contactResource.asBuilder().setCreationTime(END_OF_TIME)); + IllegalStateException.class, () -> contact.asBuilder().setCreationTime(END_OF_TIME)); assertThat(thrown).hasMessageThat().contains("creationTime can only be set once"); } @Test void testToHydratedString_notCircular() { // If there are circular references, this will overflow the stack. - contactResource.toHydratedString(); + contact.toHydratedString(); } } diff --git a/core/src/test/java/google/registry/model/domain/DomainSqlTest.java b/core/src/test/java/google/registry/model/domain/DomainSqlTest.java index 1a2c415ff..6d10c8f01 100644 --- a/core/src/test/java/google/registry/model/domain/DomainSqlTest.java +++ b/core/src/test/java/google/registry/model/domain/DomainSqlTest.java @@ -39,7 +39,7 @@ import com.googlecode.objectify.Key; import google.registry.model.billing.BillingEvent; import google.registry.model.billing.BillingEvent.Flag; import google.registry.model.billing.BillingEvent.Reason; -import google.registry.model.contact.ContactResource; +import google.registry.model.contact.Contact; import google.registry.model.domain.DesignatedContact.Type; import google.registry.model.domain.launch.LaunchNotice; import google.registry.model.domain.rgp.GracePeriodStatus; @@ -80,12 +80,12 @@ public class DomainSqlTest { private Domain domain; private DomainHistory historyEntry; - private VKey contactKey; - private VKey contact2Key; + private VKey contactKey; + private VKey contact2Key; private VKey host1VKey; private Host host; - private ContactResource contact; - private ContactResource contact2; + private Contact contact; + private Contact contact2; private ImmutableSet gracePeriods; private AllocationToken allocationToken; @@ -94,8 +94,8 @@ public class DomainSqlTest { saveRegistrar("registrar1"); saveRegistrar("registrar2"); saveRegistrar("registrar3"); - contactKey = createKey(ContactResource.class, "contact_id1"); - contact2Key = createKey(ContactResource.class, "contact_id2"); + contactKey = createKey(Contact.class, "contact_id1"); + contact2Key = createKey(Contact.class, "contact_id2"); host1VKey = createKey(Host.class, "host1"); @@ -406,8 +406,8 @@ public class DomainSqlTest { .isEqualExceptFields(domain, "updateTimestamp", "creationTime"); } - static ContactResource makeContact(String repoId) { - return new ContactResource.Builder() + static Contact makeContact(String repoId) { + return new Contact.Builder() .setRepoId(repoId) .setCreationRegistrarId("registrar1") .setTransferData(new ContactTransferData.Builder().build()) diff --git a/core/src/test/java/google/registry/model/domain/DomainTest.java b/core/src/test/java/google/registry/model/domain/DomainTest.java index 8b991e75f..e1a9fb4d2 100644 --- a/core/src/test/java/google/registry/model/domain/DomainTest.java +++ b/core/src/test/java/google/registry/model/domain/DomainTest.java @@ -46,7 +46,7 @@ import google.registry.model.ImmutableObjectSubject; import google.registry.model.billing.BillingEvent; import google.registry.model.billing.BillingEvent.Flag; import google.registry.model.billing.BillingEvent.Reason; -import google.registry.model.contact.ContactResource; +import google.registry.model.contact.Contact; import google.registry.model.domain.DesignatedContact.Type; import google.registry.model.domain.launch.LaunchNotice; import google.registry.model.domain.rgp.GracePeriodStatus; @@ -89,7 +89,7 @@ public class DomainTest { private VKey oneTimeBillKey; private VKey recurringBillKey; private DomainHistory domainHistory; - private VKey contact1Key, contact2Key; + private VKey contact1Key, contact2Key; @BeforeEach void setUp() { @@ -938,8 +938,8 @@ public class DomainTest { @Test void testContactFields() { - VKey contact3Key = persistActiveContact("contact_id3").createVKey(); - VKey contact4Key = persistActiveContact("contact_id4").createVKey(); + VKey contact3Key = persistActiveContact("contact_id3").createVKey(); + VKey contact4Key = persistActiveContact("contact_id4").createVKey(); // Set all of the contacts. domain.setContactFields( diff --git a/core/src/test/java/google/registry/model/eppinput/EppInputTest.java b/core/src/test/java/google/registry/model/eppinput/EppInputTest.java index 56dcb0968..87a1c1f68 100644 --- a/core/src/test/java/google/registry/model/eppinput/EppInputTest.java +++ b/core/src/test/java/google/registry/model/eppinput/EppInputTest.java @@ -20,7 +20,7 @@ import static google.registry.model.eppcommon.EppXmlTransformer.unmarshal; import static google.registry.testing.TestDataHelper.loadBytes; import static org.junit.jupiter.api.Assertions.assertThrows; -import google.registry.model.contact.ContactResourceTest; +import google.registry.model.contact.ContactTest; import google.registry.model.domain.DomainTest; import google.registry.model.eppinput.EppInput.InnerCommand; import google.registry.model.eppinput.EppInput.Login; @@ -33,7 +33,7 @@ class EppInputTest { @Test void testUnmarshalling_contactInfo() throws Exception { EppInput input = - unmarshal(EppInput.class, loadBytes(ContactResourceTest.class, "contact_info.xml").read()); + unmarshal(EppInput.class, loadBytes(ContactTest.class, "contact_info.xml").read()); assertThat(input.getCommandWrapper().getClTrid()).hasValue("ABC-12345"); assertThat(input.getCommandType()).isEqualTo("info"); assertThat(input.getResourceType()).hasValue("contact"); diff --git a/core/src/test/java/google/registry/model/history/ContactHistoryTest.java b/core/src/test/java/google/registry/model/history/ContactHistoryTest.java index 92b3e048f..c25c6de8e 100644 --- a/core/src/test/java/google/registry/model/history/ContactHistoryTest.java +++ b/core/src/test/java/google/registry/model/history/ContactHistoryTest.java @@ -19,16 +19,16 @@ import static google.registry.model.ImmutableObjectSubject.assertAboutImmutableO import static google.registry.persistence.transaction.TransactionManagerFactory.jpaTm; import static google.registry.testing.DatabaseHelper.insertInDb; import static google.registry.testing.DatabaseHelper.loadByEntity; -import static google.registry.testing.DatabaseHelper.newContactResourceWithRoid; +import static google.registry.testing.DatabaseHelper.newContactWithRoid; import static java.nio.charset.StandardCharsets.UTF_8; import com.google.common.collect.ImmutableList; import google.registry.model.EntityTestCase; +import google.registry.model.contact.Contact; import google.registry.model.contact.ContactAddress; import google.registry.model.contact.ContactBase; import google.registry.model.contact.ContactHistory; import google.registry.model.contact.ContactPhoneNumber; -import google.registry.model.contact.ContactResource; import google.registry.model.contact.PostalInfo; import google.registry.model.eppcommon.Trid; import google.registry.model.reporting.HistoryEntry; @@ -44,9 +44,9 @@ public class ContactHistoryTest extends EntityTestCase { @Test void testPersistence() { - ContactResource contact = newContactResourceWithRoid("contactId", "contact1"); + Contact contact = newContactWithRoid("contactId", "contact1"); insertInDb(contact); - ContactResource contactFromDb = loadByEntity(contact); + Contact contactFromDb = loadByEntity(contact); ContactHistory contactHistory = createContactHistory(contactFromDb); insertInDb(contactHistory); jpaTm() @@ -60,9 +60,9 @@ public class ContactHistoryTest extends EntityTestCase { @Test void testSerializable() { - ContactResource contact = newContactResourceWithRoid("contactId", "contact1"); + Contact contact = newContactWithRoid("contactId", "contact1"); insertInDb(contact); - ContactResource contactFromDb = loadByEntity(contact); + Contact contactFromDb = loadByEntity(contact); ContactHistory contactHistory = createContactHistory(contactFromDb); insertInDb(contactHistory); ContactHistory fromDatabase = @@ -72,9 +72,9 @@ public class ContactHistoryTest extends EntityTestCase { @Test void testLegacyPersistence_nullContactBase() { - ContactResource contact = newContactResourceWithRoid("contactId", "contact1"); + Contact contact = newContactWithRoid("contactId", "contact1"); insertInDb(contact); - ContactResource contactFromDb = loadByEntity(contact); + Contact contactFromDb = loadByEntity(contact); ContactHistory contactHistory = createContactHistory(contactFromDb).asBuilder().setContact(null).build(); insertInDb(contactHistory); @@ -92,7 +92,7 @@ public class ContactHistoryTest extends EntityTestCase { void testWipeOutPii_assertsAllPiiFieldsAreNull() { ContactHistory originalEntity = createContactHistory( - new ContactResource.Builder() + new Contact.Builder() .setRepoId("1-FOOBAR") .setLocalizedPostalInfo( new PostalInfo.Builder() diff --git a/core/src/test/java/google/registry/model/history/DomainHistoryTest.java b/core/src/test/java/google/registry/model/history/DomainHistoryTest.java index 9a2756e2d..9ed5f9275 100644 --- a/core/src/test/java/google/registry/model/history/DomainHistoryTest.java +++ b/core/src/test/java/google/registry/model/history/DomainHistoryTest.java @@ -19,7 +19,7 @@ import static google.registry.model.ImmutableObjectSubject.assertAboutImmutableO import static google.registry.persistence.transaction.TransactionManagerFactory.jpaTm; import static google.registry.testing.DatabaseHelper.createTld; import static google.registry.testing.DatabaseHelper.insertInDb; -import static google.registry.testing.DatabaseHelper.newContactResourceWithRoid; +import static google.registry.testing.DatabaseHelper.newContactWithRoid; import static google.registry.testing.DatabaseHelper.newDomain; import static google.registry.testing.DatabaseHelper.newHostWithRoid; import static google.registry.util.DateTimeUtils.END_OF_TIME; @@ -27,7 +27,7 @@ import static java.nio.charset.StandardCharsets.UTF_8; import com.google.common.collect.ImmutableSet; import google.registry.model.EntityTestCase; -import google.registry.model.contact.ContactResource; +import google.registry.model.contact.Contact; import google.registry.model.domain.Domain; import google.registry.model.domain.DomainBase; import google.registry.model.domain.DomainHistory; @@ -103,7 +103,7 @@ public class DomainHistoryTest extends EntityTestCase { static Domain createDomainWithContactsAndHosts() { createTld("tld"); Host host = newHostWithRoid("ns1.example.com", "host1"); - ContactResource contact = newContactResourceWithRoid("contactId", "contact1"); + Contact contact = newContactWithRoid("contactId", "contact1"); jpaTm() .transact( diff --git a/core/src/test/java/google/registry/model/ofy/OfyFilterTest.java b/core/src/test/java/google/registry/model/ofy/OfyFilterTest.java index 6736701b6..730b30fd5 100644 --- a/core/src/test/java/google/registry/model/ofy/OfyFilterTest.java +++ b/core/src/test/java/google/registry/model/ofy/OfyFilterTest.java @@ -16,7 +16,7 @@ package google.registry.model.ofy; import static com.google.common.truth.Truth.assertThat; import static google.registry.model.ofy.ObjectifyService.initOfy; -import static google.registry.testing.DatabaseHelper.newContactResource; +import static google.registry.testing.DatabaseHelper.newContact; import static org.junit.jupiter.api.Assertions.assertThrows; import com.google.appengine.tools.development.testing.LocalDatastoreServiceTestConfig; @@ -27,7 +27,7 @@ import com.googlecode.objectify.ObjectifyFilter; import com.googlecode.objectify.ObjectifyService; import com.googlecode.objectify.annotation.Entity; import com.googlecode.objectify.annotation.Id; -import google.registry.model.contact.ContactResource; +import google.registry.model.contact.Contact; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -81,7 +81,7 @@ class OfyFilterTest { @Test void testKeyCreateAfterFilter() { new OfyFilter().init(null); - ContactResource contact = newContactResource("contact1234"); + Contact contact = newContact("contact1234"); Key.create(contact); } diff --git a/core/src/test/java/google/registry/model/ofy/OfyTest.java b/core/src/test/java/google/registry/model/ofy/OfyTest.java index fefc8fb1c..2d576c3c3 100644 --- a/core/src/test/java/google/registry/model/ofy/OfyTest.java +++ b/core/src/test/java/google/registry/model/ofy/OfyTest.java @@ -22,7 +22,7 @@ import static google.registry.model.common.EntityGroupRoot.getCrossTldKey; import static google.registry.model.ofy.ObjectifyService.auditedOfy; import static google.registry.model.ofy.ObjectifyService.ofy; import static google.registry.model.ofy.Ofy.getBaseEntityClassFromEntityOrKey; -import static google.registry.testing.DatabaseHelper.newContactResource; +import static google.registry.testing.DatabaseHelper.newContact; import static google.registry.util.DateTimeUtils.END_OF_TIME; import static google.registry.util.DateTimeUtils.START_OF_TIME; import static java.nio.charset.StandardCharsets.UTF_8; @@ -39,8 +39,8 @@ import com.googlecode.objectify.annotation.OnLoad; import com.googlecode.objectify.annotation.OnSave; import com.googlecode.objectify.annotation.Parent; import google.registry.model.ImmutableObject; +import google.registry.model.contact.Contact; import google.registry.model.contact.ContactHistory; -import google.registry.model.contact.ContactResource; import google.registry.model.eppcommon.Trid; import google.registry.model.reporting.HistoryEntry; import google.registry.testing.AppEngineExtension; @@ -74,7 +74,7 @@ public class OfyTest { .setRegistrarId("clientid") .setModificationTime(START_OF_TIME) .setType(HistoryEntry.Type.CONTACT_CREATE) - .setContact(newContactResource("parentContact")) + .setContact(newContact("parentContact")) .setTrid(Trid.create("client", "server")) .setXmlBytes("".getBytes(UTF_8)) .build(); @@ -294,10 +294,9 @@ public class OfyTest { @Test void test_getBaseEntityClassFromEntityOrKey_regularEntity() { - ContactResource contact = newContactResource("testcontact"); - assertThat(getBaseEntityClassFromEntityOrKey(contact)).isEqualTo(ContactResource.class); - assertThat(getBaseEntityClassFromEntityOrKey(Key.create(contact))) - .isEqualTo(ContactResource.class); + Contact contact = newContact("testcontact"); + assertThat(getBaseEntityClassFromEntityOrKey(contact)).isEqualTo(Contact.class); + assertThat(getBaseEntityClassFromEntityOrKey(Key.create(contact))).isEqualTo(Contact.class); } @Test diff --git a/core/src/test/java/google/registry/model/poll/PollMessageTest.java b/core/src/test/java/google/registry/model/poll/PollMessageTest.java index ca2bc25c5..a5889a0c6 100644 --- a/core/src/test/java/google/registry/model/poll/PollMessageTest.java +++ b/core/src/test/java/google/registry/model/poll/PollMessageTest.java @@ -25,7 +25,7 @@ import static java.nio.charset.StandardCharsets.UTF_8; import com.google.common.collect.ImmutableList; import google.registry.model.EntityTestCase; -import google.registry.model.contact.ContactResource; +import google.registry.model.contact.Contact; import google.registry.model.domain.Domain; import google.registry.model.domain.DomainHistory; import google.registry.model.domain.Period; @@ -53,7 +53,7 @@ public class PollMessageTest extends EntityTestCase { @BeforeEach void setUp() { createTld("foobar"); - ContactResource contact = persistActiveContact("contact1234"); + Contact contact = persistActiveContact("contact1234"); domain = persistResource(DatabaseHelper.newDomain("foo.foobar", contact)); historyEntry = persistResource( diff --git a/core/src/test/java/google/registry/model/reporting/Spec11ThreatMatchDaoTest.java b/core/src/test/java/google/registry/model/reporting/Spec11ThreatMatchDaoTest.java index d87ec760d..084209489 100644 --- a/core/src/test/java/google/registry/model/reporting/Spec11ThreatMatchDaoTest.java +++ b/core/src/test/java/google/registry/model/reporting/Spec11ThreatMatchDaoTest.java @@ -24,7 +24,7 @@ import static google.registry.testing.DatabaseHelper.persistResource; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableSet; import google.registry.model.EntityTestCase; -import google.registry.model.contact.ContactResource; +import google.registry.model.contact.Contact; import google.registry.model.domain.Domain; import google.registry.model.reporting.Spec11ThreatMatch.ThreatType; import google.registry.testing.DatabaseHelper; @@ -46,7 +46,7 @@ class Spec11ThreatMatchDaoTest extends EntityTestCase { @BeforeEach void setUp() { createTlds("com", "org"); - ContactResource contact = persistActiveContact("jd1234"); + Contact contact = persistActiveContact("jd1234"); todayComDomain = persistResource(DatabaseHelper.newDomain("today.com", contact)); todayOrgDomain = persistResource(DatabaseHelper.newDomain("today.org", contact)); yesterdayComDomain = persistResource(DatabaseHelper.newDomain("yesterday.com", contact)); diff --git a/core/src/test/java/google/registry/model/reporting/Spec11ThreatMatchTest.java b/core/src/test/java/google/registry/model/reporting/Spec11ThreatMatchTest.java index b41770587..5bf87923a 100644 --- a/core/src/test/java/google/registry/model/reporting/Spec11ThreatMatchTest.java +++ b/core/src/test/java/google/registry/model/reporting/Spec11ThreatMatchTest.java @@ -26,7 +26,7 @@ import static org.junit.jupiter.api.Assertions.assertThrows; import com.google.common.collect.ImmutableSet; import google.registry.model.EntityTestCase; -import google.registry.model.contact.ContactResource; +import google.registry.model.contact.Contact; import google.registry.model.domain.Domain; import google.registry.model.host.Host; import google.registry.model.transfer.ContactTransferData; @@ -46,7 +46,7 @@ public final class Spec11ThreatMatchTest extends EntityTestCase { private Spec11ThreatMatch threat; private Domain domain; private Host host; - private ContactResource registrantContact; + private Contact registrantContact; Spec11ThreatMatchTest() { super(JpaEntityCoverageCheck.ENABLED); @@ -55,8 +55,7 @@ public final class Spec11ThreatMatchTest extends EntityTestCase { @BeforeEach void setUp() { VKey hostVKey = VKey.createSql(Host.class, "host"); - VKey registrantContactVKey = - VKey.createSql(ContactResource.class, "contact_id"); + VKey registrantContactVKey = VKey.createSql(Contact.class, "contact_id"); String domainRepoId = "4-TLD"; createTld("tld"); @@ -75,7 +74,7 @@ public final class Spec11ThreatMatchTest extends EntityTestCase { // Create a contact for the purpose of testing a foreign key reference in the Domain table. registrantContact = - new ContactResource.Builder() + new Contact.Builder() .setRepoId("contact_id") .setCreationRegistrarId(REGISTRAR_ID) .setTransferData(new ContactTransferData.Builder().build()) diff --git a/core/src/test/java/google/registry/rdap/RdapDomainActionTest.java b/core/src/test/java/google/registry/rdap/RdapDomainActionTest.java index 7c6bb45e7..fa9f1c105 100644 --- a/core/src/test/java/google/registry/rdap/RdapDomainActionTest.java +++ b/core/src/test/java/google/registry/rdap/RdapDomainActionTest.java @@ -19,16 +19,15 @@ import static google.registry.rdap.RdapTestHelper.assertThat; import static google.registry.testing.DatabaseHelper.createTld; import static google.registry.testing.DatabaseHelper.persistResource; import static google.registry.testing.DatabaseHelper.persistSimpleResources; -import static google.registry.testing.FullFieldsTestEntityHelper.makeAndPersistContactResource; import static google.registry.testing.FullFieldsTestEntityHelper.makeAndPersistHost; import static google.registry.testing.FullFieldsTestEntityHelper.makeDomain; import static google.registry.testing.FullFieldsTestEntityHelper.makeHistoryEntry; import static google.registry.testing.FullFieldsTestEntityHelper.makeRegistrar; -import static google.registry.testing.FullFieldsTestEntityHelper.makeRegistrarContacts; +import static google.registry.testing.FullFieldsTestEntityHelper.makeRegistrarPocs; import static org.mockito.Mockito.verify; import com.google.gson.JsonObject; -import google.registry.model.contact.ContactResource; +import google.registry.model.contact.Contact; import google.registry.model.domain.Domain; import google.registry.model.domain.Period; import google.registry.model.host.Host; @@ -40,6 +39,7 @@ import google.registry.rdap.RdapMetrics.SearchType; import google.registry.rdap.RdapMetrics.WildcardType; import google.registry.rdap.RdapSearchResults.IncompletenessWarningType; import google.registry.request.Action; +import google.registry.testing.FullFieldsTestEntityHelper; import java.util.Optional; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Disabled; @@ -63,28 +63,24 @@ class RdapDomainActionTest extends RdapActionBaseTestCase { createTld("lol"); Registrar registrarLol = persistResource(makeRegistrar( "evilregistrar", "Yes Virginia