From 550f30661578b8b79f521cb65e6c69b5dc699e35 Mon Sep 17 00:00:00 2001 From: rtrimana Date: Thu, 8 Aug 2019 13:24:25 -0700 Subject: [PATCH] Adding missing methods. --- PresenceSensor/PresenceSensor.groovy | 53 +++++++++++++++++++++++++++ PresenceSensor/PresenceSensors.groovy | 8 ++++ 2 files changed, 61 insertions(+) diff --git a/PresenceSensor/PresenceSensor.groovy b/PresenceSensor/PresenceSensor.groovy index b370736..7040a76 100644 --- a/PresenceSensor/PresenceSensor.groovy +++ b/PresenceSensor/PresenceSensor.groovy @@ -2,6 +2,9 @@ package PresenceSensor import Timer.SimulatedTimer +//JPF's Verify API +import gov.nasa.jpf.vm.Verify + public class PresenceSensor { private String id private String label @@ -25,6 +28,56 @@ public class PresenceSensor { this.presence = value this.currentPresence = value } + + def statesSince() { + eventsSince() + } + + def statesSince(String info, Date dateObj) { + statesSince() + } + + def eventsSince(Date dateObj) { + eventsSince() + } + + def eventsSince() { + def evtActive = [[name: "presence", value: "present", deviceId: "motionSensorID0", descriptionText: "", + displayed: true, linkText: "", isStateChange: false, unit: "", data: '{"info": "info"}']] + def evtInactive = [[name: "presence", value: "not present", deviceId: "motionSensorID0", descriptionText: "", + displayed: true, linkText: "", isStateChange: false, unit: "", data: '{"info": "info"}']] + def init = Verify.getInt(0,4) + def evtToSend = [] + if (init == 0) {//return empty set + return evtToSend + } else if (init == 1) {//send one active event + evtActive.each{ + evtToSend.add(it) + } + return evtToSend + } else if (init == 2) {//send two active events + evtActive.each{ + evtToSend.add(it) + } + evtActive.each{ + evtToSend.add(it) + } + return evtToSend + } else if (init == 3) {//send one inactive event + evtInactive.each{ + evtToSend.add(it) + } + return evtToSend + } else if (init == 4) {//send two inactive events + evtInactive.each{ + evtToSend.add(it) + } + evtInactive.each{ + evtToSend.add(it) + } + return evtToSend + } + } def currentState(String deviceFeature) { return [rawDateCreated: [time: System.currentTimeMillis()]] diff --git a/PresenceSensor/PresenceSensors.groovy b/PresenceSensor/PresenceSensors.groovy index fd88b33..782e25c 100644 --- a/PresenceSensor/PresenceSensors.groovy +++ b/PresenceSensor/PresenceSensors.groovy @@ -76,6 +76,14 @@ public class PresenceSensors { presenceSensors[0].latestValue(deviceFeature)//It is called if we have only one device } + def statesSince(String info, Date dateObj) { + return presenceSensors[0].statesSince() + } + + def eventsSince(Date dateObj) { + return presenceSensors[0].statesSince() + } + def getAt(int ix) { presenceSensors[ix] } -- 2.34.1