[rhmessaging-commits] rhmessaging commits: r2881 - mgmt/trunk/cumin/python/cumin.
rhmessaging-commits at lists.jboss.org
rhmessaging-commits at lists.jboss.org
Tue Nov 25 15:22:08 EST 2008
Author: eallen
Date: 2008-11-25 15:22:08 -0500 (Tue, 25 Nov 2008)
New Revision: 2881
Modified:
mgmt/trunk/cumin/python/cumin/page.py
mgmt/trunk/cumin/python/cumin/pool.py
mgmt/trunk/cumin/python/cumin/system.py
mgmt/trunk/cumin/python/cumin/system.strings
Log:
Added a Services tab under Systems to link to any daemons (and broker) under that system.
Modified: mgmt/trunk/cumin/python/cumin/page.py
===================================================================
--- mgmt/trunk/cumin/python/cumin/page.py 2008-11-25 20:02:24 UTC (rev 2880)
+++ mgmt/trunk/cumin/python/cumin/page.py 2008-11-25 20:22:08 UTC (rev 2881)
@@ -118,9 +118,15 @@
def show_grid_tab(self, session):
self.__tabs.set_grid_tab(session)
+ self.view.set_grid_mode(session)
def show_system_tab(self, session):
self.__tabs.set_system_tab(session)
+ self.view.set_systems_mode(session)
+
+ def set_messaging_tab(self, session):
+ self.__tabs.set_messaging_tab(session)
+ self.view.set_messaging_mode(session)
class MainFrameTabs(LinkSet):
def __init__(self, app, name):
@@ -144,6 +150,9 @@
def set_system_tab(self, session):
self.selection.set(session, "stab")
+ def set_messaging_tab(self, session):
+ self.selection.set(session, "mtab")
+
class Tab(Link):
def render_class(self, session):
return (self.parent.selection.get(session) == self.name) \
@@ -202,6 +211,15 @@
self.systems = SystemsView(app, "sys")
self.add_mode(self.systems)
+ def set_messaging_mode(self, session):
+ self.set_selected_mode(session, self.messaging)
+
+ def set_grid_mode(self, session):
+ self.set_selected_mode(session, self.grid)
+
+ def set_systems_mode(self, session):
+ self.set_selected_mode(session, self.systems)
+
class HomeView(TabbedModeSet):
def __init__(self, app, name):
super(HomeView, self).__init__(app, name)
Modified: mgmt/trunk/cumin/python/cumin/pool.py
===================================================================
--- mgmt/trunk/cumin/python/cumin/pool.py 2008-11-25 20:02:24 UTC (rev 2880)
+++ mgmt/trunk/cumin/python/cumin/pool.py 2008-11-25 20:22:08 UTC (rev 2881)
@@ -173,17 +173,17 @@
jobs = JobsAndGroupsTab(app, "jobs")
self.__tabs.add_tab(jobs)
- scheds = PoolSchedulerSet(app, "scheds")
- self.__tabs.add_tab(scheds)
+ self.scheds = PoolSchedulerSet(app, "scheds")
+ self.__tabs.add_tab(self.scheds)
subs = PoolSubmitterSet(app, "subs")
self.__tabs.add_tab(subs)
- colls = PoolCollectorSet(app, "colls")
- self.__tabs.add_tab(colls)
+ self.colls = PoolCollectorSet(app, "colls")
+ self.__tabs.add_tab(self.colls)
- negs = PoolNegotiatorSet(app, "negs")
- self.__tabs.add_tab(negs)
+ self.negs = PoolNegotiatorSet(app, "negs")
+ self.__tabs.add_tab(self.negs)
limits = self.LimitsTab(app, "limits")
self.__tabs.add_tab(limits)
@@ -195,6 +195,15 @@
data = "model.xml?class=pool;id=%s" % pool.id
return "wooly.setIntervalUpdate('%s', updatePool, 3000)" % data
+ def set_collector_tab(self, session):
+ self.__tabs.set_selected_mode(session, self.colls)
+
+ def set_negotiator_tab(self, session):
+ self.__tabs.set_selected_mode(session, self.negs)
+
+ def set_scheduler_tab(self, session):
+ self.__tabs.set_selected_mode(session, self.scheds)
+
class PoolSchedulerSet(SchedulerSet):
def get_args(self, session):
return self.frame.get_args(session)
Modified: mgmt/trunk/cumin/python/cumin/system.py
===================================================================
--- mgmt/trunk/cumin/python/cumin/system.py 2008-11-25 20:02:24 UTC (rev 2880)
+++ mgmt/trunk/cumin/python/cumin/system.py 2008-11-25 20:22:08 UTC (rev 2881)
@@ -114,6 +114,7 @@
self.__tabs.add_tab(SystemStats(app, "stats"))
self.__tabs.add_tab(SystemJobSet(app, "jobs"))
self.__tabs.add_tab(SystemSlotSet(app, "slots"))
+ self.__tabs.add_tab(SystemServices(app, "services"))
self.__tabs.add_tab(CuminDetails(app, "details"))
from job import JobTab
@@ -149,3 +150,66 @@
def get_sql_values(self, session, system):
return {"nodeName": system.nodeName}
+
+class SystemServices(ItemSet):
+ def render_title(self, session, *args):
+ return "Services"
+
+ def get_args(self, session):
+ return (self.frame.get_object(session),)
+
+ def do_get_items(self, session, system):
+ daemons = list()
+ daemon_types = [Scheduler, Collector, Negotiator]
+ sql = "system = '%s'" % system.nodeName
+
+ for daemon in daemon_types:
+ system_daemon = daemon.select(sql)
+ try:
+ daemons.append(system_daemon[0])
+ except Exception, e:
+ pass
+
+ brokers = Broker.select("system_id = '%i'" % system.id)
+ for broker in brokers:
+ daemons.append(BrokerRegistration.get(broker.registrationID))
+
+ return daemons
+
+ def render_item_content(self, session, item):
+ if isinstance(item, BrokerRegistration):
+ reg = Identifiable(item.id)
+ self.page.main.set_messaging_tab(session)
+ href = self.page.main.broker.get_href(session, reg)
+ return fmt_link(href, fmt_shorten(item.url))
+ else:
+ pool = model.Pool.get(item.Pool)
+ self.page.main.pool.set_object(session, pool)
+ self.page.main.show_grid_tab(session)
+ daemon = Identifiable(item.id)
+ if isinstance(item, Collector):
+ self.page.main.pool.view.set_collector_tab(session)
+ href = self.page.main.pool.collector.get_href(session, daemon)
+ elif isinstance(item, Scheduler):
+ self.page.main.pool.view.set_scheduler_tab(session)
+ href = self.page.main.pool.scheduler.get_href(session, daemon)
+ elif isinstance(item, Negotiator):
+ self.page.main.pool.view.set_negotiator_tab(session)
+ href = self.page.main.pool.negotiator.get_href(session, daemon)
+ return fmt_link(href, item.Name)
+
+ def render_item_type(self, session, item):
+ if isinstance(item, Collector):
+ return "Collector"
+ elif isinstance(item, Scheduler):
+ return "Scheduler"
+ elif isinstance(item, Negotiator):
+ return "Negotiator"
+ elif isinstance(item, BrokerRegistration):
+ return "Broker"
+ else:
+ return "Daemon"
+
+
+
+
\ No newline at end of file
Modified: mgmt/trunk/cumin/python/cumin/system.strings
===================================================================
--- mgmt/trunk/cumin/python/cumin/system.strings 2008-11-25 20:02:24 UTC (rev 2880)
+++ mgmt/trunk/cumin/python/cumin/system.strings 2008-11-25 20:22:08 UTC (rev 2881)
@@ -94,3 +94,13 @@
</table>
<div>{hidden_inputs}</div>
</form>
+
+
+[SystemServices.html]
+<h2>Services</h2>
+<table class="PropertySet">
+ <tbody>{items}</tbody>
+</table>
+
+[SystemServices.item_html]
+<tr><th>{item_type}</th><td>{item_content}</td></tr>
More information about the rhmessaging-commits
mailing list