[rhmessaging-commits] rhmessaging commits: r1686 - mgmt/mint/python/mint.

rhmessaging-commits at lists.jboss.org rhmessaging-commits at lists.jboss.org
Mon Feb 11 16:49:41 EST 2008


Author: justi9
Date: 2008-02-11 16:49:41 -0500 (Mon, 11 Feb 2008)
New Revision: 1686

Modified:
   mgmt/mint/python/mint/__init__.py
Log:
Use a 1-n join instead of a 1-1 mapping between broker and broker
registration.

Update the broker attach logic accordingly.



Modified: mgmt/mint/python/mint/__init__.py
===================================================================
--- mgmt/mint/python/mint/__init__.py	2008-02-11 19:53:55 UTC (rev 1685)
+++ mgmt/mint/python/mint/__init__.py	2008-02-11 21:49:41 UTC (rev 1686)
@@ -17,8 +17,8 @@
   except TypeError:
     pass
 
-Broker.sqlmeta.addColumn(ForeignKey("BrokerRegistration", cascade="null",
-                                    default=None, name="registration"))
+Broker.sqlmeta.addJoin(SQLMultipleJoin("BrokerRegistration",
+                                       joinMethodName="registrations"))
 
 class BrokerRegistration(SQLObject):
   name = StringCol(length=1000, default=None)
@@ -87,18 +87,17 @@
         #print "\n\n=============== %s %d found AFTER QUERY\n\n" % (objType.__name__, idOriginal)
         pass
 
-    if obj and obj.__class__ is Broker and obj.registration is None:
-      if obj.managedBroker:
-        host, port = obj.managedBroker.split(":")
-        port = int(port)
+    if obj and obj.__class__ is Broker:
+      host, port = obj.managedBroker.split(":")
+      port = int(port)
+      existing = list(obj.registrations)
+      regs = BrokerRegistration.selectBy(host=host, port=port)
 
-        regs = BrokerRegistration.selectBy(host=host, port=port)
-
-        for reg in regs:
+      for reg in regs:
+        if reg not in existing:
           print "Attaching broker to reg", reg
-        
+
           reg.broker = obj
-          obj.registration = reg
           obj.syncUpdate()
 
     return obj




More information about the rhmessaging-commits mailing list