def isStateChange = eventDataMap["isStateChange"]
def unit = eventDataMap["unit"]
def data = eventDataMap["data"]
-
- for (int i = 0;i < eventList.size();i++) {
- if (eventList[i] == name) {
+ 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].isStateChange = isStateChange
evt[-1].unit = unit
evt[-1].data = data
- functionList[i](evt[-1])
+ 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])
+ }
+ }
+ }
}