Merge "VES Heartbeat and Software Management Feature"
[oam/tr069-adapter.git] / ves-agent / src / main / java / org / commscope / tr069adapter / vesagent / mapper / MapperRequestSender.java
1 package org.commscope.tr069adapter.vesagent.mapper;\r
2 \r
3 import java.util.concurrent.Future;\r
4 \r
5 import org.commscope.tr069adapter.acs.common.DeviceRPCRequest;\r
6 import org.commscope.tr069adapter.acs.common.DeviceRPCResponse;\r
7 import org.commscope.tr069adapter.vesagent.VesConfiguration;\r
8 import org.commscope.tr069adapter.vesagent.async.WaitForNotifications;\r
9 import org.slf4j.Logger;\r
10 import org.slf4j.LoggerFactory;\r
11 import org.springframework.beans.factory.annotation.Autowired;\r
12 import org.springframework.scheduling.annotation.Async;\r
13 import org.springframework.scheduling.annotation.AsyncResult;\r
14 import org.springframework.stereotype.Component;\r
15 import org.springframework.web.client.RestTemplate;\r
16 \r
17 @Component\r
18 // @EnableAsync\r
19 public class MapperRequestSender {\r
20   private static final Logger LOG = LoggerFactory.getLogger(MapperRequestSender.class);\r
21   private RestTemplate restTemplate = new RestTemplate();\r
22 \r
23   @Autowired\r
24   VesConfiguration config;\r
25 \r
26   @Autowired\r
27   WaitForNotifications waitForNotifications;\r
28 \r
29   // public DeviceRPCResponse sendRequest(DeviceRPCRequest deviceRPCRequest) {\r
30   // return restTemplate.postForObject(config.getMapperPath(), deviceRPCRequest,\r
31   // DeviceRPCResponse.class);\r
32   // }\r
33 \r
34   @Async\r
35   public Future<DeviceRPCResponse> sendRequest(DeviceRPCRequest deviceRPCRequest) {\r
36     LOG.info("Sending device connectivity request to ACS for device {}",\r
37         deviceRPCRequest.getDeviceDetails().getDeviceId());\r
38     DeviceRPCResponse response = restTemplate.postForObject(config.getMapperPath(),\r
39         deviceRPCRequest, DeviceRPCResponse.class);\r
40 \r
41     waitForNotifications.notifyResult(response);\r
42 \r
43     return new AsyncResult<>(response);\r
44   }\r
45 \r
46 }\r