diff --git a/java/google/registry/tools/RegistryTool.java b/java/google/registry/tools/RegistryTool.java index 7dc0557b9..9e8a6fc59 100644 --- a/java/google/registry/tools/RegistryTool.java +++ b/java/google/registry/tools/RegistryTool.java @@ -18,6 +18,7 @@ import com.google.common.annotations.VisibleForTesting; import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSortedMap; +import google.registry.tools.javascrap.DeleteOldCursorsCommand; import google.registry.tools.javascrap.LoadAndResaveCommand; import google.registry.tools.javascrap.RemoveIpAddressCommand; import google.registry.tools.javascrap.VerifyDualWrittenCursorsCommand; @@ -44,6 +45,7 @@ public final class RegistryTool { .put("delete_credit", DeleteCreditCommand.class) .put("delete_entity", DeleteEntityCommand.class) .put("delete_epp_resource", DeleteEppResourceCommand.class) + .put("delete_old_cursors", DeleteOldCursorsCommand.class) .put("delete_premium_list", DeletePremiumListCommand.class) .put("delete_reserved_list", DeleteReservedListCommand.class) .put("encrypt_escrow_deposit", EncryptEscrowDepositCommand.class) diff --git a/java/google/registry/tools/javascrap/DeleteOldCursorsCommand.java b/java/google/registry/tools/javascrap/DeleteOldCursorsCommand.java new file mode 100644 index 000000000..2a7baa190 --- /dev/null +++ b/java/google/registry/tools/javascrap/DeleteOldCursorsCommand.java @@ -0,0 +1,38 @@ +// Copyright 2016 The Domain Registry Authors. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package google.registry.tools.javascrap; + +import static google.registry.model.ofy.ObjectifyService.ofy; + +import com.beust.jcommander.Parameters; + +import google.registry.model.common.EntityGroupRoot; +import google.registry.model.registry.RegistryCursor; +import google.registry.tools.MutatingCommand; + +/** Deletes old {@link RegistryCursor} entities. */ +@Parameters( + separators = " =", + commandDescription = "Delete old RegistryCursor entities") +public final class DeleteOldCursorsCommand extends MutatingCommand { + + @Override + protected void init() throws Exception { + for (RegistryCursor cursor : + ofy().load().type(RegistryCursor.class).ancestor(EntityGroupRoot.getCrossTldKey())) { + stageEntityChange(cursor, null); + } + } +}