[rhmessaging-commits] rhmessaging commits: r1146 - in mgmt/cumin/python: wooly and 1 other directory.
rhmessaging-commits at lists.jboss.org
rhmessaging-commits at lists.jboss.org
Tue Oct 23 13:33:50 EDT 2007
Author: justi9
Date: 2007-10-23 13:33:50 -0400 (Tue, 23 Oct 2007)
New Revision: 1146
Modified:
mgmt/cumin/python/cumin/client.py
mgmt/cumin/python/cumin/client.strings
mgmt/cumin/python/cumin/demo.py
mgmt/cumin/python/cumin/model.py
mgmt/cumin/python/cumin/queue.strings
mgmt/cumin/python/cumin/server.strings
mgmt/cumin/python/wooly/__init__.py
Log:
Fills out the client UI. Adds sessions to the model and demo data.
Modified: mgmt/cumin/python/cumin/client.py
===================================================================
--- mgmt/cumin/python/cumin/client.py 2007-10-23 15:53:46 UTC (rev 1145)
+++ mgmt/cumin/python/cumin/client.py 2007-10-23 17:33:50 UTC (rev 1146)
@@ -56,8 +56,7 @@
self.tabs = TabSet(app, "tabs")
self.add_child(self.tabs)
- self.tabs.add_tab(ClientSessionSet(app, "bindings"))
- self.tabs.add_tab(ClientStatistics(app, "stats"))
+ self.tabs.add_tab(SessionSet(app, "bindings"))
def render_title(self, session, client):
return "Client '%s'" % client.address
@@ -65,10 +64,22 @@
def render_client_address(self, session, client):
return client.address
-class ClientSessionSet(Widget):
+class SessionSet(ItemSet):
def render_title(self, session, client):
- return "Sessions"
+ return "Sessions (%i)" % len(client.session_items())
-class ClientStatistics(Widget):
- def render_title(self, session, client):
- return "Statistics"
+ def get_items(self, session, client):
+ return sorted_by(client.session_items())
+
+ def render_item_name(self, session, session_):
+ return session_.name
+
+ def render_item_status(self, session, session_):
+ result = session_.get_measurement("attached").get_value()
+ return result and "Attached" or "Detached"
+
+ def render_item_remaining_lifespan(self, session, session_):
+ return session_.get_measurement("remainingLifespan").get_value()
+
+ def render_item_frames_outstanding(self, session, session_):
+ return session_.get_measurement("framesOutstanding").get_value()
Modified: mgmt/cumin/python/cumin/client.strings
===================================================================
--- mgmt/cumin/python/cumin/client.strings 2007-10-23 15:53:46 UTC (rev 1145)
+++ mgmt/cumin/python/cumin/client.strings 2007-10-23 17:33:50 UTC (rev 1146)
@@ -1,10 +1,7 @@
[ClientSet.html]
<form>
- <select>
- <option>Act on Selection...</option>
- <option>Close Client</option>
- <option>Detach Client</option>
- </select>
+ <button>Close Clients</button>
+ <button>Detach Clients</button>
<br/><br/>
@@ -56,3 +53,35 @@
{tabs}
</div>
+
+[SessionSet.html]
+<select>
+ <option>Act on Selection...</option>
+ <option>Solicit Acknowledgment</option>
+ <option>Reset Lifespan</option>
+ <option>Detach Sessions</option>
+ <option>Close Sessions</option>
+</select>
+
+<br/><br/>
+
+<table class="mobjects">
+ <tr>
+ <th><input type="checkbox"/></th>
+ <th>Session</th>
+ <th>Status</th>
+ <th style="text-align: right;">Remaining Lifespan</th>
+ <th style="text-align: right;">Frames Outstanding</th>
+ </tr>
+
+ {items}
+</table>
+
+[SessionSet.item_html]
+<tr>
+ <td><input type="checkbox"/></td>
+ <td>{item_name}</td>
+ <td>{item_status}</td>
+ <td style="text-align: right;">{item_remaining_lifespan}</td>
+ <td style="text-align: right;">{item_frames_outstanding}</td>
+</tr>
Modified: mgmt/cumin/python/cumin/demo.py
===================================================================
--- mgmt/cumin/python/cumin/demo.py 2007-10-23 15:53:46 UTC (rev 1145)
+++ mgmt/cumin/python/cumin/demo.py 2007-10-23 17:33:50 UTC (rev 1146)
@@ -149,6 +149,11 @@
client.address = "192.168.0.%i:16565" % num
vhost.add_client(client)
+ for session_count in range(10):
+ session = Session(self.model)
+ session.name = fmt("session", session_count)
+ client.add_session(session)
+
def start_updates(self):
thread = UpdateThread(self.model)
thread.start()
@@ -214,6 +219,14 @@
self.frob_measure(measure)
finally:
client.unlock()
+
+ for session in client.session_items():
+ session.lock()
+ try:
+ for measure in session.measurements:
+ self.frob_measure(measure)
+ finally:
+ session.unlock()
if __name__ == "__main__":
import sys
Modified: mgmt/cumin/python/cumin/model.py
===================================================================
--- mgmt/cumin/python/cumin/model.py 2007-10-23 15:53:46 UTC (rev 1145)
+++ mgmt/cumin/python/cumin/model.py 2007-10-23 17:33:50 UTC (rev 1146)
@@ -16,6 +16,7 @@
self.queue = ModelClass(self, "queue")
self.exchange = ModelClass(self, "exchange")
self.client = ModelClass(self, "client")
+ self.session = ModelClass(self, "session")
self.realm = ModelClass(self, "realm")
self.binding = ModelClass(self, "binding")
@@ -76,6 +77,10 @@
assoc.add_endpoint(self.virtual_host, "client", "0..n")
assoc.add_endpoint(self.client, "virtual_host", "0..1")
+ assoc = ModelAssociation(self, "client_to_sessions")
+ assoc.add_endpoint(self.client, "session", "0..n")
+ assoc.add_endpoint(self.session, "client", "0..1")
+
assoc = ModelAssociation(self, "virtual_host_to_realms")
assoc.add_endpoint(self.virtual_host, "realm", "0..n")
assoc.add_endpoint(self.realm, "virtual_host", "0..1")
@@ -154,6 +159,9 @@
def get_client(self, id):
return self.get_index(self.client).get(id)
+ def get_session(self, id):
+ return self.get_index(self.session).get(id)
+
def get_realm(self, id):
return self.get_index(self.realm).get(id)
@@ -647,3 +655,30 @@
if measure.name == name:
return measure
+class Session(ModelObject):
+ def __init__(self, model):
+ super(Session, self).__init__(model, model.session)
+
+ self.name = None
+
+ self.measurements = list()
+
+ measure = Measurement("attached", "bool")
+ measure.title = "Attached"
+ measure.categories = ("general")
+ self.measurements.append(measure)
+
+ measure = Measurement("remainingLifespan", "int")
+ measure.title = "Remaining lifespan"
+ measure.categories = ("general")
+ self.measurements.append(measure)
+
+ measure = Measurement("framesOutstanding", "int")
+ measure.title = "Frames outstanding"
+ measure.categories = ("general")
+ self.measurements.append(measure)
+
+ def get_measurement(self, name):
+ for measure in self.measurements:
+ if measure.name == name:
+ return measure
Modified: mgmt/cumin/python/cumin/queue.strings
===================================================================
--- mgmt/cumin/python/cumin/queue.strings 2007-10-23 15:53:46 UTC (rev 1145)
+++ mgmt/cumin/python/cumin/queue.strings 2007-10-23 17:33:50 UTC (rev 1146)
@@ -6,11 +6,8 @@
}
[QueueSet.html]
-<form>
- <select>
- <option>Act on Selection...</option>
- <option>Purge Messages</option>
- </select>
+<form action="{href}" method="get">
+ <button type="submit">Purge Messages</button>
<br/><br/>
Modified: mgmt/cumin/python/cumin/server.strings
===================================================================
--- mgmt/cumin/python/cumin/server.strings 2007-10-23 15:53:46 UTC (rev 1145)
+++ mgmt/cumin/python/cumin/server.strings 2007-10-23 17:33:50 UTC (rev 1146)
@@ -39,7 +39,7 @@
<table class="mobjects">
<tr>
- <th></th>
+ <th><input type="checkbox"/></th>
<th>Server</th>
<th>Profile</th>
<th>Cluster</th>
Modified: mgmt/cumin/python/wooly/__init__.py
===================================================================
--- mgmt/cumin/python/wooly/__init__.py 2007-10-23 15:53:46 UTC (rev 1145)
+++ mgmt/cumin/python/wooly/__init__.py 2007-10-23 17:33:50 UTC (rev 1146)
@@ -155,7 +155,7 @@
return None
def render_href(self, session, object):
- return None
+ return session.marshal()
def render_title(self, session, object):
return None
More information about the rhmessaging-commits
mailing list