[rhmessaging-commits] rhmessaging commits: r1109 - mgmt/cumin/python/cumin.

rhmessaging-commits at lists.jboss.org rhmessaging-commits at lists.jboss.org
Wed Oct 17 15:33:06 EDT 2007


Author: justi9
Date: 2007-10-17 15:33:06 -0400 (Wed, 17 Oct 2007)
New Revision: 1109

Modified:
   mgmt/cumin/python/cumin/page.py
   mgmt/cumin/python/cumin/servergroup.py
   mgmt/cumin/python/cumin/servergroup.strings
Log:
Adds a server group frame and connects it to the proposed tab set.



Modified: mgmt/cumin/python/cumin/page.py
===================================================================
--- mgmt/cumin/python/cumin/page.py	2007-10-17 18:48:17 UTC (rev 1108)
+++ mgmt/cumin/python/cumin/page.py	2007-10-17 19:33:06 UTC (rev 1109)
@@ -31,8 +31,8 @@
         self.server = ServerFrame(app, "server")
         self.add_mode(self.server)
 
-        self.cluster = ClusterFrame(app, "cluster")
-        self.add_mode(self.cluster)
+        self.group = ServerGroupFrame(app, "group")
+        self.add_mode(self.group)
 
         self.group_add = ServerGroupAdd(app, "groupadd")
         self.add_mode(self.group_add)
@@ -43,6 +43,9 @@
         self.profile = ServerProfileFrame(app, "profile")
         self.add_mode(self.profile)
 
+        self.cluster = ClusterFrame(app, "cluster")
+        self.add_mode(self.cluster)
+
     def save_session(self, session):
         if self.app.debug:
             self.app.debug.sessions.append(session)
@@ -77,10 +80,9 @@
         return self.page().set_current_frame(session, frame)
 
     def show_server_group(self, session, group):
-        mode = self.show_view(session)
-        mode.show_server_group(session, group)
-        self.page().set_current_frame(session, self)
-        return mode
+        frame = self.show_mode(session, self.group)
+        frame.set_object(session, group)
+        return self.page().set_current_frame(session, frame)
 
     def show_server_group_add(self, session):
         frame = self.show_mode(session, self.group_add)
@@ -126,6 +128,11 @@
         frame = frame.show_exchange(session, exchange)
         return self.set_current_frame(session, frame)
 
+    def server_group_href(self, session, group):
+        branch = session.branch()
+        self.show_server_group(branch, group).show_view(branch)
+        return branch.marshal()
+
     def render_class(self, session, object):
         return self.modal.get(session) and "modal"
 
@@ -173,6 +180,7 @@
         self.add_tab(self.proposed)
 
         #self.proposed.add_tab(self.PServerTab(app, "servers"))
+        self.proposed.add_tab(self.ServerGroupTab(app, "groups"))
         self.proposed.add_tab(self.ProfileTab(app, "profiles"))
         self.proposed.add_tab(self.PClusterTab(app, "clusters"))
 
@@ -200,10 +208,6 @@
         def render_title(self, session, model):
             return "Clusters (%i)" % len(model.get_clusters())
 
-    class PClusterTab(ClusterSet):
-        def render_title(self, session, model):
-            return "Clusters (%i)" % len(model.get_clusters())
-
     class ProfileTab(Widget):
         def __init__(self, app, name):
             super(MainView.ProfileTab, self).__init__(app, name)
@@ -213,3 +217,12 @@
 
         def render_title(self, session, model):
             return "Server Profiles (%i)" % len(model.get_server_profiles())
+
+    class ServerGroupTab(ServerGroupSet):
+        def render_title(self, session, model):
+            return "Server Groups (%i)" % len(model.get_server_groups())
+
+    class PClusterTab(ClusterSet):
+        def render_title(self, session, model):
+            return "Clusters (%i)" % len(model.get_clusters())
+

Modified: mgmt/cumin/python/cumin/servergroup.py
===================================================================
--- mgmt/cumin/python/cumin/servergroup.py	2007-10-17 18:48:17 UTC (rev 1108)
+++ mgmt/cumin/python/cumin/servergroup.py	2007-10-17 19:33:06 UTC (rev 1109)
@@ -8,15 +8,65 @@
 strings = StringCatalog(__file__)
 
 class ServerGroupSet(ItemSet):
-    def render_item_content(self, session, group):
-        branch = session.branch()
-        self.page().show_server_group(branch, group).show_view(branch)
+    def get_items(self, session, model):
+        return sorted_by(model.get_server_groups())
+    
+    def render_item_link(self, session, group):
+        href = self.page().server_group_href(session, group)
+        return mlink(href, "ServerGroup", group.name)
 
-        return mlink(branch.marshal(), "ServerGroup", group.name)
+    def render_item_config(self, session, group):
+        count = len(group.server_items())
+        return "%i server%s" % (count, count == 1 and "" or "s")
 
+    def render_item_status(self, session, group):
+        return "0 errors, 0 warnings"
+
     def render_none(self, session, group):
         return none()
 
+class ServerGroupFrame(CuminFrame):
+    def __init__(self, app, name):
+        super(ServerGroupFrame, self).__init__(app, name)
+
+        self.param = ServerGroupParameter(app, "id")
+        self.add_parameter(self.param)
+        self.set_object_parameter(self.param)
+
+        self.view = ServerGroupView(app, "view")
+        self.add_child(self.view)
+
+        self.edit = ServerGroupEdit(app, "edit")
+        self.add_child(self.edit)
+
+    def show_view(self, session):
+        return self.show_mode(session, self.view)
+
+    def render_title(self, session, group):
+        return "Server Group '%s'" % group.name
+
+    def render_href(self, session, group):
+        return self.page().server_group_href(session, group)
+
+class ServerGroupView(Widget):
+    def __init__(self, app, name):
+        super(ServerGroupView, self).__init__(app, name)
+
+        self.tabs = TabSet(app, "tabs")
+        self.add_child(self.tabs)
+
+        self.tabs.add_tab(self.GroupServerTab(app, "servers"))
+
+    def render_title(self, session, group):
+        return "Server Group '%s'" % group.name
+
+    def render_name(self, session, group):
+        return group.name
+
+    class GroupServerTab(Widget):
+        def render_title(self, session, group):
+            return "Servers (%i)" % len(group.server_items())
+
 class ServerGroupForm(CuminForm):
     def __init__(self, app, name):
         super(ServerGroupForm, self).__init__(app, name)

Modified: mgmt/cumin/python/cumin/servergroup.strings
===================================================================
--- mgmt/cumin/python/cumin/servergroup.strings	2007-10-17 18:48:17 UTC (rev 1108)
+++ mgmt/cumin/python/cumin/servergroup.strings	2007-10-17 19:33:06 UTC (rev 1109)
@@ -1,3 +1,40 @@
+[ServerGroupSet.html]
+<table class="mobjects">
+  <tr>
+    <th>Server</th>
+    <th>Configuration</th>
+    <th>Status</th>
+  </tr>
+
+  {items}
+</table>
+
+[ServerGroupSet.item_html]
+<tr>
+  <td>{item_link}</td>
+  <td>{item_config}</td>
+  <td>{item_status}</td>
+</tr>
+
+[ServerGroupView.html]
+<div class="mstatus green" id="{id}">
+  <h2>Server Group Status</h2>
+
+  <div>0 errors, 0 warnings</div>
+</div>
+
+<h1>{title}</h1>
+
+<dl class="properties">
+  <dt>Name</dt><dd>{name}</dd>
+</dl>
+
+<ul class="actions">
+  <li><a href="">Edit This Server Group</a></li>
+</ul>
+
+{tabs}
+
 [ServerGroupForm.html]
 <form id="{id}" class="ServerGroupForm mform" method="post" action="?">
   <div class="head">




More information about the rhmessaging-commits mailing list