diff --git a/java/google/registry/export/ExportConstants.java b/java/google/registry/export/ExportConstants.java index c8978aec3..22fbe430f 100644 --- a/java/google/registry/export/ExportConstants.java +++ b/java/google/registry/export/ExportConstants.java @@ -34,7 +34,7 @@ import google.registry.model.billing.RegistrarCredit; import google.registry.model.billing.RegistrarCreditBalance; import google.registry.model.contact.ContactResource; import google.registry.model.domain.DomainBase; -import google.registry.model.domain.LrpToken; +import google.registry.model.domain.LrpTokenEntity; import google.registry.model.host.HostResource; import google.registry.model.index.DomainApplicationIndex; import google.registry.model.index.EppResourceIndex; @@ -53,7 +53,7 @@ public final class ExportConstants { /** Set of entity classes to export into BigQuery for reporting purposes. */ @VisibleForTesting - @SuppressWarnings("unchecked") // varargs + @SuppressWarnings("unchecked") // varargs static final ImmutableSet> REPORTING_ENTITY_CLASSES = ImmutableSet.of( Cancellation.class, @@ -66,7 +66,7 @@ public final class ExportConstants { ForeignKeyHostIndex.class, HistoryEntry.class, HostResource.class, - LrpToken.class, + LrpTokenEntity.class, Modification.class, OneTime.class, PremiumList.class, diff --git a/java/google/registry/flows/domain/BaseDomainCreateFlow.java b/java/google/registry/flows/domain/BaseDomainCreateFlow.java index d85043c2f..2e5395392 100644 --- a/java/google/registry/flows/domain/BaseDomainCreateFlow.java +++ b/java/google/registry/flows/domain/BaseDomainCreateFlow.java @@ -57,7 +57,7 @@ import google.registry.model.domain.DomainBase; import google.registry.model.domain.DomainBase.Builder; import google.registry.model.domain.DomainCommand.Create; import google.registry.model.domain.DomainResource; -import google.registry.model.domain.LrpToken; +import google.registry.model.domain.LrpTokenEntity; import google.registry.model.domain.fee.FeeTransformCommandExtension; import google.registry.model.domain.flags.FlagsCreateCommandExtension; import google.registry.model.domain.launch.LaunchCreateExtension; @@ -94,7 +94,7 @@ public abstract class BaseDomainCreateFlow lrpToken; + protected Optional lrpToken; protected Optional extraFlowLogic; @@ -206,7 +206,7 @@ public abstract class BaseDomainCreateFlowabsent(); + : Optional.absent(); // Superusers can create reserved domains, force creations on domains that require a claims // notice without specifying a claims key, and override blocks on registering premium domains. if (!isSuperuser) { diff --git a/java/google/registry/flows/domain/TldSpecificLogicProxy.java b/java/google/registry/flows/domain/TldSpecificLogicProxy.java index 892d7bdc9..cdd5af81b 100644 --- a/java/google/registry/flows/domain/TldSpecificLogicProxy.java +++ b/java/google/registry/flows/domain/TldSpecificLogicProxy.java @@ -29,7 +29,7 @@ import google.registry.flows.ResourceFlowUtils.ResourceDoesNotExistException; import google.registry.model.ImmutableObject; import google.registry.model.domain.DomainCommand.Create; import google.registry.model.domain.DomainResource; -import google.registry.model.domain.LrpToken; +import google.registry.model.domain.LrpTokenEntity; import google.registry.model.domain.fee.BaseFee; import google.registry.model.domain.fee.BaseFee.FeeType; import google.registry.model.domain.fee.Credit; @@ -266,18 +266,18 @@ public final class TldSpecificLogicProxy { } /** - * Checks whether a {@link Create} command has a valid {@link LrpToken} for a particular TLD, and - * return that token (wrapped in an {@link Optional}) if one exists. + * Checks whether a {@link Create} command has a valid {@link LrpTokenEntity} for a particular + * TLD, and return that token (wrapped in an {@link Optional}) if one exists. * *

This method has no knowledge of whether or not an auth code (interpreted here as an LRP * token) has already been checked against the reserved list for QLP (anchor tenant), as auth * codes are used for both types of registrations. */ - public static Optional getMatchingLrpToken(Create createCommand, String tld) { + public static Optional getMatchingLrpToken(Create createCommand, String tld) { // Note that until the actual per-TLD logic is built out, what's being done here is a basic // domain-name-to-assignee match. String lrpToken = createCommand.getAuthInfo().getPw().getValue(); - LrpToken token = ofy().load().key(Key.create(LrpToken.class, lrpToken)).now(); + LrpTokenEntity token = ofy().load().key(Key.create(LrpTokenEntity.class, lrpToken)).now(); if (token != null) { if (token.getAssignee().equalsIgnoreCase(createCommand.getFullyQualifiedDomainName()) && token.getRedemptionHistoryEntry() == null @@ -285,6 +285,6 @@ public final class TldSpecificLogicProxy { return Optional.of(token); } } - return Optional.absent(); + return Optional.absent(); } } diff --git a/java/google/registry/model/EntityClasses.java b/java/google/registry/model/EntityClasses.java index 1307e7f50..287ce9d31 100644 --- a/java/google/registry/model/EntityClasses.java +++ b/java/google/registry/model/EntityClasses.java @@ -28,7 +28,7 @@ import google.registry.model.contact.ContactResource; import google.registry.model.domain.DomainApplication; import google.registry.model.domain.DomainBase; import google.registry.model.domain.DomainResource; -import google.registry.model.domain.LrpToken; +import google.registry.model.domain.LrpTokenEntity; import google.registry.model.export.LogsExportCursor; import google.registry.model.host.HostResource; import google.registry.model.index.DomainApplicationIndex; @@ -60,7 +60,7 @@ import google.registry.model.tmch.TmchCrl; public final class EntityClasses { /** Set of entity classes. */ - @SuppressWarnings("unchecked") // varargs + @SuppressWarnings("unchecked") // varargs public static final ImmutableSet> ALL_CLASSES = ImmutableSet.>of( BillingEvent.Cancellation.class, @@ -92,7 +92,7 @@ public final class EntityClasses { HostResource.class, Lock.class, LogsExportCursor.class, - LrpToken.class, + LrpTokenEntity.class, PollMessage.class, PollMessage.Autorenew.class, PollMessage.OneTime.class, diff --git a/java/google/registry/model/domain/LrpToken.java b/java/google/registry/model/domain/LrpTokenEntity.java similarity index 91% rename from java/google/registry/model/domain/LrpToken.java rename to java/google/registry/model/domain/LrpTokenEntity.java index ad6ad0db5..37a9600ba 100644 --- a/java/google/registry/model/domain/LrpToken.java +++ b/java/google/registry/model/domain/LrpTokenEntity.java @@ -28,11 +28,9 @@ import google.registry.model.reporting.HistoryEntry; import java.util.Map; import java.util.Set; -/** - * An entity representing a token distributed to eligible LRP registrants. - */ +/** An entity representing a token distributed to eligible LRP registrants. */ @Entity -public class LrpToken extends BackupGroupRoot implements Buildable { +public class LrpTokenEntity extends BackupGroupRoot implements Buildable { /** * The secret token assigned to a registrant for the purposes of LRP registration. @@ -94,11 +92,11 @@ public class LrpToken extends BackupGroupRoot implements Buildable { return new Builder(clone(this)); } - /** A builder for constructing {@link LrpToken} objects, since they are immutable. */ - public static class Builder extends Buildable.Builder { + /** A builder for constructing {@link LrpTokenEntity} objects, since they are immutable. */ + public static class Builder extends Buildable.Builder { public Builder() {} - private Builder(LrpToken instance) { + private Builder(LrpTokenEntity instance) { super(instance); } diff --git a/java/google/registry/tools/CreateLrpTokensCommand.java b/java/google/registry/tools/CreateLrpTokensCommand.java index cd7b0515d..3bd4a6faa 100644 --- a/java/google/registry/tools/CreateLrpTokensCommand.java +++ b/java/google/registry/tools/CreateLrpTokensCommand.java @@ -32,7 +32,7 @@ import com.google.common.io.Files; import com.google.common.io.LineReader; import com.googlecode.objectify.Key; import com.googlecode.objectify.Work; -import google.registry.model.domain.LrpToken; +import google.registry.model.domain.LrpTokenEntity; import google.registry.tools.Command.RemoteApiCommand; import google.registry.tools.params.PathParameter; import google.registry.util.StringGenerator; @@ -92,11 +92,11 @@ public final class CreateLrpTokensCommand implements RemoteApiCommand { String line = null; do { - ImmutableSet.Builder tokensToSave = new ImmutableSet.Builder<>(); + ImmutableSet.Builder tokensToSave = new ImmutableSet.Builder<>(); for (String token : generateTokens(BATCH_SIZE)) { line = reader.readLine(); if (!isNullOrEmpty(line)) { - tokensToSave.add(new LrpToken.Builder() + tokensToSave.add(new LrpTokenEntity.Builder() .setAssignee(line) .setToken(token) .setValidTlds(validTlds) @@ -107,13 +107,14 @@ public final class CreateLrpTokensCommand implements RemoteApiCommand { } while (line != null); } - private void saveTokens(final ImmutableSet tokens) { - Collection savedTokens = ofy().transact(new Work>() { - @Override - public Collection run() { - return ofy().save().entities(tokens).now().values(); - }}); - for (LrpToken token : savedTokens) { + private void saveTokens(final ImmutableSet tokens) { + Collection savedTokens = + ofy().transact(new Work>() { + @Override + public Collection run() { + return ofy().save().entities(tokens).now().values(); + }}); + for (LrpTokenEntity token : savedTokens) { System.out.printf("%s,%s%n", token.getAssignee(), token.getToken()); } } @@ -128,18 +129,18 @@ public final class CreateLrpTokensCommand implements RemoteApiCommand { private ImmutableSet generateTokens(int count) { final ImmutableSet candidates = ImmutableSet.copyOf(TokenUtils.createTokens(LRP, stringGenerator, count)); - ImmutableSet> existingTokenKeys = FluentIterable.from(candidates) - .transform(new Function>() { + ImmutableSet> existingTokenKeys = FluentIterable.from(candidates) + .transform(new Function>() { @Override - public Key apply(String input) { - return Key.create(LrpToken.class, input); + public Key apply(String input) { + return Key.create(LrpTokenEntity.class, input); }}) .toSet(); ImmutableSet existingTokenStrings = FluentIterable .from(ofy().load().keys(existingTokenKeys).values()) - .transform(new Function() { + .transform(new Function() { @Override - public String apply(LrpToken input) { + public String apply(LrpTokenEntity input) { return input.getToken(); }}) .toSet(); diff --git a/java/google/registry/tools/GetLrpTokenCommand.java b/java/google/registry/tools/GetLrpTokenCommand.java index 521ac1ce8..a44380fb7 100644 --- a/java/google/registry/tools/GetLrpTokenCommand.java +++ b/java/google/registry/tools/GetLrpTokenCommand.java @@ -21,7 +21,7 @@ import com.beust.jcommander.Parameter; import com.beust.jcommander.Parameters; import com.google.common.collect.ImmutableSet; import com.googlecode.objectify.Key; -import google.registry.model.domain.LrpToken; +import google.registry.model.domain.LrpTokenEntity; import google.registry.tools.Command.RemoteApiCommand; /** Command to show token information for LRP participants. */ @@ -51,19 +51,20 @@ public final class GetLrpTokenCommand implements RemoteApiCommand { checkArgument( (tokenString == null) == (assignee != null), "Exactly one of either token or assignee must be specified."); - ImmutableSet.Builder tokensBuilder = new ImmutableSet.Builder<>(); + ImmutableSet.Builder tokensBuilder = new ImmutableSet.Builder<>(); if (tokenString != null) { - LrpToken token = ofy().load().key(Key.create(LrpToken.class, tokenString)).now(); + LrpTokenEntity token = + ofy().load().key(Key.create(LrpTokenEntity.class, tokenString)).now(); if (token != null) { tokensBuilder.add(token); } } else { - tokensBuilder.addAll(ofy().load().type(LrpToken.class).filter("assignee", assignee)); + tokensBuilder.addAll(ofy().load().type(LrpTokenEntity.class).filter("assignee", assignee)); } - ImmutableSet tokens = tokensBuilder.build(); + ImmutableSet tokens = tokensBuilder.build(); if (!tokens.isEmpty()) { - for (LrpToken token : tokens) { + for (LrpTokenEntity token : tokens) { System.out.println(token); if (includeHistory && token.getRedemptionHistoryEntry() != null) { System.out.println( diff --git a/javatests/google/registry/export/backup_kinds.txt b/javatests/google/registry/export/backup_kinds.txt index b25c72762..0b757e8f9 100644 --- a/javatests/google/registry/export/backup_kinds.txt +++ b/javatests/google/registry/export/backup_kinds.txt @@ -12,7 +12,7 @@ ForeignKeyHostIndex HistoryEntry HostResource LogsExportCursor -LrpToken +LrpTokenEntity Modification OneTime PollMessage diff --git a/javatests/google/registry/flows/domain/DomainApplicationCreateFlowTest.java b/javatests/google/registry/flows/domain/DomainApplicationCreateFlowTest.java index be2a891cd..7a782185c 100644 --- a/javatests/google/registry/flows/domain/DomainApplicationCreateFlowTest.java +++ b/javatests/google/registry/flows/domain/DomainApplicationCreateFlowTest.java @@ -104,7 +104,7 @@ import google.registry.flows.domain.DomainFlowUtils.TrailingDashException; import google.registry.flows.domain.DomainFlowUtils.UnsupportedFeeAttributeException; import google.registry.model.domain.DomainApplication; import google.registry.model.domain.GracePeriod; -import google.registry.model.domain.LrpToken; +import google.registry.model.domain.LrpTokenEntity; import google.registry.model.domain.launch.ApplicationStatus; import google.registry.model.domain.launch.LaunchNotice; import google.registry.model.domain.launch.LaunchPhase; @@ -878,11 +878,12 @@ public class DomainApplicationCreateFlowTest persistResource(Registry.get("tld").asBuilder() .setLrpTldStates(ImmutableSet.of(TldState.LANDRUSH)) .build()); - LrpToken token = persistResource(new LrpToken.Builder() - .setToken("lrptokentest") - .setAssignee("test-validate.tld") - .setValidTlds(ImmutableSet.of("tld")) - .build()); + LrpTokenEntity token = persistResource( + new LrpTokenEntity.Builder() + .setToken("lrptokentest") + .setAssignee("test-validate.tld") + .setValidTlds(ImmutableSet.of("tld")) + .build()); setEppInput("domain_create_landrush_lrp.xml"); persistContactsAndHosts(); clock.advanceOneMilli(); @@ -910,11 +911,12 @@ public class DomainApplicationCreateFlowTest persistResource(Registry.get("tld").asBuilder() .setLrpTldStates(ImmutableSet.of(TldState.LANDRUSH)) .build()); - LrpToken token = persistResource(new LrpToken.Builder() - .setToken("lrptokentest") - .setAssignee("test-validate.tld") - .setValidTlds(ImmutableSet.of("tld")) - .build()); + LrpTokenEntity token = persistResource( + new LrpTokenEntity.Builder() + .setToken("lrptokentest") + .setAssignee("test-validate.tld") + .setValidTlds(ImmutableSet.of("tld")) + .build()); setEppInput("domain_create_landrush_lrp.xml"); persistContactsAndHosts(); clock.advanceOneMilli(); @@ -928,7 +930,7 @@ public class DomainApplicationCreateFlowTest persistResource(Registry.get("tld").asBuilder() .setLrpTldStates(ImmutableSet.of(TldState.LANDRUSH)) .build()); - persistResource(new LrpToken.Builder() + persistResource(new LrpTokenEntity.Builder() .setToken("lrptokentest2") .setAssignee("test-validate.tld") .setValidTlds(ImmutableSet.of("tld")) @@ -946,7 +948,7 @@ public class DomainApplicationCreateFlowTest persistResource(Registry.get("tld").asBuilder() .setLrpTldStates(ImmutableSet.of(TldState.LANDRUSH)) .build()); - persistResource(new LrpToken.Builder() + persistResource(new LrpTokenEntity.Builder() .setToken("lrptokentest") // The below assignee doesn't really make sense here, but as of right now the validation // in TldSpecificLogicProxy is just a match on the domain name, so this test ensures that @@ -967,11 +969,12 @@ public class DomainApplicationCreateFlowTest persistResource(Registry.get("tld").asBuilder() .setLrpTldStates(ImmutableSet.of(TldState.LANDRUSH)) .build()); - persistResource(new LrpToken.Builder() + persistResource(new LrpTokenEntity.Builder() .setToken("lrptokentest") .setAssignee("test-validate.tld") .setValidTlds(ImmutableSet.of("tld")) - .setRedemptionHistoryEntry(Key.create(HistoryEntry.class, "1")) // as long as it's not null + .setRedemptionHistoryEntry( + Key.create(HistoryEntry.class, "1")) // as long as it's not null .build()); setEppInput("domain_create_landrush_lrp.xml"); persistContactsAndHosts(); @@ -983,11 +986,13 @@ public class DomainApplicationCreateFlowTest @Test public void testSuccess_landrushApplicationWithLrpToken_notInLrp() throws Exception { createTld("tld", TldState.LANDRUSH); - LrpToken token = persistResource(new LrpToken.Builder() - .setToken("lrptokentest") - .setAssignee("test-validate.tld") - .setValidTlds(ImmutableSet.of("tld")) - .build()); + LrpTokenEntity token = + persistResource( + new LrpTokenEntity.Builder() + .setToken("lrptokentest") + .setAssignee("test-validate.tld") + .setValidTlds(ImmutableSet.of("tld")) + .build()); setEppInput("domain_create_landrush_lrp.xml"); persistContactsAndHosts(); clock.advanceOneMilli(); @@ -1006,11 +1011,12 @@ public class DomainApplicationCreateFlowTest START_OF_TIME, TldState.SUNRISE, clock.nowUtc(), TldState.LANDRUSH)) .build()); - LrpToken token = persistResource(new LrpToken.Builder() - .setToken("lrptokentest") - .setAssignee("test-validate.tld") - .setValidTlds(ImmutableSet.of("tld")) - .build()); + LrpTokenEntity token = persistResource( + new LrpTokenEntity.Builder() + .setToken("lrptokentest") + .setAssignee("test-validate.tld") + .setValidTlds(ImmutableSet.of("tld")) + .build()); setEppInput("domain_create_landrush_lrp.xml"); persistContactsAndHosts(); clock.advanceOneMilli(); diff --git a/javatests/google/registry/flows/domain/DomainCreateFlowTest.java b/javatests/google/registry/flows/domain/DomainCreateFlowTest.java index 27afc2085..3a94d8f11 100644 --- a/javatests/google/registry/flows/domain/DomainCreateFlowTest.java +++ b/javatests/google/registry/flows/domain/DomainCreateFlowTest.java @@ -103,7 +103,7 @@ import google.registry.model.billing.BillingEvent.Flag; import google.registry.model.billing.BillingEvent.Reason; import google.registry.model.domain.DomainResource; import google.registry.model.domain.GracePeriod; -import google.registry.model.domain.LrpToken; +import google.registry.model.domain.LrpTokenEntity; import google.registry.model.domain.TestExtraLogicManager; import google.registry.model.domain.TestExtraLogicManager.TestExtraLogicManagerSuccessException; import google.registry.model.domain.launch.ApplicationStatus; @@ -823,7 +823,7 @@ public class DomainCreateFlowTest extends ResourceFlowTestCase redemptionHistoryEntry; google.registry.model.UpdateAutoTimestamp updateTimestamp; diff --git a/javatests/google/registry/tools/CreateLrpTokensCommandTest.java b/javatests/google/registry/tools/CreateLrpTokensCommandTest.java index 4f6a652a7..7d2658148 100644 --- a/javatests/google/registry/tools/CreateLrpTokensCommandTest.java +++ b/javatests/google/registry/tools/CreateLrpTokensCommandTest.java @@ -24,7 +24,7 @@ import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; import com.google.common.io.Files; import com.googlecode.objectify.Key; -import google.registry.model.domain.LrpToken; +import google.registry.model.domain.LrpTokenEntity; import google.registry.model.reporting.HistoryEntry; import google.registry.testing.DeterministicStringGenerator; import google.registry.testing.DeterministicStringGenerator.Rule; @@ -61,7 +61,7 @@ public class CreateLrpTokensCommandTest extends CommandTestCase actual = ofy().load().type(LrpToken.class); - ImmutableMap.Builder actualTokenMapBuilder = new ImmutableMap.Builder<>(); - for (LrpToken token : actual) { + Iterable actual = ofy().load().type(LrpTokenEntity.class); + ImmutableMap.Builder actualTokenMapBuilder = + new ImmutableMap.Builder<>(); + for (LrpTokenEntity token : actual) { actualTokenMapBuilder.put(token.getToken(), token); } - ImmutableMap actualTokenMap = actualTokenMapBuilder.build(); + ImmutableMap actualTokenMap = actualTokenMapBuilder.build(); assertThat(actualTokenMap).hasSize(expected.length); - for (LrpToken expectedToken : expected) { - LrpToken match = actualTokenMap.get(expectedToken.getToken()); + for (LrpTokenEntity expectedToken : expected) { + LrpTokenEntity match = actualTokenMap.get(expectedToken.getToken()); assertThat(match).isNotNull(); assertThat(match.getAssignee()).isEqualTo(expectedToken.getAssignee()); assertThat(match.getValidTlds()).containsExactlyElementsIn(expectedToken.getValidTlds()); @@ -185,12 +186,12 @@ public class CreateLrpTokensCommandTest extends CommandTestCase validTlds, @Nullable Key redemptionHistoryEntry) { - LrpToken.Builder tokenBuilder = new LrpToken.Builder() + LrpTokenEntity.Builder tokenBuilder = new LrpTokenEntity.Builder() .setAssignee(assignee) .setValidTlds(validTlds) .setToken(token); diff --git a/javatests/google/registry/tools/GetLrpTokenCommandTest.java b/javatests/google/registry/tools/GetLrpTokenCommandTest.java index 11fc9da07..257f98472 100644 --- a/javatests/google/registry/tools/GetLrpTokenCommandTest.java +++ b/javatests/google/registry/tools/GetLrpTokenCommandTest.java @@ -20,7 +20,7 @@ import static google.registry.testing.DatastoreHelper.persistResource; import com.googlecode.objectify.Key; import google.registry.model.domain.DomainApplication; -import google.registry.model.domain.LrpToken; +import google.registry.model.domain.LrpTokenEntity; import google.registry.model.reporting.HistoryEntry; import org.junit.Before; import org.junit.Test; @@ -37,7 +37,7 @@ public class GetLrpTokenCommandTest extends CommandTestCase .setType(HistoryEntry.Type.DOMAIN_APPLICATION_CREATE) .build()); persistResource( - new LrpToken.Builder() + new LrpTokenEntity.Builder() .setAssignee("domain.tld") .setToken("domain_token") .setRedemptionHistoryEntry(Key.create(applicationCreateHistoryEntry))