diff --git a/java/google/registry/tools/CreateOrUpdateRegistrarCommand.java b/java/google/registry/tools/CreateOrUpdateRegistrarCommand.java index 2bd22df6d..918f98dae 100644 --- a/java/google/registry/tools/CreateOrUpdateRegistrarCommand.java +++ b/java/google/registry/tools/CreateOrUpdateRegistrarCommand.java @@ -92,12 +92,8 @@ abstract class CreateOrUpdateRegistrarCommand extends MutatingCommand { String registrarName; @Nullable - @Parameter( - names = "--email", - description = "Email address of registrar", - converter = OptionalStringParameter.class, - validateWith = OptionalStringParameter.class) - Optional email; + @Parameter(names = "--email", description = "Email address of registrar") + String email; @Nullable @Parameter( @@ -280,8 +276,11 @@ abstract class CreateOrUpdateRegistrarCommand extends MutatingCommand { if (!isNullOrEmpty(registrarName)) { builder.setRegistrarName(registrarName); } - if (email != null) { - builder.setEmailAddress(email.orElse(null)); + if (!isNullOrEmpty(email)) { + builder.setEmailAddress(email); + } else if (!isNullOrEmpty( + icannReferralEmail)) { // fall back to ICANN referral email if present + builder.setEmailAddress(icannReferralEmail); } if (url != null) { builder.setUrl(url.orElse(null)); diff --git a/javatests/google/registry/tools/CreateRegistrarCommandTest.java b/javatests/google/registry/tools/CreateRegistrarCommandTest.java index 5cef82ebb..ef060aab9 100644 --- a/javatests/google/registry/tools/CreateRegistrarCommandTest.java +++ b/javatests/google/registry/tools/CreateRegistrarCommandTest.java @@ -89,6 +89,7 @@ public class CreateRegistrarCommandTest extends CommandTestCase registrar = Registrar.loadByClientId("clientz"); + assertThat(registrar).isPresent(); + assertThat(registrar.get().getEmailAddress()).isEqualTo("foo@bar.test"); + } + @Test public void testSuccess_url() throws Exception { runCommandForced( @@ -618,7 +640,6 @@ public class CreateRegistrarCommandTest extends CommandTestCase