Statistics
| Revision:

root / hci / trunk / eneraptor-web-app / grails-app / services / com / eneraptor / hci / HciLogicCommService.groovy @ 6

History | View | Annotate | Download (1.18 KB)

1
package com.eneraptor.hci
2

    
3
class HciLogicCommService {
4

    
5
    static transactional = true
6

    
7
    Map getReplyToRequest(String requestContent) {
8
                
9
                Map reply = new HashMap()
10
                
11
                Socket logicSocket = null;
12
                PrintWriter toLogic = null;
13
                BufferedReader fromLogic = null;
14
                
15
                def ipAddress = InternalConfig.findByConfigId("logic-ip")['configVal']
16
                def portNum = InternalConfig.findByConfigId("logic-port")['configVal']
17

    
18
                try {
19
                        logicSocket = new Socket(ipAddress, portNum as int);
20
                        toLogic = new PrintWriter(logicSocket.getOutputStream(), true);
21
                        fromLogic = new BufferedReader(new InputStreamReader(
22
                                                                                logicSocket.getInputStream()));
23
                } catch (UnknownHostException e) {
24
                        reply['status'] = "error"
25
                        reply['content'] = "Unknown host: "
26
                        reply['content'] += e.getMessage()
27
                        return reply
28
                } catch (IOException e) {
29
                        reply['status'] = "error"
30
                        reply['content'] += e.getMessage()
31
                        return reply
32
                }
33
                
34
                reply['status'] = "ok"
35
                reply['content'] = ""
36
                toLogic.println(requestContent)
37
                List allLines = new ArrayList()
38
                allLines = fromLogic.readLines()
39
                allLines.each {
40
                        reply['content'] += it.toString() + "\n"
41
                }
42
                
43
                return reply
44

    
45
    }
46
        
47
}