root / hci / trunk / eneraptor-web-app / grails-app / controllers / com / eneraptor / hci / SysStateController.groovy @ 6
History | View | Annotate | Download (3.4 KB)
1 | 3 | alexbesir | package com.eneraptor.hci
|
---|---|---|---|
2 | |||
3 | class SysStateController { |
||
4 | 6 | alexbesir | |
5 | def reportService
|
||
6 | def hciLogicCommService
|
||
7 | 3 | alexbesir | |
8 | 6 | alexbesir | def main = {
|
9 | |||
10 | List inDevices = DeviceInfo.findAllByInputDevice(true, [sort:'friendlyName', order:'asc']) |
||
11 | List inDevicesData = new ArrayList() |
||
12 | inDevices.each { |
||
13 | Map inDeviceDataEntry = new HashMap() |
||
14 | inDeviceDataEntry['friendlyName'] = it.friendlyName |
||
15 | inDeviceDataEntry['icon'] = it.iconPath |
||
16 | inDeviceDataEntry['loggedData'] = LoggedData.findByDeviceId(it.deviceId, [sort:'dateRecieved', order:'desc']) |
||
17 | inDevicesData << inDeviceDataEntry |
||
18 | } |
||
19 | |||
20 | List outDevices = DeviceInfo.findAllByOutputDevice(true, [sort:'friendlyName', order:'asc']) |
||
21 | List outDevicesData = new ArrayList() |
||
22 | outDevices.each { |
||
23 | Map outDeviceDataEntry = new HashMap() |
||
24 | outDeviceDataEntry['friendlyName'] = it.friendlyName |
||
25 | outDeviceDataEntry['icon'] = it.iconPath |
||
26 | outDeviceDataEntry['loggedData'] = LoggedData.findByDeviceId(it.deviceId, [sort:'dateRecieved', order:'desc']) |
||
27 | outDevicesData << outDeviceDataEntry |
||
28 | } |
||
29 | |||
30 | [inDevicesData: inDevicesData, outDevicesData: outDevicesData] |
||
31 | |||
32 | } |
||
33 | |||
34 | def measure = {
|
||
35 | |||
36 | List inDevices = DeviceInfo.findAllByInputDevice(true, [sort:'friendlyName', order:'asc']) |
||
37 | List inDevicesData = new ArrayList() |
||
38 | inDevices.each { |
||
39 | Map inDeviceDataEntry = new HashMap() |
||
40 | inDeviceDataEntry['deviceId'] = it.deviceId |
||
41 | inDeviceDataEntry['friendlyName'] = it.friendlyName |
||
42 | inDeviceDataEntry['icon'] = it.iconPath |
||
43 | inDeviceDataEntry['loggedData'] = LoggedData.findByDeviceId(it.deviceId, [sort:'dateRecieved', order:'desc']) |
||
44 | inDevicesData << inDeviceDataEntry |
||
45 | } |
||
46 | |||
47 | [inDevicesData: inDevicesData]
|
||
48 | |||
49 | } |
||
50 | |||
51 | def measureUpdate = {
|
||
52 | |||
53 | List devices = new ArrayList() |
||
54 | |||
55 | DeviceInfo.findAllByInputDevice(true).each {
|
||
56 | if(params[it.deviceId] == "on") |
||
57 | devices << it.deviceId
|
||
58 | } |
||
59 | |||
60 | def output = ""; |
||
61 | |||
62 | if(devices.size == 0) { |
||
63 | flash['errors'] = "<p>No device was selected. At least one device must be selected.</p>" |
||
64 | redirect(action: 'measure') |
||
65 | return false |
||
66 | } |
||
67 | |||
68 | output += reportService.println("Trying to update measurements manually for devices")
|
||
69 | devices.each { |
||
70 | output += reportService.println(" - " + it) |
||
71 | } |
||
72 | output += reportService.println("Generating request xml")
|
||
73 | |||
74 | // generate request xml
|
||
75 | def reqXML = "<todo />" |
||
76 | |||
77 | output += reportService.println("Request xml generated")
|
||
78 | output += reportService.println("Sending request")
|
||
79 | |||
80 | // send request
|
||
81 | Map rspXML = hciLogicCommService.getReplyToRequest(reqXML)
|
||
82 | |||
83 | if(rspXML['status'] == "error") { |
||
84 | output += reportService.println("<span style='color:red;'>Error: " + rspXML['content'] + "</span>") |
||
85 | } else {
|
||
86 | output += reportService.println("<span style='color:red;'>Error: implementation missing - TODO.</span>")
|
||
87 | } |
||
88 | |||
89 | [errorExplanation: output]
|
||
90 | |||
91 | } |
||
92 | |||
93 | def actions = {
|
||
94 | |||
95 | List outDevices = DeviceInfo.findAllByOutputDevice(true, [sort:'friendlyName', order:'asc']) |
||
96 | List outDevicesData = new ArrayList() |
||
97 | outDevices.each { |
||
98 | Map outDeviceDataEntry = new HashMap() |
||
99 | outDeviceDataEntry['deviceId'] = it.deviceId |
||
100 | outDeviceDataEntry['friendlyName'] = it.friendlyName |
||
101 | outDeviceDataEntry['icon'] = it.iconPath |
||
102 | outDeviceDataEntry['loggedData'] = LoggedData.findByDeviceId(it.deviceId, [sort:'dateRecieved', order:'desc']) |
||
103 | outDevicesData << outDeviceDataEntry |
||
104 | } |
||
105 | |||
106 | [outDevicesData: outDevicesData]
|
||
107 | |||
108 | } |
||
109 | |||
110 | 3 | alexbesir | } |