Example #1
0
    def setup(self, executor, initialStatus, ctxName=None, contextPort=None):
        self.executor = executor
        self.useContext = (ctxName != None)
        self.contextPort = contextPort
        failMode = (initialStatus == server.executor.status.ERROR)
        LOG("Setting up UI remote client interface (fail mode = " +
            repr(failMode) + ", useContext=" + repr(self.useContext) + ")")
        ClientInterfaceBase.setup(self, ctxName, failMode)

        if self.useContext:
            LOG("Setting up controller IO channel")
            self.__ctxIFC.connect("localhost", self.contextPort,
                                  self.executor.processMessage,
                                  self.executor.processRequest,
                                  self.executor.connectionLost)

        csp = executor.procId
        if "#" in csp:
            idx = csp.find("#")
            csp = csp[0:idx]

        response = None
        if self.useContext:
            LOG("Send login message to context")
            msg = MessageClass()
            msg.setType(MSG_TYPE_REQUEST)
            msg.setId(ExcMessages.REQ_NOTIF_EXEC_OPEN)
            msg.setSender(executor.procId)
            msg.setReceiver("CTX")
            msg[ExcMessages.FIELD_PROC_ID] = executor.procId
            msg[ExcMessages.FIELD_CSP] = csp
            msg[ExcMessages.FIELD_EXEC_STATUS] = initialStatus
            msg[ExcMessages.FIELD_EXEC_PORT] = 0
            msg[ExcMessages.FIELD_ASRUN_NAME] = self._getAsRun()
            msg[ExcMessages.FIELD_LOG_NAME] = LOG.getLogFile().name
            if failMode:
                msg[FIELD_ERROR] = self.executor.errorMessage
                msg[FIELD_REASON] = self.executor.errorReason
            response = self.__ctxIFC.sendRequest(msg)
            LOG("Logged in context")
        else:
            LOG("Creating command line interface")
            cmdline = CommandShell()
            cmdline.start()

        self.ready = True
        return response
Example #2
0
 def cleanup(self, force=False):
     if not self.ready: return
     self.ready = False
     if self.useContext:
         if not force:
             LOG("Send logout message to context")
             msg = MessageClass()
             msg.setType(MSG_TYPE_COMMAND)
             msg.setId(ExcMessages.MSG_NOTIF_EXEC_CLOSE)
             msg.setSender(self.executor.procId)
             msg.setReceiver("CTX")
             msg[ExcMessages.FIELD_PROC_ID] = self.executor.procId
             msg[ExcMessages.FIELD_EXEC_PORT] = 0
             self.__ctxIFC.sendMessage(msg)
         LOG("Disconnecting context channel")
         self.__ctxIFC.disconnect()
     ClientInterfaceBase.cleanup(self)
Example #3
0
 def cleanup(self, force = False):
     if not self.ready: return
     self.ready = False
     if self.useContext:
         if not force:
             LOG("Send logout message to context")
             msg = MessageClass()
             msg.setType(MSG_TYPE_COMMAND)
             msg.setId(ExcMessages.MSG_NOTIF_EXEC_CLOSE)
             msg.setSender(self.executor.procId)
             msg.setReceiver("CTX")
             msg[ExcMessages.FIELD_PROC_ID] = self.executor.procId
             msg[ExcMessages.FIELD_EXEC_PORT] = 0
             self.__ctxIFC.sendMessage(msg)
         LOG("Disconnecting context channel")
         self.__ctxIFC.disconnect()
     ClientInterfaceBase.cleanup(self)
Example #4
0
    def setup(self, executor, initialStatus, ctxName = None, contextPort = None ):
        self.executor = executor
        self.useContext = (ctxName != None)
        self.contextPort = contextPort
        failMode = (initialStatus == server.executor.status.ERROR)
        LOG("Setting up UI remote client interface (fail mode = " + repr(failMode) + ", useContext=" + repr(self.useContext) + ")")
        ClientInterfaceBase.setup(self, ctxName, failMode)

        if self.useContext:
            LOG("Setting up controller IO channel")
            self.__ctxIFC.connect("localhost", self.contextPort, self.executor.processMessage, self.executor.processRequest, self.executor.connectionLost )
        
        csp = executor.procId
        if "#" in csp:
            idx = csp.find("#")
            csp = csp[0:idx]
        
        response = None
        if self.useContext:                
            LOG("Send login message to context")
            msg = MessageClass()
            msg.setType(MSG_TYPE_REQUEST)
            msg.setId(ExcMessages.REQ_NOTIF_EXEC_OPEN)
            msg.setSender(executor.procId)
            msg.setReceiver("CTX")
            msg[ExcMessages.FIELD_PROC_ID] = executor.procId
            msg[ExcMessages.FIELD_CSP] = csp
            msg[ExcMessages.FIELD_EXEC_STATUS] = initialStatus
            msg[ExcMessages.FIELD_EXEC_PORT] = 0
            msg[ExcMessages.FIELD_ASRUN_NAME] = self._getAsRun()
            msg[ExcMessages.FIELD_LOG_NAME] = LOG.getLogFile().name
            if failMode:
                msg[FIELD_ERROR] = self.executor.errorMessage
                msg[FIELD_REASON] = self.executor.errorReason
            response = self.__ctxIFC.sendRequest(msg)
            LOG("Logged in context")
        else:
            LOG("Creating command line interface")
            cmdline = CommandShell()
            cmdline.start()

        self.ready = True
        return response
Example #5
0
 def cleanup(self):
     ClientInterfaceBase.cleanup(self)
     LOG("Command line test CIF cleanup")
     self.ready = False
Example #6
0
 def setup(self, ctxName):
     ClientInterfaceBase.setup(self, ctxName)
     LOG("Command line test CIF setup")
     self.ready = True
Example #7
0
 def __init__(self):
     ClientInterfaceBase.__init__(self)
     LOG("Created")
Example #8
0
 def __init__(self):
     ClientInterfaceBase.__init__(self)
     self.executor = None
     self.useContext = True
     self.ready = False
     self.__ctxIFC = IPCinterfaceClient("EXC-CTX")
Example #9
0
 def cleanup(self):
     ClientInterfaceBase.cleanup(self)
     LOG("Command line test CIF cleanup")
     self.ready = False
Example #10
0
 def setup(self, ctxName):
     ClientInterfaceBase.setup(self, ctxName)
     LOG("Command line test CIF setup")
     self.ready = True
Example #11
0
 def __init__(self):
     ClientInterfaceBase.__init__(self)
     LOG("Created")
Example #12
0
 def __init__(self):
     ClientInterfaceBase.__init__(self)
     self.executor = None
     self.useContext = True
     self.ready = False
     self.__ctxIFC = IPCinterfaceClient("EXC-CTX")