b3206674727cf246fb83ebdcd30532ae01db586c
[oam/tr069-adapter.git] / mapper / src / main / java / org / commscope / tr069adapter / mapper / ves / impl / VesRequestHandlerImpl.java
1 /*
2  * ============LICENSE_START========================================================================
3  * ONAP : tr-069-adapter
4  * =================================================================================================
5  * Copyright (C) 2020 CommScope Inc Intellectual Property.
6  * =================================================================================================
7  * This tr-069-adapter software file is distributed by CommScope Inc under the Apache License,
8  * Version 2.0 (the "License"); you may not use this file except in compliance with the License. You
9  * may obtain a copy of the License at
10  *
11  * http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
14  * either express or implied. See the License for the specific language governing permissions and
15  * limitations under the License.
16  * ===============LICENSE_END=======================================================================
17  */
18
19 package org.commscope.tr069adapter.mapper.ves.impl;\r
20 \r
21 import org.commscope.tr069adapter.acs.common.DeviceRPCRequest;\r
22 import org.commscope.tr069adapter.acs.common.DeviceRPCResponse;\r
23 import org.commscope.tr069adapter.acs.common.OperationResponse;\r
24 import org.commscope.tr069adapter.mapper.MapperConfigProperties;\r
25 import org.commscope.tr069adapter.mapper.model.ErrorCodeDetails;\r
26 import org.commscope.tr069adapter.mapper.sync.SynchronizedRequestHandler;\r
27 import org.commscope.tr069adapter.mapper.util.ErrorCodeUtil;\r
28 import org.commscope.tr069adapter.mapper.util.MapperConstants;\r
29 import org.commscope.tr069adapter.mapper.ves.VesRequestHandler;\r
30 import org.slf4j.Logger;\r
31 import org.slf4j.LoggerFactory;\r
32 import org.springframework.beans.factory.annotation.Autowired;\r
33 import org.springframework.stereotype.Component;\r
34 \r
35 @Component\r
36 public class VesRequestHandlerImpl implements VesRequestHandler {\r
37 \r
38   private static final Logger LOG = LoggerFactory.getLogger(VesRequestHandlerImpl.class);\r
39 \r
40   @Autowired\r
41   SynchronizedRequestHandler syncHandler;\r
42 \r
43   @Autowired\r
44   MapperConfigProperties config;\r
45 \r
46   @Autowired\r
47   private ErrorCodeUtil errorCodeUtil;\r
48 \r
49 \r
50   @Override\r
51   public DeviceRPCResponse handleDeviceConnectivityRequest(DeviceRPCRequest deviceRPCRequest) {\r
52     DeviceRPCResponse deviceRPCResponse = syncHandler.performDeviceOperation(deviceRPCRequest);\r
53     if (null == deviceRPCResponse) {\r
54       return getTimeOutResponse(deviceRPCRequest);\r
55     }\r
56 \r
57     return deviceRPCResponse;\r
58   }\r
59 \r
60   private DeviceRPCResponse getTimeOutResponse(DeviceRPCRequest deviceRPCRequest) {\r
61     DeviceRPCResponse timeOutErrorResponse = new DeviceRPCResponse();\r
62 \r
63     timeOutErrorResponse.setDeviceDetails(deviceRPCRequest.getDeviceDetails());\r
64 \r
65     OperationResponse operationResponse = new OperationResponse();\r
66     operationResponse.setStatus(MapperConstants.DEVICE_REACHABILITY_OP_FAILURE_CODE);// device\r
67                                                                                      // reachable...change\r
68                                                                                      // value 1 to\r
69                                                                                      // some\r
70                                                                                      // constant or\r
71                                                                                      // enum\r
72     operationResponse.setOperationCode(deviceRPCRequest.getOpDetails().getOpCode());\r
73 \r
74     timeOutErrorResponse.setOperationResponse(operationResponse);\r
75     timeOutErrorResponse.setFaultKey(MapperConstants.DEVICE_TIMEOUT_STATUS_CODE);\r
76     ErrorCodeDetails errorCodeDetails =\r
77         errorCodeUtil.getErrorCodeMetaData(MapperConstants.DEVICE_TIMEOUT_STATUS_CODE);\r
78     if (null != errorCodeDetails) {\r
79       timeOutErrorResponse.setFaultString(errorCodeDetails.getErrorMessage());\r
80     } else {\r
81       timeOutErrorResponse.setFaultString(MapperConstants.DEFAULT_OP_TIMEOUT_MSG);\r
82     }\r
83     return timeOutErrorResponse;\r
84   }\r
85 }\r