-////////////////////////////////////////
-import groovy.transform.Field
-@Field File outGlobal = new File("Extractor/outGlobal.groovy")
-@Field File extractedObjectsApp1 = new File("Extractor/App1/extractedObjectsApp1.groovy")
-@Field File extractedObjectsApp2 = new File("Extractor/App2/extractedObjectsApp2.groovy")
-@Field File extractedObjectsConstructorApp1 = new File("Extractor/App1/extractedObjectsConstructorApp1.groovy")
-@Field File extractedObjectsConstructorApp2 = new File("Extractor/App2/extractedObjectsConstructorApp2.groovy")
-
-
-//Empty the files
-outGlobal.write("")
-extractedObjectsApp1.write("")
-extractedObjectsApp2.write("")
-extractedObjectsConstructorApp1.write("")
-extractedObjectsConstructorApp2.write("")
-
-
-@Field lockIsSet = 0
-@Field contactIsSet = 0
-@Field switchIsSet = 0
-@Field presenceIsSet = 0
-@Field thermostatIsSet = 0
-@Field touchSensorIsSet = 0
-@Field doorControlIsSet = 0
-
-//input "",""
-def input(String name, String type, String App) {
- switch(type) {
- case "capability.lock":
- if (lockIsSet != 1) {
- lockIsSet = 1
- outGlobal.append("//Global Object for class lock!\n")
- outGlobal.append("@Field def lockObject = new Locks(sendEvent,1)\n")
- }
- if (App == "App1") {
- extractedObjectsApp1.append("//Object for class lock!\n")
- extractedObjectsApp1.append("def "+name+"\n")
- extractedObjectsConstructorApp1.append(name+" = obj.lockObject\n")
- } else {
- extractedObjectsApp2.append("//Object for class lock!\n")
- extractedObjectsApp2.append("def "+name+"\n")
- extractedObjectsConstructorApp2.append(name+" = obj.lockObject\n")
- }
- break
- case "capability.alarm":
- break
- case "capability.battery":
- break
- case "capability.beacon":
- break
- case "capability.carbonMonoxideDetector":
- break
- case "capability.colorControl":
- break
- case "capability.contactSensor":
- if (contactIsSet != 1) {
- contactIsSet = 1
- outGlobal.append("//Global Object for class contactSensor!\n")
- outGlobal.append("@Field def contactObject = new ContactSensors(sendEvent,1)\n")
- }
- if (App == "App1") {
- extractedObjectsApp1.append("//Object for class contactSensor!\n")
- extractedObjectsApp1.append("def "+name+"\n")
- extractedObjectsConstructorApp1.append(name+" = obj.contactObject\n")
- } else {
- extractedObjectsApp2.append("//Object for class contactSensor!\n")
- extractedObjectsApp2.append("def "+name+"\n")
- extractedObjectsConstructorApp2.append(name+" = obj.contactObject\n")
- }
- break
- case "capability.doorControl":
- if (doorControlIsSet != 1) {
- doorControlIsSet = 1
- outGlobal.append("//Global Object for class door control!\n")
- outGlobal.append("@Field def doorControlObject = new DoorControls(sendEvent,1)\n")
- }
- if (App == "App1") {
- extractedObjectsApp1.append("//Object for class door control!\n")
- extractedObjectsApp1.append("def "+name+"\n")
- extractedObjectsConstructorApp1.append(name+" = obj.doorControlObject\n")
- } else {
- extractedObjectsApp2.append("//Object for class door control!\n")
- extractedObjectsApp2.append("def "+name+"\n")
- extractedObjectsConstructorApp2.append(name+" = obj.doorControlObject\n")
- }
- break
- case "capability.energyMeter":
- break
- case "capability.illuminanceMeasurement":
- break
- case "capability.accelerationSensor":
- break
- case "capability.motionSensor":
- break
- case "capability.musicPlayer":
- break
- case "capability.powerMeter":
- break
- case "capability.presenceSensor":
- if (presenceIsSet != 1) {
- presenceIsSet = 1
- outGlobal.append("//Global Object for class presence sensor!\n")
- outGlobal.append("@Field def presenceSensorObject = new PresenceSensors(sendEvent,1)\n")
- }
- if (App == "App1") {
- extractedObjectsApp1.append("//Object for class presence sensor!\n")
- extractedObjectsApp1.append("def "+name+"\n")
- extractedObjectsConstructorApp1.append(name+" = obj.presenceSensorObject\n")
- } else {
- extractedObjectsApp2.append("//Object for class presence sensor!\n")
- extractedObjectsApp2.append("def "+name+"\n")
- extractedObjectsConstructorApp2.append(name+" = obj.presenceSensorObject\n")
- }
- break
- case "capability.relativeHumidityMeasurement":
- break
- case "capability.relaySwitch":
- break
- case "capability.sleepSensor":
- break
- case "capability.smokeDetector":
- break
- case "capability.stepSensor":
- break
- case "capability.switch":
- if (switchIsSet != 1) {
- switchIsSet = 1
- outGlobal.append("//Global Object for class switch!\n")
- outGlobal.append("@Field def switchObject = new Switches(sendEvent,1)\n")
- }
- if (App == "App1") {
- extractedObjectsApp1.append("//Object for class switch!\n")
- extractedObjectsApp1.append("def "+name+"\n")
- extractedObjectsConstructorApp1.append(name+" = obj.switchObject\n")
- } else {
- extractedObjectsApp2.append("//Object for class switch!\n")
- extractedObjectsApp2.append("def "+name+"\n")
- extractedObjectsConstructorApp2.append(name+" = obj.switchObject\n")
- }
- break
- case "capability.switchLevel":
- break
- case "capability.temperatureMeasurement":
- break
- case "capability.thermostat":
- if (thermostatIsSet != 1) {
- thermostatIsSet = 1
- outGlobal.append("//Global Object for class thermostat!\n")
- outGlobal.append("@Field def thermostatObject = new Thermostats(sendEvent,1)\n")
- }
- if (App == "App1") {
- extractedObjectsApp1.append("//Object for class thermostat!\n")
- extractedObjectsApp1.append("def "+name+"\n")
- extractedObjectsConstructorApp1.append(name+" = obj.thermostatObject\n")
- } else {
- extractedObjectsApp2.append("//Object for class thermostat!\n")
- extractedObjectsApp2.append("def "+name+"\n")
- extractedObjectsConstructorApp2.append(name+" = obj.thermostatObject\n")
- }
- break
- case "capability.valve":
- break
- case "capability.waterSensor":
- break
- case "capability.touchSensor":
- if (touchSensorIsSet != 1) {
- touchSensorIsSet = 1
- outGlobal.append("//Global Object for class Touch Sensor!\n")
- outGlobal.append("@Field def touchSensorObject = new NfcTouch(sendEvent,1)\n")
- }
- if (App == "App1") {
- extractedObjectsApp1.append("//Object for class Touch Sensor!\n")
- extractedObjectsApp1.append("def "+name+"\n")
- extractedObjectsConstructorApp1.append(name+" = obj.touchSensorObject\n")
- } else {
- extractedObjectsApp2.append("//Object for class Touch Sensor!\n")
- extractedObjectsApp2.append("def "+name+"\n")
- extractedObjectsConstructorApp2.append(name+" = obj.touchSensorObject\n")
- }
- break
- case "capability.imageCapture":
- break
- case "device.mobilePresence":
- break
- case "device.aeonKeyFob":
- break
- case "mode":
- def userInput = System.console().readLine 'Enter the mode:'
- if (App == "App1") {
- extractedObjectsApp1.append("//Global variable for mode!\n")
- extractedObjectsApp1.append("def "+name+" = \""+userInput+"\"\n")
- } else {
- extractedObjectsApp2.append("//Global variable for mode!\n")
- extractedObjectsApp2.append("def "+name+" = \""+userInput+"\"\n")
- }
- break
- case "decimal":
- break
- case "text":
- break
- case "number":
- def userInput = System.console().readLine 'Enter the number:'
- if (App == "App1") {
- extractedObjectsApp1.append("//Global variable for number!\n")
- extractedObjectsApp1.append("def "+name+" = "+userInput+"\n")
- } else {
- extractedObjectsApp2.append("//Global variable for number!\n")
- extractedObjectsApp2.append("def "+name+" = "+userInput+"\n")
- }
- break
- case "time":
- def userInput = System.console().readLine 'Enter the time:'
- if (App == "App1") {
- extractedObjectsApp1.append("//Global variable for time!\n")
- extractedObjectsApp1.append("def "+name+" = \""+userInput+"\"\n")
- } else {
- extractedObjectsApp2.append("//Global variable for time!\n")
- extractedObjectsApp2.append("def "+name+" = \""+userInput+"\"\n")
- }
- break
- case "enum":
- def userInput = System.console().readLine 'Enter the enum:'
- if (App == "App1") {
- extractedObjectsApp1.append("//Global variable for enum!\n")
- extractedObjectsApp1.append("def "+name+" = \""+userInput+"\"\n")
- } else {
- extractedObjectsApp2.append("//Global variable for enum!\n")
- extractedObjectsApp2.append("def "+name+" = \""+userInput+"\"\n")
- }
- break
- case "bool":
- break
- case "phone":
- def userInput = System.console().readLine 'Enter the phone:'
- if (App == "App1") {
- extractedObjectsApp1.append("//Global variable for phone!\n")
- extractedObjectsApp1.append("def "+name+" = "+userInput+"\n")
- } else {
- extractedObjectsApp2.append("//Global variable for phone!\n")
- extractedObjectsApp2.append("def "+name+" = "+userInput+"\n")
- }
- break
- case "contact":
- def userInput = System.console().readLine 'Enter the name of the contact:'
- if (App == "App1") {
- extractedObjectsApp1.append("//Global variable for contact!\n")
- extractedObjectsApp1.append("def "+name+" = \""+userInput+"\"\n")
- } else {
- extractedObjectsApp2.append("//Global variable for contact!\n")
- extractedObjectsApp2.append("def "+name+" = \""+userInput+"\"\n")
- }
- break
- default:
- break
- }
-}
-
-//input "","",linkedHashMap
-def input(LinkedHashMap metaData, String name, String type, String App) {
- switch(type) {
- case "capability.lock":
- if (metaData.containsKey('title')) {
- println metaData['title']
- }
- if (metaData.containsKey('multiple')) {
- if (metaData['multiple'] == true) {
- if (lockIsSet != 1) {
- lockIsSet = 1
- def count = System.console().readLine 'Enter the number of locks to control?(1,2, or 3)'
- outGlobal.append("//Global Object for class lock!\n")
- outGlobal.append("@Field def lockObject = new Locks(sendEvent, ")
- outGlobal.append(count+")\n")
- }
- }
- }
- if (lockIsSet != 1) {
- lockIsSet = 1
- outGlobal.append("//Global Object for class lock!\n")
- outGlobal.append("@Field def lockObject = new Locks(sendEvent,1)\n")
- }
- if (App == "App1") {
- extractedObjectsApp1.append("//Object for class lock!\n")
- extractedObjectsApp1.append("def "+name+"\n")
- extractedObjectsConstructorApp1.append(name+" = obj.lockObject\n")
- } else {
- extractedObjectsApp2.append("//Object for class lock!\n")
- extractedObjectsApp2.append("def "+name+"\n")
- extractedObjectsConstructorApp2.append(name+" = obj.lockObject\n")
- }
- break
- case "capability.alarm":
- break
- case "capability.battery":
- break
- case "capability.beacon":
- break
- case "capability.carbonMonoxideDetector":
- break
- case "capability.colorControl":
- break
- case "capability.contactSensor":
- if (metaData.containsKey('title')) {
- println metaData['title']
- }
- if (metaData.containsKey('multiple')) {
- if (metaData['multiple'] == true) {
- if (contactIsSet != 1) {
- contactIsSet = 1
- def count = System.console().readLine 'Enter the number of contact sensors to control?(1,2, or 3)'
- outGlobal.append("//Global Object for class contactSensor!\n")
- outGlobal.append("@Field def contactObject = new ContactSensors(sendEvent, ")
- outGlobal.append(count+")\n")
- }
- }
- }
- if (contactIsSet != 1) {
- contactIsSet = 1
- outGlobal.append("//Global Object for class contactSensor!\n")
- outGlobal.append("@Field def contactObject = new ContactSensors(sendEvent,1)\n")
- }
- if (App == "App1") {
- extractedObjectsApp1.append("//Object for class contactSensor!\n")
- extractedObjectsApp1.append("def "+name+"\n")
- extractedObjectsConstructorApp1.append(name+" = obj.contactObject\n")
- } else {
- extractedObjectsApp2.append("//Object for class contactSensor!\n")
- extractedObjectsApp2.append("def "+name+"\n")
- extractedObjectsConstructorApp2.append(name+" = obj.contactObject\n")
- }
- break
- case "capability.doorControl":
- if (metaData.containsKey('title')) {
- println metaData['title']
- }
- if (metaData.containsKey('multiple')) {
- if (metaData['multiple'] == true) {
- if (contactIsSet != 1) {
- contactIsSet = 1
- def count = System.console().readLine 'Enter the number of doors to control?(1,2, or 3)'
- outGlobal.append("//Global Object for class door control!\n")
- outGlobal.append("@Field def doorControlObject = new DoorControls(sendEvent, ")
- outGlobal.append(count+")\n")
- }
- }
- }
- if (doorControlIsSet != 1) {
- doorControlIsSet = 1
- outGlobal.append("//Global Object for class door control!\n")
- outGlobal.append("@Field def doorControlObject = new DoorControls(sendEvent,1)\n")
- }
- if (App == "App1") {
- extractedObjectsApp1.append("//Object for class door control!\n")
- extractedObjectsApp1.append("def "+name+"\n")
- extractedObjectsConstructorApp1.append(name+" = obj.doorControlObject\n")
- } else {
- extractedObjectsApp2.append("//Object for class door control!\n")
- extractedObjectsApp2.append("def "+name+"\n")
- extractedObjectsConstructorApp2.append(name+" = obj.doorControlObject\n")
- }
- break
- case "capability.energyMeter":
- break
- case "capability.illuminanceMeasurement":
- break
- case "capability.accelerationSensor":
- break
- case "capability.motionSensor":
- break
- case "capability.musicPlayer":
- break
- case "capability.powerMeter":
- break
- case "capability.presenceSensor":
- if (metaData.containsKey('title')) {
- println metaData['title']
- }
- if (metaData.containsKey('multiple')) {
- if (metaData['multiple'] == true) {
- if (presenceIsSet != 1) {
- presenceIsSet = 1
- def count = System.console().readLine 'Enter the number of presence sensors to control?(1,2, or 3)'
- outGlobal.append("//Global Object for class presence sensor!\n")
- outGlobal.append("@Field def presenceSensorObject = new PresenceSensors(sendEvent, ")
- outGlobal.append(count+")\n")
- }
- }
- }
- if (presenceIsSet != 1) {
- presenceIsSet = 1
- outGlobal.append("//Global Object for class presence sensor!\n")
- outGlobal.append("@Field def presenceSensorObject = new PresenceSensors(sendEvent,1)\n")
- }
- if (App == "App1") {
- extractedObjectsApp1.append("//Object for class presence sensor!\n")
- extractedObjectsApp1.append("def "+name+"\n")
- extractedObjectsConstructorApp1.append(name+" = obj.presenceSensorObject\n")
- } else {
- extractedObjectsApp2.append("//Object for class presence sensor!\n")
- extractedObjectsApp2.append("def "+name+"\n")
- extractedObjectsConstructorApp2.append(name+" = obj.presenceSensorObject\n")
- }
- break
- case "capability.relativeHumidityMeasurement":
- break
- case "capability.relaySwitch":
- break
- case "capability.sleepSensor":
- break
- case "capability.smokeDetector":
- break
- case "capability.stepSensor":
- break
- case "capability.switch":
- if (metaData.containsKey('title')) {
- println metaData['title']
- }
- if (metaData.containsKey('multiple')) {
- if (metaData['multiple'] == true) {
- if (switchIsSet != 1) {
- switchIsSet = 1
- def count = System.console().readLine 'Enter the number of switches to control?(1,2, or 3)'
- outGlobal.append("//Global Object for class switch!\n")
- outGlobal.append("@Field def switchObject = new Switches(sendEvent, ")
- outGlobal.append(count+")\n")
- }
- }
- }
- if (switchIsSet != 1) {
- switchIsSet = 1
- outGlobal.append("//Global Object for class switch!\n")
- outGlobal.append("@Field def switchObject = new Switches(sendEvent,1)\n")
- }
- if (App == "App1") {
- extractedObjectsApp1.append("//Object for class switch!\n")
- extractedObjectsApp1.append("def "+name+"\n")
- extractedObjectsConstructorApp1.append(name+" = obj.switchObject\n")
- } else {
- extractedObjectsApp2.append("//Object for class switch!\n")
- extractedObjectsApp2.append("def "+name+"\n")
- extractedObjectsConstructorApp2.append(name+" = obj.switchObject\n")
- }
- break
- case "capability.switchLevel":
- break
- case "capability.temperatureMeasurement":
- break
- case "capability.thermostat":
- if (metaData.containsKey('title')) {
- println metaData['title']
- }
- if (metaData.containsKey('multiple')) {
- if (metaData['multiple'] == true) {
- if (thermostatIsSet != 1) {
- thermostatIsSet = 1
- def count = System.console().readLine 'Enter the number of thermostats to control?(1,2, or 3)'
- outGlobal.append("//Global Object for class thermostat!\n")
- outGlobal.append("@Field def thermostatObject = new Thermostats(sendEvent, ")
- outGlobal.append(count+")\n")
- }
- }
- }
- if (thermostatIsSet != 1) {
- thermostatIsSet = 1
- outGlobal.append("//Global Object for class thermostat!\n")
- outGlobal.append("@Field def thermostatObject = new Thermostats(sendEvent,1)\n")
- }
- if (App == "App1") {
- extractedObjectsApp1.append("//Object for class thermostat!\n")
- extractedObjectsApp1.append("def "+name+"\n")
- extractedObjectsConstructorApp1.append(name+" = obj.thermostatObject\n")
- } else {
- extractedObjectsApp2.append("//Object for class thermostat!\n")
- extractedObjectsApp2.append("def "+name+"\n")
- extractedObjectsConstructorApp2.append(name+" = obj.thermostatObject\n")
- }
- break
- case "capability.valve":
- break
- case "capability.waterSensor":
- break
- case "capability.touchSensor":
- if (touchSensorIsSet != 1) {
- touchSensorIsSet = 1
- outGlobal.append("//Global Object for class Touch Sensor!\n")
- outGlobal.append("@Field def touchSensorObject = new NfcTouch(sendEvent,1)\n")
- }
- if (App == "App1") {
- extractedObjectsApp1.append("//Object for class Touch Sensor!\n")
- extractedObjectsApp1.append("def "+name+"\n")
- extractedObjectsConstructorApp1.append(name+" = obj.touchSensorObject\n")
- } else {
- extractedObjectsApp2.append("//Object for class Touch Sensor!\n")
- extractedObjectsApp2.append("def "+name+"\n")
- extractedObjectsConstructorApp2.append(name+" = obj.touchSensorObject\n")
- }
- break
- case "capability.imageCapture":
- break
- case "device.mobilePresence":
- break
- case "device.aeonKeyFob":
- break
- case "mode":
- if (metaData.containsKey('title')) {
- println metaData['title']
- }
- if (metaData.containsKey('options')) {
- println "Options: "+metaData['options']
- }
- def userInput = System.console().readLine 'Enter the mode:'
- if (App == "App1") {
- extractedObjectsApp1.append("//Global variable for mode!\n")
- extractedObjectsApp1.append("def "+name+" = \""+userInput+"\"\n")
- } else {
- extractedObjectsApp2.append("//Global variable for mode!\n")
- extractedObjectsApp2.append("def "+name+" = \""+userInput+"\"\n")
- }
- break
- case "decimal":
- break
- case "text":
- break
- case "number":
- if (metaData.containsKey('title')) {
- println metaData['title']
- }
- if (metaData.containsKey('options')) {
- println "Options: "+metaData['options']
- }
- if (metaData.containsKey('metadata')) {
- println "metaData: "+metaData['metadata']
- }
- def userInput = System.console().readLine 'Enter the number:'
- if (App == "App1") {
- extractedObjectsApp1.append("//Global variable for number!\n")
- extractedObjectsApp1.append("def "+name+" = "+userInput+"\n")
- } else {
- extractedObjectsApp2.append("//Global variable for number!\n")
- extractedObjectsApp2.append("def "+name+" = "+userInput+"\n")
- }
- break
- case "time":
- if (metaData.containsKey('title')) {
- println metaData['title']
- }
- if (metaData.containsKey('options')) {
- println "Options: "+metaData['options']
- }
- if (metaData.containsKey('metadata')) {
- println "metaData: "+metaData['metadata']
- }
- def userInput = System.console().readLine 'Enter the time:'
- if (App == "App1") {
- extractedObjectsApp1.append("//Global variable for time!\n")
- extractedObjectsApp1.append("def "+name+" = \""+userInput+"\"\n")
- } else {
- extractedObjectsApp2.append("//Global variable for time!\n")
- extractedObjectsApp2.append("def "+name+" = \""+userInput+"\"\n")
- }
- break
- case "enum":
- if (metaData.containsKey('title')) {
- println metaData['title']
- }
- if (metaData.containsKey('options')) {
- println "Options: "+metaData['options']
- }
- if (metaData.containsKey('metadata')) {
- println "metaData: "+metaData['metadata']
- }
- def userInput = System.console().readLine 'Enter the enum:'
- if (App == "App1") {
- extractedObjectsApp1.append("//Global variable for enum!\n")
- extractedObjectsApp1.append("def "+name+" = \""+userInput+"\"\n")
- } else {
- extractedObjectsApp2.append("//Global variable for enum!\n")
- extractedObjectsApp2.append("def "+name+" = \""+userInput+"\"\n")
- }
- break
- case "bool":
- break
- case "phone":
- if (metaData.containsKey('title')) {
- println metaData['title']
- }
- if (metaData.containsKey('options')) {
- println "Options: "+metaData['options']
- }
- if (metaData.containsKey('metadata')) {
- println "metaData: "+metaData['metadata']
- }
- def userInput = System.console().readLine 'Enter the phone:'
- if (App == "App1") {
- extractedObjectsApp1.append("//Global variable for phone!\n")
- extractedObjectsApp1.append("def "+name+" = "+userInput+"\n")
- } else {
- extractedObjectsApp2.append("//Global variable for phone!\n")
- extractedObjectsApp2.append("def "+name+" = "+userInput+"\n")
- }
- break
- case "contact":
- if (metaData.containsKey('title')) {
- println metaData['title']
- }
- if (metaData.containsKey('options')) {
- println "Options: "+metaData['options']
- }
- if (metaData.containsKey('metadata')) {
- println "metaData: "+metaData['metadata']
- }
- def userInput = System.console().readLine 'Enter the name of the contact:'
- if (App == "App1") {
- extractedObjectsApp1.append("//Global variable for contact!\n")
- extractedObjectsApp1.append("def "+name+" = \""+userInput+"\"\n")
- } else {
- extractedObjectsApp2.append("//Global variable for contact!\n")
- extractedObjectsApp2.append("def "+name+" = \""+userInput+"\"\n")
- }
- break
- default:
- break
- }
-}
-//input linkedHashMap
-def input(LinkedHashMap metaData, String App) {
- switch(metaData['type']) {
- case "capability.lock":
- if (metaData.containsKey('title')) {
- println metaData['title']
- }
- if (metaData.containsKey('multiple')) {
- if (metaData['multiple'] == true) {
- if (lockIsSet != 1) {
- lockIsSet = 1
- def count = System.console().readLine 'Enter the number of locks to control?(1,2, or 3)'
- outGlobal.append("//Global Object for class lock!\n")
- outGlobal.append("@Field def lockObject = new Locks(sendEvent, ")
- outGlobal.append(count+")\n")
- }
- }
- }
- if (lockIsSet != 1) {
- lockIsSet = 1
- outGlobal.append("//Global Object for class lock!\n")
- outGlobal.append("@Field def lockObject = new Locks(sendEvent,1)\n")
- }
- if (App == "App1") {
- extractedObjectsApp1.append("//Object for class lock!\n")
- extractedObjectsApp1.append("def "+metaData['input']+"\n")
- extractedObjectsConstructorApp1.append(metaData['input']+" = obj.lockObject\n")
- } else {
- extractedObjectsApp2.append("//Object for class lock!\n")
- extractedObjectsApp2.append("def "+metaData['input']+"\n")
- extractedObjectsConstructorApp2.append(metaData['input']+" = obj.lockObject\n")
- }
- break
- case "capability.alarm":
- break
- case "capability.battery":
- break
- case "capability.beacon":
- break
- case "capability.carbonMonoxideDetector":
- break
- case "capability.colorControl":
- break
- case "capability.contactSensor":
- if (metaData.containsKey('title')) {
- println metaData['title']
- }
- if (metaData.containsKey('multiple')) {
- if (metaData['multiple'] == true) {
- if (contactIsSet != 1) {
- contactIsSet = 1
- def count = System.console().readLine 'Enter the number of contact sensors to control?(1,2, or 3)'
- outGlobal.append("//Global Object for class contactSensor!\n")
- outGlobal.append("@Field def contactObject = new ContactSensors(sendEvent, ")
- outGlobal.append(count+")\n")
- }
- }
- }
- if (contactIsSet != 1) {
- contactIsSet = 1
- outGlobal.append("//Global Object for class contactSensor!\n")
- outGlobal.append("@Field def contactObject = new ContactSensors(sendEvent,1)\n")
- }
- if (App == "App1") {
- extractedObjectsApp1.append("//Object for class contactSensor!\n")
- extractedObjectsApp1.append("def "+metaData['input']+"\n")
- extractedObjectsConstructorApp1.append(metaData['input']+" = obj.contactObject\n")
- } else {
- extractedObjectsApp2.append("//Object for class contactSensor!\n")
- extractedObjectsApp2.append("def "+metaData['input']+"\n")
- extractedObjectsConstructorApp2.append(metaData['input']+" = obj.contactObject\n")
- }
- break
- case "capability.doorControl":
- if (metaData.containsKey('title')) {
- println metaData['title']
- }
- if (metaData.containsKey('multiple')) {
- if (metaData['multiple'] == true) {
- if (contactIsSet != 1) {
- contactIsSet = 1
- def count = System.console().readLine 'Enter the number of doors to control?(1,2, or 3)'
- outGlobal.append("//Global Object for class door control!\n")
- outGlobal.append("@Field def doorControlObject = new DoorControls(sendEvent, ")
- outGlobal.append(count+")\n")
- }
- }
- }
- if (doorControlIsSet != 1) {
- doorControlIsSet = 1
- outGlobal.append("//Global Object for class door control!\n")
- outGlobal.append("@Field def doorControlObject = new DoorControls(sendEvent,1)\n")
- }
- if (App == "App1") {
- extractedObjectsApp1.append("//Object for class door control!\n")
- extractedObjectsApp1.append("def "+metaData['input']+"\n")
- extractedObjectsConstructorApp1.append(metaData['input']+" = obj.doorControlObject\n")
- } else {
- extractedObjectsApp2.append("//Object for class door control!\n")
- extractedObjectsApp2.append("def "+metaData['input']+"\n")
- extractedObjectsConstructorApp2.append(metaData['input']+" = obj.doorControlObject\n")
- }
- break
- case "capability.energyMeter":
- break
- case "capability.illuminanceMeasurement":
- break
- case "capability.accelerationSensor":
- break
- case "capability.motionSensor":
- break
- case "capability.musicPlayer":
- break
- case "capability.powerMeter":
- break
- case "capability.presenceSensor":
- if (metaData.containsKey('title')) {
- println metaData['title']
- }
- if (metaData.containsKey('multiple')) {
- if (metaData['multiple'] == true) {
- if (presenceIsSet != 1) {
- presenceIsSet = 1
- def count = System.console().readLine 'Enter the number of presence sensors to control?(1,2, or 3)'
- outGlobal.append("//Global Object for class presence sensor!\n")
- outGlobal.append("@Field def presenceSensorObject = new PresenceSensors(sendEvent, ")
- outGlobal.append(count+")\n")
- }
- }
- }
- if (presenceIsSet != 1) {
- presenceIsSet = 1
- outGlobal.append("//Global Object for class presence sensor!\n")
- outGlobal.append("@Field def presenceSensorObject = new PresenceSensors(sendEvent,1)\n")
- }
- if (App == "App1") {
- extractedObjectsApp1.append("//Object for class presence sensor!\n")
- extractedObjectsApp1.append("def "+metaData['input']+"\n")
- extractedObjectsConstructorApp1.append(metaData['input']+" = obj.presenceSensorObject\n")
- } else {
- extractedObjectsApp2.append("//Object for class presence sensor!\n")
- extractedObjectsApp2.append("def "+metaData['input']+"\n")
- extractedObjectsConstructorApp2.append(metaData['input']+" = obj.presenceSensorObject\n")
- }
- break
- case "capability.relativeHumidityMeasurement":
- break
- case "capability.relaySwitch":
- break
- case "capability.sleepSensor":
- break
- case "capability.smokeDetector":
- break
- case "capability.stepSensor":
- break
- case "capability.switch":
- if (metaData.containsKey('title')) {
- println metaData['title']
- }
- if (metaData.containsKey('multiple')) {
- if (metaData['multiple'] == true) {
- if (switchIsSet != 1) {
- switchIsSet = 1
- def count = System.console().readLine 'Enter the number of switches to control?(1,2, or 3)'
- outGlobal.append("//Global Object for class switch!\n")
- outGlobal.append("@Field def switchObject = new Switches(sendEvent, ")
- outGlobal.append(count+")\n")
- }
- }
- }
- if (switchIsSet != 1) {
- switchIsSet = 1
- outGlobal.append("//Global Object for class switch!\n")
- outGlobal.append("@Field def switchObject = new Switches(sendEvent,1)\n")
- }
- if (App == "App1") {
- extractedObjectsApp1.append("//Object for class switch!\n")
- extractedObjectsApp1.append("def "+metaData['input']+"\n")
- extractedObjectsConstructorApp1.append(metaData['input']+" = obj.switchObject\n")
- } else {
- extractedObjectsApp2.append("//Object for class switch!\n")
- extractedObjectsApp2.append("def "+metaData['input']+"\n")
- extractedObjectsConstructorApp2.append(metaData['input']+" = obj.switchObject\n")
- }
- break
- case "capability.switchLevel":
- break
- case "capability.temperatureMeasurement":
- break
- case "capability.thermostat":
- if (metaData.containsKey('title')) {
- println metaData['title']
- }
- if (metaData.containsKey('multiple')) {
- if (metaData['multiple'] == true) {
- if (thermostatIsSet != 1) {
- thermostatIsSet = 1
- def count = System.console().readLine 'Enter the number of thermostats to control?(1,2, or 3)'
- outGlobal.append("//Global Object for class thermostat!\n")
- outGlobal.append("@Field def thermostatObject = new Thermostats(sendEvent, ")
- outGlobal.append(count+")\n")
- }
- }
- }
- if (thermostatIsSet != 1) {
- thermostatIsSet = 1
- outGlobal.append("//Global Object for class thermostat!\n")
- outGlobal.append("@Field def thermostatObject = new Thermostats(sendEvent,1)\n")
- }
- if (App == "App1") {
- extractedObjectsApp1.append("//Object for class thermostat!\n")
- extractedObjectsApp1.append("def "+metaData['input']+"\n")
- extractedObjectsConstructorApp1.append(metaData['input']+" = obj.thermostatObject\n")
- } else {
- extractedObjectsApp2.append("//Object for class thermostat!\n")
- extractedObjectsApp2.append("def "+metaData['input']+"\n")
- extractedObjectsConstructorApp2.append(metaData['input']+" = obj.thermostatObject\n")
- }
- break
- case "capability.valve":
- break
- case "capability.waterSensor":
- break
- case "capability.touchSensor":
- if (touchSensorIsSet != 1) {
- touchSensorIsSet = 1
- outGlobal.append("//Global Object for class Touch Sensor!\n")
- outGlobal.append("@Field def touchSensorObject = new NfcTouch(sendEvent,1)\n")
- }
- if (App == "App1") {
- extractedObjectsApp1.append("//Object for class Touch Sensor!\n")
- extractedObjectsApp1.append("def "+metaData['input']+"\n")
- extractedObjectsConstructorApp1.append(metaData['input']+" = obj.touchSensorObject\n")
- } else {
- extractedObjectsApp2.append("//Object for class Touch Sensor!\n")
- extractedObjectsApp2.append("def "+metaData['input']+"\n")
- extractedObjectsConstructorApp2.append(metaData['input']+" = obj.touchSensorObject\n")
- }
- break
- case "capability.imageCapture":
- break
- case "device.mobilePresence":
- break
- case "device.aeonKeyFob":
- break
- case "mode":
- if (metaData.containsKey('title')) {
- println metaData['title']
- }
- if (metaData.containsKey('options')) {
- println "Options: "+metaData['options']
- }
- if (metaData.containsKey('metadata')) {
- println "metaData: "+metaData['metadata']
- }
- def userInput = System.console().readLine 'Enter the mode:'
- if (App == "App1") {
- extractedObjectsApp1.append("//Global variable for mode!\n")
- extractedObjectsApp1.append("def "+metaData['input']+" = \""+userInput+"\"\n")
- } else {
- extractedObjectsApp2.append("//Global variable for mode!\n")
- extractedObjectsApp2.append("def "+metaData['input']+" = \""+userInput+"\"\n")
- }
- break
- case "decimal":
- break
- case "text":
- break
- case "number":
- if (metaData.containsKey('title')) {
- println metaData['title']
- }
- if (metaData.containsKey('options')) {
- println "Options: "+metaData['options']
- }
- if (metaData.containsKey('metadata')) {
- println "metaData: "+metaData['metadata']
- }
- def userInput = System.console().readLine 'Enter the number:'
- if (App == "App1") {
- extractedObjectsApp1.append("//Global variable for number!\n")
- extractedObjectsApp1.append("def "+metaData['input']+" = "+userInput+"\n")
- } else {
- extractedObjectsApp2.append("//Global variable for number!\n")
- extractedObjectsApp2.append("def "+metaData['input']+" = "+userInput+"\n")
- }
- break
- case "time":
- if (metaData.containsKey('title')) {
- println metaData['title']
- }
- if (metaData.containsKey('options')) {
- println "Options: "+metaData['options']
- }
- if (metaData.containsKey('metadata')) {
- println "metaData: "+metaData['metadata']
- }
- def userInput = System.console().readLine 'Enter the time:'
- if (App == "App1") {
- extractedObjectsApp1.append("//Global variable for time!\n")
- extractedObjectsApp1.append("def "+metaData['input']+" = \""+userInput+"\"\n")
- } else {
- extractedObjectsApp2.append("//Global variable for time!\n")
- extractedObjectsApp2.append("def "+metaData['input']+" = \""+userInput+"\"\n")
- }
- break
- case "enum":
- if (metaData.containsKey('title')) {
- println metaData['title']
- }
- if (metaData.containsKey('options')) {
- println "Options: "+metaData['options']
- }
- if (metaData.containsKey('metadata')) {
- println "metaData: "+metaData['metadata']
- }
- def userInput = System.console().readLine 'Enter the enum:'
- if (App == "App1") {
- extractedObjectsApp1.append("//Global variable for enum!\n")
- extractedObjectsApp1.append("def "+metaData['input']+" = \""+userInput+"\"\n")
- } else {
- extractedObjectsApp2.append("//Global variable for enum!\n")
- extractedObjectsApp2.append("def "+metaData['input']+" = \""+userInput+"\"\n")
- }
- break
- case "bool":
- break
- case "phone":
- if (metaData.containsKey('title')) {
- println metaData['title']
- }
- if (metaData.containsKey('options')) {
- println "Options: "+metaData['options']
- }
- if (metaData.containsKey('metadata')) {
- println "metaData: "+metaData['metadata']
- }
- def userInput = System.console().readLine 'Enter the phone:'
- if (App == "App1") {
- extractedObjectsApp1.append("//Global variable for phone!\n")
- extractedObjectsApp1.append("def "+metaData['input']+" = "+userInput+"\n")
- } else {
- extractedObjectsApp2.append("//Global variable for phone!\n")
- extractedObjectsApp2.append("def "+metaData['input']+" = "+userInput+"\n")
- }
- break
- case "contact":
- if (metaData.containsKey('title')) {
- println metaData['title']
- }
- if (metaData.containsKey('options')) {
- println "Options: "+metaData['options']
- }
- if (metaData.containsKey('metadata')) {
- println "metaData: "+metaData['metadata']
- }
- def userInput = System.console().readLine 'Enter the name of the contact:'
- if (App == "App1") {
- extractedObjectsApp1.append("//Global variable for contact!\n")
- extractedObjectsApp1.append("def "+metaData['input']+" = \""+userInput+"\"\n")
- } else {
- extractedObjectsApp2.append("//Global variable for contact!\n")
- extractedObjectsApp2.append("def "+metaData['input']+" = \""+userInput+"\"\n")
- }
- break
- default:
- break
- }
-}