// 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; import com.beust.jcommander.Parameter; import com.beust.jcommander.Parameters; import com.google.common.base.Joiner; import com.google.common.collect.ImmutableMap; import com.google.common.net.MediaType; import google.registry.tools.server.DeleteEntityAction; import java.util.List; /** * Command to delete an entity (or entities) in Datastore specified by raw key ids, which can be * found in Datastore Viewer in the AppEngine console -- it's the really long alphanumeric key that * is labeled "Entity key" on the page for an individual entity. * *
WARNING: This command can be dangerous if used incorrectly as it can bypass checks on
* deletion (including whether the entity is referenced by other entities) and it does not write
* commit log entries for non-registered types. It should mainly be used for deleting testing or
* malformed data that cannot be properly deleted using existing tools. Generally, if there already
* exists an entity-specific deletion command, then use that one instead.
*/
@Parameters(separators = " =", commandDescription = "Delete entities from Datastore by raw key.")
public class DeleteEntityCommand extends ConfirmingCommand implements ServerSideCommand {
@Parameter(description = "One or more raw keys of entities to delete.", required = true)
private List