def hasTransformManagerNavigatorBindings(self,appdata,t_nodedata,n_nodedata):
         binding_q = leginondata.BindingSpecData(application=appdata)
         binding_q['from node alias'] = t_nodedata['alias']
         binding_q['to node alias'] = n_nodedata['alias']
         binding_q['event class string'] = 'MoveToTargetEvent'
         binding_results = binding_q.query()
         if binding_results:
                 return True
         else:
                 return False
示例#2
0
 def delBindingSpec(self, eventclass_string, fromnodealias, tonodealias):
     bindingspecdata = leginondata.BindingSpecData()
     bindingspecdata['event class string'] = eventclass_string
     bindingspecdata['from node alias'] = fromnodealias
     bindingspecdata['to node alias'] = tonodealias
     bindingspecdata['application'] = self.data
     for spec in self.bindingspecs:
         same = True
         for key in bindingspecdata:
             if bindingspecdata[key] != spec[key]:
                 same = False
         if same:
             self.bindingspecs.remove(spec)
示例#3
0
 def addBindingSpec(self, eventclass_string, fromnodealias, tonodealias):
     bindingspecdata = leginondata.BindingSpecData()
     bindingspecdata['event class string'] = eventclass_string
     bindingspecdata['from node alias'] = fromnodealias
     bindingspecdata['to node alias'] = tonodealias
     bindingspecdata['application'] = self.data
     for spec in self.bindingspecs:
         same = True
         for key in bindingspecdata:
             if bindingspecdata[key] != spec[key]:
                 same = False
         if same:
             raise ValueError('binding already exists in application')
     self.bindingspecs.append(bindingspecdata)
示例#4
0
 def load_from_db(self, name):
     instance = leginondata.ApplicationData(name=name)
     applicationdatalist = instance.query()
     try:
         appdata = applicationdatalist[0]
     except IndexError:
         raise ValueError('no such application')
     nodeinstance = leginondata.NodeSpecData(application=appdata)
     self.nodespecs = nodeinstance.query()
     bindinginstance = leginondata.BindingSpecData(application=appdata)
     self.bindingspecs = bindinginstance.query()
     self.applicationdata = appdata
     ## create a copy so we can modify it
     self.data = leginondata.ApplicationData(initializer=appdata)
    def importLaunchedApplications(self):
        print 'importing Applications....'
        source_session = self.getSourceSession()
        q = leginondata.LaunchedApplicationData(session=source_session)
        launched_apps = self.research(q)
        self.publish(launched_apps)

        for appdata in map((lambda x: x['application']), launched_apps):
            q = leginondata.NodeSpecData(application=appdata)
            nodespecs = self.research(q)
            self.publish(nodespecs)

            q = leginondata.BindingSpecData(application=appdata)
            bindingspecs = self.research(q)
            self.publish(bindingspecs)