[rhmessaging-commits] rhmessaging commits: r3094 - in mgmt/trunk: mint/python/mint and 1 other directory.

rhmessaging-commits at lists.jboss.org rhmessaging-commits at lists.jboss.org
Tue Feb 3 10:57:59 EST 2009


Author: justi9
Date: 2009-02-03 10:57:59 -0500 (Tue, 03 Feb 2009)
New Revision: 3094

Modified:
   mgmt/trunk/cumin/python/cumin/client.py
   mgmt/trunk/cumin/python/cumin/model.py
   mgmt/trunk/mint/python/mint/__init__.py
Log:
Fix crashes on connection and session close; repair the sessions list

Modified: mgmt/trunk/cumin/python/cumin/client.py
===================================================================
--- mgmt/trunk/cumin/python/cumin/client.py	2009-02-03 15:27:50 UTC (rev 3093)
+++ mgmt/trunk/cumin/python/cumin/client.py	2009-02-03 15:57:59 UTC (rev 3094)
@@ -400,5 +400,5 @@
         def render_title(self, session, data):
             return "Attached?"
 
-        def render_value(self, session, value):
-            return fmt_predicate(value)
+        def render_content(self, session, data):
+            return fmt_predicate(data["attached"])

Modified: mgmt/trunk/cumin/python/cumin/model.py
===================================================================
--- mgmt/trunk/cumin/python/cumin/model.py	2009-02-03 15:27:50 UTC (rev 3093)
+++ mgmt/trunk/cumin/python/cumin/model.py	2009-02-03 15:57:59 UTC (rev 3094)
@@ -1476,16 +1476,16 @@
             return "Close"
 
         def do_invoke(self, conn, args, completion):
-            reg = conn.vhost.broker.registration
-            mconn = self.model.data.getConnectionByRegistration(reg)
-            
-            # Does it contain a mgmt session?
+            session_ids = set()
 
-            for session in conn.sessions:
-                if session.name == mconn.getSessionId():
+            for broker in self.model.data.mintBrokersByQmfBroker:
+                session_ids.add(broker.getSessionId())
+
+            for sess in conn.sessions:
+                if sess.name in session_ids:
                     raise Exception \
-                        ("Cannot close management connection %s" \
-                             % conn.address)
+                        ("Cannot close management connection %s" % \
+                             conn.address)
 
             conn.close(self.model.data, completion)
 
@@ -1529,13 +1529,11 @@
             return "Close"
 
         def do_invoke(self, sess, args, completion):
-            reg = sess.clientConnection.vhost.broker.registration
-            conn = self.model.data.getConnectionByRegistration(reg)
+            for broker in self.model.data.mintBrokersByQmfBroker:
+                if sess.name == broker.getSessionId():
+                    raise Exception \
+                        ("Cannot close management session %s" % sess.name)
 
-            if sess.name == conn.getSessionId():
-                raise Exception \
-                    ("Cannot close management session %s" % sess.name)
-
             sess.close(self.model.data, completion)
 
     class Detach(CuminAction):
@@ -1543,13 +1541,11 @@
             return "Detach"
 
         def do_invoke(self, sess, args, completion):
-            reg = sess.clientConnection.vhost.broker.registration
-            conn = self.model.data.getConnectionByRegistration(reg)
+            for broker in self.model.data.mintBrokersByQmfBroker:
+                if sess.name == broker.getSessionId():
+                    raise Exception \
+                        ("Cannot detach management session %s" % sess.name)
 
-            if sess.name == conn.getSessionId():
-                raise Exception \
-                    ("Cannot detach management session %s" % sess.name)
-
             sess.detach(self.model.data, completion)
 
     class ResetLifespan(CuminAction):

Modified: mgmt/trunk/mint/python/mint/__init__.py
===================================================================
--- mgmt/trunk/mint/python/mint/__init__.py	2009-02-03 15:27:50 UTC (rev 3093)
+++ mgmt/trunk/mint/python/mint/__init__.py	2009-02-03 15:57:59 UTC (rev 3094)
@@ -315,6 +315,9 @@
   def getAmqpSession(self):
     return self.qmfBroker.getAmqpSession()
 
+  def getAmqpSessionId(self):
+    return self.qmfBroker.getSessionId()
+
   def getFullUrl(self):
     return self.qmfBroker.getFullUrl()
 




More information about the rhmessaging-commits mailing list