[rhmessaging-commits] rhmessaging commits: r1627 - mgmt/cumin/python/cumin.
rhmessaging-commits at lists.jboss.org
rhmessaging-commits at lists.jboss.org
Wed Jan 30 10:03:19 EST 2008
Author: justi9
Date: 2008-01-30 10:03:19 -0500 (Wed, 30 Jan 2008)
New Revision: 1627
Added:
mgmt/cumin/python/cumin/action.py
mgmt/cumin/python/cumin/action.strings
Modified:
mgmt/cumin/python/cumin/model.py
mgmt/cumin/python/cumin/page.py
Log:
Adds an actions UI tab. Enhances the UI metadata to describe action
items.
Added: mgmt/cumin/python/cumin/action.py
===================================================================
--- mgmt/cumin/python/cumin/action.py (rev 0)
+++ mgmt/cumin/python/cumin/action.py 2008-01-30 15:03:19 UTC (rev 1627)
@@ -0,0 +1,44 @@
+from wooly import *
+from wooly.tables import *
+
+from util import *
+from formats import *
+
+strings = StringCatalog(__file__)
+
+class ActionInvocationSet(ItemTable):
+ def __init__(self, app, name):
+ super(ActionInvocationSet, self).__init__(app, name)
+
+ col = self.DescriptionColumn(app, "desc")
+ self.add_column(col)
+
+ col = self.WhenColumn(app, "when")
+ self.add_column(col)
+
+ col = self.StatusColumn(app, "status")
+ self.add_column(col)
+
+ class DescriptionColumn(ItemTableColumn):
+ def get_title(self, session, object):
+ return "Description"
+
+ def render_content(self, session, item):
+ return item.get_description(session)
+
+ class WhenColumn(ItemTableColumn):
+ def get_title(self, session, object):
+ return "When"
+
+ def render_content(self, session, item):
+ return fmt_datetime(item.when)
+
+ class StatusColumn(ItemTableColumn):
+ def get_title(self, session, object):
+ return "Status"
+
+ def render_content(self, session, item):
+ return item.status
+
+ def do_get_items(self, session, object):
+ return sorted_by(self.app.model.action_invocations, "when")
Added: mgmt/cumin/python/cumin/action.strings
===================================================================
--- mgmt/cumin/python/cumin/action.strings (rev 0)
+++ mgmt/cumin/python/cumin/action.strings 2008-01-30 15:03:19 UTC (rev 1627)
@@ -0,0 +1,7 @@
+[ActionInvocationSet.html]
+<table class="mobjects">
+ <thead>
+ <tr>{headers}</tr>
+ </thead>
+ <tbody>{items}</tbody>
+</table>
Modified: mgmt/cumin/python/cumin/model.py
===================================================================
--- mgmt/cumin/python/cumin/model.py 2008-01-30 15:02:18 UTC (rev 1626)
+++ mgmt/cumin/python/cumin/model.py 2008-01-30 15:03:19 UTC (rev 1627)
@@ -12,15 +12,14 @@
self.data = MintModel(data_url)
self.classes = list()
+ self.action_invocations = set()
- self.queue = CuminQueue(self)
- self.exchange = CuminExchange(self)
- self.binding = CuminBinding(self)
- self.client = CuminClient(self)
- self.session = CuminSession(self)
+ CuminQueue(self)
+ CuminExchange(self)
+ CuminBinding(self)
+ CuminClient(self)
+ CuminSession(self)
- self.action_invocations = set()
-
def check(self):
self.data.check()
@@ -29,12 +28,14 @@
def add_class(self, cls):
self.classes.append(cls)
+ setattr(self, cls.name, cls)
def get_class_by_object(self, mint_object):
for cls in self.classes:
if cls.mint_class is mint_object.__class__:
return cls
+ # XXX get rid of this
def get_class_by_name(self, name):
for cls in self.classes:
if cls.name == name:
@@ -66,6 +67,14 @@
self.actions.append(action)
setattr(self, action.name, action)
+ def get_title(self, session):
+ return "Object"
+
+ def get_object_title(self, session, object):
+ title = self.get_title(session)
+ name = self.get_object_name(object)
+ return "%s '%s'" % (title, name)
+
def get_object_name(self, object):
return object.name
@@ -100,7 +109,7 @@
self.cumin_class.add_action(self)
def invoke(self, object):
- invoc = CuminActionInvocation(self)
+ invoc = CuminActionInvocation(self, object)
def callback(status, args):
invoc.status = status
@@ -117,14 +126,21 @@
pass
class CuminActionInvocation(object):
- def __init__(self, action):
+ def __init__(self, action, object):
self.action = action
+ self.object = object
self.when = datetime.now()
- self.error = None
+ self.status = "pending"
self.args = None
+ def get_description(self, session):
+ action = self.action.get_title(session)
+ cls = self.action.model.get_class_by_object(self.object)
+ name = cls.get_object_title(session, self.object)
+ return "%s %s" % (action, name)
+
def show(self):
- print "action", self.action.name, self.when, self.error, self.args
+ print "action", self.action.name, self.when, self.status, self.args
class CuminStat(object):
def __init__(self, cls, name, type):
@@ -406,6 +422,9 @@
stat.categories = ("byte", "persistent")
self.Purge(self, "purge")
+
+ def get_title(self, session):
+ return "Queue"
class Purge(CuminAction):
def get_title(self, session):
@@ -462,6 +481,9 @@
stat.unit = "message"
stat.categories = ("general")
+ def get_title(self, session):
+ return "Exchange"
+
class CuminBinding(CuminClass):
def __init__(self, model):
super(CuminBinding, self).__init__(model, "binding", Binding)
@@ -473,6 +495,9 @@
stat.unit = "message"
stat.categories = ("general")
+ def get_title(self, session):
+ return "Binding"
+
def get_object_name(self, binding):
return ""
@@ -504,6 +529,9 @@
self.Close(self, "close")
+ def get_title(self, session):
+ return "Client"
+
def get_object_name(self, client):
return client.address
@@ -539,6 +567,9 @@
self.ResetLifespan(self, "resetLifespan")
self.SolicitAck(self, "solicitAck")
+ def get_title(self, session):
+ return "Session"
+
class Close(CuminAction):
def get_title(self, session):
return "Close"
Modified: mgmt/cumin/python/cumin/page.py
===================================================================
--- mgmt/cumin/python/cumin/page.py 2008-01-30 15:02:18 UTC (rev 1626)
+++ mgmt/cumin/python/cumin/page.py 2008-01-30 15:03:19 UTC (rev 1627)
@@ -6,6 +6,7 @@
from brokergroup import *
from brokerprofile import *
from brokercluster import *
+from action import *
from widgets import *
from util import *
@@ -164,43 +165,6 @@
object = frame.get_object(session, self.object.get(session))
return frame.render_title(session, object)
-class ActionInvocationSet(ItemTable):
- def __init__(self, app, name):
- super(ActionInvocationSet, self).__init__(app, name)
-
- col = self.ActionColumn(app, "action")
- self.add_column(col)
-
- col = self.WhenColumn(app, "when")
- self.add_column(col)
-
- col = self.StatusColumn(app, "status")
- self.add_column(col)
-
- class ActionColumn(ItemTableColumn):
- def get_title(self, session, object):
- return "Action"
-
- def render_content(self, session, item):
- return item.action.name
-
- class WhenColumn(ItemTableColumn):
- def get_title(self, session, object):
- return "When"
-
- def render_content(self, session, item):
- return fmt_datetime(item.when)
-
- class StatusColumn(ItemTableColumn):
- def get_title(self, session, object):
- return "Status"
-
- def render_content(self, session, item):
- return item.error
-
- def do_get_items(self, session, object):
- return sorted_by(self.app.model.action_invocations, "when")
-
class MainView(TabSet):
def __init__(self, app, name):
super(MainView, self).__init__(app, name)
More information about the rhmessaging-commits
mailing list