X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=Button%2FButton.groovy;fp=Button%2FButton.groovy;h=bb0399e0f0757ba9469209f51e37fb06d0a822fd;hb=d0b538d93e64c63d2673796db08570953b57f947;hp=45123fa607e4fbf6ab116ab54d1b101fe4f3fdd1;hpb=2932def9bb947d617975235763f7338360f0e5a4;p=smartthings-infrastructure.git diff --git a/Button/Button.groovy b/Button/Button.groovy index 45123fa..bb0399e 100644 --- a/Button/Button.groovy +++ b/Button/Button.groovy @@ -1,65 +1,27 @@ //Create a class for button package Button -import Timer.SimulatedTimer +import SmartThing.SmartThing -//JPF's Verify API -import gov.nasa.jpf.vm.Verify +public class Button extends SmartThing { + // id, label, and display name of the device + StringBuilder id = new StringBuilder() + StringBuilder label = new StringBuilder() + StringBuilder displayName = new StringBuilder() + // Possible values for eventsSince method + List possibleValues = new ArrayList(); -public class Button { - private String id - private String label - private String displayName - private String button - private int numberOfButtons + Button(Closure sendEvent, StringBuilder id, StringBuilder label, StringBuilder displayName) { + idSmartThing = id + labelSmartThing = label + displayNameSmartThing = displayName + sendEventSmartThings = sendEvent + possibleValuesSmartThings = possibleValues - Button(String id, String label, String displayName, String button, int numberOfButtons) { + // Initialization this.id = id this.label = label this.displayName = displayName - this.button = button - this.numberOfButtons = numberOfButtons - } - - def setValue(LinkedHashMap eventDataMap) { - button = eventDataMap["value"] - println("the button is $button!") - } - - def eventsSince() { - def evtHeld = [[name: "button", value: "held", deviceId: "buttonID0", descriptionText: "", - displayed: true, linkText: "", isStateChange: false, unit: "", data: '{"info": "info"}']] - def evtPushed = [[name: "button", value: "pushed", deviceId: "buttonID0", 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 held event - evtHeld.each{ - evtToSend.add(it) - } - return evtToSend - } else if (init == 2) {//send two held events - evtHeld.each{ - evtToSend.add(it) - } - evtHeld.each{ - evtToSend.add(it) - } - return evtToSend - } else if (init == 3) {//send one pushed event - evtPushed.each{ - evtToSend.add(it) - } - return evtToSend - } else if (init == 4) {//send two pushed events - evtPushed.each{ - evtToSend.add(it) - } - evtPushed.each{ - evtToSend.add(it) - } - return evtToSend - } + possibleValues.add("held") + possibleValues.add("pushed") } }