X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=IlluminanceMeasurement%2FIlluminanceMeasurements.groovy;h=dbeae2a60b34e7d508969756311e27e3565a11ec;hb=9ac27982aa19afa3bd3256ff9afea26ba1abc3ac;hp=0da46af6a3689bf46213bd607b6a8caa838e1262;hpb=b5602bde1f6ac15ef1fa8b1d6eceb68708a51ad1;p=smartthings-infrastructure.git diff --git a/IlluminanceMeasurement/IlluminanceMeasurements.groovy b/IlluminanceMeasurement/IlluminanceMeasurements.groovy index 0da46af..dbeae2a 100644 --- a/IlluminanceMeasurement/IlluminanceMeasurements.groovy +++ b/IlluminanceMeasurement/IlluminanceMeasurements.groovy @@ -2,9 +2,6 @@ package IlluminanceMeasurement import Timer.SimulatedTimer -//JPF's Verify API -import gov.nasa.jpf.vm.Verify - public class IlluminanceMeasurements { private int deviceNumbers private List illuminanceMeasurements @@ -18,23 +15,28 @@ public class IlluminanceMeasurements { private int currentIlluminance = 50000 - IlluminanceMeasurements(Closure sendEvent, int deviceNumbers) { + IlluminanceMeasurements(Closure sendEvent, int deviceNumbers, boolean init) { this.sendEvent = sendEvent this.deviceNumbers = deviceNumbers this.illuminanceMeasurements = [] - //def init = Verify.getIntFromList(40000, 50000, 60000) - //this.illuminance = init + if (init) { + this.illuminance = 50000 + this.currentIlluminance = 50000 + } else { + this.illuminance = 60000 + this.currentIlluminance = 60000 + } illuminanceMeasurements.add(new IlluminanceMeasurement(id, label, displayName, this.illuminance)) } //By Model Checker def setValue(LinkedHashMap eventDataMap) { - if (eventDataMap["value"] != illuminanceMeasurements[0].illuminance) { + if (eventDataMap["value"].toInteger() != illuminanceMeasurements[0].illuminance) { + this.illuminance = eventDataMap["value"].toInteger() + this.currentIlluminance = eventDataMap["value"].toInteger() illuminanceMeasurements[0].setValue(eventDataMap["value"]) - this.illuminance = illuminanceMeasurements[0].illuminance - this.currentIlluminance = illuminanceMeasurements[0].illuminance sendEvent(eventDataMap) } } @@ -52,6 +54,9 @@ public class IlluminanceMeasurements { def find(Closure Input) { illuminanceMeasurements.find(Input) } + def sort(Closure Input) { + illuminanceMeasurements.sort(Input) + } def collect(Closure Input) { illuminanceMeasurements.collect(Input) } @@ -61,6 +66,10 @@ public class IlluminanceMeasurements { illuminanceMeasurements[0].currentValue(deviceFeature)//It is called if we have only one device } + def latestValue(String deviceFeature) { + illuminanceMeasurements[0].latestValue(deviceFeature)//It is called if we have only one device + } + def getAt(int ix) { illuminanceMeasurements[ix] }