Skip to content

Commit

Permalink
implemented list and delete for the shell
Browse files Browse the repository at this point in the history
  • Loading branch information
Thomas Risberg authored and Thomas Risberg committed Sep 21, 2009
1 parent 65260ee commit 4689410
Show file tree
Hide file tree
Showing 2 changed files with 89 additions and 0 deletions.
88 changes: 88 additions & 0 deletions src/org/hyperic/hq/hqapi1/tools/ApplicationCommand.java
@@ -0,0 +1,88 @@
package org.hyperic.hq.hqapi1.tools;

import joptsimple.OptionParser;
import joptsimple.OptionSet;
import org.hyperic.hq.hqapi1.ApplicationApi;
import org.hyperic.hq.hqapi1.HQApi;
import org.hyperic.hq.hqapi1.XmlUtil;
import org.hyperic.hq.hqapi1.types.*;

import java.util.Arrays;

public class ApplicationCommand extends Command {

private static String CMD_LIST = "list";
private static String CMD_DELETE = "delete";

private static String[] COMMANDS = { CMD_LIST, CMD_DELETE };

private static String OPT_ID = "id";

// Additional sync commands when syncing via command line options.
// private static String OPT_NAME = "name";
// private static String OPT_PROTOTYPE = "prototype";
// private static String OPT_REGEX = "regex";
// private static String OPT_DELETEMISSING = "deleteMissing";
// private static String OPT_DESC = "description";

private void printUsage() {
System.err.println("One of " + Arrays.toString(COMMANDS) + " required");
}

protected void handleCommand(String[] args) throws Exception {
if (args.length == 0) {
printUsage();
System.exit(-1);
}

if (args[0].equals(CMD_LIST)) {
list(trim(args));
} else if (args[0].equals(CMD_DELETE)) {
delete(trim(args));
} else {
printUsage();
System.exit(-1);
}
}

private void list(String[] args) throws Exception {

OptionParser p = getOptionParser();

OptionSet options = getOptions(p, args);

HQApi api = getApi(options);
ApplicationApi groupApi = api.getApplicationApi();

ApplicationsResponse applications;

applications = groupApi.listApplications();

XmlUtil.serialize(applications, System.out, Boolean.TRUE);
}

private void delete(String[] args) throws Exception {

OptionParser p = getOptionParser();

p.accepts(OPT_ID, "The resource id to delete").
withRequiredArg().ofType(Integer.class);

OptionSet options = getOptions(p, args);

if (!options.has(OPT_ID)) {
System.err.println("Required argument " + OPT_ID + " not given");
System.exit(-1);
}

HQApi api = getApi(options);
ApplicationApi groupApi = api.getApplicationApi();

Integer id = (Integer)options.valueOf(OPT_ID);

StatusResponse response = groupApi.deleteApplication(id);
checkSuccess(response);

System.out.println("Successfully deleted group id " + id);
}
}
1 change: 1 addition & 0 deletions src/org/hyperic/hq/hqapi1/tools/Shell.java
Expand Up @@ -10,6 +10,7 @@ public class Shell {
static {
_commands.put("agent", new AgentCommand());
_commands.put("alertdefinition", new AlertDefinitionCommand());
_commands.put("application", new ApplicationCommand());
_commands.put("autodiscovery", new AutoDiscoveryCommand());
_commands.put("escalation", new EscalationCommand());
_commands.put("group", new GroupCommand());
Expand Down

0 comments on commit 4689410

Please sign in to comment.