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 |
} |