X-Git-Url: http://plrg.eecs.uci.edu/git/?p=smartthings-infrastructure.git;a=blobdiff_plain;f=Extractor%2FExtractor.groovy;h=cf19c458f1c4857d547bce7c8d4b9a947d3fa311;hp=2e82fb3fef08229a42658a87191b89b684975b99;hb=02242ecda5f522e8301d02da14a1b46dff5606d1;hpb=47a60f9140ddae0ad03dde9f2ecca3666a315546 diff --git a/Extractor/Extractor.groovy b/Extractor/Extractor.groovy index 2e82fb3..cf19c45 100644 --- a/Extractor/Extractor.groovy +++ b/Extractor/Extractor.groovy @@ -78,6 +78,7 @@ import ThreeAxis.ThreeAxis import ThreeAxis.ThreeAxises import Momentary.Momentary import Momentary.Momentaries +import RemainingDevices.RemainingDevices import Timer.SimulatedTimer //GlobalVariables @@ -417,6 +418,15 @@ def input(LinkedHashMap metaData) { println "Options: "+metaData['options'] } def contains = 0 + def List = ["capability.carbonDioxideMeasurement", "capability.consumable", "capability.pHMeasurement", "capability.shockSensor", + "capability.signalStrength", "capability.soundSensor", "capability.soundPressureLevel", "capability.tamperAlert", + "capability.ultravioletIndex", "capability.voltageMeasurement", "capability.windowShade", "capability.sensor"] + String thisCapability = "" + if (metaData['type'] in List) { + int dot = metaData['type'].indexOf('.') + thisCapability = metaData['type'].substring(dot + 1) + metaData['type'] = "capability.remainingDevices" + } switch(metaData['type']) { case "capability.lock": globalObjects.eachLine { line -> @@ -2051,6 +2061,29 @@ def input(LinkedHashMap metaData) { extractedObjectsApp2.append("def "+metaData['name']+" = \""+userInput+"\"\n") } break + case "capability.remainingDevices": + String nameOfObject = thisCapability+"Object" + globalObjects.eachLine { line -> + if(line.contains(nameOfObject)){ + contains = 1 + } + } + + if (contains == 0) + globalObjects.append("@Field def $nameOfObject = new RemainingDevices(sendEvent, 1)\n") + + settings.put(metaData['name'], new RemainingDevices({}, 1)) + + if (App == "App1") { + extractedObjectsApp1.append("//Object for class remaining devices!\n") + extractedObjectsApp1.append("def "+metaData['name']+"\n") + extractedObjectsConstructorApp1.append(metaData['name']+" = obj.$nameOfObject\n") + } else { + extractedObjectsApp2.append("//Object for class remaining devices!\n") + extractedObjectsApp2.append("def "+metaData['name']+"\n") + extractedObjectsConstructorApp2.append(metaData['name']+" = obj.$nameOfObject\n") + } + break default: break }