summaryrefslogtreecommitdiff
path: root/qpid/java/broker/src/main/java/org/apache/qpid/qmf/QMFGetQueryCommand.java
diff options
context:
space:
mode:
Diffstat (limited to 'qpid/java/broker/src/main/java/org/apache/qpid/qmf/QMFGetQueryCommand.java')
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/qmf/QMFGetQueryCommand.java67
1 files changed, 42 insertions, 25 deletions
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/qmf/QMFGetQueryCommand.java b/qpid/java/broker/src/main/java/org/apache/qpid/qmf/QMFGetQueryCommand.java
index 8e8cb55a0d..c11e1a9b27 100644
--- a/qpid/java/broker/src/main/java/org/apache/qpid/qmf/QMFGetQueryCommand.java
+++ b/qpid/java/broker/src/main/java/org/apache/qpid/qmf/QMFGetQueryCommand.java
@@ -21,6 +21,7 @@
package org.apache.qpid.qmf;
+import org.apache.log4j.Logger;
import org.apache.qpid.transport.codec.BBDecoder;
import org.apache.qpid.server.virtualhost.VirtualHost;
import org.apache.qpid.server.message.ServerMessage;
@@ -33,28 +34,22 @@ import java.util.*;
public class QMFGetQueryCommand extends QMFCommand
{
- private Map<String, Object> _map;
+ private static final Logger _qmfLogger = Logger.getLogger("qpid.qmf");
+
+ private String _className;
+ private String _packageName;
+ private UUID _objectId;
public QMFGetQueryCommand(QMFCommandHeader header, BBDecoder decoder)
{
super(header);
- _map = decoder.readMap();
- }
-
- public void process(VirtualHost virtualHost, ServerMessage message)
- {
- String exchangeName = message.getMessageHeader().getReplyToExchange();
- String routingKey = message.getMessageHeader().getReplyToRoutingKey();
-
- IApplicationRegistry appRegistry = virtualHost.getApplicationRegistry();
- QMFService service = appRegistry.getQMFService();
-
- String className = (String) _map.get("_class");
- String packageName = (String) _map.get("_package");
+ Map<String, Object> _map = decoder.readMap();
+ _className = (String) _map.get("_class");
+ _packageName = (String) _map.get("_package");
byte[] objectIdBytes = (byte[]) _map.get("_objectId");
- UUID objectId;
+
if(objectIdBytes != null)
{
long msb = 0;
@@ -68,21 +63,34 @@ public class QMFGetQueryCommand extends QMFCommand
{
lsb = (lsb << 8) | (objectIdBytes[i] & 0xff);
}
- objectId = new UUID(msb, lsb);
+ _objectId = new UUID(msb, lsb);
}
else
{
- objectId = null;
+ _objectId = null;
}
+
+ }
+
+ public void process(VirtualHost virtualHost, ServerMessage message)
+ {
+ String exchangeName = message.getMessageHeader().getReplyToExchange();
+ String routingKey = message.getMessageHeader().getReplyToRoutingKey();
+
+ IApplicationRegistry appRegistry = virtualHost.getApplicationRegistry();
+ QMFService service = appRegistry.getQMFService();
+
+ _qmfLogger.debug("Execute: " + this);
+
List<QMFCommand> commands = new ArrayList<QMFCommand>();
final long sampleTime = System.currentTimeMillis() * 1000000l;
Collection<QMFPackage> packages;
- if(packageName != null && packageName.length() != 0)
+ if(_packageName != null && _packageName.length() != 0)
{
- QMFPackage qmfPackage = service.getPackage(packageName);
+ QMFPackage qmfPackage = service.getPackage(_packageName);
if(qmfPackage == null)
{
packages = Collections.EMPTY_LIST;
@@ -102,9 +110,9 @@ public class QMFGetQueryCommand extends QMFCommand
Collection<QMFClass> qmfClasses;
- if(className != null && className.length() != 0)
+ if(_className != null && _className.length() != 0)
{
- QMFClass qmfClass = qmfPackage.getQMFClass(className);
+ QMFClass qmfClass = qmfPackage.getQMFClass(_className);
if(qmfClass == null)
{
qmfClasses = Collections.EMPTY_LIST;
@@ -124,9 +132,9 @@ public class QMFGetQueryCommand extends QMFCommand
{
Collection<QMFObject> objects;
- if(objectId != null)
+ if(_objectId != null)
{
- QMFObject obj = service.getObjectById(qmfClass, objectId);
+ QMFObject obj = service.getObjectById(qmfClass, _objectId);
if(obj == null)
{
objects = Collections.EMPTY_LIST;
@@ -158,12 +166,12 @@ public class QMFGetQueryCommand extends QMFCommand
for(QMFCommand cmd : commands)
{
-
+ _qmfLogger.debug("Respond: " + cmd);
QMFMessage responseMessage = new QMFMessage(routingKey, cmd);
Exchange exchange = virtualHost.getExchangeRegistry().getExchange(exchangeName);
- ArrayList<? extends BaseQueue> queues = exchange.route(responseMessage);
+ List<? extends BaseQueue> queues = exchange.route(responseMessage);
for(BaseQueue q : queues)
{
@@ -179,4 +187,13 @@ public class QMFGetQueryCommand extends QMFCommand
}
}
+ @Override
+ public String toString()
+ {
+ return "QMFGetQueryCommand{" +
+ "packageName='" + _packageName + '\'' +
+ ", className='" + _className + '\'' +
+ ", objectId=" + _objectId +
+ '}';
+ }
} \ No newline at end of file