Statistics
| Revision:

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

History | View | Annotate | Download (1.26 KB)

1 6 alexbesir
package com.eneraptor.hci
2
3
class HciLogicCommService {
4
5
    static transactional = true
6
7 66 alexbesir
    Map getReplyToRequest(String requestContent,String ipAddress,int portNum) {
8 6 alexbesir
9
                Map reply = new HashMap()
10
11
                Socket logicSocket = null;
12
                PrintWriter toLogic = null;
13
                BufferedReader fromLogic = null;
14
15
                try {
16 66 alexbesir
                        logicSocket = new Socket(ipAddress, portNum);
17 6 alexbesir
                        toLogic = new PrintWriter(logicSocket.getOutputStream(), true);
18
                        fromLogic = new BufferedReader(new InputStreamReader(
19
                                                                                logicSocket.getInputStream()));
20
                } catch (UnknownHostException e) {
21
                        reply['status'] = "error"
22
                        reply['content'] = "Unknown host: "
23
                        reply['content'] += e.getMessage()
24 63 alexbesir
                        fromLogic?.close()
25
                        toLogic?.close()
26
                        logicSocket?.close()
27 6 alexbesir
                        return reply
28
                } catch (IOException e) {
29
                        reply['status'] = "error"
30
                        reply['content'] += e.getMessage()
31 63 alexbesir
                        fromLogic?.close()
32
                        toLogic?.close()
33
                        logicSocket?.close()
34 6 alexbesir
                        return reply
35
                }
36
37
                reply['status'] = "ok"
38
                reply['content'] = ""
39
                toLogic.println(requestContent)
40
                List allLines = new ArrayList()
41
                allLines = fromLogic.readLines()
42
                allLines.each {
43
                        reply['content'] += it.toString() + "\n"
44
                }
45
46 63 alexbesir
                fromLogic.close()
47
                toLogic.close()
48
                logicSocket.close()
49
50 6 alexbesir
                return reply
51
52
    }
53
54
}