import ThreeAxis.ThreeAxises
import Momentary.Momentary
import Momentary.Momentaries
+import RemainingDevices.RemainingDevices
import Timer.SimulatedTimer
//GlobalVariables
@Field File extractedObjectsConstructorApp2 = new File("Extractor/App2/extractedObjectsConstructorApp2.groovy")
//Set this to true for global-state variable conflict
-@Field assignDifferentModes = false
+@Field assignDifferentModes = true
@Field chooseMode = 0
//Empty the files
if (App == "App1") {
extractedObjectsApp2.write("")
extractedObjectsConstructorApp2.write("")
if (assignDifferentModes)
- chooseMode = 1
+ chooseMode = 2
}
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 ->
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
}