Author: justi9
Date: 2008-04-01 13:27:14 -0400 (Tue, 01 Apr 2008)
New Revision: 1822
Modified:
mgmt/cumin/python/cumin/model.py
Log:
Introduce two base classes for cumin metadata: LocalClass and
RemoteClass. The former is for classes such as BrokerRegistration
which are purely cumin-local. The latter is for all the managment
types in the cloud.
Modified: mgmt/cumin/python/cumin/model.py
===================================================================
--- mgmt/cumin/python/cumin/model.py 2008-04-01 17:11:41 UTC (rev 1821)
+++ mgmt/cumin/python/cumin/model.py 2008-04-01 17:27:14 UTC (rev 1822)
@@ -276,36 +276,15 @@
% (self.name, value, rate))
class CuminClass(object):
- def __init__(self, model, name, mint_class, mint_stats_class):
+ def __init__(self, model, name, mint_class):
self.model = model
self.name = name
self.mint_class = mint_class
- self.mint_stats_class = mint_stats_class
self.properties = list()
self.stats = list()
self.actions = list()
- prop = CuminProperty(self, "idOriginal")
- prop.title = "Management ID"
- prop.categories = ("basic",)
-
- prop = CuminProperty(self, "creationTime")
- prop.title = "Creation Time"
- prop.categories = ("basic",)
-
- prop = CuminProperty(self, "deletionTime")
- prop.title = "Deletion Time"
- prop.categories = ("basic",)
-
- prop = CuminProperty(self, "recTime")
- prop.title = "Last Updated"
- prop.categories = ("basic",)
-
- self.Add(self, "add")
- self.Edit(self, "edit")
- self.Remove(self, "remove")
-
self.model.add_class(self)
def add_property(self, prop):
@@ -353,6 +332,36 @@
writer.write("</%s>" % self.name)
+class RemoteClass(CuminClass):
+ def __init__(self, model, name, mint_class, mint_stats_class):
+ super(RemoteClass, self).__init__(model, name, mint_class)
+
+ self.mint_stats_class = mint_stats_class
+
+ prop = CuminProperty(self, "idOriginal")
+ prop.title = "Management ID"
+ prop.categories = ("basic",)
+
+ prop = CuminProperty(self, "creationTime")
+ prop.title = "Creation Time"
+ prop.categories = ("basic",)
+
+ prop = CuminProperty(self, "deletionTime")
+ prop.title = "Deletion Time"
+ prop.categories = ("basic",)
+
+ prop = CuminProperty(self, "recTime")
+ prop.title = "Last Updated"
+ prop.categories = ("basic",)
+
+class LocalClass(CuminClass):
+ def __init__(self, model, name, mint_class):
+ super(LocalClass, self).__init__(model, name, mint_class)
+
+ self.Add(self, "add")
+ self.Edit(self, "edit")
+ self.Remove(self, "remove")
+
class Add(CuminAction):
def get_title(self, session):
return "Add"
@@ -395,7 +404,7 @@
except Exception, e:
completion(e.message or "failed")
-class CuminSystem(CuminClass):
+class CuminSystem(RemoteClass):
def __init__(self, model):
super(CuminSystem, self).__init__(model, "system", System,
SystemStats)
@@ -417,7 +426,7 @@
prop = CuminProperty(self, "machine")
prop.title = "Architecture"
-class CuminBroker(CuminClass):
+class CuminBroker(RemoteClass):
def __init__(self, model):
super(CuminBroker, self).__init__(model, "broker", Broker,
BrokerStats)
@@ -425,7 +434,7 @@
frame = self.model.app.main_page.show_main(session)
return frame.show_broker(session, broker)
-class CuminQueue(CuminClass):
+class CuminQueue(RemoteClass):
def __init__(self, model):
super(CuminQueue, self).__init__(model, "queue", Queue, QueueStats)
@@ -612,7 +621,7 @@
def do_invoke(self, object, args, completion):
object.purge(self.model.data, completion)
-class CuminExchange(CuminClass):
+class CuminExchange(RemoteClass):
def __init__(self, model):
super(CuminExchange, self).__init__(model, "exchange",
Exchange, ExchangeStats)
@@ -662,7 +671,7 @@
def get_title(self, session):
return "Exchange"
-class CuminBinding(CuminClass):
+class CuminBinding(RemoteClass):
def __init__(self, model):
super(CuminBinding, self).__init__(model, "binding",
Binding, BindingStats)
@@ -678,7 +687,7 @@
def get_object_name(self, binding):
return ""
-class CuminClient(CuminClass):
+class CuminClient(RemoteClass):
def __init__(self, model):
super(CuminClient, self).__init__(model, "client", Client,
ClientStats)
@@ -721,7 +730,7 @@
def do_invoke(self, object, args, completion):
object.close(self.model.data, completion)
-class CuminSession(CuminClass):
+class CuminSession(RemoteClass):
def __init__(self, model):
super(CuminSession, self).__init__(model, "session",
Session, SessionStats)
@@ -775,7 +784,7 @@
def do_invoke(self, object, args, completion):
object.solicitAck(self.model.data, completion)
-class CuminLink(CuminClass):
+class CuminLink(RemoteClass):
def __init__(self, model):
super(CuminLink, self).__init__(model, "link", Link, LinkStats)
@@ -806,18 +815,18 @@
def get_title(self, session):
return "Broker Link"
-class CuminBrokerRegistration(CuminClass):
+class CuminBrokerRegistration(LocalClass):
def __init__(self, model):
super(CuminBrokerRegistration, self).__init__ \
- (model, "broker_registration", BrokerRegistration, None)
+ (model, "broker_registration", BrokerRegistration)
def get_title(self, session):
return "Broker Registration"
-class CuminBrokerGroup(CuminClass):
+class CuminBrokerGroup(LocalClass):
def __init__(self, model):
super(CuminBrokerGroup, self).__init__ \
- (model, "broker_group", BrokerGroup, None)
+ (model, "broker_group", BrokerGroup)
def show(self, session, group):
frame = self.model.app.main_page.show_main(session)