root / hci / trunk / eneraptor-web-app / grails-app / services / com / eneraptor / hci / HciLogicCommService.groovy @ 63
History | View | Annotate | Download (1.38 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 |
fromLogic?.close() |
28 |
toLogic?.close() |
29 |
logicSocket?.close() |
30 |
return reply
|
31 |
} catch (IOException e) { |
32 |
reply['status'] = "error" |
33 |
reply['content'] += e.getMessage()
|
34 |
fromLogic?.close() |
35 |
toLogic?.close() |
36 |
logicSocket?.close() |
37 |
return reply
|
38 |
} |
39 |
|
40 |
reply['status'] = "ok" |
41 |
reply['content'] = "" |
42 |
toLogic.println(requestContent) |
43 |
List allLines = new ArrayList() |
44 |
allLines = fromLogic.readLines() |
45 |
allLines.each { |
46 |
reply['content'] += it.toString() + "\n" |
47 |
} |
48 |
|
49 |
fromLogic.close() |
50 |
toLogic.close() |
51 |
logicSocket.close() |
52 |
|
53 |
return reply
|
54 |
|
55 |
} |
56 |
|
57 |
} |