while (Temp != "\"" and Temp != "app" and Temp != "location"):
Temp = GetToken(F)
if Temp == "\"":
- Temp = GetToken(F)
- #print "DEBUG: %s" % variable
+ Temp = GetToken(F)
+
+ #print "DEBUG: %s - %s" % (variable, Temp)
#print capabilityMap
- #print eventList
- #if variable == "app" or variable == "location":
-
if Temp == "app" or Temp == "location":
if Temp not in eventList:
eventList.append(Temp)
- elif variable in capabilityMap.keys() and capabilityMap[variable] not in capabilityList:
+ elif Temp not in eventList or (variable in capabilityMap.keys() and capabilityMap[variable] not in capabilityList):
# We do not repeat the same capability twice
capability = capabilityMap[variable]
capabilityList.append(capability)
listOfEvents.append(variable)
else:
eventVarMap[Temp] = [variable]
-
+ #print "DEBUG: %s - %s" % (variable, Temp)
+ #print capabilityMap
+ #print eventList
+
#Check and analyze capabilities for physical interaction
AnalyzeCapabilities(Temp, appName, F)
AnalyzePhysicalInteraction(app1Capabilities, app2Capabilities)
AnalyzePhysicalInteraction(app2Capabilities, app1Capabilities)
-
def AnalyzeCapabilities(Temp, appName, F):
#Illuminance related
if (Temp == "capability.switch" or
for line in event:
extractedEvents.write(line)
event.close()
+ elif eventList[i] == "tamper.tampered":
+ #Write two events subsequently
+ extractedEvents.write("\t\t\tdef event = Verify.getInt(0,1)\n")
+ extractedEvents.write("\t\t\tif (event == 0) {\n")
+ event = open("eventSimulator/tamperTamperedOpenEvent.groovy", "r")
+ for line in event:
+ extractedEvents.write("\t\t" + line)
+ event.close()
+ extractedEvents.write("\t\t\t} else {\n")
+ event = open("eventSimulator/tamperTamperedClosedEvent.groovy", "r")
+ for line in event:
+ extractedEvents.write("\t\t" + line)
+ event.close()
+ extractedEvents.write("\t\t\t}\n")
elif eventList[i] == "nfcTouch":
event = open("eventSimulator/nfcTouchEvent.groovy", "r")
for line in event:
extractedEvents.write("\t\t" + line)
event.close()
extractedEvents.write("\t\t\t}\n")
+ elif eventList[i] == "water.dry":
+ event = open("eventSimulator/waterDefaultDryEvent.groovy", "r")
+ for line in event:
+ extractedEvents.write(line)
+ event.close()
+ elif eventList[i] == "water.wet":
+ event = open("eventSimulator/waterDefaultWetEvent.groovy", "r")
+ for line in event:
+ extractedEvents.write(line)
+ event.close()
elif eventList[i] == "presence":
#Check which capability
variable = eventVarMap[eventList[i]]
for line in event:
extractedEvents.write("\t\t" + line)
event.close()
- if capability == "capability.presenceSensor":
- extractedEvents.write("\t\t\t} else {\n")
- event = open("eventSimulator/presencePresencePresentEvent.groovy", "r")
- for line in event:
- extractedEvents.write("\t\t" + line)
- event.close()
extractedEvents.write("\t\t\t}\n")
+ elif eventList[i] == "presence.present": #Case for Touched event
+ event = open("eventSimulator/presencePresencePresentEvent.groovy", "r")
+ for line in event:
+ extractedEvents.write("\t\t" + line)
+ event.close()
elif eventList[i] == "doorState":
#Write two events subsequently
extractedEvents.write("\t\t\tdef event = Verify.getInt(0,1)\n")
extractedEvents.write("\t\t" + line)
event.close()
extractedEvents.write("\t\t\t}\n")
+ elif eventList[i] == "motion.active":
+ event = open("eventSimulator/motionDefaultActiveEvent.groovy", "r")
+ for line in event:
+ extractedEvents.write("\t\t" + line)
+ event.close()
+ elif eventList[i] == "motion.inactive":
+ event = open("eventSimulator/motionDefaultInactiveEvent.groovy", "r")
+ for line in event:
+ extractedEvents.write("\t\t" + line)
+ event.close()
elif eventList[i] == "smoke":
#Write three events subsequently
extractedEvents.write("\t\t\tdef event = Verify.getInt(0,2)\n")
extractedEvents.write("\t\t" + line)
event.close()
extractedEvents.write("\t\t\t}\n")
+ elif eventList[i] == "smoke.clear":
+ event = open("eventSimulator/smokeDefaultClearEvent.groovy", "r")
+ for line in event:
+ extractedEvents.write("\t\t" + line)
+ event.close()
+ elif eventList[i] == "smoke.detected":
+ event = open("eventSimulator/smokeDefaultDetectedEvent.groovy", "r")
+ for line in event:
+ extractedEvents.write("\t\t" + line)
+ event.close()
+ elif eventList[i] == "smoke.tested":
+ event = open("eventSimulator/smokeDefaultTestedEvent.groovy", "r")
+ for line in event:
+ extractedEvents.write("\t\t" + line)
+ event.close()
elif eventList[i] == "carbonMonoxide":
#Check which capability
variable = eventVarMap[eventList[i]]
extractedEvents.write("\t\t" + line)
event.close()
extractedEvents.write("\t\t\t}\n")
+ elif eventList[i] == "carbonMonoxide.clear":
+ #Check which capability
+ variable = eventVarMap[eventList[i]]
+ if eventList[i] not in eventVarCounterMap.keys():
+ eventVarCounterMap[eventList[i]] = 1
+ eventVarCount = 0
+ else:
+ eventVarCount = eventVarCounterMap[eventList[i]]
+ eventVarCounterMap[eventList[i]] = eventVarCount + 1
+ capability = capabilityMap[variable[eventVarCount]]
+ if capability == "capability.smokeDetector":
+ event = open("eventSimulator/smokeCarbonMonoxideDefaultClearEvent.groovy", "r")
+ elif capability == "capability.carbonMonoxideDetector":
+ event = open("eventSimulator/carbonMonoxideDefaultClearEvent.groovy", "r")
+ for line in event:
+ extractedEvents.write("\t\t" + line)
+ event.close()
+ elif eventList[i] == "carbonMonoxide.detected":
+ #Check which capability
+ variable = eventVarMap[eventList[i]]
+ if eventList[i] not in eventVarCounterMap.keys():
+ eventVarCounterMap[eventList[i]] = 1
+ eventVarCount = 0
+ else:
+ eventVarCount = eventVarCounterMap[eventList[i]]
+ eventVarCounterMap[eventList[i]] = eventVarCount + 1
+ capability = capabilityMap[variable[eventVarCount]]
+ if capability == "capability.smokeDetector":
+ event = open("eventSimulator/smokeCarbonMonoxideDefaultDetectedEvent.groovy", "r")
+ elif capability == "capability.carbonMonoxideDetector":
+ event = open("eventSimulator/carbonMonoxideDefaultDetectedEvent.groovy", "r")
+ for line in event:
+ extractedEvents.write("\t\t" + line)
+ event.close()
+ elif eventList[i] == "carbonMonoxide.tested":
+ #Check which capability
+ variable = eventVarMap[eventList[i]]
+ if eventList[i] not in eventVarCounterMap.keys():
+ eventVarCounterMap[eventList[i]] = 1
+ eventVarCount = 0
+ else:
+ eventVarCount = eventVarCounterMap[eventList[i]]
+ eventVarCounterMap[eventList[i]] = eventVarCount + 1
+ capability = capabilityMap[variable[eventVarCount]]
+ if capability == "capability.smokeDetector":
+ event = open("eventSimulator/smokeCarbonMonoxideDefaultTestedEvent.groovy", "r")
+ elif capability == "capability.carbonMonoxideDetector":
+ event = open("eventSimulator/carbonMonoxideDefaultTestedEvent.groovy", "r")
+ for line in event:
+ extractedEvents.write("\t\t" + line)
+ event.close()
elif eventList[i] == "battery":
#Check which capability
variable = eventVarMap[eventList[i]]
event = open("eventSimulator/switchLevelOnEvent.groovy", "r")
elif capability == "capability.relaySwitch":
event = open("eventSimulator/relaySwitchOnEvent.groovy", "r")
+ elif capability == "capability.colorControl":
+ event = open("eventSimulator/colorControlSwitchOnEvent.groovy", "r")
for line in event:
extractedEvents.write("\t\t" + line)
event.close()
event = open("eventSimulator/switchLevelOffEvent.groovy", "r")
elif capability == "capability.relaySwitch":
event = open("eventSimulator/relaySwitchOffEvent.groovy", "r")
+ elif capability == "capability.colorControl":
+ event = open("eventSimulator/colorControlSwitchOffEvent.groovy", "r")
for line in event:
extractedEvents.write("\t\t" + line)
event.close()
extractedEvents.write("\t\t" + line)
event.close()
extractedEvents.write("\t\t\t}\n")
+ elif eventList[i] == "mode":
+ #Write three events subsequently
+ extractedEvents.write("\t\t\tdef event = Verify.getInt(0,2)\n")
+ extractedEvents.write("\t\t\tif (event == 0) {\n")
+ event = open("eventSimulator/modeHomeEvent.groovy", "r")
+ for line in event:
+ extractedEvents.write("\t\t" + line)
+ event.close()
+ extractedEvents.write("\t\t\t} else if (event == 1) {\n")
+ event = open("eventSimulator/modeAwayEvent.groovy", "r")
+ for line in event:
+ extractedEvents.write("\t\t" + line)
+ event.close()
+ extractedEvents.write("\t\t\t} else {\n")
+ event = open("eventSimulator/modeNightEvent.groovy", "r")
+ for line in event:
+ extractedEvents.write("\t\t" + line)
+ event.close()
+ extractedEvents.write("\t\t\t}\n")
elif eventList[i] == "acceleration":
#Write two events subsequently
extractedEvents.write("\t\t\tdef event = Verify.getInt(0,1)\n")
extractedEvents.write("\t\t" + line)
event.close()
extractedEvents.write("\t\t\t}\n")
+ elif eventList[i] == "acceleration.active":
+ event = open("eventSimulator/accelerationDefaultActiveEvent.groovy", "r")
+ for line in event:
+ extractedEvents.write("\t\t" + line)
+ event.close()
+ elif eventList[i] == "acceleration.inactive":
+ event = open("eventSimulator/accelerationDefaultInactiveEvent.groovy", "r")
+ for line in event:
+ extractedEvents.write("\t\t" + line)
+ event.close()
elif eventList[i] == "sleeping":
#Write two events subsequently
extractedEvents.write("\t\t\tdef event = Verify.getInt(0,1)\n")
extractedEvents.write(line)
event.close()
elif eventList[i] == "color":
- event = open("eventSimulator/colorChangedEvent.groovy", "r")
+ event = open("eventSimulator/colorChangeEvent.groovy", "r")
+ for line in event:
+ extractedEvents.write(line)
+ event.close()
+ elif eventList[i] == "colorTemperature":
+ event = open("eventSimulator/colorTemperatureEvent.groovy", "r")
for line in event:
extractedEvents.write(line)
event.close()
elif eventList[i] == "hue":
- event = open("eventSimulator/hueChangedEvent.groovy", "r")
+ event = open("eventSimulator/hueChangeEvent.groovy", "r")
for line in event:
extractedEvents.write(line)
event.close()
elif eventList[i] == "saturation":
- event = open("eventSimulator/saturationChangedEvent.groovy", "r")
+ event = open("eventSimulator/saturationChangeEvent.groovy", "r")
for line in event:
extractedEvents.write(line)
event.close()
event.close()
###TODO: Add more events later
- extractedEvents.write("\t\t\tbreak\n")
+ extractedEvents.write("\n\t\t\tbreak\n")
extractedEvents.write("\t}\n")
extractedEvents.write("}\n")