///////////////////////////////////////////////////////////////////// def eventHandler(LinkedHashMap eventDataMap) { def value = eventDataMap["value"] def name = eventDataMap["name"] def deviceId = eventDataMap["deviceId"] def descriptionText = eventDataMap["descriptionText"] def displayed = eventDataMap["displayed"] def linkText = eventDataMap["linkText"] def isStateChange = eventDataMap["isStateChange"] def unit = eventDataMap["unit"] def data = eventDataMap["data"] def minSize def smallest //make search efficient if (app1.eventList.size() == app2.eventList.size()) { minSize = app1.eventList.size() smallest = "equal" } else if (app1.eventList.size() < app2.eventList.size()) { minSize = app1.eventList.size() smallest = "app1" } else { minSize = app2.eventList.size() smallest = "app2" } for (int i = 0;i < minSize;i++) { if (app1.eventList[i] == name) { evt.add(new Event()) evt[-1].value = value evt[-1].name = name evt[-1].deviceId = deviceId evt[-1].descriptionText = descriptionText evt[-1].displayed = displayed evt[-1].linkText = linkText evt[-1].displayName = linkText evt[-1].isStateChange = isStateChange evt[-1].unit = unit evt[-1].data = data app1.functionList[i](evt[-1]) } if (app2.eventList[i] == name) { evt.add(new Event()) evt[-1].value = value evt[-1].name = name evt[-1].deviceId = deviceId evt[-1].descriptionText = descriptionText evt[-1].displayed = displayed evt[-1].linkText = linkText evt[-1].displayName = linkText evt[-1].isStateChange = isStateChange evt[-1].unit = unit evt[-1].data = data app2.functionList[i](evt[-1]) } } if (smallest == "app1") { for (int i = minSize;i < app2.eventList.size();i++) { if (app2.eventList[i] == name) { evt.add(new Event()) evt[-1].value = value evt[-1].name = name evt[-1].deviceId = deviceId evt[-1].descriptionText = descriptionText evt[-1].displayed = displayed evt[-1].linkText = linkText evt[-1].displayName = linkText evt[-1].isStateChange = isStateChange evt[-1].unit = unit evt[-1].data = data app2.functionList[i](evt[-1]) } } } else if (smallest == "app2") { for (int i = minSize;i < app1.eventList.size();i++) { if (app1.eventList[i] == name) { evt.add(new Event()) evt[-1].value = value evt[-1].name = name evt[-1].deviceId = deviceId evt[-1].descriptionText = descriptionText evt[-1].displayed = displayed evt[-1].linkText = linkText evt[-1].displayName = linkText evt[-1].isStateChange = isStateChange evt[-1].unit = unit evt[-1].data = data app1.functionList[i](evt[-1]) } } } }