Commit #9: update to previous commit
[smartthings-infrastructure.git] / Test / inputMethods.groovy
diff --git a/Test/inputMethods.groovy b/Test/inputMethods.groovy
deleted file mode 100644 (file)
index 2214500..0000000
+++ /dev/null
@@ -1,992 +0,0 @@
-////////////////////////////////////////
-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
-       }       
-}