def _processIoidsEventFromLocal(self, event): from dbconnector import getDBConnector ioidsevent = getDBConnector().getIoidsEvent(event[1]['ioids_event_id']) ## print ioidsevent from messagewrapper import getXMLDBWrapper, getIoidsMessageWrapper x = getXMLDBWrapper().wrapInsert(ioidsevent[0], ioidsevent[1], ioidsevent[2]) ## print "***** SENT:\n", x from g4dsconnector import getG4dsConnector ## getG4dsConnector().sendMessage(ioidsevent) relatedEvents = getDBConnector().getRelatedEventsForIoidsEvent(event[1]['ioids_event_id']) # determine the extension information for each related event for relEvent in relatedEvents: relEventEvent = getIoidsMessageWrapper()._getRelationInTree(relEvent, ['event']) extName, extValue = getDBConnector().getExtensionForEvent(relEventEvent) dict = {} dict['extension_name'] = extName relEvent[2].append(['extension',dict, [extValue]]) from messagewrapper import getIoidsMessageWrapper xml = getIoidsMessageWrapper().assembleIoidsMessage(ioidsevent, relatedEvents) ## print "Sending:\n%s" %xml getG4dsConnector().sendEventUpdate(xml) print "*** processed (and sent) IOIDS event %s" %(event[1]['ioids_event_id'])
def _incomingMessageNewIoidsEvent(self, data): ioidsevent = None relations = [] from messagewrapper import getIoidsMessageWrapper ioidsevent, relations = getIoidsMessageWrapper().unwrapFullIoidsEventMessage(data) from dataengine import getDataEngine getDataEngine().newIoidsEventFromRemote(ioidsevent , relations)
def getExtensionForEvent(self, event): """ Retrieves extension information from the database for an event. @param event: Event in List / Dict format. @return: Name of the Extension / Extension in List / Dict format (including event). """ ## type = self.getEventType(event[1]['event_type_id']) ## typeName = type[1]['event_type_name'] from messagewrapper import getIoidsMessageWrapper typeName =getIoidsMessageWrapper()._getValueInTree(event, ['event_type', 'event_type_name']) eventid = self.insertEvent(event) # it's not really an insert - but it's the only way I see to find the prim key extension = getDBExtensionHandler().getExtensionInformationForEventId(typeName, eventid) ## print "Echo - extension - i got: %s: %s" %(typeName, extension) return typeName, extension
def testWrapper2(): from messagewrapper import getIoidsMessageWrapper xml = getIoidsMessageWrapper().wrapKnowledgeRequestMessage([['timestamp', 'greater_than','2005-06-05'], ['source', 'equals', 'M003']]) print xml print getIoidsMessageWrapper().parseKnowledgeRequestMessage(xml)