[rhmessaging-commits] rhmessaging commits: r1652 - mgmt/cumin/python/cumin.
rhmessaging-commits at lists.jboss.org
rhmessaging-commits at lists.jboss.org
Wed Feb 6 16:42:45 EST 2008
Author: justi9
Date: 2008-02-06 16:42:44 -0500 (Wed, 06 Feb 2008)
New Revision: 1652
Modified:
mgmt/cumin/python/cumin/broker.py
mgmt/cumin/python/cumin/broker.strings
mgmt/cumin/python/cumin/page.strings
Log:
Simplifies the management of the couple and coupled states of brokers
and registrations in the broker frame.
Adds a notice message and logic to reload the page when the broker for
a registration is not available.
Modified: mgmt/cumin/python/cumin/broker.py
===================================================================
--- mgmt/cumin/python/cumin/broker.py 2008-02-06 21:38:19 UTC (rev 1651)
+++ mgmt/cumin/python/cumin/broker.py 2008-02-06 21:42:44 UTC (rev 1652)
@@ -273,14 +273,22 @@
pass
class BrokerView(CuminView):
+ """
+ Despite the name, this is actually a view of two objects, usually
+ coupled: a BrokerRegistration and a Broker.
+ """
+
def __init__(self, app, name):
super(BrokerView, self).__init__(app, name)
self.status = BrokerStatus(app, "status")
self.add_child(self.status)
+ self.body = ModeSet(app, "body")
+ self.add_child(self.body)
+
self.tabs = TabbedModeSet(app, "tabs")
- self.add_child(self.tabs)
+ self.body.add_mode(self.tabs)
self.tabs.add_tab(self.BrokerQueueTab(app, "queues"))
self.tabs.add_tab(self.BrokerExchangeTab(app, "exchanges"))
@@ -290,22 +298,40 @@
#self.tabs.add_tab(self.BrokerStatsTab(app, "stats"))
#self.tabs.add_tab(self.BrokerLogTab(app, "log"))
+ self.missing = self.BrokerMissing(app, "missing")
+ self.body.add_mode(self.missing)
+
+ self.vhost = Attribute(app, "vhost")
+ self.add_attribute(self.vhost)
+
+ class BrokerMissing(Widget):
+ pass
+
def show_config(self, session):
return self.tabs.show_mode(session, self.config)
- def get_title(self, session, broker):
- return "Broker '%s'" % broker.name
+ def get_title(self, session, reg):
+ return "Broker '%s'" % reg.name
+ def do_process(self, session, reg):
+ if reg.broker:
+ vhost = Vhost.selectBy(broker=reg.broker, name="/")[0]
+ self.vhost.set(session, vhost)
+ else:
+ self.body.show_mode(session, self.missing)
+
+ super(BrokerView, self).do_process(session, reg)
+
def render_data_url(self, session, model):
return "model.xml"
- def render_address(self, session, broker):
- return broker.host + (broker.port and ":%i" % broker.port or "")
+ def render_address(self, session, reg):
+ return reg.host + (reg.port and ":%i" % reg.port or "")
- def render_group_links(self, session, broker):
+ def render_group_links(self, session, reg):
links = list()
- for group in broker.groups:
+ for group in reg.groups:
branch = session.branch()
self.frame().frame().show_broker_group(branch, group).show_view \
(branch)
@@ -313,8 +339,8 @@
return ", ".join(links)
- def render_cluster_link(self, session, broker):
- cluster = broker.cluster
+ def render_cluster_link(self, session, reg):
+ cluster = reg.cluster
if cluster:
branch = session.branch()
@@ -323,8 +349,8 @@
else:
return fmt_none()
- def render_profile_link(self, session, broker):
- profile = broker.profile
+ def render_profile_link(self, session, reg):
+ profile = reg.profile
if profile:
branch = session.branch()
@@ -334,92 +360,32 @@
return fmt_none()
class BrokerQueueTab(QueueSet):
- def get_object(self, session, broker):
- # XXX
- if not broker:
- return
+ def get_object(self, session, reg):
+ return self.parent.parent.parent.vhost.get(session)
- broker = broker.broker # Navigate from registration to real broker
- if broker:
- return Vhost.selectBy(broker=broker, name="/")[0]
-
def get_title(self, session, broker):
- vhost = self.get_object(session, broker)
- if vhost:
- return super(BrokerView.BrokerQueueTab, self).get_title \
- (session, vhost)
- else:
- return "Queues"
+ vhost = self.parent.parent.parent.vhost.get(session)
+ return super(BrokerView.BrokerQueueTab, self).get_title \
+ (session, vhost)
- def do_process(self, session, vhost):
- if vhost:
- super(BrokerView.BrokerQueueTab, self).do_process \
- (session, vhost)
-
- def do_render(self, session, vhost):
- if vhost:
- return super(BrokerView.BrokerQueueTab, self).do_render \
- (session, vhost)
-
class BrokerExchangeTab(ExchangeSet):
- def get_object(self, session, broker):
- broker = broker.broker # Navigate from registration to real broker
- if broker:
- return Vhost.selectBy(broker=broker, name="/")[0]
+ def get_object(self, session, reg):
+ return self.parent.parent.parent.vhost.get(session)
def get_title(self, session, broker):
- vhost = self.get_object(session, broker)
- if vhost:
- return super(BrokerView.BrokerExchangeTab, self).get_title \
- (session, vhost)
- else:
- return "Exchanges"
+ vhost = self.parent.parent.parent.vhost.get(session)
+ return super(BrokerView.BrokerExchangeTab, self).get_title \
+ (session, vhost)
- def do_process(self, session, vhost):
- if vhost:
- super(BrokerView.BrokerExchangeTab, self).do_process \
- (session, vhost)
-
- def do_render(self, session, vhost):
- if vhost:
- return super(BrokerView.BrokerExchangeTab, self).do_render \
- (session, vhost)
-
class BrokerClientTab(ClientSet):
- def get_object(self, session, broker):
- broker = broker.broker # Navigate from registration to real broker
- if broker:
- return Vhost.selectBy(broker=broker, name="/")[0]
+ def get_object(self, session, reg):
+ return self.parent.parent.parent.vhost.get(session)
def get_title(self, session, broker):
- vhost = self.get_object(session, broker)
- if vhost:
- return super(BrokerView.BrokerClientTab, self).get_title \
- (session, vhost)
- else:
- return "Clients"
+ vhost = self.parent.parent.parent.vhost.get(session)
+ return super(BrokerView.BrokerClientTab, self).get_title \
+ (session, vhost)
- def do_process(self, session, vhost):
- if vhost:
- super(BrokerView.BrokerClientTab, self).do_process \
- (session, vhost)
-
- def do_render(self, session, vhost):
- if vhost:
- return super(BrokerView.BrokerClientTab, self).do_render \
- (session, vhost)
-
- class BrokerVirtualHostTab(VirtualHostSet):
- def get_title(self, session, broker):
- broker = broker.broker # Navigate from registration to real broker
- if broker:
- return "Functional Hosts %s" % fmt_count(len(broker.vhosts))
-
- def do_get_items(self, session, broker):
- broker = broker.broker # Navigate from registration to real broker
- if broker:
- return sorted_by(broker.vhosts)
-
class BrokerConfigTab(ConfigPropertySet):
def get_title(self, session, broker):
return "Configuration"
Modified: mgmt/cumin/python/cumin/broker.strings
===================================================================
--- mgmt/cumin/python/cumin/broker.strings 2008-02-06 21:38:19 UTC (rev 1651)
+++ mgmt/cumin/python/cumin/broker.strings 2008-02-06 21:42:44 UTC (rev 1652)
@@ -151,8 +151,30 @@
</tr>
</table>
-{tabs}
+{body}
+[BrokerMissing.html]
+<div class="notice">
+ The broker at this address is currently unavailable. This page will
+ reload in <span id="timer_count">10</span> <span id="timer_word">seconds</span>.
+</div>
+<script>
+var secs = 10
+
+function updateTimer() {
+ secs -= 1;
+
+ count = wooly.doc().elembyid("timer_count").set("" + secs);
+ ending = wooly.doc().elembyid("timer_word").set(secs == 1 ? "second" : "seconds");
+
+ if (secs == 0) {
+ location.reload();
+ }
+}
+
+window.setInterval(updateTimer, 1000);
+</script>
+
[BrokerBrowser.html]
<table class="browser">
<tr>
Modified: mgmt/cumin/python/cumin/page.strings
===================================================================
--- mgmt/cumin/python/cumin/page.strings 2008-02-06 21:38:19 UTC (rev 1651)
+++ mgmt/cumin/python/cumin/page.strings 2008-02-06 21:42:44 UTC (rev 1652)
@@ -74,6 +74,14 @@
padding: 0 1em;
}
+.notice {
+ margin: 2em;
+ padding: 2em;
+ border: 1px dotted black;
+ width: 66%;
+ text-align: center;
+}
+
ul.actions {
padding: 0;
margin: 0 0 1em 0;
More information about the rhmessaging-commits
mailing list