1 ////////////////////////////////////////
3 import groovy.transform.Field
8 import ContactSensor.ContactSensor
9 import ContactSensor.ContactSensors
10 import DoorControl.DoorControl
11 import DoorControl.DoorControls
14 import Thermostat.Thermostat
15 import Thermostat.Thermostats
17 import Switch.Switches
18 import PresenceSensor.PresenceSensor
19 import PresenceSensor.PresenceSensors
21 import Location.LocationVar
22 import Location.Phrase
23 import appTouch.Touched
24 import NfcTouch.NfcTouch
25 import AeonKeyFob.AeonKeyFob
26 import AeonKeyFob.AeonKeyFobs
27 import MusicPlayer.MusicPlayer
28 import MusicPlayer.MusicPlayers
29 import MotionSensor.MotionSensor
30 import MotionSensor.MotionSensors
31 import ImageCapture.ImageCapture
32 import ImageCapture.ImageCaptures
33 import SmokeDetector.SmokeDetector
34 import SmokeDetector.SmokeDetectors
37 import SpeechSynthesis.SpeechSynthesis
38 import SpeechSynthesis.SpeechSynthesises
39 import AccelerationSensor.AccelerationSensor
40 import AccelerationSensor.AccelerationSensors
41 import Battery.Battery
42 import Battery.Batteries
43 import BeaconSensor.BeaconSensor
44 import BeaconSensor.BeaconSensors
45 import CarbonMonoxideDetector.CarbonMonoxideDetector
46 import CarbonMonoxideDetector.CarbonMonoxideDetectors
47 import ColorControl.ColorControl
48 import ColorControl.ColorControls
49 import EnergyMeter.EnergyMeter
50 import EnergyMeter.EnergyMeters
51 import IlluminanceMeasurement.IlluminanceMeasurement
52 import IlluminanceMeasurement.IlluminanceMeasurements
53 import PowerMeter.PowerMeter
54 import PowerMeter.PowerMeters
55 import RelativeHumidityMeasurement.RelativeHumidityMeasurement
56 import RelativeHumidityMeasurement.RelativeHumidityMeasurements
57 import RelaySwitch.RelaySwitch
58 import RelaySwitch.RelaySwitches
59 import SleepSensor.SleepSensor
60 import SleepSensor.SleepSensors
61 import StepSensor.StepSensor
62 import StepSensor.StepSensors
63 import SwitchLevel.SwitchLevel
64 import SwitchLevel.SwitchLevels
65 import TemperatureMeasurement.TemperatureMeasurement
66 import TemperatureMeasurement.TemperatureMeasurements
67 import WaterSensor.WaterSensor
68 import WaterSensor.WaterSensors
71 import MobilePresence.MobilePresence
72 import MobilePresence.MobilePresences
73 import ColorTemperature.ColorTemperature
74 import ColorTemperature.ColorTemperatures
77 import ThreeAxis.ThreeAxis
78 import ThreeAxis.ThreeAxises
79 import Timer.SimulatedTimer
82 @Field def location = new LocationVar()
83 //Settings variable defined to settings on purpose
84 @Field def settings = [app: "app"]
85 //Global variable for state[mode]
86 @Field def state = [home:[],away:[],night:[]]
87 //Create a global logger object for methods
88 @Field def log = new Logger()
89 //Create a global variable for optional property
90 @Field def optional = false //by default for now
91 //Global Object for class AtomicState!
92 @Field def atomicState = [history: "15:00"]
95 //Global variables for files
96 @Field File globalObjects = new File("Extractor/globalObjects.groovy")
97 @Field File extractedObjectsApp1 = new File("Extractor/App1/extractedObjectsApp1.groovy")
98 @Field File extractedObjectsApp2 = new File("Extractor/App2/extractedObjectsApp2.groovy")
99 @Field File extractedObjectsConstructorApp1 = new File("Extractor/App1/extractedObjectsConstructorApp1.groovy")
100 @Field File extractedObjectsConstructorApp2 = new File("Extractor/App2/extractedObjectsConstructorApp2.groovy")
105 globalObjects.write("")
106 extractedObjectsApp1.write("")
107 extractedObjectsConstructorApp1.write("")
108 } else if (App == "App2") {
109 extractedObjectsApp2.write("")
110 extractedObjectsConstructorApp2.write("")
115 //Some of methods-May be needed even in install
116 /////////////////////////////////////////////////////////////////////
117 def timeToday(String time, Object timeZone) {
118 def timeOfDay = new Date()
119 def _inputTime = time.split(':')
120 def inputTime = Integer.parseInt(_inputTime[0])*3600+Integer.parseInt(_inputTime[1])*60+1564191100415
121 timeOfDay.time = inputTime
128 //Global Object for class Touch Sensor!
129 @Field touchSensorObjects = 0
130 @Field def touchSensorObject0
131 @Field def touchSensorObject1
132 @Field def touchSensorObject2
133 //Global Object for class switch!
134 @Field switchObjects = 0
135 @Field def switchObject0
136 @Field def switchObject1
137 @Field def switchObject2
138 //Global Object for class lock!
139 @Field lockObjects = 0
140 @Field def lockObject0
141 @Field def lockObject1
142 @Field def lockObject2
143 //Global Object for class door control!
144 @Field doorControlObjects = 0
145 @Field def doorControlObject0
146 @Field def doorControlObject1
147 @Field def doorControlObject2
148 //Global Object for class contact sensor!
149 @Field contactObjects = 0
150 @Field def contactObject0
151 @Field def contactObject1
152 @Field def contactObject2
153 //Global Object for class presence sensor!
154 @Field presenceSensorObjects = 0
155 @Field def presenceSensorObject0
156 @Field def presenceSensorObject1
157 @Field def presenceSensorObject2
158 //Global Object for class thermostat!
159 @Field thermostatObjects = 0
160 @Field def thermostatObject0
161 @Field def thermostatObject1
162 @Field def thermostatObject2
163 //Global Object for class music player!
164 @Field musicPlayerObjects = 0
165 @Field def musicPlayerObject0
166 @Field def musicPlayerObject1
167 @Field def musicPlayerObject2
168 //Global Object for class aeon key fob!
169 @Field aeonKeyFobObjects = 0
170 @Field def aeonKeyFobObject0
171 @Field def aeonKeyFobObject1
172 @Field def aeonKeyFobObject2
173 //Global Object for class motion sensor!
174 @Field motionSensorObjects = 0
175 @Field def motionSensorObject0
176 @Field def motionSensorObject1
177 @Field def motionSensorObject2
178 //Global Object for class image capture!
179 @Field imageCaptureObjects = 0
180 @Field def imageCaptureObject0
181 @Field def imageCaptureObject1
182 @Field def imageCaptureObject2
183 //Global Object for class smoke detector!
184 @Field smokeDetectorObjects = 0
185 @Field def smokeDetectorObject0
186 @Field def smokeDetectorObject1
187 @Field def smokeDetectorObject2
188 //Global Object for class alarm!
189 @Field alarmObjects = 0
190 @Field def alarmObject0
191 @Field def alarmObject1
192 @Field def alarmObject2
193 //Global Object for class speech synthesis!
194 @Field speechSynthesisObjects = 0
195 @Field def speechSynthesisObject0
196 @Field def speechSynthesisObject1
197 @Field def speechSynthesisObject2
198 //Global Object for class acceleration sensor!
199 @Field accelerationSensorObjects = 0
200 @Field def accelerationSensorObject0
201 @Field def accelerationSensorObject1
202 @Field def accelerationSensorObject2
203 //Global Object for class battery!
204 @Field batteryObjects = 0
205 @Field def batteryObject0
206 @Field def batteryObject1
207 @Field def batteryObject2
208 //Global Object for class beacon sensor!
209 @Field beaconSensorObjects = 0
210 @Field def beaconSensorObject0
211 @Field def beaconSensorObject1
212 @Field def beaconSensorObject2
213 //Global Object for class carbon monoxide detector!
214 @Field carbonMonoxideDetectorObjects = 0
215 @Field def carbonMonoxideDetectorObject0
216 @Field def carbonMonoxideDetectorObject1
217 @Field def carbonMonoxideDetectorObject2
218 //Global Object for class color control!
219 @Field colorControlObjects = 0
220 @Field def colorControlObject0
221 @Field def colorControlObject1
222 @Field def colorControlObject2
223 //Global Object for class energy meter!
224 @Field energyMeterObjects = 0
225 @Field def energyMeterObject0
226 @Field def energyMeterObject1
227 @Field def energyMeterObject2
228 //Global Object for class energy meter!
229 @Field illuminanceMeasurementObjects = 0
230 @Field def illuminanceMeasurementObject0
231 @Field def illuminanceMeasurementObject1
232 @Field def illuminanceMeasurementObject2
233 //Global Object for class power meter!
234 @Field powerMeterObjects = 0
235 @Field def powerMeterObject0
236 @Field def powerMeterObject1
237 @Field def powerMeterObject2
238 //Global Object for class power meter!
239 @Field humidityMeasurementObjects = 0
240 @Field def humidityMeasurementObject0
241 @Field def humidityMeasurementObject1
242 @Field def humidityMeasurementObject2
243 //Global Object for class relay switch!
244 @Field relaySwitchObjects = 0
245 @Field def relaySwitchObject0
246 @Field def relaySwitchObject1
247 @Field def relaySwitchObject2
248 //Global Object for class sleep sensor!
249 @Field sleepSensorObjects = 0
250 @Field def sleepSensorObject0
251 @Field def sleepSensorObject1
252 @Field def sleepSensorObject2
253 //Global Object for class step sensor!
254 @Field stepSensorObjects = 0
255 @Field def stepSensorObject0
256 @Field def stepSensorObject1
257 @Field def stepSensorObject2
258 //Global Object for class switch level!
259 @Field switchLevelObjects = 0
260 @Field def switchLevelObject0
261 @Field def switchLevelObject1
262 @Field def switchLevelObject2
263 //Global Object for class temperature measurement!
264 @Field temperatureMeasurementObjects = 0
265 @Field def temperatureMeasurementObject0
266 @Field def temperatureMeasurementObject1
267 @Field def temperatureMeasurementObject2
268 //Global Object for class water sensor!
269 @Field waterSensorObjects = 0
270 @Field def waterSensorObject0
271 @Field def waterSensorObject1
272 @Field def waterSensorObject2
273 //Global Object for class valve!
274 @Field valveObjects = 0
275 @Field def valveObject0
276 @Field def valveObject1
277 @Field def valveObject2
278 //Global Object for class mobile presence!
279 @Field mobilePresenceObjects = 0
280 @Field def mobilePresenceObject0
281 @Field def mobilePresenceObject1
282 @Field def mobilePresenceObject2
283 //Global Object for class color temperature!
284 @Field colorTemperatureObjects = 0
285 @Field def colorTemperatureObject0
286 @Field def colorTemperatureObject1
287 @Field def colorTemperatureObject2
288 //Global Object for class button!
289 @Field buttonObjects = 0
290 @Field def buttonObject0
291 @Field def buttonObject1
292 @Field def buttonObject2
293 //Global Object for class three axis!
294 @Field threeAxisObjects = 0
295 @Field def threeAxisObject0
296 @Field def threeAxisObject1
297 @Field def threeAxisObject2
302 @Field modeVariables = 0
310 @Field numberVariables = 0
318 @Field decimalVariables = 0
326 @Field timeVariables = 0
334 @Field enumVariables = 0
342 @Field phoneVariables = 0
350 @Field contactVariables = 0
358 @Field textVariables = 0
366 @Field boolVariables = 0
374 /////Input Methods/////
376 def input(String name, String type) {
377 LinkedHashMap metaData = []
378 metaData.put('name',name)
379 metaData.put('type',type)
383 //input "","",linkedHashMap
384 def input(LinkedHashMap metaData, String name, String type) {
385 metaData.put('name',name)
386 metaData.put('type',type)
390 //input "", "", linkedHashMap, Closure
391 def input(LinkedHashMap metaData, String name, String type, Closure Input) {
392 metaData.put('name',name)
393 metaData.put('type',type)
398 //input linkedHashMap
399 def input(LinkedHashMap metaData) {
400 if (metaData.containsKey('title')) {
401 println metaData['title']
403 if (metaData.containsKey('options')) {
404 println "Options: "+metaData['options']
407 switch(metaData['type']) {
408 case "capability.lock":
409 globalObjects.eachLine { line ->
410 if(line.contains("lockObject")){
416 globalObjects.append("@Field def lockObject = new Locks(sendEvent, 1, init)\n")
418 if (lockObjects == 0) {
419 lockObject0 = metaData['name']
420 this[lockObject0] = new Locks({}, 1, true)
421 } else if (lockObjects == 1) {
422 lockObject1 = metaData['name']
423 this[lockObject1] = new Locks({}, 1, true)
424 } else if (lockObjects == 2) {
425 lockObject2 = metaData['name']
426 this[lockObject2] = new Locks({}, 1, true)
429 lockObjects=lockObjects+1
431 settings.put(metaData['name'], new Locks({}, 1, true))
434 extractedObjectsApp1.append("//Object for class lock!\n")
435 extractedObjectsApp1.append("def "+metaData['name']+"\n")
436 extractedObjectsConstructorApp1.append(metaData['name']+" = obj.lockObject\n")
438 extractedObjectsApp2.append("//Object for class lock!\n")
439 extractedObjectsApp2.append("def "+metaData['name']+"\n")
440 extractedObjectsConstructorApp2.append(metaData['name']+" = obj.lockObject\n")
443 case "capability.alarm":
444 globalObjects.eachLine { line ->
445 if(line.contains("alarmObject")){
451 globalObjects.append("@Field def alarmObject = new Alarms(sendEvent, 1, init)\n")
453 if (alarmObjects == 0) {
454 alarmObject0 = metaData['name']
455 this[alarmObject0] = new Alarms({}, 1, true)
456 } else if (alarmObjects == 1) {
457 alarmObject1 = metaData['name']
458 this[alarmObject1] = new Alarms({}, 1, true)
459 } else if (alarmObjects == 2) {
460 alarmObject2 = metaData['name']
461 this[alarmObject2] = new Alarms({}, 1, true)
464 alarmObjects=alarmObjects+1
466 settings.put(metaData['name'], new Alarms({}, 1, true))
469 extractedObjectsApp1.append("//Object for class alarm!\n")
470 extractedObjectsApp1.append("def "+metaData['name']+"\n")
471 extractedObjectsConstructorApp1.append(metaData['name']+" = obj.alarmObject\n")
473 extractedObjectsApp2.append("//Object for class alarm!\n")
474 extractedObjectsApp2.append("def "+metaData['name']+"\n")
475 extractedObjectsConstructorApp2.append(metaData['name']+" = obj.alarmObject\n")
478 case "capability.button":
479 globalObjects.eachLine { line ->
480 if(line.contains("buttonObject")){
486 globalObjects.append("@Field def buttonObject = new Buttons(sendEvent, 1, init)\n")
488 if (buttonObjects == 0) {
489 buttonObject0 = metaData['name']
490 this[buttonObject0] = new Buttons({}, 1, true)
491 } else if (buttonObjects == 1) {
492 buttonObject1 = metaData['name']
493 this[buttonObject1] = new Buttons({}, 1, true)
494 } else if (buttonObjects == 2) {
495 buttonObject2 = metaData['name']
496 this[buttonObject2] = new Buttons({}, 1, true)
499 buttonObjects=buttonObjects+1
501 settings.put(metaData['name'], new Buttons({}, 1, true))
504 extractedObjectsApp1.append("//Object for class Button!\n")
505 extractedObjectsApp1.append("def "+metaData['name']+"\n")
506 extractedObjectsConstructorApp1.append(metaData['name']+" = obj.buttonObject\n")
508 extractedObjectsApp2.append("//Object for class Button!\n")
509 extractedObjectsApp2.append("def "+metaData['name']+"\n")
510 extractedObjectsConstructorApp2.append(metaData['name']+" = obj.buttonObject\n")
513 case "capability.battery":
514 globalObjects.eachLine { line ->
515 if(line.contains("batteryObject")){
521 globalObjects.append("@Field def batteryObject = new Batteries(sendEvent, 1, init)\n")
523 if (batteryObjects == 0) {
524 batteryObject0 = metaData['name']
525 this[batteryObject0] = new Batteries({}, 1, true)
526 } else if (batteryObjects == 1) {
527 batteryObject1 = metaData['name']
528 this[batteryObject1] = new Batteries({}, 1, true)
529 } else if (batteryObjects == 2) {
530 batteryObject2 = metaData['name']
531 this[batteryObject2] = new Batteries({}, 1, true)
534 batteryObjects=batteryObjects+1
536 settings.put(metaData['name'], new Batteries({}, 1, true))
539 extractedObjectsApp1.append("//Object for class Battery!\n")
540 extractedObjectsApp1.append("def "+metaData['name']+"\n")
541 extractedObjectsConstructorApp1.append(metaData['name']+" = obj.batteryObject\n")
543 extractedObjectsApp2.append("//Object for class Battery!\n")
544 extractedObjectsApp2.append("def "+metaData['name']+"\n")
545 extractedObjectsConstructorApp2.append(metaData['name']+" = obj.batteryObject\n")
548 case "capability.beacon":
549 globalObjects.eachLine { line ->
550 if(line.contains("beaconSensorObject")){
556 globalObjects.append("@Field def beaconSensorObject = new BeaconSensors(sendEvent, 1, init)\n")
558 if (beaconSensorObjects == 0) {
559 beaconSensorObject0 = metaData['name']
560 this[beaconSensorObject0] = new BeaconSensors({}, 1, true)
561 } else if (beaconSensorObjects == 1) {
562 beaconSensorObject1 = metaData['name']
563 this[beaconSensorObject1] = new BeaconSensors({}, 1, true)
564 } else if (beaconSensorObjects == 2) {
565 beaconSensorObject2 = metaData['name']
566 this[beaconSensorObject2] = new BeaconSensors({}, 1, true)
569 beaconSensorObjects=beaconSensorObjects+1
571 settings.put(metaData['name'], new BeaconSensors({}, 1, true))
574 extractedObjectsApp1.append("//Object for class beacon sensor!\n")
575 extractedObjectsApp1.append("def "+metaData['name']+"\n")
576 extractedObjectsConstructorApp1.append(metaData['name']+" = obj.beaconSensorObject\n")
578 extractedObjectsApp2.append("//Object for class beacon sensor!\n")
579 extractedObjectsApp2.append("def "+metaData['name']+"\n")
580 extractedObjectsConstructorApp2.append(metaData['name']+" = obj.beaconSensorObject\n")
583 case "capability.carbonMonoxideDetector":
584 globalObjects.eachLine { line ->
585 if(line.contains("carbonMonoxideDetectorObject")){
591 globalObjects.append("@Field def carbonMonoxideDetectorObject = new CarbonMonoxideDetectors(sendEvent, 1, init)\n")
593 if (carbonMonoxideDetectorObjects == 0) {
594 carbonMonoxideDetectorObject0 = metaData['name']
595 this[carbonMonoxideDetectorObject0] = new CarbonMonoxideDetectors({}, 1, true)
596 } else if (carbonMonoxideDetectorObjects == 1) {
597 carbonMonoxideDetectorObject1 = metaData['name']
598 this[carbonMonoxideDetectorObject1] = new CarbonMonoxideDetectors({}, 1, true)
599 } else if (carbonMonoxideDetectorObjects == 2) {
600 carbonMonoxideDetectorObject2 = metaData['name']
601 this[carbonMonoxideDetectorObject2] = new CarbonMonoxideDetectors({}, 1, true)
604 carbonMonoxideDetectorObjects=carbonMonoxideDetectorObjects+1
606 settings.put(metaData['name'], new CarbonMonoxideDetectors({}, 1, true))
609 extractedObjectsApp1.append("//Object for class carbon monoxide detector!\n")
610 extractedObjectsApp1.append("def "+metaData['name']+"\n")
611 extractedObjectsConstructorApp1.append(metaData['name']+" = obj.carbonMonoxideDetectorObject\n")
613 extractedObjectsApp2.append("//Object for class carbon monoxide detector!\n")
614 extractedObjectsApp2.append("def "+metaData['name']+"\n")
615 extractedObjectsConstructorApp2.append(metaData['name']+" = obj.carbonMonoxideDetectorObject\n")
618 case "capability.colorTemperature":
619 globalObjects.eachLine { line ->
620 if(line.contains("colorTemperatureObject")){
626 globalObjects.append("@Field def colorTemperatureObject = new ColorTemperatures(sendEvent, 1, init)\n")
628 if (colorTemperatureObjects == 0) {
629 colorTemperatureObject0 = metaData['name']
630 this[colorTemperatureObject0] = new ColorTemperatures({}, 1, true)
631 } else if (colorTemperatureObjects == 1) {
632 colorTemperatureObject1 = metaData['name']
633 this[colorTemperatureObject1] = new ColorTemperatures({}, 1, true)
634 } else if (colorTemperatureObjects == 2) {
635 colorTemperatureObject2 = metaData['name']
636 this[colorTemperatureObject2] = new ColorTemperatures({}, 1, true)
639 colorTemperatureObjects=colorTemperatureObjects+1
641 settings.put(metaData['name'], new ColorTemperatures({}, 1, true))
644 extractedObjectsApp1.append("//Object for class color temperature!\n")
645 extractedObjectsApp1.append("def "+metaData['name']+"\n")
646 extractedObjectsConstructorApp1.append(metaData['name']+" = obj.colorTemperatureObject\n")
648 extractedObjectsApp2.append("//Object for class color control!\n")
649 extractedObjectsApp2.append("def "+metaData['name']+"\n")
650 extractedObjectsConstructorApp2.append(metaData['name']+" = obj.colorTemperatureObject\n")
653 case "capability.colorControl":
654 globalObjects.eachLine { line ->
655 if(line.contains("colorControlObject")){
661 globalObjects.append("@Field def colorControlObject = new ColorControls(sendEvent, 1, init)\n")
663 if (colorControlObjects == 0) {
664 colorControlObject0 = metaData['name']
665 this[colorControlObject0] = new ColorControls({}, 1, true)
666 } else if (colorControlObjects == 1) {
667 colorControlObject1 = metaData['name']
668 this[colorControlObject1] = new ColorControls({}, 1, true)
669 } else if (colorControlObjects == 2) {
670 colorControlObject2 = metaData['name']
671 this[colorControlObject2] = new ColorControls({}, 1, true)
674 colorControlObjects=colorControlObjects+1
676 settings.put(metaData['name'], new ColorControls({}, 1, true))
679 extractedObjectsApp1.append("//Object for class color control!\n")
680 extractedObjectsApp1.append("def "+metaData['name']+"\n")
681 extractedObjectsConstructorApp1.append(metaData['name']+" = obj.colorControlObject\n")
683 extractedObjectsApp2.append("//Object for class color control!\n")
684 extractedObjectsApp2.append("def "+metaData['name']+"\n")
685 extractedObjectsConstructorApp2.append(metaData['name']+" = obj.colorControlObject\n")
688 case "capability.contactSensor":
689 globalObjects.eachLine { line ->
690 if(line.contains("contactObject")){
696 globalObjects.append("@Field def contactObject = new ContactSensors(sendEvent, 1, init)\n")
698 if (contactObjects == 0) {
699 contactObject0 = metaData['name']
700 this[contactObject0] = new ContactSensors({}, 1, true)
701 } else if (contactObjects == 1) {
702 contactObject1 = metaData['name']
703 this[contactObject1] = new ContactSensors({}, 1, true)
704 } else if (contactObjects == 2) {
705 contactObject2 = metaData['name']
706 this[contactObject2] = new ContactSensors({}, 1, true)
709 contactObjects=contactObjects+1
711 settings.put(metaData['name'], new ContactSensors({}, 1, true))
714 extractedObjectsApp1.append("//Object for class contactSensor!\n")
715 extractedObjectsApp1.append("def "+metaData['name']+"\n")
716 extractedObjectsConstructorApp1.append(metaData['name']+" = obj.contactObject\n")
718 extractedObjectsApp2.append("//Object for class contactSensor!\n")
719 extractedObjectsApp2.append("def "+metaData['name']+"\n")
720 extractedObjectsConstructorApp2.append(metaData['name']+" = obj.contactObject\n")
723 case "capability.threeAxis":
724 globalObjects.eachLine { line ->
725 if(line.contains("threeAxisObject")){
731 globalObjects.append("@Field def threeAxisObject = new ThreeAxises(sendEvent, 1, init)\n")
733 if (threeAxisObjects == 0) {
734 threeAxisObject0 = metaData['name']
735 this[threeAxisObject0] = new ThreeAxises({}, 1, true)
736 } else if (threeAxisObjects == 1) {
737 threeAxisObject1 = metaData['name']
738 this[threeAxisObject1] = new ThreeAxises({}, 1, true)
739 } else if (threeAxisObjects == 2) {
740 threeAxisObject2 = metaData['name']
741 this[threeAxisObject2] = new ThreeAxises({}, 1, true)
744 threeAxisObjects=threeAxisObjects+1
746 settings.put(metaData['name'], new ThreeAxises({}, 1, true))
749 extractedObjectsApp1.append("//Object for class three axis!\n")
750 extractedObjectsApp1.append("def "+metaData['name']+"\n")
751 extractedObjectsConstructorApp1.append(metaData['name']+" = obj.threeAxisObject\n")
753 extractedObjectsApp2.append("//Object for class three axis!\n")
754 extractedObjectsApp2.append("def "+metaData['name']+"\n")
755 extractedObjectsConstructorApp2.append(metaData['name']+" = obj.threeAxisObject\n")
758 case "capability.doorControl":
759 globalObjects.eachLine { line ->
760 if(line.contains("doorControlObject")){
766 globalObjects.append("@Field def doorControlObject = new DoorControls(sendEvent, 1, init)\n")
768 if (doorControlObjects == 0) {
769 doorControlObject0 = metaData['name']
770 this[doorControlObject0] = new DoorControls({}, 1, true)
771 } else if (doorControlObjects == 1) {
772 doorControlObject1 = metaData['name']
773 this[doorControlObject1] = new DoorControls({}, 1, true)
774 } else if (doorControlObjects == 2) {
775 doorControlObject2 = metaData['name']
776 this[doorControlObject2] = new DoorControls({}, 1, true)
779 doorControlObjects=doorControlObjects+1
781 settings.put(metaData['name'], new DoorControls({}, 1, true))
784 extractedObjectsApp1.append("//Object for class door control!\n")
785 extractedObjectsApp1.append("def "+metaData['name']+"\n")
786 extractedObjectsConstructorApp1.append(metaData['name']+" = obj.doorControlObject\n")
788 extractedObjectsApp2.append("//Object for class door control!\n")
789 extractedObjectsApp2.append("def "+metaData['name']+"\n")
790 extractedObjectsConstructorApp2.append(metaData['name']+" = obj.doorControlObject\n")
793 case "capability.energyMeter":
794 globalObjects.eachLine { line ->
795 if(line.contains("energyMeterObject")){
801 globalObjects.append("@Field def energyMeterObject = new EnergyMeters(sendEvent, 1, init)\n")
803 if (energyMeterObjects == 0) {
804 energyMeterObject0 = metaData['name']
805 this[energyMeterObject0] = new EnergyMeters({}, 1, true)
806 } else if (energyMeterObjects == 1) {
807 energyMeterObject1 = metaData['name']
808 this[energyMeterObject1] = new EnergyMeters({}, 1, true)
809 } else if (energyMeterObjects == 2) {
810 energyMeterObject2 = metaData['name']
811 this[energyMeterObject2] = new EnergyMeters({}, 1, true)
814 energyMeterObjects=energyMeterObjects+1
816 settings.put(metaData['name'], new EnergyMeters({}, 1, true))
819 extractedObjectsApp1.append("//Object for class energy meter!\n")
820 extractedObjectsApp1.append("def "+metaData['name']+"\n")
821 extractedObjectsConstructorApp1.append(metaData['name']+" = obj.energyMeterObject\n")
823 extractedObjectsApp2.append("//Object for class energy meter!\n")
824 extractedObjectsApp2.append("def "+metaData['name']+"\n")
825 extractedObjectsConstructorApp2.append(metaData['name']+" = obj.energyMeterObject\n")
828 case "capability.illuminanceMeasurement":
829 globalObjects.eachLine { line ->
830 if(line.contains("illuminanceMeasurementObject")){
836 globalObjects.append("@Field def illuminanceMeasurementObject = new IlluminanceMeasurements(sendEvent, 1, init)\n")
838 if (illuminanceMeasurementObjects == 0) {
839 illuminanceMeasurementObject0 = metaData['name']
840 this[illuminanceMeasurementObject0] = new IlluminanceMeasurements({}, 1, true)
841 } else if (illuminanceMeasurementObjects == 1) {
842 illuminanceMeasurementObject1 = metaData['name']
843 this[illuminanceMeasurementObject1] = new IlluminanceMeasurements({}, 1, true)
844 } else if (illuminanceMeasurementObjects == 2) {
845 illuminanceMeasurementObject2 = metaData['name']
846 this[illuminanceMeasurementObject2] = new IlluminanceMeasurements({}, 1, true)
849 illuminanceMeasurementObjects=illuminanceMeasurementObjects+1
851 settings.put(metaData['name'], new IlluminanceMeasurements({}, 1, true))
854 extractedObjectsApp1.append("//Object for class illuminance measurement!\n")
855 extractedObjectsApp1.append("def "+metaData['name']+"\n")
856 extractedObjectsConstructorApp1.append(metaData['name']+" = obj.illuminanceMeasurementObject\n")
858 extractedObjectsApp2.append("//Object for class illuminance measurement!\n")
859 extractedObjectsApp2.append("def "+metaData['name']+"\n")
860 extractedObjectsConstructorApp2.append(metaData['name']+" = obj.illuminanceMeasurementObject\n")
863 case "capability.accelerationSensor":
864 globalObjects.eachLine { line ->
865 if(line.contains("accelerationSensorObject")){
871 globalObjects.append("@Field def accelerationSensorObject = new AccelerationSensors(sendEvent, 1, init)\n")
873 if (accelerationSensorObjects == 0) {
874 accelerationSensorObject0 = metaData['name']
875 this[accelerationSensorObject0] = new AccelerationSensors({}, 1, true)
876 } else if (accelerationSensorObjects == 1) {
877 accelerationSensorObject1 = metaData['name']
878 this[accelerationSensorObject1] = new AccelerationSensors({}, 1, true)
879 } else if (accelerationSensorObjects == 2) {
880 accelerationSensorObject2 = metaData['name']
881 this[accelerationSensorObject2] = new AccelerationSensors({}, 1, true)
884 accelerationSensorObjects=accelerationSensorObjects+1
886 settings.put(metaData['name'], new AccelerationSensors({}, 1, true))
889 extractedObjectsApp1.append("//Object for class Acceleration Sensor!\n")
890 extractedObjectsApp1.append("def "+metaData['name']+"\n")
891 extractedObjectsConstructorApp1.append(metaData['name']+" = obj.accelerationSensorObject\n")
893 extractedObjectsApp2.append("//Object for class Acceleration Sensor!\n")
894 extractedObjectsApp2.append("def "+metaData['name']+"\n")
895 extractedObjectsConstructorApp2.append(metaData['name']+" = obj.accelerationSensorObject\n")
898 case "capability.motionSensor":
899 globalObjects.eachLine { line ->
900 if(line.contains("motionSensorObject")){
906 globalObjects.append("@Field def motionSensorObject = new MotionSensors(sendEvent, 1, init)\n")
908 if (motionSensorObjects == 0) {
909 motionSensorObject0 = metaData['name']
910 this[motionSensorObject0] = new MotionSensors({}, 1, true)
911 } else if (motionSensorObjects == 1) {
912 motionSensorObject1 = metaData['name']
913 this[motionSensorObject1] = new MotionSensors({}, 1, true)
914 } else if (motionSensorObjects == 2) {
915 motionSensorObject2 = metaData['name']
916 this[motionSensorObject2] = new MotionSensors({}, 1, true)
919 motionSensorObjects=motionSensorObjects+1
921 settings.put(metaData['name'], new MotionSensors({}, 1, true))
924 extractedObjectsApp1.append("//Object for class Motion Sensor!\n")
925 extractedObjectsApp1.append("def "+metaData['name']+"\n")
926 extractedObjectsConstructorApp1.append(metaData['name']+" = obj.motionSensorObject\n")
928 extractedObjectsApp2.append("//Object for class Motion Sensor!\n")
929 extractedObjectsApp2.append("def "+metaData['name']+"\n")
930 extractedObjectsConstructorApp2.append(metaData['name']+" = obj.motionSensorObject\n")
933 case "capability.musicPlayer":
934 globalObjects.eachLine { line ->
935 if(line.contains("musicPlayerObject")){
941 globalObjects.append("@Field def musicPlayerObject = new MusicPlayers(sendEvent, 1, init)\n")
943 if (musicPlayerObjects == 0) {
944 musicPlayerObject0 = metaData['name']
945 this[musicPlayerObject0] = new MusicPlayers({}, 1, true)
946 } else if (musicPlayerObjects == 1) {
947 musicPlayerObject1 = metaData['name']
948 this[musicPlayerObject1] = new MusicPlayers({}, 1, true)
949 } else if (musicPlayerObjects == 2) {
950 musicPlayerObject2 = metaData['name']
951 this[musicPlayerObject2] = new MusicPlayers({}, 1, true)
954 musicPlayerObjects=musicPlayerObjects+1
956 settings.put(metaData['name'], new MusicPlayers({}, 1, true))
959 extractedObjectsApp1.append("//Object for class music player!\n")
960 extractedObjectsApp1.append("def "+metaData['name']+"\n")
961 extractedObjectsConstructorApp1.append(metaData['name']+" = obj.musicPlayerObject\n")
963 extractedObjectsApp2.append("//Object for class music player!\n")
964 extractedObjectsApp2.append("def "+metaData['name']+"\n")
965 extractedObjectsConstructorApp2.append(metaData['name']+" = obj.musicPlayerObject\n")
968 case "capability.powerMeter":
969 globalObjects.eachLine { line ->
970 if(line.contains("powerMeterObject")){
976 globalObjects.append("@Field def powerMeterObject = new PowerMeters(sendEvent, 1, init)\n")
978 if (powerMeterObjects == 0) {
979 powerMeterObject0 = metaData['name']
980 this[powerMeterObject0] = new PowerMeters({}, 1, true)
981 } else if (powerMeterObjects == 1) {
982 powerMeterObject1 = metaData['name']
983 this[powerMeterObject1] = new PowerMeters({}, 1, true)
984 } else if (powerMeterObjects == 2) {
985 powerMeterObject2 = metaData['name']
986 this[powerMeterObject2] = new PowerMeters({}, 1, true)
989 powerMeterObjects=powerMeterObjects+1
991 settings.put(metaData['name'], new PowerMeters({}, 1, true))
994 extractedObjectsApp1.append("//Object for class power meter!\n")
995 extractedObjectsApp1.append("def "+metaData['name']+"\n")
996 extractedObjectsConstructorApp1.append(metaData['name']+" = obj.powerMeterObject\n")
998 extractedObjectsApp2.append("//Object for class power meter!\n")
999 extractedObjectsApp2.append("def "+metaData['name']+"\n")
1000 extractedObjectsConstructorApp2.append(metaData['name']+" = obj.powerMeterObject\n")
1003 case "capability.presenceSensor":
1004 globalObjects.eachLine { line ->
1005 if(line.contains("presenceSensorObject")){
1011 globalObjects.append("@Field def presenceSensorObject = new PresenceSensors(sendEvent, 1, init)\n")
1013 if (presenceSensorObjects == 0) {
1014 presenceSensorObject0 = metaData['name']
1015 this[presenceSensorObject0] = new PresenceSensors({}, 1, true)
1016 } else if (presenceSensorObjects == 1) {
1017 presenceSensorObject1 = metaData['name']
1018 this[presenceSensorObject1] = new PresenceSensors({}, 1, true)
1019 } else if (presenceSensorObjects == 2) {
1020 presenceSensorObject2 = metaData['name']
1021 this[presenceSensorObject2] = new PresenceSensors({}, 1, true)
1024 presenceSensorObjects=presenceSensorObjects+1
1026 settings.put(metaData['name'], new PresenceSensors({}, 1, true))
1028 if (App == "App1") {
1029 extractedObjectsApp1.append("//Object for class presence sensor!\n")
1030 extractedObjectsApp1.append("def "+metaData['name']+"\n")
1031 extractedObjectsConstructorApp1.append(metaData['name']+" = obj.presenceSensorObject\n")
1033 extractedObjectsApp2.append("//Object for class presence sensor!\n")
1034 extractedObjectsApp2.append("def "+metaData['name']+"\n")
1035 extractedObjectsConstructorApp2.append(metaData['name']+" = obj.presenceSensorObject\n")
1038 case "capability.relativeHumidityMeasurement":
1039 globalObjects.eachLine { line ->
1040 if(line.contains("humidityMeasurementObject")){
1046 globalObjects.append("@Field def humidityMeasurementObject = new RelativeHumidityMeasurements(sendEvent, 1, init)\n")
1048 if (humidityMeasurementObjects == 0) {
1049 humidityMeasurementObject0 = metaData['name']
1050 this[humidityMeasurementObject0] = new RelativeHumidityMeasurements({}, 1, true)
1051 } else if (humidityMeasurementObjects == 1) {
1052 humidityMeasurementObject1 = metaData['name']
1053 this[humidityMeasurementObject1] = new RelativeHumidityMeasurements({}, 1, true)
1054 } else if (humidityMeasurementObjects == 2) {
1055 humidityMeasurementObject2 = metaData['name']
1056 this[humidityMeasurementObject2] = new RelativeHumidityMeasurements({}, 1, true)
1059 humidityMeasurementObjects=humidityMeasurementObjects+1
1061 settings.put(metaData['name'], new RelativeHumidityMeasurements({}, 1, true))
1063 if (App == "App1") {
1064 extractedObjectsApp1.append("//Object for class humidity measurement!\n")
1065 extractedObjectsApp1.append("def "+metaData['name']+"\n")
1066 extractedObjectsConstructorApp1.append(metaData['name']+" = obj.humidityMeasurementObject\n")
1068 extractedObjectsApp2.append("//Object for class humidity measurement!\n")
1069 extractedObjectsApp2.append("def "+metaData['name']+"\n")
1070 extractedObjectsConstructorApp2.append(metaData['name']+" = obj.humidityMeasurementObject\n")
1073 case "capability.relaySwitch":
1074 globalObjects.eachLine { line ->
1075 if(line.contains("relaySwitchObject")){
1081 globalObjects.append("@Field def relaySwitchObject = new RelaySwitches(sendEvent, 1, init)\n")
1083 if (relaySwitchObjects == 0) {
1084 relaySwitchObject0 = metaData['name']
1085 this[relaySwitchObject0] = new RelaySwitches({}, 1, true)
1086 } else if (relaySwitchObjects == 1) {
1087 relaySwitchObject1 = metaData['name']
1088 this[relaySwitchObject1] = new RelaySwitches({}, 1, true)
1089 } else if (relaySwitchObjects == 2) {
1090 relaySwitchObject2 = metaData['name']
1091 this[relaySwitchObject2] = new RelaySwitches({}, 1, true)
1094 relaySwitchObjects=relaySwitchObjects+1
1096 settings.put(metaData['name'], new RelaySwitches({}, 1, true))
1098 if (App == "App1") {
1099 extractedObjectsApp1.append("//Object for class relay switch!\n")
1100 extractedObjectsApp1.append("def "+metaData['name']+"\n")
1101 extractedObjectsConstructorApp1.append(metaData['name']+" = obj.relaySwitchObject\n")
1103 extractedObjectsApp2.append("//Object for class relay switch!\n")
1104 extractedObjectsApp2.append("def "+metaData['name']+"\n")
1105 extractedObjectsConstructorApp2.append(metaData['name']+" = obj.relaySwitchObject\n")
1108 case "capability.sleepSensor":
1109 globalObjects.eachLine { line ->
1110 if(line.contains("sleepSensorObject")){
1116 globalObjects.append("@Field def sleepSensorObject = new SleepSensors(sendEvent, 1, init)\n")
1118 if (sleepSensorObjects == 0) {
1119 sleepSensorObject0 = metaData['name']
1120 this[sleepSensorObject0] = new SleepSensors({}, 1, true)
1121 } else if (sleepSensorObjects == 1) {
1122 sleepSensorObject1 = metaData['name']
1123 this[sleepSensorObject1] = new SleepSensors({}, 1, true)
1124 } else if (sleepSensorObjects == 2) {
1125 sleepSensorObject2 = metaData['name']
1126 this[sleepSensorObject2] = new SleepSensors({}, 1, true)
1129 sleepSensorObjects=sleepSensorObjects+1
1131 settings.put(metaData['name'], new SleepSensors({}, 1, true))
1133 if (App == "App1") {
1134 extractedObjectsApp1.append("//Object for class sleep sensor!\n")
1135 extractedObjectsApp1.append("def "+metaData['name']+"\n")
1136 extractedObjectsConstructorApp1.append(metaData['name']+" = obj.sleepSensorObject\n")
1138 extractedObjectsApp2.append("//Object for class sleep sensor!\n")
1139 extractedObjectsApp2.append("def "+metaData['name']+"\n")
1140 extractedObjectsConstructorApp2.append(metaData['name']+" = obj.sleepSensorObject\n")
1143 case "capability.smokeDetector":
1144 globalObjects.eachLine { line ->
1145 if(line.contains("smokeDetectorObject")){
1151 globalObjects.append("@Field def smokeDetectorObject = new SmokeDetectors(sendEvent, 1, init)\n")
1153 if (smokeDetectorObjects == 0) {
1154 smokeDetectorObject0 = metaData['name']
1155 this[smokeDetectorObject0] = new SmokeDetectors({}, 1, true)
1156 } else if (smokeDetectorObjects == 1) {
1157 smokeDetectorObject1 = metaData['name']
1158 this[smokeDetectorObject1] = new SmokeDetectors({}, 1, true)
1159 } else if (smokeDetectorObjects == 2) {
1160 smokeDetectorObject2 = metaData['name']
1161 this[smokeDetectorObject2] = new SmokeDetectors({}, 1, true)
1164 smokeDetectorObjects=smokeDetectorObjects+1
1166 settings.put(metaData['name'], new SmokeDetectors({}, 1, true))
1168 if (App == "App1") {
1169 extractedObjectsApp1.append("//Object for class smoke detector!\n")
1170 extractedObjectsApp1.append("def "+metaData['name']+"\n")
1171 extractedObjectsConstructorApp1.append(metaData['name']+" = obj.smokeDetectorObject\n")
1173 extractedObjectsApp2.append("//Object for class smoke detector!\n")
1174 extractedObjectsApp2.append("def "+metaData['name']+"\n")
1175 extractedObjectsConstructorApp2.append(metaData['name']+" = obj.smokeDetectorObject\n")
1178 case "capability.stepSensor":
1179 globalObjects.eachLine { line ->
1180 if(line.contains("stepSensorObject")){
1186 globalObjects.append("@Field def stepSensorObject = new StepSensors(sendEvent, 1, init)\n")
1188 if (stepSensorObjects == 0) {
1189 stepSensorObject0 = metaData['name']
1190 this[stepSensorObject0] = new StepSensors({}, 1, true)
1191 } else if (stepSensorObjects == 1) {
1192 stepSensorObject1 = metaData['name']
1193 this[stepSensorObject1] = new StepSensors({}, 1, true)
1194 } else if (stepSensorObjects == 2) {
1195 stepSensorObject2 = metaData['name']
1196 this[stepSensorObject2] = new StepSensors({}, 1, true)
1199 stepSensorObjects=stepSensorObjects+1
1201 settings.put(metaData['name'], new StepSensors({}, 1, true))
1203 if (App == "App1") {
1204 extractedObjectsApp1.append("//Object for class step sensor!\n")
1205 extractedObjectsApp1.append("def "+metaData['name']+"\n")
1206 extractedObjectsConstructorApp1.append(metaData['name']+" = obj.stepSensorObject\n")
1208 extractedObjectsApp2.append("//Object for class step sensor!\n")
1209 extractedObjectsApp2.append("def "+metaData['name']+"\n")
1210 extractedObjectsConstructorApp2.append(metaData['name']+" = obj.stepSensorObject\n")
1213 case "capability.switch":
1214 globalObjects.eachLine { line ->
1215 if(line.contains("switchObject")){
1221 globalObjects.append("@Field def switchObject = new Switches(sendEvent, 1, init)\n")
1223 if (switchObjects == 0) {
1224 switchObject0 = metaData['name']
1225 this[switchObject0] = new Switches({}, 1, true)
1226 } else if (switchObjects == 1) {
1227 switchObject1 = metaData['name']
1228 this[switchObject1] = new Switches({}, 1, true)
1229 } else if (switchObjects == 2) {
1230 switchObject2 = metaData['name']
1231 this[switchObject2] = new Switches({}, 1, true)
1234 switchObjects=switchObjects+1
1236 settings.put(metaData['name'], new Switches({}, 1, true))
1238 if (App == "App1") {
1239 extractedObjectsApp1.append("//Object for class switch!\n")
1240 extractedObjectsApp1.append("def "+metaData['name']+"\n")
1241 extractedObjectsConstructorApp1.append(metaData['name']+" = obj.switchObject\n")
1243 extractedObjectsApp2.append("//Object for class switch!\n")
1244 extractedObjectsApp2.append("def "+metaData['name']+"\n")
1245 extractedObjectsConstructorApp2.append(metaData['name']+" = obj.switchObject\n")
1248 case "capability.switchLevel":
1249 globalObjects.eachLine { line ->
1250 if(line.contains("switchLevelObject")){
1256 globalObjects.append("@Field def switchLevelObject = new SwitchLevels(sendEvent, 1, init)\n")
1258 if (switchLevelObjects == 0) {
1259 switchLevelObject0 = metaData['name']
1260 this[switchLevelObject0] = new SwitchLevels({}, 1, true)
1261 } else if (switchLevelObjects == 1) {
1262 switchLevelObject1 = metaData['name']
1263 this[switchLevelObject1] = new SwitchLevels({}, 1, true)
1264 } else if (switchLevelObjects == 2) {
1265 switchLevelObject2 = metaData['name']
1266 this[switchLevelObject2] = new SwitchLevels({}, 1, true)
1269 switchLevelObjects=switchLevelObjects+1
1271 settings.put(metaData['name'], new SwitchLevels({}, 1, true))
1273 if (App == "App1") {
1274 extractedObjectsApp1.append("//Object for class switch level!\n")
1275 extractedObjectsApp1.append("def "+metaData['name']+"\n")
1276 extractedObjectsConstructorApp1.append(metaData['name']+" = obj.switchLevelObject\n")
1278 extractedObjectsApp2.append("//Object for class switch level!\n")
1279 extractedObjectsApp2.append("def "+metaData['name']+"\n")
1280 extractedObjectsConstructorApp2.append(metaData['name']+" = obj.switchLevelObject\n")
1283 case "capability.temperatureMeasurement":
1284 globalObjects.eachLine { line ->
1285 if(line.contains("temperatureMeasurementObject")){
1291 globalObjects.append("@Field def temperatureMeasurementObject = new TemperatureMeasurements(sendEvent, 1, init)\n")
1293 if (temperatureMeasurementObjects == 0) {
1294 temperatureMeasurementObject0 = metaData['name']
1295 this[temperatureMeasurementObject0] = new TemperatureMeasurements({}, 1, true)
1296 } else if (temperatureMeasurementObjects == 1) {
1297 temperatureMeasurementObject1 = metaData['name']
1298 this[temperatureMeasurementObject1] = new TemperatureMeasurements({}, 1, true)
1299 } else if (temperatureMeasurementObjects == 2) {
1300 temperatureMeasurementObject2 = metaData['name']
1301 this[temperatureMeasurementObject2] = new TemperatureMeasurements({}, 1, true)
1304 temperatureMeasurementObjects=temperatureMeasurementObjects+1
1306 settings.put(metaData['name'], new TemperatureMeasurements({}, 1, true))
1308 if (App == "App1") {
1309 extractedObjectsApp1.append("//Object for class temperature measurement!\n")
1310 extractedObjectsApp1.append("def "+metaData['name']+"\n")
1311 extractedObjectsConstructorApp1.append(metaData['name']+" = obj.temperatureMeasurementObject\n")
1313 extractedObjectsApp2.append("//Object for class temperature measurement!\n")
1314 extractedObjectsApp2.append("def "+metaData['name']+"\n")
1315 extractedObjectsConstructorApp2.append(metaData['name']+" = obj.temperatureMeasurementObject\n")
1318 case "capability.thermostat":
1319 globalObjects.eachLine { line ->
1320 if(line.contains("thermostatObject")){
1326 globalObjects.append("@Field def thermostatObject = new Thermostats(sendEvent, 1, init)\n")
1328 if (thermostatObjects == 0) {
1329 thermostatObject0 = metaData['name']
1330 this[thermostatObject0] = new Thermostats({}, 1, true)
1331 } else if (thermostatObjects == 1) {
1332 thermostatObject1 = metaData['name']
1333 this[thermostatObject1] = new Thermostats({}, 1, true)
1334 } else if (thermostatObjects == 2) {
1335 thermostatObject2 = metaData['name']
1336 this[thermostatObject2] = new Thermostats({}, 1, true)
1339 thermostatObjects=thermostatObjects+1
1341 settings.put(metaData['name'], new Thermostats({}, 1, true))
1343 if (App == "App1") {
1344 extractedObjectsApp1.append("//Object for class thermostat!\n")
1345 extractedObjectsApp1.append("def "+metaData['name']+"\n")
1346 extractedObjectsConstructorApp1.append(metaData['name']+" = obj.thermostatObject\n")
1348 extractedObjectsApp2.append("//Object for class thermostat!\n")
1349 extractedObjectsApp2.append("def "+metaData['name']+"\n")
1350 extractedObjectsConstructorApp2.append(metaData['name']+" = obj.thermostatObject\n")
1353 case "capability.valve":
1354 globalObjects.eachLine { line ->
1355 if(line.contains("valveObject")){
1361 globalObjects.append("@Field def valveObject = new Valves(sendEvent, 1, init)\n")
1363 if (valveObjects == 0) {
1364 valveObject0 = metaData['name']
1365 this[valveObject0] = new Valves({}, 1, true)
1366 } else if (valveObjects == 1) {
1367 valveObject1 = metaData['name']
1368 this[valveObject1] = new Valves({}, 1, true)
1369 } else if (valveObjects == 2) {
1370 valveObject2 = metaData['name']
1371 this[valveObject2] = new Valves({}, 1, true)
1374 valveObjects=valveObjects+1
1376 settings.put(metaData['name'], new Valves({}, 1, true))
1378 if (App == "App1") {
1379 extractedObjectsApp1.append("//Object for class valve!\n")
1380 extractedObjectsApp1.append("def "+metaData['name']+"\n")
1381 extractedObjectsConstructorApp1.append(metaData['name']+" = obj.valveObject\n")
1383 extractedObjectsApp2.append("//Object for class valve!\n")
1384 extractedObjectsApp2.append("def "+metaData['name']+"\n")
1385 extractedObjectsConstructorApp2.append(metaData['name']+" = obj.valveObject\n")
1388 case "capability.speechSynthesis":
1389 globalObjects.eachLine { line ->
1390 if(line.contains("speechSynthesisObject")){
1396 globalObjects.append("@Field def speechSynthesisObject = new SpeechSynthesises(sendEvent, 1, init)\n")
1398 if (speechSynthesisObjects == 0) {
1399 speechSynthesisObject0 = metaData['name']
1400 this[speechSynthesisObject0] = new SpeechSynthesises({}, 1, true)
1401 } else if (speechSynthesisObjects == 1) {
1402 speechSynthesisObject1 = metaData['name']
1403 this[speechSynthesisObject1] = new SpeechSynthesises({}, 1, true)
1404 } else if (speechSynthesisObjects == 2) {
1405 speechSynthesisObject2 = metaData['name']
1406 this[speechSynthesisObject2] = new SpeechSynthesises({}, 1, true)
1409 speechSynthesisObjects=speechSynthesisObjects+1
1411 settings.put(metaData['name'], new SpeechSynthesises({}, 1, true))
1413 if (App == "App1") {
1414 extractedObjectsApp1.append("//Object for class speech synthesis!\n")
1415 extractedObjectsApp1.append("def "+metaData['name']+"\n")
1416 extractedObjectsConstructorApp1.append(metaData['name']+" = obj.speechSynthesisObject\n")
1418 extractedObjectsApp2.append("//Object for class speech synthesis!\n")
1419 extractedObjectsApp2.append("def "+metaData['name']+"\n")
1420 extractedObjectsConstructorApp2.append(metaData['name']+" = obj.speechSynthesisObject\n")
1423 case "capability.waterSensor":
1424 globalObjects.eachLine { line ->
1425 if(line.contains("waterSensorObject")){
1431 globalObjects.append("@Field def waterSensorObject = new WaterSensors(sendEvent, 1, init)\n")
1433 if (waterSensorObjects == 0) {
1434 waterSensorObject0 = metaData['name']
1435 this[waterSensorObject0] = new WaterSensors({}, 1, true)
1436 } else if (waterSensorObjects == 1) {
1437 waterSensorObject1 = metaData['name']
1438 this[waterSensorObject1] = new WaterSensors({}, 1, true)
1439 } else if (waterSensorObjects == 2) {
1440 waterSensorObject2 = metaData['name']
1441 this[waterSensorObject2] = new WaterSensors({}, 1, true)
1444 waterSensorObjects=waterSensorObjects+1
1446 settings.put(metaData['name'], new WaterSensors({}, 1, true))
1448 if (App == "App1") {
1449 extractedObjectsApp1.append("//Object for class water sensor!\n")
1450 extractedObjectsApp1.append("def "+metaData['name']+"\n")
1451 extractedObjectsConstructorApp1.append(metaData['name']+" = obj.waterSensorObject\n")
1453 extractedObjectsApp2.append("//Object for class water sensor!\n")
1454 extractedObjectsApp2.append("def "+metaData['name']+"\n")
1455 extractedObjectsConstructorApp2.append(metaData['name']+" = obj.waterSensorObject\n")
1458 case "capability.touchSensor":
1459 globalObjects.eachLine { line ->
1460 if(line.contains("touchSensorObject")){
1466 globalObjects.append("@Field def touchSensorObject = new NfcTouch(sendEvent, 1)\n")
1468 if (touchSensorObjects == 0) {
1469 touchSensorObject0 = metaData['name']
1470 this[touchSensorObject0] = new NfcTouch({}, 1)
1471 } else if (touchSensorObjects == 1) {
1472 touchSensorObject1 = metaData['name']
1473 this[touchSensorObject1] = new NfcTouch({}, 1)
1474 } else if (touchSensorObjects == 2) {
1475 touchSensorObject2 = metaData['name']
1476 this[touchSensorObject2] = new NfcTouch({}, 1)
1479 touchSensorObjects=touchSensorObjects+1
1481 settings.put(metaData['name'], new NfcTouch({}, 1))
1483 if (App == "App1") {
1484 extractedObjectsApp1.append("//Object for class Touch Sensor!\n")
1485 extractedObjectsApp1.append("def "+metaData['name']+"\n")
1486 extractedObjectsConstructorApp1.append(metaData['name']+" = obj.touchSensorObject\n")
1488 extractedObjectsApp2.append("//Object for class Touch Sensor!\n")
1489 extractedObjectsApp2.append("def "+metaData['name']+"\n")
1490 extractedObjectsConstructorApp2.append(metaData['name']+" = obj.touchSensorObject\n")
1493 case "capability.imageCapture":
1494 globalObjects.eachLine { line ->
1495 if(line.contains("imageCaptureObject")){
1501 globalObjects.append("@Field def imageCaptureObject = new ImageCaptures(sendEvent, 1, init)\n")
1503 if (imageCaptureObjects == 0) {
1504 imageCaptureObject0 = metaData['name']
1505 this[imageCaptureObject0] = new ImageCaptures({}, 1, true)
1506 } else if (imageCaptureObjects == 1) {
1507 imageCaptureObject1 = metaData['name']
1508 this[imageCaptureObject1] = new ImageCaptures({}, 1, true)
1509 } else if (imageCaptureObjects == 2) {
1510 imageCaptureObject2 = metaData['name']
1511 this[imageCaptureObject2] = new ImageCaptures({}, 1, true)
1514 imageCaptureObjects=imageCaptureObjects+1
1516 settings.put(metaData['name'], new ImageCaptures({}, 1, true))
1518 if (App == "App1") {
1519 extractedObjectsApp1.append("//Object for class Image Capture!\n")
1520 extractedObjectsApp1.append("def "+metaData['name']+"\n")
1521 extractedObjectsConstructorApp1.append(metaData['name']+" = obj.imageCaptureObject\n")
1523 extractedObjectsApp2.append("//Object for class Image Capture!\n")
1524 extractedObjectsApp2.append("def "+metaData['name']+"\n")
1525 extractedObjectsConstructorApp2.append(metaData['name']+" = obj.imageCaptureObject\n")
1528 case "device.mobilePresence":
1529 globalObjects.eachLine { line ->
1530 if(line.contains("mobilePresenceObject")){
1536 globalObjects.append("@Field def mobilePresenceObject = new MobilePresences(sendEvent, 1)\n")
1538 if (mobilePresenceObjects == 0) {
1539 mobilePresenceObject0 = metaData['name']
1540 this[mobilePresenceObject0] = new MobilePresences({}, 1)
1541 } else if (mobilePresenceObjects == 1) {
1542 mobilePresenceObject1 = metaData['name']
1543 this[mobilePresenceObject1] = new MobilePresences({}, 1)
1544 } else if (mobilePresenceObjects == 2) {
1545 mobilePresenceObject2 = metaData['name']
1546 this[mobilePresenceObject2] = new MobilePresences({}, 1)
1549 mobilePresenceObjects=mobilePresenceObjects+1
1551 settings.put(metaData['name'], new MobilePresences({}, 1))
1553 if (App == "App1") {
1554 extractedObjectsApp1.append("//Object for class mobile presence!\n")
1555 extractedObjectsApp1.append("def "+metaData['name']+"\n")
1556 extractedObjectsConstructorApp1.append(metaData['name']+" = obj.mobilePresenceObject\n")
1558 extractedObjectsApp2.append("//Object for class mobile presence!\n")
1559 extractedObjectsApp2.append("def "+metaData['name']+"\n")
1560 extractedObjectsConstructorApp2.append(metaData['name']+" = obj.mobilePresenceObject\n")
1563 case "device.aeonKeyFob":
1564 globalObjects.eachLine { line ->
1565 if(line.contains("aeonKeyFobObject")){
1570 globalObjects.append("@Field def aeonKeyFobObject = new AeonKeyFobs(sendEvent, 1)\n")
1572 if (aeonKeyFobObjects == 0) {
1573 aeonKeyFobObject0 = metaData['name']
1574 this[aeonKeyFobObject0] = new AeonKeyFobs({}, 1)
1575 } else if (aeonKeyFobObjects == 1) {
1576 aeonKeyFobObject1 = metaData['name']
1577 this[aeonKeyFobObject1] = new AeonKeyFobs({}, 1)
1578 } else if (aeonKeyFobObjects == 2) {
1579 aeonKeyFobObject2 = metaData['name']
1580 this[aeonKeyFobObject2] = new AeonKeyFobs({}, 1)
1583 aeonKeyFobObjects=aeonKeyFobObjects+1
1585 settings.put(metaData['name'], new AeonKeyFobs({}, 1))
1587 if (App == "App1") {
1588 extractedObjectsApp1.append("//Object for class aeon key fob!\n")
1589 extractedObjectsApp1.append("def "+metaData['name']+"\n")
1590 extractedObjectsConstructorApp1.append(metaData['name']+" = obj.aeonKeyFobObject\n")
1592 extractedObjectsApp2.append("//Object for class aeon key fob!\n")
1593 extractedObjectsApp2.append("def "+metaData['name']+"\n")
1594 extractedObjectsConstructorApp2.append(metaData['name']+" = obj.aeonKeyFobObject\n")
1598 //def randomVariable = Math.abs(new Random().nextInt() % 3)
1599 def modes = ["away", "home", "night"]
1600 def userInput = modes[1]
1602 if (modeVariables == 0) {
1603 mode0 = metaData['name']
1604 this[mode0] = userInput
1605 } else if (modeVariables == 1) {
1606 mode1 = metaData['name']
1607 this[mode1] = userInput
1608 } else if (modeVariables == 2) {
1609 mode2 = metaData['name']
1610 this[mode2] = userInput
1611 } else if (modeVariables == 3) {
1612 mode3 = metaData['name']
1613 this[mode3] = userInput
1614 } else if (modeVariables == 4) {
1615 mode4 = metaData['name']
1616 this[mode4] = userInput
1617 } else if (modeVariables == 5) {
1618 mode5 = metaData['name']
1619 this[mode5] = userInput
1622 if (modeVariables != 5)
1623 modeVariables=modeVariables+1
1628 settings.put(metaData['name'], metaData['name'])
1630 if (App == "App1") {
1631 extractedObjectsApp1.append("//Global variable for mode!\n")
1632 extractedObjectsApp1.append("def "+metaData['name']+" = \""+userInput+"\"\n")
1634 extractedObjectsApp2.append("//Global variable for mode!\n")
1635 extractedObjectsApp2.append("def "+metaData['name']+" = \""+userInput+"\"\n")
1639 //def userInput = Math.abs(new Random().nextInt() % 60) + 40
1642 if (decimalVariables == 0) {
1643 decimal0 = metaData['name']
1644 this[decimal0] = userInput
1645 } else if (decimalVariables == 1) {
1646 decimal1 = metaData['name']
1647 this[decimal1] = userInput
1648 } else if (decimalVariables == 2) {
1649 decimal2 = metaData['name']
1650 this[decimal2] = userInput
1651 } else if (decimalVariables == 3) {
1652 decimal3 = metaData['name']
1653 this[decimal3] = userInput
1654 } else if (decimalVariables == 4) {
1655 decimal4 = metaData['name']
1656 this[decimal4] = userInput
1657 } else if (decimalVariables == 5) {
1658 decimal5 = metaData['name']
1659 this[decimal5] = userInput
1662 if (decimalVariables != 5)
1663 decimalVariables=decimalVariables+1
1667 settings.put(metaData['name'], metaData['name'])
1669 if (App == "App1") {
1670 extractedObjectsApp1.append("//Global variable for decimal number!\n")
1671 extractedObjectsApp1.append("def "+metaData['name']+" = "+userInput+"\n")
1673 extractedObjectsApp2.append("//Global variable for decimal number!\n")
1674 extractedObjectsApp2.append("def "+metaData['name']+" = "+userInput+"\n")
1678 def userInput = "This is just a text!"
1680 if (textVariables == 0) {
1681 text0 = metaData['name']
1682 this[text0] = userInput
1683 } else if (textVariables == 1) {
1684 text1 = metaData['name']
1685 this[text1] = userInput
1686 } else if (textVariables == 2) {
1687 text2 = metaData['name']
1688 this[text2] = userInput
1689 } else if (textVariables == 3) {
1690 text3 = metaData['name']
1691 this[text3] = userInput
1692 } else if (textVariables == 4) {
1693 text4 = metaData['name']
1694 this[text4] = userInput
1695 } else if (textVariables == 5) {
1696 text5 = metaData['name']
1697 this[text5] = userInput
1700 if (textVariables != 5)
1701 textVariables=textVariables+1
1706 settings.put(metaData['name'], metaData['name'])
1708 if (App == "App1") {
1709 extractedObjectsApp1.append("//Global variable for text!\n")
1710 extractedObjectsApp1.append("def "+metaData['name']+" = \""+userInput+"\"\n")
1712 extractedObjectsApp2.append("//Global variable for text!\n")
1713 extractedObjectsApp2.append("def "+metaData['name']+" = \""+userInput+"\"\n")
1717 //def userInput = Math.abs(new Random().nextInt() % 60) + 40
1720 if (numberVariables == 0) {
1721 number0 = metaData['name']
1722 this[number0] = userInput
1723 } else if (numberVariables == 1) {
1724 number1 = metaData['name']
1725 this[number1] = userInput
1726 } else if (numberVariables == 2) {
1727 number2 = metaData['name']
1728 this[number2] = userInput
1729 } else if (numberVariables == 3) {
1730 number3 = metaData['name']
1731 this[number3] = userInput
1732 } else if (numberVariables == 4) {
1733 number4 = metaData['name']
1734 this[number4] = userInput
1735 } else if (numberVariables == 5) {
1736 number5 = metaData['name']
1737 this[number5] = userInput
1741 if (numberVariables != 5)
1742 numberVariables=numberVariables+1
1747 settings.put(metaData['name'], metaData['name'])
1749 if (App == "App1") {
1750 extractedObjectsApp1.append("//Global variable for number!\n")
1751 extractedObjectsApp1.append("def "+metaData['name']+" = "+userInput+"\n")
1753 extractedObjectsApp2.append("//Global variable for number!\n")
1754 extractedObjectsApp2.append("def "+metaData['name']+" = "+userInput+"\n")
1758 def userInput = "15:00"
1760 if (timeVariables == 0) {
1761 time0 = metaData['name']
1762 this[time0] = userInput
1763 } else if (timeVariables == 1) {
1764 time1 = metaData['name']
1765 this[time1] = userInput
1766 } else if (timeVariables == 2) {
1767 time2 = metaData['name']
1768 this[time2] = userInput
1769 } else if (timeVariables == 3) {
1770 time3 = metaData['name']
1771 this[time3] = userInput
1772 } else if (timeVariables == 4) {
1773 time4 = metaData['name']
1774 this[time4] = userInput
1775 } else if (timeVariables == 5) {
1776 time5 = metaData['name']
1777 this[time5] = userInput
1780 if (timeVariables != 5)
1781 timeVariables=timeVariables+1
1785 settings.put(metaData['name'], metaData['name'])
1787 if (App == "App1") {
1788 extractedObjectsApp1.append("//Global variable for time!\n")
1789 extractedObjectsApp1.append("def "+metaData['name']+" = \""+userInput+"\"\n")
1791 extractedObjectsApp2.append("//Global variable for time!\n")
1792 extractedObjectsApp2.append("def "+metaData['name']+" = \""+userInput+"\"\n")
1796 if (metaData['options'] != null)
1797 modes = metaData['options']
1798 else if (metaData['metadata'] != null) { // If it is not named 'options' then it is captured as 'metadata'
1799 modes = metaData['metadata']
1800 modes = modes['values']
1802 def userInput = modes[0]
1804 if (enumVariables == 0) {
1805 enum0 = metaData['name']
1806 this[enum0] = userInput
1807 } else if (enumVariables == 1) {
1808 enum1 = metaData['name']
1809 this[enum1] = userInput
1810 } else if (enumVariables == 2) {
1811 enum2 = metaData['name']
1812 this[enum2] = userInput
1813 } else if (enumVariables == 3) {
1814 enum3 = metaData['name']
1815 this[enum3] = userInput
1816 } else if (enumVariables == 4) {
1817 enum4 = metaData['name']
1818 this[enum4] = userInput
1819 } else if (enumVariables == 5) {
1820 enum5 = metaData['name']
1821 this[enum5] = userInput
1824 if (enumVariables != 5)
1825 enumVariables=enumVariables+1
1830 settings.put(metaData['name'], metaData['name'])
1832 if (App == "App1") {
1833 extractedObjectsApp1.append("//Global variable for enum!\n")
1834 extractedObjectsApp1.append("def "+metaData['name']+" = \""+userInput+"\"\n")
1836 extractedObjectsApp2.append("//Global variable for enum!\n")
1837 extractedObjectsApp2.append("def "+metaData['name']+" = \""+userInput+"\"\n")
1841 //def userInput = Math.abs(new Random().nextInt() % 2)
1842 def userInput = true
1844 if (boolVariables == 0) {
1845 bool0 = metaData['name']
1846 this[bool0] = userInput
1847 } else if (boolVariables == 1) {
1848 bool1 = metaData['name']
1849 this[bool1] = userInput
1850 } else if (boolVariables == 2) {
1851 bool2 = metaData['name']
1852 this[bool2] = userInput
1853 } else if (boolVariables == 3) {
1854 bool3 = metaData['name']
1855 this[bool3] = userInput
1856 } else if (boolVariables == 4) {
1857 bool4 = metaData['name']
1858 this[bool4] = userInput
1859 } else if (boolVariables == 5) {
1860 bool5 = metaData['name']
1861 this[bool5] = userInput
1864 if (boolVariables != 5)
1865 boolVariables=boolVariables+1
1870 settings.put(metaData['name'], metaData['name'])
1872 if (App == "App1") {
1873 extractedObjectsApp1.append("//Global variable for boolean!\n")
1874 extractedObjectsApp1.append("def "+metaData['name']+" = \""+userInput+"\"\n")
1876 extractedObjectsApp2.append("//Global variable for boolean!\n")
1877 extractedObjectsApp2.append("def "+metaData['name']+" = \""+userInput+"\"\n")
1881 //def userInput = Math.abs(new Random().nextInt() % 2)
1882 def userInput = true
1884 if (boolVariables == 0) {
1885 bool0 = metaData['name']
1886 this[bool0] = userInput
1887 } else if (boolVariables == 1) {
1888 bool1 = metaData['name']
1889 this[bool1] = userInput
1890 } else if (boolVariables == 2) {
1891 bool2 = metaData['name']
1892 this[bool2] = userInput
1893 } else if (boolVariables == 3) {
1894 bool3 = metaData['name']
1895 this[bool3] = userInput
1896 } else if (boolVariables == 4) {
1897 bool4 = metaData['name']
1898 this[bool4] = userInput
1899 } else if (boolVariables == 5) {
1900 bool5 = metaData['name']
1901 this[bool5] = userInput
1904 if (boolVariables != 5)
1905 boolVariables=boolVariables+1
1910 settings.put(metaData['name'], metaData['name'])
1912 if (App == "App1") {
1913 extractedObjectsApp1.append("//Global variable for boolean!\n")
1914 extractedObjectsApp1.append("def "+metaData['name']+" = \""+userInput+"\"\n")
1916 extractedObjectsApp2.append("//Global variable for boolean!\n")
1917 extractedObjectsApp2.append("def "+metaData['name']+" = \""+userInput+"\"\n")
1921 def userInput = 9495379373
1923 if (phoneVariables == 0) {
1924 phone0 = metaData['name']
1925 this[phone0] = userInput
1926 } else if (phoneVariables == 1) {
1927 phone1 = metaData['name']
1928 this[phone1] = userInput
1929 } else if (phoneVariables == 2) {
1930 phone2 = metaData['name']
1931 this[phone2] = userInput
1932 } else if (phoneVariables == 3) {
1933 phone3 = metaData['name']
1934 this[phone3] = userInput
1935 } else if (phoneVariables == 4) {
1936 phone4 = metaData['name']
1937 this[phone4] = userInput
1938 } else if (phoneVariables == 5) {
1939 phone5 = metaData['name']
1940 this[phone5] = userInput
1943 if (phoneVariables != 5)
1944 phoneVariables=phoneVariables+1
1948 settings.put(metaData['name'], metaData['name'])
1950 if (App == "App1") {
1951 extractedObjectsApp1.append("//Global variable for phone!\n")
1952 extractedObjectsApp1.append("def "+metaData['name']+" = "+userInput+"\n")
1954 extractedObjectsApp2.append("//Global variable for phone!\n")
1955 extractedObjectsApp2.append("def "+metaData['name']+" = "+userInput+"\n")
1959 def userInput = "AJ"
1961 if (contactVariables == 0) {
1962 contact0 = metaData['name']
1963 this[contact0] = userInput
1964 } else if (contactVariables == 1) {
1965 contact1 = metaData['name']
1966 this[contact1] = userInput
1967 } else if (contactVariables == 2) {
1968 contact2 = metaData['name']
1969 this[contact2] = userInput
1970 } else if (contactVariables == 3) {
1971 contact3 = metaData['name']
1972 this[contact3] = userInput
1973 } else if (contactVariables == 4) {
1974 contact4 = metaData['name']
1975 this[contact4] = userInput
1976 } else if (contactVariables == 5) {
1977 contact5 = metaData['name']
1978 this[contact5] = userInput
1981 if (contactVariables != 5)
1982 contactVariables=contactVariables+1
1986 settings.put(metaData['name'], metaData['name'])
1988 if (App == "App1") {
1989 extractedObjectsApp1.append("//Global variable for contact!\n")
1990 extractedObjectsApp1.append("def "+metaData['name']+" = \""+userInput+"\"\n")
1992 extractedObjectsApp2.append("//Global variable for contact!\n")
1993 extractedObjectsApp2.append("def "+metaData['name']+" = \""+userInput+"\"\n")
2001 def label(LinkedHashMap metaData) {
2002 if (metaData.containsKey('title')) {
2003 println metaData['title']
2005 if (metaData.containsKey('options')) {
2006 println "Options: "+metaData['options']
2009 println("//IGNORE--ForMobileUse//")
2012 def mode(LinkedHashMap metaData) {
2013 if (metaData.containsKey('title')) {
2014 println metaData['title']
2016 if (metaData.containsKey('options')) {
2017 println "Options: "+metaData['options']
2020 println("//IGNORE--ForMobileUse//")
2023 def href(LinkedHashMap metaData) {
2024 println("//IGNORE--some data//")
2027 def href(LinkedHashMap metaData, String name) {
2028 println("//IGNORE--some data//")
2030 /////Input Methods/////
2033 /////MethodsForExtraction/////
2034 def definition(LinkedHashMap metaData) {
2035 println("///Just some information///")
2038 def preferences(Closure inputData) {
2039 find(inputData) //Run the closure to extract pages/sections/inputMethods
2040 settings.put("END", "END")
2041 if (App == "App1") {
2042 extractedObjectsConstructorApp1.append("//Global variable for settings!\n")
2043 extractedObjectsConstructorApp1.append("settings = [")
2047 extractedObjectsConstructorApp1.append("$key: $key, ")
2049 extractedObjectsConstructorApp1.append("END: \"END\"]\n")
2052 extractedObjectsConstructorApp2.append("//Global variable for settings!\n")
2053 extractedObjectsConstructorApp2.append("settings = [")
2057 extractedObjectsConstructorApp2.append("$key: $key, ")
2059 extractedObjectsConstructorApp2.append("END: \"END\"]\n")
2062 File GlobalVariablesBothApps = new File("GlobalVariables/GlobalVariablesBothApps.groovy")
2063 GlobalVariablesBothApps.write("")
2064 GlobalVariablesBothApps.append("//Creating Global variables for both apps\n")
2065 GlobalVariablesBothApps.append("@Field def sendEvent = {eventDataMap -> eventHandler(eventDataMap)}\n")
2066 GlobalVariablesBothApps.append("@Field def locationObject = new LocationVar(sendEvent)\n")
2067 GlobalVariablesBothApps.append("@Field def appObject = new Touched(sendEvent, 0)\n")
2069 globalObjects.withReader { reader ->
2070 while ((line = reader.readLine()) != null) {
2071 GlobalVariablesBothApps.append(line)
2072 GlobalVariablesBothApps.append("\n")
2078 def image(String data) {
2079 println("//IGNORE--some image//")
2082 def page(LinkedHashMap metaData, Closure inputData) {
2083 if (metaData.containsKey('name'))
2084 println(metaData['name'])
2085 if (metaData.containsKey('title'))
2086 println(metaData['title'])
2088 find(inputData) //Run the closure to extract sections/inputMethods
2091 def page(LinkedHashMap metaData) {
2092 def nameOfFunction = metaData['name']
2093 "$nameOfFunction"() //Call the page
2096 def dynamicPage(LinkedHashMap metaData, Closure inputData) {
2097 if (metaData.containsKey('name'))
2098 println(metaData['name'])
2099 if (metaData.containsKey('title'))
2100 println(metaData['title'])
2102 find(inputData) //Run the closure to extract sections/inputMethods
2105 def paragraph(String paragraphText) {
2106 println(paragraphText)
2109 def paragraph(LinkedHashMap metaData, String paragraphText) {
2110 println(paragraphText)
2113 def section(String title, Closure inputData) {
2115 find(inputData) //Run the closure to extract inputMethods
2118 def section(Closure inputData) {
2119 find(inputData) //Run the closure to extract inputMethods
2122 def section(LinkedHashMap metaData, Closure inputData) {
2123 find(inputData) //Run the closure to extract inputMethods
2126 def section(LinkedHashMap metaData, String data, Closure inputData) {
2130 def mappings(Closure inputData) {
2131 println("//IGNORE--some data//")
2133 /////MethodsForExtraction/////