| Total Complexity | 3 | 
| Total Lines | 50 | 
| Duplicated Lines | 0 % | 
| Coverage | 0% | 
| Changes | 1 | ||
| Bugs | 0 | Features | 0 | 
| 1 | """ | ||
| 14 | class NodeActionMessageEventHandler(NodeActionMessageBaseEventHandler): | ||
| 15 | """ | ||
| 16 | An event handler for a NodeActionMessage received events. | ||
| 17 | """ | ||
| 18 | |||
| 19 | # ------------------------------------------------------------------------------------------------------------------ | ||
| 20 | @staticmethod | ||
| 21 | def handle(_event, message, controller): | ||
| 22 | """ | ||
| 23 | Handles a NodeActionMessage received event. | ||
| 24 | |||
| 25 | :param * _event: Not used. | ||
| 26 | :param enarksh.controller.message.NodeActionMessage.NodeActionMessage message: The message. | ||
| 27 | :param enarksh.controller.Controller.Controller controller: The controller. | ||
| 28 | """ | ||
| 29 | del _event | ||
| 30 | |||
| 31 |         log = logging.getLogger('enarksh') | ||
| 32 | |||
| 33 | # Compose a response message for client. | ||
| 34 |         response = {'ret':     0, | ||
| 35 | 'message': 'OK'} | ||
| 36 | |||
| 37 | try: | ||
| 38 | run_node = DataLayer.enk_back_run_node_find_by_uri(message.uri) | ||
| 39 | |||
| 40 | if run_node: | ||
| 41 | NodeActionMessageBaseEventHandler.base_handle(controller, | ||
| 42 | response, | ||
| 43 | run_node['sch_id'], | ||
| 44 | run_node['rnd_id'], | ||
| 45 | message.act_id) | ||
| 46 | response['ret'] = 0 | ||
| 47 |                 response['message'] = 'Node {} has been queued'.format(message.uri) | ||
| 48 | |||
| 49 | else: | ||
| 50 | response['ret'] = 1 | ||
| 51 |                 response['message'] = 'Node {} does not exists'.format(message.uri) | ||
| 52 | |||
| 53 | DataLayer.commit() | ||
| 54 | except Exception as exception: | ||
| 55 |             log.exception('Error') | ||
| 56 | |||
| 57 | response['ret'] = -1 | ||
| 58 | response['message'] = str(exception) | ||
| 59 | |||
| 60 | DataLayer.rollback() | ||
| 61 | |||
| 62 | # Send response message to the CLI client. | ||
| 63 |         controller.message_controller.send_message('lockstep', response) | ||
| 64 | |||
| 66 |