def index(req): items = [] create_form = CreateForm() edit_form = EditForm(prefix='edit') if req.zato.cluster_id and req.method == 'GET': def_ids = get_definition_list(req.zato.client, req.zato.cluster, 'jms-wmq') create_form.set_def_id(def_ids) edit_form.set_def_id(def_ids) for item in req.zato.client.invoke( 'zato.outgoing.jms-wmq.get-list', {'cluster_id': req.zato.cluster_id}): _item = OutgoingWMQ(item.id, item.name, item.is_active, item.delivery_mode, item.priority, item.expiration, item.def_id, delivery_friendly_name[item.delivery_mode], item.def_name) items.append(_item) return_data = { 'zato_clusters': req.zato.clusters, 'cluster_id': req.zato.cluster_id, 'choose_cluster_form': req.zato.choose_cluster_form, 'items': items, 'create_form': create_form, 'edit_form': edit_form, } return TemplateResponse(req, 'zato/outgoing/jms_wmq.html', return_data)
def handle(self): input = self.request.input with closing(self.odb.session()) as session: if not (input.priority >= 0 and input.priority <= 9): msg = 'Priority should be between 0 and 9, not [{0}]'.format( repr(input.priority)) raise ValueError(msg) existing_one = session.query(OutgoingWMQ.id).\ filter(ConnDefWMQ.cluster_id==input.cluster_id).\ filter(OutgoingWMQ.def_id==ConnDefWMQ.id).\ filter(OutgoingWMQ.name==input.name).\ first() if existing_one: raise Exception( 'An outgoing IBM MQ connection `{}` already exists on this cluster' .format(input.name)) try: item = OutgoingWMQ() item.name = input.name item.is_active = input.is_active item.def_id = input.def_id item.delivery_mode = input.delivery_mode item.priority = input.priority item.expiration = input.expiration # Commit to DB session.add(item) session.commit() # Notify other servers input.id = item.id input.action = OUTGOING.WMQ_CREATE.value self.broker_client.publish(input) self.response.payload.id = item.id self.response.payload.name = item.name except Exception: self.logger.error( 'Could not create an outgoing IBM MQ connection, e:`%s`', format_exc()) session.rollback() raise
def handle(self): input = self.request.input with closing(self.odb.session()) as session: if not (input.priority >= 0 and input.priority <= 9): msg = 'Priority should be between 0 and 9, not [{0}]'.format( repr(input.priority)) raise ValueError(msg) existing_one = session.query(OutgoingWMQ.id).\ filter(ConnDefWMQ.cluster_id==input.cluster_id).\ filter(OutgoingWMQ.def_id==ConnDefWMQ.id).\ filter(OutgoingWMQ.name==input.name).\ first() if existing_one: raise Exception( 'An outgoing JMS WebSphere MQ connection [{0}] already exists on this cluster' .format(input.name)) try: item = OutgoingWMQ() item.name = input.name item.is_active = input.is_active item.def_id = input.def_id item.delivery_mode = input.delivery_mode item.priority = input.priority item.expiration = input.expiration session.add(item) session.commit() if item.is_active: start_connector(self.server.repo_location, item.id, item.def_id) self.response.payload.id = item.id self.response.payload.name = item.name except Exception, e: msg = 'Could not create an outgoing JMS WebSphere MQ connection, e:[{e}]'.format( e=format_exc(e)) self.logger.error(msg) session.rollback() raise
def index(req): items = [] create_form = CreateForm() edit_form = EditForm(prefix='edit') meta = None if req.zato.cluster_id and req.method == 'GET': def_ids = get_definition_list(req.zato.client, req.zato.cluster, 'jms-wmq') create_form.set_def_id(def_ids) edit_form.set_def_id(def_ids) request = { 'cluster_id': req.zato.cluster_id, 'paginate': True, 'cur_page': req.GET.get('cur_page', 1) } data, meta = parse_response_data( req.zato.client.invoke('zato.outgoing.jms-wmq.get-list', request)) for item in data: _item = OutgoingWMQ(item.id, item.name, item.is_active, item.delivery_mode, item.priority, item.expiration, item.def_id, delivery_friendly_name[item.delivery_mode], item.def_name) items.append(_item) return_data = { 'zato_clusters': req.zato.clusters, 'cluster_id': req.zato.cluster_id, 'search_form': req.zato.search_form, 'items': items, 'create_form': create_form, 'edit_form': edit_form, 'paginate': True, 'meta': meta, 'req': req, } return TemplateResponse(req, 'zato/outgoing/jms-wmq.html', return_data)