summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorTed Ross <tross@apache.org>2012-02-15 21:58:46 +0000
committerTed Ross <tross@apache.org>2012-02-15 21:58:46 +0000
commit1302559acd97ca9f70d2cd2cb1efc13ed7b2d03d (patch)
tree85b6022aa7c6567079d168c3bbe5598fed7235a4 /tools
parentc6304a4b216e61f5c2433f6626fbc65901fe5d2f (diff)
downloadqpid-python-1302559acd97ca9f70d2cd2cb1efc13ed7b2d03d.tar.gz
QPID-3847 - Fixed recursive ID generation when V1 and V2 are mixed.
Thanks to Siddhesh Poyarekar for his help with this issue. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1244750 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'tools')
-rwxr-xr-xtools/src/py/qpid-tool20
1 files changed, 16 insertions, 4 deletions
diff --git a/tools/src/py/qpid-tool b/tools/src/py/qpid-tool
index df8b7e3f96..af948b13a9 100755
--- a/tools/src/py/qpid-tool
+++ b/tools/src/py/qpid-tool
@@ -252,6 +252,20 @@ class QmfData(Console):
elif tokens[0].isdigit():
self.showObjectById(int(tokens[0]))
+ def _build_object_name(self, obj):
+ values = []
+ for p,v in obj.getProperties():
+ if p.name != "vhostRef" and p.index == 1:
+ if p.name == "brokerRef": # reference to broker
+ values.append('org.apache.qpid.broker:broker:amqp-broker')
+ else:
+ values.append(str(v))
+
+ object_key = ",".join(values)
+ class_key = obj.getClassKey();
+ return class_key.getPackageName() + ":" + class_key.getClassName() + ":" + object_key
+
+
def do_call(self, data):
tokens = data.split()
if len(tokens) < 2:
@@ -290,10 +304,8 @@ class QmfData(Console):
object_id = obj.getObjectId();
if not object_id.isV2 and obj.getAgent().isV2:
- object_key = ",".join([str(v) for p, v in obj.getProperties() if p.name != "vhostRef" and p.index == 1])
- class_key = obj.getClassKey();
- object_name = class_key.getPackageName() + ":" + class_key.getClassName() + ":" + object_key
- object_id = ObjectId.create(object_id.agentName, object_name)
+ object_name = self._build_object_name(obj)
+ object_id = ObjectId.create(object_id.agentName, object_name)
self.session._sendMethodRequest(self.broker, obj.getClassKey(), object_id, methodName, args)