X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=Runner.py;h=499a7372f22952da37f30a094a0f11c959ed912e;hb=HEAD;hp=d72844dbe2d2be08adace65a80fcfab232280238;hpb=86c861ff59c870277d034de77d6cef2a4c6f5aa4;p=smartthings-infrastructure.git diff --git a/Runner.py b/Runner.py index d72844d..499a737 100644 --- a/Runner.py +++ b/Runner.py @@ -15,6 +15,7 @@ GlobalVariablesEachApp = open("GlobalVariables/"+"GlobalVariablesEachApp.groovy" setLocationMode = open("Methods/"+"setLocationMode.groovy", "r") subscribe = open("Methods/"+"subscribe.groovy", "r") runIn = open("Methods/"+"runIn.groovy", "r") +runDaily = open("Methods/"+"runDaily.groovy", "r") unschedule = open("Methods/"+"unschedule.groovy", "r") sendNotificationToContacts = open("Methods/"+"sendNotificationToContacts.groovy", "r") sendSms = open("Methods/"+"sendSms.groovy", "r") @@ -29,6 +30,10 @@ runEvery15Minutes = open("Methods/"+"runEvery15Minutes.groovy", "r") timeToday = open("Methods/"+"timeToday.groovy", "r") sendNotification = open("Methods/"+"sendNotification.groovy", "r") canSchedule = open("Methods/"+"canSchedule.groovy", "r") +createAccessToken = open("Methods/"+"createAccessToken.groovy", "r") +runOnce = open("Methods/"+"runOnce.groovy", "r") +parseJson = open("Methods/"+"parseJson.groovy", "r") +unsubscribe = open("Methods/"+"unsubscribe.groovy", "r") App1 = open("Extractor/"+"App1/App1.groovy", "r") extractedObjectsApp1 = open("Extractor/"+"App1/extractedObjectsApp1.groovy", "r") extractedObjectsConstructorApp1 = open("Extractor/"+"App1/extractedObjectsConstructorApp1.groovy", "r") @@ -108,8 +113,16 @@ Out.write("import Valve.Valve\n") Out.write("import Valve.Valves\n") Out.write("import MobilePresence.MobilePresence\n") Out.write("import MobilePresence.MobilePresences\n") +Out.write("import ColorTemperature.ColorTemperature\n") +Out.write("import ColorTemperature.ColorTemperatures\n") +Out.write("import Button.Button\n") +Out.write("import Button.Buttons\n") +Out.write("import ThreeAxis.ThreeAxis\n") +Out.write("import ThreeAxis.ThreeAxises\n") +Out.write("import Momentary.Momentary\n") +Out.write("import Momentary.Momentaries\n") +Out.write("import RemainingDevices.RemainingDevices\n") Out.write("import Event.Event\n") -Out.write("import AtomicState.AtomicState\n") Out.write("import Timer.SimulatedTimer\n") Out.write("\n") Out.write("//JPF's Verify API\n") @@ -120,15 +133,20 @@ for line in eventHandler: Out.write(line) Out.write("\n") Out.write("//GlobalVariables for both Apps\n") +Out.write("@Field def init = Verify.getBoolean()\n\n") for line in GlobalVariablesBothApps: Out.write(line) +Out.write("@Field def stack = []\n") Out.write("\n") +Out.write("//clear init flag now we are done with it\n") +Out.write("init = false\n") Out.write("//Application #1\n") Out.write("class App1 {\n") Out.write("\tdef reference\n") Out.write("\tdef location\n") +Out.write("\t// A local variable added for conflict detection tool\n") +Out.write("\tdef location_mode\n") Out.write("\tdef app\n") -Out.write("\tdef atomicState\n") Out.write("\n") Out.write("\t//Extracted objects for App1\n") for line in extractedObjectsApp1: @@ -142,7 +160,6 @@ Out.write("\tApp1(Object obj) {\n") Out.write("\t\treference = obj\n") Out.write("\t\tlocation = obj.locationObject\n") Out.write("\t\tapp = obj.appObject\n") -Out.write("\t\tatomicState = obj.atomicState\n") for line in extractedObjectsConstructorApp1: Out.write("\t\t"+line) Out.write("\t}\n") @@ -157,6 +174,8 @@ for line in subscribe: Out.write("\t"+line) for line in runIn: Out.write("\t"+line) +for line in runDaily: + Out.write("\t"+line) for line in unschedule: Out.write("\t"+line) for line in sendNotificationToContacts: @@ -183,6 +202,14 @@ for line in sendNotification: Out.write("\t"+line) for line in canSchedule: Out.write("\t"+line) +for line in createAccessToken: + Out.write("\t"+line) +for line in runOnce: + Out.write("\t"+line) +for line in parseJson: + Out.write("\t"+line) +for line in unsubscribe: + Out.write("\t"+line) Out.write("\n") Start = 0 for line in App1: @@ -200,6 +227,7 @@ GlobalVariablesEachApp = open("GlobalVariables/"+"GlobalVariablesEachApp.groovy" setLocationMode = open("Methods/"+"setLocationMode.groovy", "r") subscribe = open("Methods/"+"subscribe.groovy", "r") runIn = open("Methods/"+"runIn.groovy", "r") +runDaily = open("Methods/"+"runDaily.groovy", "r") unschedule = open("Methods/"+"unschedule.groovy", "r") sendNotificationToContacts = open("Methods/"+"sendNotificationToContacts.groovy", "r") sendSms = open("Methods/"+"sendSms.groovy", "r") @@ -214,6 +242,10 @@ runEvery15Minutes = open("Methods/"+"runEvery15Minutes.groovy", "r") timeToday = open("Methods/"+"timeToday.groovy", "r") sendNotification = open("Methods/"+"sendNotification.groovy", "r") canSchedule = open("Methods/"+"canSchedule.groovy", "r") +createAccessToken = open("Methods/"+"createAccessToken.groovy", "r") +runOnce = open("Methods/"+"runOnce.groovy", "r") +parseJson = open("Methods/"+"parseJson.groovy", "r") +unsubscribe = open("Methods/"+"unsubscribe.groovy", "r") App2 = open("Extractor/"+"App2/App2.groovy", "r") extractedObjectsApp2 = open("Extractor/"+"App2/extractedObjectsApp2.groovy", "r") extractedObjectsConstructorApp2 = open("Extractor/"+"App2/extractedObjectsConstructorApp2.groovy", "r") @@ -223,8 +255,9 @@ Out.write("//Application #2\n") Out.write("class App2 {\n") Out.write("\tdef reference\n") Out.write("\tdef location\n") +Out.write("\t// A local variable added for conflict detection tool\n") +Out.write("\tdef location_mode\n") Out.write("\tdef app\n") -Out.write("\tdef atomicState\n") Out.write("\n") Out.write("\t//Extracted objects for App2\n") for line in extractedObjectsApp2: @@ -238,7 +271,6 @@ Out.write("\tApp2(Object obj) {\n") Out.write("\t\treference = obj\n") Out.write("\t\tlocation = obj.locationObject\n") Out.write("\t\tapp = obj.appObject\n") -Out.write("\t\tatomicState = obj.atomicState\n") for line in extractedObjectsConstructorApp2: Out.write("\t\t"+line) Out.write("\t}\n") @@ -253,6 +285,8 @@ for line in subscribe: Out.write("\t"+line) for line in runIn: Out.write("\t"+line) +for line in runDaily: + Out.write("\t"+line) for line in unschedule: Out.write("\t"+line) for line in sendNotificationToContacts: @@ -279,6 +313,14 @@ for line in sendNotification: Out.write("\t"+line) for line in canSchedule: Out.write("\t"+line) +for line in createAccessToken: + Out.write("\t"+line) +for line in runOnce: + Out.write("\t"+line) +for line in parseJson: + Out.write("\t"+line) +for line in unsubscribe: + Out.write("\t"+line) Out.write("\n") Start = 0 for line in App2: @@ -290,22 +332,22 @@ Out.write("}\n") Out.write("\n") Out.write("@Field def app1\n") Out.write("@Field def app2\n") -Out.write("def initOrder = Verify.getBoolean()\n") -Out.write("if (initOrder) {\n") +Out.write("//def initOrder = Verify.getBoolean()\n") +Out.write("//if (initOrder) {\n") Out.write("\tapp1 = new App1(this)\n") Out.write("\tapp2 = new App2(this)\n") -Out.write("} else {\n") -Out.write("\tapp2 = new App2(this)\n") -Out.write("\tapp1 = new App1(this)\n") -Out.write("}\n\n") -Out.write("def installOrder = Verify.getBoolean()\n") -Out.write("if (installOrder) {\n") +Out.write("//} else {\n") +Out.write("\t//app2 = new App2(this)\n") +Out.write("\t//app1 = new App1(this)\n") +Out.write("//}\n\n") +Out.write("//def installOrder = Verify.getBoolean()\n") +Out.write("//if (installOrder) {\n") Out.write("\tapp1.installed()\n") Out.write("\tapp2.installed()\n") -Out.write("} else {\n") -Out.write("\tapp2.installed()\n") -Out.write("\tapp1.installed()\n") -Out.write("}\n\n") +Out.write("//} else {\n") +Out.write("\t//app2.installed()\n") +Out.write("\t//app1.installed()\n") +Out.write("//}\n\n") for line in eventSimulator: Out.write(line) Out.close()