Commit #7: Events thread-based + new easier Extractor.py + our own Timer class
[smartthings-infrastructure.git] / Extractor / inputMethods.groovy
1 ////////////////////////////////////////
2 import groovy.transform.Field
3 @Field File outGlobal = new File("Extractor/outGlobal.groovy")
4 @Field File extractedObjectsApp1 = new File("Extractor/App1/extractedObjectsApp1.groovy")
5 @Field File extractedObjectsApp2 = new File("Extractor/App2/extractedObjectsApp2.groovy")
6 @Field File extractedObjectsConstructorApp1 = new File("Extractor/App1/extractedObjectsConstructorApp1.groovy")
7 @Field File extractedObjectsConstructorApp2 = new File("Extractor/App2/extractedObjectsConstructorApp2.groovy")
8
9 //Empty the files
10 outGlobal.write("")
11 extractedObjectsApp1.write("")
12 extractedObjectsApp2.write("")
13 extractedObjectsConstructorApp1.write("")
14 extractedObjectsConstructorApp2.write("")
15
16
17 @Field lockIsSet = 0
18 @Field contactIsSet = 0
19 @Field switchIsSet = 0
20
21 //input "",""
22 def input(String name, String type, String App) {
23         switch(type) {
24                 case "capability.lock":
25                         if (lockIsSet != 1) {
26                                 lockIsSet = 1
27                                 outGlobal.append("//Global Object for class lock!\n")
28                                 outGlobal.append("@Field def lockObject = new Locking(sendEvent,1)\n")
29                         }
30                         if (App == "App1") {
31                                 extractedObjectsApp1.append("//Object for class lock!\n")
32                                 extractedObjectsApp1.append("def "+name+"\n")
33                                 extractedObjectsConstructorApp1.append(name+" = obj.lockObject\n")              
34                         } else {
35                                 extractedObjectsApp2.append("//Object for class lock!\n")
36                                 extractedObjectsApp2.append("def "+name+"\n")
37                                 extractedObjectsConstructorApp2.append(name+" = obj.lockObject\n")
38                         }
39                         break
40                 case "capability.alarm":
41                         break
42                 case "capability.battery":
43                         break
44                 case "capability.beacon":
45                         break
46                 case "capability.carbonMonoxideDetector":
47                         break
48                 case "capability.colorControl":
49                         break
50                 case "capability.contactSensor":
51                         if (contactIsSet != 1) {
52                                 contactIsSet = 1
53                                 outGlobal.append("//Global Object for class contactSensor!\n")
54                                 outGlobal.append("@Field def contactObject = new Contacting(sendEvent,1)\n")
55                         }
56                         if (App == "App1") {
57                                 extractedObjectsApp1.append("//Object for class contactSensor!\n")
58                                 extractedObjectsApp1.append("def "+name+"\n")
59                                 extractedObjectsConstructorApp1.append(name+" = obj.contactObject\n")           
60                         } else {
61                                 extractedObjectsApp2.append("//Object for class contactSensor!\n")
62                                 extractedObjectsApp2.append("def "+name+"\n")
63                                 extractedObjectsConstructorApp2.append(name+" = obj.contactObject\n")
64                         }
65                         break
66                 case "capability.doorControl":
67                         break
68                 case "capability.energyMeter":
69                         break
70                 case "capability.illuminanceMeasurement":
71                         break
72                 case "capability.accelerationSensor":
73                         break
74                 case "capability.motionSensor":
75                         break
76                 case "capability.musicPlayer":
77                         break
78                 case "capability.powerMeter":
79                         break
80                 case "capability.presenceSensor":
81                         break
82                 case "capability.relativeHumidityMeasurement":
83                         break
84                 case "capability.relaySwitch":
85                         break
86                 case "capability.sleepSensor":
87                         break
88                 case "capability.smokeDetector":
89                         break
90                 case "capability.stepSensor":
91                         break
92                 case "capability.switch":
93                         if (switchIsSet != 1) {
94                                 switchIsSet = 1
95                                 outGlobal.append("//Global Object for class switch!\n")
96                                 outGlobal.append("@Field def switchObject = new Switching(sendEvent,1)\n")
97                         }
98                         if (App == "App1") {
99                                 extractedObjectsApp1.append("//Object for class switch!\n")
100                                 extractedObjectsApp1.append("def "+name+"\n")
101                                 extractedObjectsConstructorApp1.append(name+" = obj.switchObject\n")            
102                         } else {
103                                 extractedObjectsApp2.append("//Object for class switch!\n")
104                                 extractedObjectsApp2.append("def "+name+"\n")
105                                 extractedObjectsConstructorApp2.append(name+" = obj.switchObject\n")
106                         }
107                         break
108                 case "capability.switchLevel":
109                         break
110                 case "capability.temperatureMeasurement":
111                         break
112                 case "capability.thermostat":
113                         break
114                 case "capability.valve":
115                         break
116                 case "capability.waterSensor":
117                         break
118                 case "capability.touchSensor":
119                         break
120                 case "capability.imageCapture":
121                         break
122                 case "device.mobilePresence":
123                         break
124                 case "device.aeonKeyFob":
125                         break
126                 case "mode":
127                         def userInput = System.console().readLine 'Enter the mode:'
128                         if (App == "App1") {                    
129                                 extractedObjectsApp1.append("//Global variable for mode!\n")
130                                 extractedObjectsApp1.append("def "+name+" = \""+userInput+"\"\n")
131                         } else {
132                                 extractedObjectsApp2.append("//Global variable for mode!\n")
133                                 extractedObjectsApp2.append("def "+name+" = \""+userInput+"\"\n")
134                         }
135                         break
136                 case "decimal":
137                         break
138                 case "text":
139                         break
140                 case "number":
141                         def userInput = System.console().readLine 'Enter the number:'
142                         if (App == "App1") {                    
143                                 extractedObjectsApp1.append("//Global variable for number!\n")
144                                 extractedObjectsApp1.append("def "+name+" = "+userInput+"\n")
145                         } else {
146                                 extractedObjectsApp2.append("//Global variable for number!\n")
147                                 extractedObjectsApp2.append("def "+name+" = "+userInput+"\n")
148                         }
149                         break
150                 case "time":
151                         def userInput = System.console().readLine 'Enter the time:'
152                         if (App == "App1") {                    
153                                 extractedObjectsApp1.append("//Global variable for time!\n")
154                                 extractedObjectsApp1.append("def "+name+" = \""+userInput+"\"\n")
155                         } else {
156                                 extractedObjectsApp2.append("//Global variable for time!\n")
157                                 extractedObjectsApp2.append("def "+name+" = \""+userInput+"\"\n")
158                         }
159                         break
160                 case "enum":
161                         def userInput = System.console().readLine 'Enter the enum:'
162                         if (App == "App1") {                    
163                                 extractedObjectsApp1.append("//Global variable for enum!\n")
164                                 extractedObjectsApp1.append("def "+name+" = \""+userInput+"\"\n")
165                         } else {
166                                 extractedObjectsApp2.append("//Global variable for enum!\n")
167                                 extractedObjectsApp2.append("def "+name+" = \""+userInput+"\"\n")
168                         }
169                         break
170                 case "bool":
171                         break
172                 case "phone":
173                         def userInput = System.console().readLine 'Enter the phone:'
174                         if (App == "App1") {                    
175                                 extractedObjectsApp1.append("//Global variable for phone!\n")
176                                 extractedObjectsApp1.append("def "+name+" = "+userInput+"\n")
177                         } else {
178                                 extractedObjectsApp2.append("//Global variable for phone!\n")
179                                 extractedObjectsApp2.append("def "+name+" = "+userInput+"\n")
180                         }
181                         break
182                 case "contact":
183                         def userInput = System.console().readLine 'Enter the name of the contact:'
184                         if (App == "App1") {                    
185                                 extractedObjectsApp1.append("//Global variable for contact!\n")
186                                 extractedObjectsApp1.append("def "+name+" = \""+userInput+"\"\n")
187                         } else {
188                                 extractedObjectsApp2.append("//Global variable for contact!\n")
189                                 extractedObjectsApp2.append("def "+name+" = \""+userInput+"\"\n")
190                         }
191                         break
192                 default:
193                         break
194         }
195 }
196
197 //input "","",linkedHashMap
198 def input(LinkedHashMap metaData, String name, String type, String App) {
199         switch(type) {
200                 case "capability.lock":
201                         if (metaData.containsKey('title')) {
202                                 println metaData['title']
203                         }
204                         if (metaData.containsKey('multiple')) {
205                                 if (metaData['multiple'] == true) {
206                                         if (lockIsSet != 1) {
207                                                 lockIsSet = 1
208                                                 def count = System.console().readLine 'Enter the number of locks to control?(1,2, or 3)'
209                                                 outGlobal.append("//Global Object for class lock!\n")
210                                                 outGlobal.append("@Field def lockObject = new Locking(sendEvent, ")
211                                                 outGlobal.append(count+")\n")
212                                         }       
213                                 }
214                         }
215                         if (lockIsSet != 1) {
216                                 lockIsSet = 1
217                                 outGlobal.append("//Global Object for class lock!\n")
218                                 outGlobal.append("@Field def lockObject = new Locking(sendEvent,1)\n")
219                         }
220                         if (App == "App1") {
221                                 extractedObjectsApp1.append("//Object for class lock!\n")
222                                 extractedObjectsApp1.append("def "+name+"\n")
223                                 extractedObjectsConstructorApp1.append(name+" = obj.lockObject\n")              
224                         } else {
225                                 extractedObjectsApp2.append("//Object for class lock!\n")
226                                 extractedObjectsApp2.append("def "+name+"\n")
227                                 extractedObjectsConstructorApp2.append(name+" = obj.lockObject\n")
228                         }
229                         break
230                 case "capability.alarm":
231                         break
232                 case "capability.battery":
233                         break
234                 case "capability.beacon":
235                         break
236                 case "capability.carbonMonoxideDetector":
237                         break
238                 case "capability.colorControl":
239                         break
240                 case "capability.contactSensor":
241                         if (metaData.containsKey('title')) {
242                                 println metaData['title']
243                         }
244                         if (metaData.containsKey('multiple')) {
245                                 if (metaData['multiple'] == true) {
246                                         if (contactIsSet != 1) {
247                                                 contactIsSet = 1
248                                                 def count = System.console().readLine 'Enter the number of contact sensors to control?(1,2, or 3)'
249                                                 outGlobal.append("//Global Object for class contactSensor!\n")
250                                                 outGlobal.append("@Field def contactObject = new Contacting(sendEvent, ")
251                                                 outGlobal.append(count+")\n")
252                                         }       
253                                 }
254                         }
255                         if (contactIsSet != 1) {
256                                 contactIsSet = 1
257                                 outGlobal.append("//Global Object for class contactSensor!\n")
258                                 outGlobal.append("@Field def contactObject = new Contacting(sendEvent,1)\n")
259                         }
260                         if (App == "App1") {
261                                 extractedObjectsApp1.append("//Object for class contactSensor!\n")
262                                 extractedObjectsApp1.append("def "+name+"\n")
263                                 extractedObjectsConstructorApp1.append(name+" = obj.contactObject\n")           
264                         } else {
265                                 extractedObjectsApp2.append("//Object for class contactSensor!\n")
266                                 extractedObjectsApp2.append("def "+name+"\n")
267                                 extractedObjectsConstructorApp2.append(name+" = obj.contactObject\n")
268                         }
269                         break
270                 case "capability.doorControl":
271                         break
272                 case "capability.energyMeter":
273                         break
274                 case "capability.illuminanceMeasurement":
275                         break
276                 case "capability.accelerationSensor":
277                         break
278                 case "capability.motionSensor":
279                         break
280                 case "capability.musicPlayer":
281                         break
282                 case "capability.powerMeter":
283                         break
284                 case "capability.presenceSensor":
285                         break
286                 case "capability.relativeHumidityMeasurement":
287                         break
288                 case "capability.relaySwitch":
289                         break
290                 case "capability.sleepSensor":
291                         break
292                 case "capability.smokeDetector":
293                         break
294                 case "capability.stepSensor":
295                         break
296                 case "capability.switch":
297                         if (metaData.containsKey('title')) {
298                                 println metaData['title']
299                         }
300                         if (metaData.containsKey('multiple')) {
301                                 if (metaData['multiple'] == true) {
302                                         if (switchIsSet != 1) {
303                                                 switchIsSet = 1
304                                                 def count = System.console().readLine 'Enter the number of switches to control?(1,2, or 3)'
305                                                 outGlobal.append("//Global Object for class switch!\n")
306                                                 outGlobal.append("@Field def switchObject = new Switching(sendEvent, ")
307                                                 outGlobal.append(count+")\n")
308                                         }       
309                                 }
310                         }
311                         if (switchIsSet != 1) {
312                                 switchIsSet = 1
313                                 outGlobal.append("//Global Object for class switch!\n")
314                                 outGlobal.append("@Field def switchObject = new Switching(sendEvent,1)\n")
315                         }
316                         if (App == "App1") {
317                                 extractedObjectsApp1.append("//Object for class switch!\n")
318                                 extractedObjectsApp1.append("def "+name+"\n")
319                                 extractedObjectsConstructorApp1.append(name+" = obj.switchObject\n")            
320                         } else {
321                                 extractedObjectsApp2.append("//Object for class switch!\n")
322                                 extractedObjectsApp2.append("def "+name+"\n")
323                                 extractedObjectsConstructorApp2.append(name+" = obj.switchObject\n")
324                         }
325                         break
326                 case "capability.switchLevel":
327                         break
328                 case "capability.temperatureMeasurement":
329                         break
330                 case "capability.thermostat":
331                         break
332                 case "capability.valve":
333                         break
334                 case "capability.waterSensor":
335                         break
336                 case "capability.touchSensor":
337                         break
338                 case "capability.imageCapture":
339                         break
340                 case "device.mobilePresence":
341                         break
342                 case "device.aeonKeyFob":
343                         break
344                 case "mode":
345                         if (metaData.containsKey('title')) {
346                                 println metaData['title']
347                         }
348                         if (metaData.containsKey('options')) {
349                                 println "Options: "+metaData['options']
350                         }
351                         def userInput = System.console().readLine 'Enter the mode:'
352                         if (App == "App1") {                    
353                                 extractedObjectsApp1.append("//Global variable for mode!\n")
354                                 extractedObjectsApp1.append("def "+name+" = \""+userInput+"\"\n")
355                         } else {
356                                 extractedObjectsApp2.append("//Global variable for mode!\n")
357                                 extractedObjectsApp2.append("def "+name+" = \""+userInput+"\"\n")
358                         }
359                         break
360                 case "decimal":
361                         break
362                 case "text":
363                         break
364                 case "number":
365                         if (metaData.containsKey('title')) {
366                                 println metaData['title']
367                         }
368                         if (metaData.containsKey('options')) {
369                                 println "Options: "+metaData['options']
370                         }
371                         if (metaData.containsKey('metadata')) {
372                                 println "metaData: "+metaData['metadata']
373                         }
374                         def userInput = System.console().readLine 'Enter the number:'
375                         if (App == "App1") {                    
376                                 extractedObjectsApp1.append("//Global variable for number!\n")
377                                 extractedObjectsApp1.append("def "+name+" = "+userInput+"\n")
378                         } else {
379                                 extractedObjectsApp2.append("//Global variable for number!\n")
380                                 extractedObjectsApp2.append("def "+name+" = "+userInput+"\n")
381                         }
382                         break
383                 case "time":
384                         if (metaData.containsKey('title')) {
385                                 println metaData['title']
386                         }
387                         if (metaData.containsKey('options')) {
388                                 println "Options: "+metaData['options']
389                         }
390                         if (metaData.containsKey('metadata')) {
391                                 println "metaData: "+metaData['metadata']
392                         }
393                         def userInput = System.console().readLine 'Enter the time:'
394                         if (App == "App1") {                    
395                                 extractedObjectsApp1.append("//Global variable for time!\n")
396                                 extractedObjectsApp1.append("def "+name+" = \""+userInput+"\"\n")
397                         } else {
398                                 extractedObjectsApp2.append("//Global variable for time!\n")
399                                 extractedObjectsApp2.append("def "+name+" = \""+userInput+"\"\n")
400                         }
401                         break
402                 case "enum":
403                         if (metaData.containsKey('title')) {
404                                 println metaData['title']
405                         }
406                         if (metaData.containsKey('options')) {
407                                 println "Options: "+metaData['options']
408                         }
409                         if (metaData.containsKey('metadata')) {
410                                 println "metaData: "+metaData['metadata']
411                         }
412                         def userInput = System.console().readLine 'Enter the enum:'
413                         if (App == "App1") {                    
414                                 extractedObjectsApp1.append("//Global variable for enum!\n")
415                                 extractedObjectsApp1.append("def "+name+" = \""+userInput+"\"\n")
416                         } else {
417                                 extractedObjectsApp2.append("//Global variable for enum!\n")
418                                 extractedObjectsApp2.append("def "+name+" = \""+userInput+"\"\n")
419                         }
420                         break
421                 case "bool":
422                         break
423                 case "phone":
424                         if (metaData.containsKey('title')) {
425                                 println metaData['title']
426                         }
427                         if (metaData.containsKey('options')) {
428                                 println "Options: "+metaData['options']
429                         }
430                         if (metaData.containsKey('metadata')) {
431                                 println "metaData: "+metaData['metadata']
432                         }
433                         def userInput = System.console().readLine 'Enter the phone:'
434                         if (App == "App1") {                    
435                                 extractedObjectsApp1.append("//Global variable for phone!\n")
436                                 extractedObjectsApp1.append("def "+name+" = "+userInput+"\n")
437                         } else {
438                                 extractedObjectsApp2.append("//Global variable for phone!\n")
439                                 extractedObjectsApp2.append("def "+name+" = "+userInput+"\n")
440                         }
441                         break
442                 case "contact":
443                         if (metaData.containsKey('title')) {
444                                 println metaData['title']
445                         }
446                         if (metaData.containsKey('options')) {
447                                 println "Options: "+metaData['options']
448                         }
449                         if (metaData.containsKey('metadata')) {
450                                 println "metaData: "+metaData['metadata']
451                         }
452                         def userInput = System.console().readLine 'Enter the name of the contact:'
453                         if (App == "App1") {                    
454                                 extractedObjectsApp1.append("//Global variable for contact!\n")
455                                 extractedObjectsApp1.append("def "+name+" = \""+userInput+"\"\n")
456                         } else {
457                                 extractedObjectsApp2.append("//Global variable for contact!\n")
458                                 extractedObjectsApp2.append("def "+name+" = \""+userInput+"\"\n")
459                         }
460                         break
461                 default:
462                         break
463         }
464 }
465 //input linkedHashMap
466 def input(LinkedHashMap metaData, String App) {
467         switch(metaData['type']) {
468                 case "capability.lock":
469                         if (metaData.containsKey('title')) {
470                                 println metaData['title']
471                         }
472                         if (metaData.containsKey('multiple')) {
473                                 if (metaData['multiple'] == true) {
474                                         if (lockIsSet != 1) {
475                                                 lockIsSet = 1
476                                                 def count = System.console().readLine 'Enter the number of locks to control?(1,2, or 3)'
477                                                 outGlobal.append("//Global Object for class lock!\n")
478                                                 outGlobal.append("@Field def lockObject = new Locking(sendEvent, ")
479                                                 outGlobal.append(count+")\n")
480                                         }       
481                                 }
482                         }
483                         if (lockIsSet != 1) {
484                                 lockIsSet = 1
485                                 outGlobal.append("//Global Object for class lock!\n")
486                                 outGlobal.append("@Field def lockObject = new Locking(sendEvent,1)\n")
487                         }
488                         if (App == "App1") {
489                                 extractedObjectsApp1.append("//Object for class lock!\n")
490                                 extractedObjectsApp1.append("def "+metaData['input']+"\n")
491                                 extractedObjectsConstructorApp1.append(metaData['input']+" = obj.lockObject\n")         
492                         } else {
493                                 extractedObjectsApp2.append("//Object for class lock!\n")
494                                 extractedObjectsApp2.append("def "+metaData['input']+"\n")
495                                 extractedObjectsConstructorApp2.append(metaData['input']+" = obj.lockObject\n")
496                         }
497                         break
498                 case "capability.alarm":
499                         break
500                 case "capability.battery":
501                         break
502                 case "capability.beacon":
503                         break
504                 case "capability.carbonMonoxideDetector":
505                         break
506                 case "capability.colorControl":
507                         break
508                 case "capability.contactSensor":
509                         if (metaData.containsKey('title')) {
510                                 println metaData['title']
511                         }
512                         if (metaData.containsKey('multiple')) {
513                                 if (metaData['multiple'] == true) {
514                                         if (contactIsSet != 1) {
515                                                 contactIsSet = 1
516                                                 def count = System.console().readLine 'Enter the number of contact sensors to control?(1,2, or 3)'
517                                                 outGlobal.append("//Global Object for class contactSensor!\n")
518                                                 outGlobal.append("@Field def contactObject = new Contacting(sendEvent, ")
519                                                 outGlobal.append(count+")\n")
520                                         }       
521                                 }
522                         }
523                         if (contactIsSet != 1) {
524                                 contactIsSet = 1
525                                 outGlobal.append("//Global Object for class contactSensor!\n")
526                                 outGlobal.append("@Field def contactObject = new Contacting(sendEvent,1)\n")
527                         }
528                         if (App == "App1") {
529                                 extractedObjectsApp1.append("//Object for class contactSensor!\n")
530                                 extractedObjectsApp1.append("def "+metaData['input']+"\n")
531                                 extractedObjectsConstructorApp1.append(metaData['input']+" = obj.contactObject\n")              
532                         } else {
533                                 extractedObjectsApp2.append("//Object for class contactSensor!\n")
534                                 extractedObjectsApp2.append("def "+metaData['input']+"\n")
535                                 extractedObjectsConstructorApp2.append(metaData['input']+" = obj.contactObject\n")
536                         }
537                         break
538                 case "capability.doorControl":
539                         break
540                 case "capability.energyMeter":
541                         break
542                 case "capability.illuminanceMeasurement":
543                         break
544                 case "capability.accelerationSensor":
545                         break
546                 case "capability.motionSensor":
547                         break
548                 case "capability.musicPlayer":
549                         break
550                 case "capability.powerMeter":
551                         break
552                 case "capability.presenceSensor":
553                         break
554                 case "capability.relativeHumidityMeasurement":
555                         break
556                 case "capability.relaySwitch":
557                         break
558                 case "capability.sleepSensor":
559                         break
560                 case "capability.smokeDetector":
561                         break
562                 case "capability.stepSensor":
563                         break
564                 case "capability.switch":
565                         if (metaData.containsKey('title')) {
566                                 println metaData['title']
567                         }
568                         if (metaData.containsKey('multiple')) {
569                                 if (metaData['multiple'] == true) {
570                                         if (switchIsSet != 1) {
571                                                 switchIsSet = 1
572                                                 def count = System.console().readLine 'Enter the number of switches to control?(1,2, or 3)'
573                                                 outGlobal.append("//Global Object for class switch!\n")
574                                                 outGlobal.append("@Field def switchObject = new Switching(sendEvent, ")
575                                                 outGlobal.append(count+")\n")
576                                         }       
577                                 }
578                         }
579                         if (switchIsSet != 1) {
580                                 switchIsSet = 1
581                                 outGlobal.append("//Global Object for class switch!\n")
582                                 outGlobal.append("@Field def switchObject = new Switching(sendEvent,1)\n")
583                         }
584                         if (App == "App1") {
585                                 extractedObjectsApp1.append("//Object for class switch!\n")
586                                 extractedObjectsApp1.append("def "+metaData['input']+"\n")
587                                 extractedObjectsConstructorApp1.append(metaData['input']+" = obj.switchObject\n")               
588                         } else {
589                                 extractedObjectsApp2.append("//Object for class switch!\n")
590                                 extractedObjectsApp2.append("def "+metaData['input']+"\n")
591                                 extractedObjectsConstructorApp2.append(metaData['input']+" = obj.switchObject\n")
592                         }
593                         break
594                 case "capability.switchLevel":
595                         break
596                 case "capability.temperatureMeasurement":
597                         break   
598                 case "capability.thermostat":
599                         break
600                 case "capability.valve":
601                         break
602                 case "capability.waterSensor":
603                         break
604                 case "capability.touchSensor":
605                         break
606                 case "capability.imageCapture":
607                         break
608                 case "device.mobilePresence":
609                         break
610                 case "device.aeonKeyFob":
611                         break
612                 case "mode":
613                         if (metaData.containsKey('title')) {
614                                 println metaData['title']
615                         }
616                         if (metaData.containsKey('options')) {
617                                 println "Options: "+metaData['options']
618                         }
619                         if (metaData.containsKey('metadata')) {
620                                 println "metaData: "+metaData['metadata']
621                         }
622                         def userInput = System.console().readLine 'Enter the mode:'
623                         if (App == "App1") {                    
624                                 extractedObjectsApp1.append("//Global variable for mode!\n")
625                                 extractedObjectsApp1.append("def "+metaData['input']+" = \""+userInput+"\"\n")
626                         } else {
627                                 extractedObjectsApp2.append("//Global variable for mode!\n")
628                                 extractedObjectsApp2.append("def "+metaData['input']+" = \""+userInput+"\"\n")
629                         }
630                         break
631                 case "decimal":
632                         break
633                 case "text":
634                         break
635                 case "number":
636                         if (metaData.containsKey('title')) {
637                                 println metaData['title']
638                         }
639                         if (metaData.containsKey('options')) {
640                                 println "Options: "+metaData['options']
641                         }
642                         if (metaData.containsKey('metadata')) {
643                                 println "metaData: "+metaData['metadata']
644                         }
645                         def userInput = System.console().readLine 'Enter the number:'
646                         if (App == "App1") {                    
647                                 extractedObjectsApp1.append("//Global variable for number!\n")
648                                 extractedObjectsApp1.append("def "+metaData['input']+" = "+userInput+"\n")
649                         } else {
650                                 extractedObjectsApp2.append("//Global variable for number!\n")
651                                 extractedObjectsApp2.append("def "+metaData['input']+" = "+userInput+"\n")
652                         }
653                         break
654                 case "time":
655                         if (metaData.containsKey('title')) {
656                                 println metaData['title']
657                         }
658                         if (metaData.containsKey('options')) {
659                                 println "Options: "+metaData['options']
660                         }
661                         if (metaData.containsKey('metadata')) {
662                                 println "metaData: "+metaData['metadata']
663                         }
664                         def userInput = System.console().readLine 'Enter the time:'
665                         if (App == "App1") {                    
666                                 extractedObjectsApp1.append("//Global variable for time!\n")
667                                 extractedObjectsApp1.append("def "+metaData['input']+" = \""+userInput+"\"\n")
668                         } else {
669                                 extractedObjectsApp2.append("//Global variable for time!\n")
670                                 extractedObjectsApp2.append("def "+metaData['input']+" = \""+userInput+"\"\n")
671                         }
672                         break
673                 case "enum":
674                         if (metaData.containsKey('title')) {
675                                 println metaData['title']
676                         }
677                         if (metaData.containsKey('options')) {
678                                 println "Options: "+metaData['options']
679                         }
680                         if (metaData.containsKey('metadata')) {
681                                 println "metaData: "+metaData['metadata']
682                         }
683                         def userInput = System.console().readLine 'Enter the enum:'
684                         if (App == "App1") {                    
685                                 extractedObjectsApp1.append("//Global variable for enum!\n")
686                                 extractedObjectsApp1.append("def "+metaData['input']+" = \""+userInput+"\"\n")
687                         } else {
688                                 extractedObjectsApp2.append("//Global variable for enum!\n")
689                                 extractedObjectsApp2.append("def "+metaData['input']+" = \""+userInput+"\"\n")
690                         }
691                         break
692                 case "bool":
693                         break
694                 case "phone":
695                         if (metaData.containsKey('title')) {
696                                 println metaData['title']
697                         }
698                         if (metaData.containsKey('options')) {
699                                 println "Options: "+metaData['options']
700                         }
701                         if (metaData.containsKey('metadata')) {
702                                 println "metaData: "+metaData['metadata']
703                         }
704                         def userInput = System.console().readLine 'Enter the phone:'
705                         if (App == "App1") {                    
706                                 extractedObjectsApp1.append("//Global variable for phone!\n")
707                                 extractedObjectsApp1.append("def "+metaData['input']+" = "+userInput+"\n")
708                         } else {
709                                 extractedObjectsApp2.append("//Global variable for phone!\n")
710                                 extractedObjectsApp2.append("def "+metaData['input']+" = "+userInput+"\n")
711                         }
712                         break
713                 case "contact":
714                         if (metaData.containsKey('title')) {
715                                 println metaData['title']
716                         }
717                         if (metaData.containsKey('options')) {
718                                 println "Options: "+metaData['options']
719                         }
720                         if (metaData.containsKey('metadata')) {
721                                 println "metaData: "+metaData['metadata']
722                         }
723                         def userInput = System.console().readLine 'Enter the name of the contact:'
724                         if (App == "App1") {                    
725                                 extractedObjectsApp1.append("//Global variable for contact!\n")
726                                 extractedObjectsApp1.append("def "+metaData['input']+" = \""+userInput+"\"\n")
727                         } else {
728                                 extractedObjectsApp2.append("//Global variable for contact!\n")
729                                 extractedObjectsApp2.append("def "+metaData['input']+" = \""+userInput+"\"\n")
730                         }
731                         break
732                 default:
733                         break
734         }       
735 }