You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ai...@apache.org on 2009/01/07 12:54:15 UTC
svn commit: r732311 - in
/qpid/trunk/qpid/java/management/tools/qpid-cli/src/org/apache/qpid:
CommandLineInterpreter.java commands/objects/ObjectNames.java
Author: aidan
Date: Wed Jan 7 03:54:14 2009
New Revision: 732311
URL: http://svn.apache.org/viewvc?rev=732311&view=rev
Log:
QPID-1528: Add get/set commands for JMX attributes.
Modified:
qpid/trunk/qpid/java/management/tools/qpid-cli/src/org/apache/qpid/CommandLineInterpreter.java
qpid/trunk/qpid/java/management/tools/qpid-cli/src/org/apache/qpid/commands/objects/ObjectNames.java
Modified: qpid/trunk/qpid/java/management/tools/qpid-cli/src/org/apache/qpid/CommandLineInterpreter.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/management/tools/qpid-cli/src/org/apache/qpid/CommandLineInterpreter.java?rev=732311&r1=732310&r2=732311&view=diff
==============================================================================
--- qpid/trunk/qpid/java/management/tools/qpid-cli/src/org/apache/qpid/CommandLineInterpreter.java (original)
+++ qpid/trunk/qpid/java/management/tools/qpid-cli/src/org/apache/qpid/CommandLineInterpreter.java Wed Jan 7 03:54:14 2009
@@ -49,10 +49,12 @@
import jline.SimpleCompletor;
import org.apache.qpid.commands.Commanddelete;
+import org.apache.qpid.commands.Commandget;
import org.apache.qpid.commands.Commandhelp;
import org.apache.qpid.commands.Commandinfo;
import org.apache.qpid.commands.Commandlist;
import org.apache.qpid.commands.Commandmove;
+import org.apache.qpid.commands.Commandset;
import org.apache.qpid.commands.Commandview;
import org.apache.qpid.commands.Commandviewcontent;
import org.apache.qpid.utils.CommandLineOptionParser;
@@ -106,9 +108,16 @@
/* This implementation is for the people who are using the interactive
mode for one shot this run the user given command and exit */
for (int i = 0; i < args.length; i++) {
- if (args[i].compareTo("list") == 0 || args[i].compareTo("info") == 0 || args[i].compareTo("view") == 0 || args[i].compareTo("viewcontent") == 0
- || args[i].compareTo("delete") == 0 || args[i].compareTo("move") == 0) {
- oneshotmode(args,commandlineoptionparser,jmxc,mbsc);
+ if (args[i].compareTo("list") == 0 ||
+ args[i].compareTo("info") == 0 ||
+ args[i].compareTo("view") == 0 ||
+ args[i].compareTo("viewcontent") == 0 ||
+ args[i].compareTo("delete") == 0 ||
+ args[i].compareTo("move") == 0 ||
+ args[i].compareTo("set") == 0 ||
+ args[i].compareTo("get") == 0)
+ {
+ oneshotmode(args, commandlineoptionparser, jmxc, mbsc);
return;
}
@@ -124,7 +133,9 @@
/* prividing GNU readline features using Jline library */
PrintWriter out = new PrintWriter(System.out);
reader.addCompletor(new ArgumentCompletor(
- new SimpleCompletor(new String[]{"list", "info", "exit", "quit", "delete", "move", "view", "viewcontent", "queue", "exchange", "connection", "usermanagement", "virtualhost"})));
+ new SimpleCompletor(new String[]{"get","set","list", "info", "exit", "quit", "delete", "move", "view",
+ "viewcontent", "queue", "exchange", "connection", "usermanagement",
+ "virtualhost"})));
while ((line = reader.readLine("qpid-admin-$ ")) != null) {
out.flush();
if (removeSpaces(line).equalsIgnoreCase("quit") || removeSpaces(line).equalsIgnoreCase("exit"))
@@ -140,6 +151,7 @@
engine.runcommand();
}
}
+
conn.getConnector().close();
}
catch (Exception ex) {
@@ -150,10 +162,12 @@
private static void registerCommands()
{
CommandExecutionEngine.addCommand(Commanddelete.COMMAND_NAME, Commanddelete.class);
+ CommandExecutionEngine.addCommand(Commandget.COMMAND_NAME, Commandget.class);
CommandExecutionEngine.addCommand(Commandhelp.COMMAND_NAME, Commandhelp.class);
CommandExecutionEngine.addCommand(Commandinfo.COMMAND_NAME, Commandinfo.class);
CommandExecutionEngine.addCommand(Commandlist.COMMAND_NAME, Commandlist.class);
CommandExecutionEngine.addCommand(Commandmove.COMMAND_NAME, Commandmove.class);
+ CommandExecutionEngine.addCommand(Commandset.COMMAND_NAME, Commandset.class);
CommandExecutionEngine.addCommand(Commandview.COMMAND_NAME, Commandview.class);
CommandExecutionEngine.addCommand(Commandviewcontent.COMMAND_NAME, Commandviewcontent.class);
}
Modified: qpid/trunk/qpid/java/management/tools/qpid-cli/src/org/apache/qpid/commands/objects/ObjectNames.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/management/tools/qpid-cli/src/org/apache/qpid/commands/objects/ObjectNames.java?rev=732311&r1=732310&r2=732311&view=diff
==============================================================================
--- qpid/trunk/qpid/java/management/tools/qpid-cli/src/org/apache/qpid/commands/objects/ObjectNames.java (original)
+++ qpid/trunk/qpid/java/management/tools/qpid-cli/src/org/apache/qpid/commands/objects/ObjectNames.java Wed Jan 7 03:54:14 2009
@@ -25,10 +25,16 @@
import javax.management.MBeanServerConnection;
import javax.management.ObjectName;
import javax.management.MBeanInfo;
+import javax.management.MBeanException;
+import javax.management.AttributeNotFoundException;
+import javax.management.InstanceNotFoundException;
+import javax.management.ReflectionException;
+import javax.management.Attribute;
import java.util.Iterator;
import java.util.Set;
import java.util.List;
import java.util.ArrayList;
+import java.io.IOException;
/**
* Created by IntelliJ IDEA.
@@ -114,7 +120,7 @@
temp = "=" + temp;
echo(temp);
echo("There are no attributes for this object Type");
- return;
+ continue;
}
for (MBeanAttributeInfo attr : attr_info) {
Object toWrite = null;
@@ -474,4 +480,30 @@
return set;
}
+ public Object getAttribute(ObjectName object, String attribute)
+ {
+ try
+ {
+ return mbsc.getAttribute(object, attribute);
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ }
+
+ return null;
+ }
+
+ public void setAttribute(ObjectName object, Attribute attribute)
+ {
+ try
+ {
+ mbsc.setAttribute(object, attribute);
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ }
+ }
+
}