@Field def log = new Logger()
//Create a global variable for optional property
@Field def optional = false //by default for now
+//Global Object for class AtomicState!
+@Field def atomicState = [history: "15:00"]
//Global variables for files
@Field boolVariable5
+
/////Input Methods/////
//input "",""
def input(String name, String type) {
lockObjects=lockObjects+1
- settings.put(metaData['name'], metaData['name'])
+ settings.put(metaData['name'], new Locks({}, 1))
if (App == "App1") {
extractedObjectsApp1.append("//Object for class lock!\n")
alarmObjects=alarmObjects+1
- settings.put(metaData['name'], metaData['name'])
+ settings.put(metaData['name'], new Alarms({}, 1))
if (App == "App1") {
extractedObjectsApp1.append("//Object for class alarm!\n")
batteryObjects=batteryObjects+1
- settings.put(metaData['name'], metaData['name'])
+ settings.put(metaData['name'], new Batteries({}, 1))
if (App == "App1") {
extractedObjectsApp1.append("//Object for class Battery!\n")
beaconSensorObjects=beaconSensorObjects+1
- settings.put(metaData['name'], metaData['name'])
+ settings.put(metaData['name'], new BeaconSensors({}, 1))
if (App == "App1") {
extractedObjectsApp1.append("//Object for class beacon sensor!\n")
carbonMonoxideDetectorObjects=carbonMonoxideDetectorObjects+1
- settings.put(metaData['name'], metaData['name'])
+ settings.put(metaData['name'], new CarbonMonoxideDetectors({}, 1))
if (App == "App1") {
extractedObjectsApp1.append("//Object for class carbon monoxide detector!\n")
colorControlObjects=colorControlObjects+1
- settings.put(metaData['name'], metaData['name'])
+ settings.put(metaData['name'], new ColorControls({}, 1))
if (App == "App1") {
extractedObjectsApp1.append("//Object for class color control!\n")
contactObjects=contactObjects+1
- settings.put(metaData['name'], metaData['name'])
+ settings.put(metaData['name'], new ContactSensors({}, 1))
if (App == "App1") {
extractedObjectsApp1.append("//Object for class contactSensor!\n")
doorControlObjects=doorControlObjects+1
- settings.put(metaData['name'], metaData['name'])
+ settings.put(metaData['name'], new DoorControls({}, 1))
if (App == "App1") {
extractedObjectsApp1.append("//Object for class door control!\n")
energyMeterObjects=energyMeterObjects+1
- settings.put(metaData['name'], metaData['name'])
+ settings.put(metaData['name'], new EnergyMeters({}, 1))
if (App == "App1") {
extractedObjectsApp1.append("//Object for class energy meter!\n")
illuminanceMeasurementObjects=illuminanceMeasurementObjects+1
- settings.put(metaData['name'], metaData['name'])
+ settings.put(metaData['name'], new IlluminanceMeasurements({}, 1))
if (App == "App1") {
extractedObjectsApp1.append("//Object for class illuminance measurement!\n")
accelerationSensorObjects=accelerationSensorObjects+1
- settings.put(metaData['name'], metaData['name'])
+ settings.put(metaData['name'], new AccelerationSensors({}, 1))
if (App == "App1") {
extractedObjectsApp1.append("//Object for class Acceleration Sensor!\n")
motionSensorObjects=motionSensorObjects+1
- settings.put(metaData['name'], metaData['name'])
+ settings.put(metaData['name'], new MotionSensors({}, 1))
if (App == "App1") {
extractedObjectsApp1.append("//Object for class Motion Sensor!\n")
musicPlayerObjects=musicPlayerObjects+1
- settings.put(metaData['name'], metaData['name'])
+ settings.put(metaData['name'], new MusicPlayers({}, 1))
if (App == "App1") {
extractedObjectsApp1.append("//Object for class music player!\n")
powerMeterObjects=powerMeterObjects+1
- settings.put(metaData['name'], metaData['name'])
+ settings.put(metaData['name'], new PowerMeters({}, 1))
if (App == "App1") {
extractedObjectsApp1.append("//Object for class power meter!\n")
presenceSensorObjects=presenceSensorObjects+1
- settings.put(metaData['name'], metaData['name'])
+ settings.put(metaData['name'], new PresenceSensors({}, 1))
if (App == "App1") {
extractedObjectsApp1.append("//Object for class presence sensor!\n")
humidityMeasurementObjects=humidityMeasurementObjects+1
- settings.put(metaData['name'], metaData['name'])
+ settings.put(metaData['name'], new RelativeHumidityMeasurements({}, 1))
if (App == "App1") {
extractedObjectsApp1.append("//Object for class humidity measurement!\n")
relaySwitchObjects=relaySwitchObjects+1
- settings.put(metaData['name'], metaData['name'])
+ settings.put(metaData['name'], new RelaySwitches({}, 1))
if (App == "App1") {
extractedObjectsApp1.append("//Object for class relay switch!\n")
sleepSensorObjects=sleepSensorObjects+1
- settings.put(metaData['name'], metaData['name'])
+ settings.put(metaData['name'], new SleepSensors({}, 1))
if (App == "App1") {
extractedObjectsApp1.append("//Object for class sleep sensor!\n")
smokeDetectorObjects=smokeDetectorObjects+1
- settings.put(metaData['name'], metaData['name'])
+ settings.put(metaData['name'], new SmokeDetectors({}, 1))
if (App == "App1") {
extractedObjectsApp1.append("//Object for class smoke detector!\n")
stepSensorObjects=stepSensorObjects+1
- settings.put(metaData['name'], metaData['name'])
+ settings.put(metaData['name'], new StepSensors({}, 1))
if (App == "App1") {
extractedObjectsApp1.append("//Object for class step sensor!\n")
switchObjects=switchObjects+1
- settings.put(metaData['name'], metaData['name'])
+ settings.put(metaData['name'], new Switches({}, 1))
if (App == "App1") {
extractedObjectsApp1.append("//Object for class switch!\n")
switchLevelObjects=switchLevelObjects+1
- settings.put(metaData['name'], metaData['name'])
+ settings.put(metaData['name'], new SwitchLevels({}, 1))
if (App == "App1") {
extractedObjectsApp1.append("//Object for class switch level!\n")
temperatureMeasurementObjects=temperatureMeasurementObjects+1
- settings.put(metaData['name'], metaData['name'])
+ settings.put(metaData['name'], new TemperatureMeasurements({}, 1))
if (App == "App1") {
extractedObjectsApp1.append("//Object for class temperature measurement!\n")
thermostatObjects=thermostatObjects+1
- settings.put(metaData['name'], metaData['name'])
+ settings.put(metaData['name'], new Thermostats({}, 1))
if (App == "App1") {
extractedObjectsApp1.append("//Object for class thermostat!\n")
valveObjects=valveObjects+1
- settings.put(metaData['name'], metaData['name'])
+ settings.put(metaData['name'], new Valves({}, 1))
if (App == "App1") {
extractedObjectsApp1.append("//Object for class valve!\n")
speechSynthesisObjects=speechSynthesisObjects+1
- settings.put(metaData['name'], metaData['name'])
+ settings.put(metaData['name'], new SpeechSynthesises({}, 1))
if (App == "App1") {
extractedObjectsApp1.append("//Object for class speech synthesis!\n")
waterSensorObjects=waterSensorObjects+1
- settings.put(metaData['name'], metaData['name'])
+ settings.put(metaData['name'], new WaterSensors({}, 1))
if (App == "App1") {
extractedObjectsApp1.append("//Object for class water sensor!\n")
touchSensorObjects=touchSensorObjects+1
- settings.put(metaData['name'], metaData['name'])
+ settings.put(metaData['name'], new NfcTouch({}, 1))
if (App == "App1") {
extractedObjectsApp1.append("//Object for class Touch Sensor!\n")
imageCaptureObjects=imageCaptureObjects+1
- settings.put(metaData['name'], metaData['name'])
+ settings.put(metaData['name'], new ImageCaptures({}, 1))
if (App == "App1") {
extractedObjectsApp1.append("//Object for class Image Capture!\n")
mobilePresenceObjects=mobilePresenceObjects+1
- settings.put(metaData['name'], metaData['name'])
+ settings.put(metaData['name'], new MobilePresences({}, 1))
if (App == "App1") {
extractedObjectsApp1.append("//Object for class mobile presence!\n")
aeonKeyFobObjects=aeonKeyFobObjects+1
- settings.put(metaData['name'], metaData['name'])
+ settings.put(metaData['name'], new AeonKeyFobs({}, 1))
if (App == "App1") {
extractedObjectsApp1.append("//Object for class aeon key fob!\n")
this[mode5] = userInput
}
- modeVariables=modeVariables+1
+ if (modeVariables != 5)
+ modeVariables=modeVariables+1
+ else
+ modeVariables=0
+
settings.put(metaData['name'], metaData['name'])
this[decimal5] = userInput
}
- decimalVariables=decimalVariables+1
+ if (decimalVariables != 5)
+ decimalVariables=decimalVariables+1
+ else
+ decimalVariables=0
settings.put(metaData['name'], metaData['name'])
this[text5] = userInput
}
- textVariables=textVariables+1
+ if (textVariables != 5)
+ textVariables=textVariables+1
+ else
+ textVariables=0
+
settings.put(metaData['name'], metaData['name'])
this[number5] = userInput
}
- numberVariables=numberVariables+1
+
+ if (numberVariables != 5)
+ numberVariables=numberVariables+1
+ else
+ numberVariables=0
+
settings.put(metaData['name'], metaData['name'])
this[time5] = userInput
}
- timeVariables=timeVariables+1
+ if (timeVariables != 5)
+ timeVariables=timeVariables+1
+ else
+ timeVariables=0
settings.put(metaData['name'], metaData['name'])
case "enum":
if (metaData['options'] != null)
modes = metaData['options']
- else // If it is not named 'options' then it is captured as 'metadata'
+ else if (metaData['metadata'] != null) { // If it is not named 'options' then it is captured as 'metadata'
modes = metaData['metadata']
+ modes = modes['values']
+ }
def userInput = modes[0]
if (enumVariables == 0) {
this[enum5] = userInput
}
- enumVariables=enumVariables+1
+ if (enumVariables != 5)
+ enumVariables=enumVariables+1
+ else
+ enumVariables=0
+
settings.put(metaData['name'], metaData['name'])
this[bool5] = userInput
}
- boolVariables=boolVariables+1
+ if (boolVariables != 5)
+ boolVariables=boolVariables+1
+ else
+ boolVariables=0
+
settings.put(metaData['name'], metaData['name'])
this[phone5] = userInput
}
- phoneVariables=phoneVariables+1
+ if (phoneVariables != 5)
+ phoneVariables=phoneVariables+1
+ else
+ phoneVariables=0
settings.put(metaData['name'], metaData['name'])
this[contact5] = userInput
}
- contactVariables=contactVariables+1
+ if (contactVariables != 5)
+ contactVariables=contactVariables+1
+ else
+ contactVariables=0
settings.put(metaData['name'], metaData['name'])
def preferences(Closure inputData) {
find(inputData) //Run the closure to extract pages/sections/inputMethods
- if (App == "App1") {
+ settings.put("END", "END")
+ if (App == "App1") {
extractedObjectsConstructorApp1.append("//Global variable for settings!\n")
- extractedObjectsConstructorApp1.append("settings = $settings\n")
+ extractedObjectsConstructorApp1.append("settings = [")
+ settings.each{
+ key, value ->
+ if (value != "END")
+ extractedObjectsConstructorApp1.append("$key: $key, ")
+ else
+ extractedObjectsConstructorApp1.append("END: \"END\"]\n")
+ }
} else {
extractedObjectsConstructorApp2.append("//Global variable for settings!\n")
- extractedObjectsConstructorApp2.append("settings = $settings\n")
+ extractedObjectsConstructorApp2.append("settings = [")
+ settings.each{
+ key, value ->
+ if (value != "END")
+ extractedObjectsConstructorApp2.append("$key: $key, ")
+ else
+ extractedObjectsConstructorApp2.append("END: \"END\"]\n")
+ }
}
}
find(inputData) //Run the closure to extract inputMethods
}
+def section(LinkedHashMap metaData, String data, Closure inputData) {
+ find(inputData)
+}
+
def mappings(Closure inputData) {
println("//IGNORE--some data//")
}