X-Git-Url: http://plrg.eecs.uci.edu/git/?p=smartthings-infrastructure.git;a=blobdiff_plain;f=Lock%2FLocking.groovy;h=23c4e2e7923f78141739ef15d0cfc256a97138ac;hp=f55a239234af3aab6b87362bfa887949bdc6f914;hb=d6c9bed26d6482e0565de85fda57281899546ebb;hpb=2fe09aaa7c08a73e2a626ad12d012018340b72a9 diff --git a/Lock/Locking.groovy b/Lock/Locking.groovy index f55a239..23c4e2e 100644 --- a/Lock/Locking.groovy +++ b/Lock/Locking.groovy @@ -1,5 +1,6 @@ //Create a class for lock device package Lock +import Timer.SimulatedTimer public class Locking{ int deviceNumbers @@ -7,13 +8,19 @@ public class Locking{ def sendEvent def timers + //When we have only one device + private int id = 0 + private String displayName = "lock0" + private String lockState = "locked" + private String lockLatestValue = "locked" + Locking(Closure sendEvent, int deviceNumbers) { this.sendEvent = sendEvent - this.timers = new Timer() + this.timers = new SimulatedTimer() this.deviceNumbers = deviceNumbers this.locks = [] if (deviceNumbers == 1) { - locks = [new Locks(sendEvent, 0, "lock0", "locked", "locked")] + locks = [new Locks(sendEvent, this.id, this.displayName, this.lockState, this.lockLatestValue)] } else if (deviceNumbers == 2) { locks = [new Locks(sendEvent, 0, "lock0", "locked", "locked"), new Locks(sendEvent, 1, "lock1", "locked", "locked")] } else if (deviceNumbers == 3) { @@ -46,6 +53,9 @@ public class Locking{ //By Model Checker def setValue(LinkedHashMap eventDataMap) { locks[eventDataMap["deviceId"]].setValue(eventDataMap["value"]) + if (deviceNumbers == 1) + this.lockState = locks[eventDataMap["deviceId"]].lockState + this.lockLatestValue = locks[eventDataMap["deviceId"]].lockLatestValue sendEvent(eventDataMap) }