VES Heartbeat and Software Management Feature
[oam/tr069-adapter.git] / mapper / src / main / java / org / commscope / tr069adapter / mapper / ves / impl / VesRequestHandlerImpl.java
1 package org.commscope.tr069adapter.mapper.ves.impl;\r
2 \r
3 import org.commscope.tr069adapter.acs.common.DeviceRPCRequest;\r
4 import org.commscope.tr069adapter.acs.common.DeviceRPCResponse;\r
5 import org.commscope.tr069adapter.acs.common.OperationResponse;\r
6 import org.commscope.tr069adapter.mapper.MapperConfigProperties;\r
7 import org.commscope.tr069adapter.mapper.model.ErrorCodeDetails;\r
8 import org.commscope.tr069adapter.mapper.sync.SynchronizedRequestHandler;\r
9 import org.commscope.tr069adapter.mapper.util.ErrorCodeUtil;\r
10 import org.commscope.tr069adapter.mapper.util.MapperConstants;\r
11 import org.commscope.tr069adapter.mapper.ves.VesRequestHandler;\r
12 import org.slf4j.Logger;\r
13 import org.slf4j.LoggerFactory;\r
14 import org.springframework.beans.factory.annotation.Autowired;\r
15 import org.springframework.stereotype.Component;\r
16 \r
17 @Component\r
18 public class VesRequestHandlerImpl implements VesRequestHandler {\r
19 \r
20   private static final Logger LOG = LoggerFactory.getLogger(VesRequestHandlerImpl.class);\r
21 \r
22   @Autowired\r
23   SynchronizedRequestHandler syncHandler;\r
24 \r
25   @Autowired\r
26   MapperConfigProperties config;\r
27 \r
28   @Autowired\r
29   private ErrorCodeUtil errorCodeUtil;\r
30 \r
31 \r
32   @Override\r
33   public DeviceRPCResponse handleDeviceConnectivityRequest(DeviceRPCRequest deviceRPCRequest) {\r
34     DeviceRPCResponse deviceRPCResponse = syncHandler.performDeviceOperation(deviceRPCRequest);\r
35     if (null == deviceRPCResponse) {\r
36       return getTimeOutResponse(deviceRPCRequest);\r
37     }\r
38 \r
39     return deviceRPCResponse;\r
40   }\r
41 \r
42   private DeviceRPCResponse getTimeOutResponse(DeviceRPCRequest deviceRPCRequest) {\r
43     DeviceRPCResponse timeOutErrorResponse = new DeviceRPCResponse();\r
44 \r
45     timeOutErrorResponse.setDeviceDetails(deviceRPCRequest.getDeviceDetails());\r
46 \r
47     OperationResponse operationResponse = new OperationResponse();\r
48     operationResponse.setStatus(MapperConstants.DEVICE_REACHABILITY_OP_FAILURE_CODE);// device\r
49                                                                                      // reachable...change\r
50                                                                                      // value 1 to\r
51                                                                                      // some\r
52                                                                                      // constant or\r
53                                                                                      // enum\r
54     operationResponse.setOperationCode(deviceRPCRequest.getOpDetails().getOpCode());\r
55 \r
56     timeOutErrorResponse.setOperationResponse(operationResponse);\r
57     timeOutErrorResponse.setFaultKey(MapperConstants.DEVICE_TIMEOUT_STATUS_CODE);\r
58     ErrorCodeDetails errorCodeDetails =\r
59         errorCodeUtil.getErrorCodeMetaData(MapperConstants.DEVICE_TIMEOUT_STATUS_CODE);\r
60     if (null != errorCodeDetails) {\r
61       timeOutErrorResponse.setFaultString(errorCodeDetails.getErrorMessage());\r
62     } else {\r
63       timeOutErrorResponse.setFaultString(MapperConstants.DEFAULT_OP_TIMEOUT_MSG);\r
64     }\r
65     return timeOutErrorResponse;\r
66   }\r
67 }\r