-/*\r
- * ============LICENSE_START========================================================================\r
- * ONAP : tr-069-adapter\r
- * =================================================================================================\r
- * Copyright (C) 2020 CommScope Inc Intellectual Property.\r
- * =================================================================================================\r
- * This tr-069-adapter software file is distributed by CommScope Inc under the Apache License,\r
- * Version 2.0 (the "License"); you may not use this file except in compliance with the License. You\r
- * may obtain a copy of the License at\r
- *\r
- * http://www.apache.org/licenses/LICENSE-2.0\r
- *\r
- * This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,\r
- * either express or implied. See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- * ===============LICENSE_END=======================================================================\r
- */\r
-\r
-package org.commscope.tr069adapter.acs.requestprocessor.helper;\r
-\r
-import static org.commscope.tr069adapter.acs.common.utils.AcsConstants.OPERATION_EXPIRATION_TIMEOUT;\r
-\r
-import java.util.ArrayList;\r
-\r
-import org.commscope.tr069adapter.acs.common.DeviceDetails;\r
-import org.commscope.tr069adapter.acs.common.DeviceRPCRequest;\r
-import org.commscope.tr069adapter.acs.common.DeviceRPCResponse;\r
-import org.commscope.tr069adapter.acs.common.OperationResponse;\r
-import org.commscope.tr069adapter.acs.common.ParameterDTO;\r
-import org.commscope.tr069adapter.acs.common.dto.CustomOperationCode;\r
-import org.commscope.tr069adapter.acs.common.dto.TR069OperationCode;\r
-import org.commscope.tr069adapter.acs.common.faults.AcsFaultCode;\r
-import org.commscope.tr069adapter.acs.common.response.AddObjectResponse;\r
-import org.commscope.tr069adapter.acs.common.response.DeleteObjectResponse;\r
-import org.commscope.tr069adapter.acs.common.response.DownloadResponse;\r
-import org.commscope.tr069adapter.acs.common.response.FactoryResetResponse;\r
-import org.commscope.tr069adapter.acs.common.response.GetParameterAttributeResponse;\r
-import org.commscope.tr069adapter.acs.common.response.GetParameterValueResponse;\r
-import org.commscope.tr069adapter.acs.common.response.RebootResponse;\r
-import org.commscope.tr069adapter.acs.common.response.SetParameterAttributeResponse;\r
-import org.commscope.tr069adapter.acs.common.response.SetParameterValueResponse;\r
-import org.slf4j.Logger;\r
-import org.slf4j.LoggerFactory;\r
-import org.springframework.stereotype.Component;\r
-\r
-@Component\r
-public class TR069RequestProcessEngineUtility {\r
-\r
- private static final Logger logger =\r
- LoggerFactory.getLogger(TR069RequestProcessEngineUtility.class);\r
-\r
- /**\r
- * Builds a operation aborted operation request\r
- * \r
- * @param deviceDetails\r
- * @param nbiDeviceOperationrequest\r
- * @param acsFaultCode\r
- * @return\r
- */\r
- public DeviceRPCResponse buildAbortedOperationresult(DeviceDetails deviceDetails,\r
- DeviceRPCRequest nbiDeviceOperationrequest, AcsFaultCode acsFaultCode) {\r
- Long operationId = nbiDeviceOperationrequest.getOperationId();\r
-\r
- TR069OperationCode operationCode = null;\r
- if (nbiDeviceOperationrequest.getOpDetails().getOpCode() instanceof CustomOperationCode) {\r
- operationCode = TR069OperationCode.GET_PARAMETER_VALUES;\r
- } else {\r
- operationCode = (TR069OperationCode) nbiDeviceOperationrequest.getOpDetails().getOpCode();\r
- }\r
-\r
- return buildOperationresult(deviceDetails, operationId, operationCode, acsFaultCode);\r
-\r
- }\r
-\r
- /**\r
- * @param deviceDetails\r
- * @param operationId\r
- * @param operationCode\r
- * @return\r
- */\r
- public DeviceRPCResponse buildTimedOutOperationResult(DeviceDetails deviceDetails,\r
- DeviceRPCRequest deviceRPCRequest) {\r
- Long operationId = deviceRPCRequest.getOperationId();\r
-\r
- TR069OperationCode operationCode = null;\r
- if (deviceRPCRequest.getOpDetails().getOpCode() instanceof CustomOperationCode) {\r
- CustomOperationCode customOperationCode =\r
- (CustomOperationCode) deviceRPCRequest.getOpDetails().getOpCode();\r
- if (CustomOperationCode.CONFIGURE_MULTIPLE_OBJECTS.equals(customOperationCode)) {\r
- operationCode = TR069OperationCode.GET_PARAMETER_VALUES;\r
- } else if (CustomOperationCode.CONNECT.equals(customOperationCode)) {\r
- operationCode = TR069OperationCode.INITIATE_CR;\r
- }\r
- } else {\r
- operationCode = (TR069OperationCode) deviceRPCRequest.getOpDetails().getOpCode();\r
- }\r
- DeviceRPCResponse deviceRPCResponse = buildOperationresult(deviceDetails, operationId,\r
- operationCode, AcsFaultCode.FAULT_CODE_8003);\r
- OperationResponse operationResponse = deviceRPCResponse.getOperationResponse();\r
- operationResponse.setStatus(OPERATION_EXPIRATION_TIMEOUT);\r
- return deviceRPCResponse;\r
- }\r
-\r
- /**\r
- * Builds a operation aborted operation request\r
- * \r
- * @param deviceDetails\r
- * @param nbiDeviceOperationrequest\r
- * @param acsFaultCode\r
- * @return\r
- */\r
- private DeviceRPCResponse buildOperationresult(DeviceDetails deviceDetails, Long operationId,\r
- TR069OperationCode operationCode, AcsFaultCode acsFaultCode) {\r
- DeviceRPCResponse deviceRPCResponse = new DeviceRPCResponse();\r
- deviceRPCResponse.setDeviceDetails(deviceDetails);\r
- deviceRPCResponse.setOperationId(operationId);\r
-\r
- deviceRPCResponse.setFaultKey(acsFaultCode.getFaultKey());\r
- deviceRPCResponse.setFaultString(acsFaultCode.getFaultString());\r
-\r
- OperationResponse opResponse = null;\r
- switch (operationCode) {\r
- case GET_RPC_METHODS:\r
- case GET_PARAMETER_NAMES:\r
- break;\r
- case SET_PARAMETER_VALUES:\r
- opResponse = new SetParameterValueResponse();\r
- opResponse.setParameterDTOs(new ArrayList<ParameterDTO>());\r
- break;\r
- case GET_PARAMETER_VALUES:\r
- case INITIATE_CR:\r
- opResponse = new GetParameterValueResponse();\r
- opResponse.setParameterDTOs(new ArrayList<ParameterDTO>());\r
- break;\r
- case SET_PARAMETER_ATTRIBUTES:\r
- opResponse = new SetParameterAttributeResponse();\r
- opResponse.setParameterDTOs(new ArrayList<ParameterDTO>());\r
- break;\r
- case GET_PARAMETER_ATTRIBUTES:\r
- opResponse = new GetParameterAttributeResponse();\r
- opResponse.setParameterDTOs(new ArrayList<ParameterDTO>());\r
- break;\r
- case ADD_OBJECT:\r
- opResponse = new AddObjectResponse();\r
- opResponse.setParameterDTOs(new ArrayList<ParameterDTO>());\r
- break;\r
- case DELETE_OBJECT:\r
- opResponse = new DeleteObjectResponse();\r
- opResponse.setParameterDTOs(new ArrayList<ParameterDTO>());\r
- break;\r
- case REBOOT:\r
- opResponse = new RebootResponse();\r
- break;\r
- case DOWNLOAD:\r
- opResponse = new DownloadResponse();\r
- break;\r
- case SCHEDULE_DOWNLOAD:\r
- case UPLOAD:\r
- case FACTORY_RESET:\r
- opResponse = new FactoryResetResponse();\r
- break;\r
- default:\r
- String operationCodeName = operationCode.name();\r
- logger.debug("An unsupported operation: {}, hence returning without response object",\r
- operationCodeName);\r
- break;\r
- }\r
- deviceRPCResponse.setOperationResponse(opResponse);\r
-\r
- return deviceRPCResponse;\r
- }\r
-\r
-}\r
+/*
+ * ============LICENSE_START========================================================================
+ * ONAP : tr-069-adapter
+ * =================================================================================================
+ * Copyright (C) 2020 CommScope Inc Intellectual Property.
+ * =================================================================================================
+ * This tr-069-adapter software file is distributed by CommScope Inc under the Apache License,
+ * Version 2.0 (the "License"); you may not use this file except in compliance with the License. You
+ * may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+ * either express or implied. See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ===============LICENSE_END=======================================================================
+ */
+
+package org.commscope.tr069adapter.acs.requestprocessor.helper;
+
+import static org.commscope.tr069adapter.acs.common.utils.AcsConstants.OPERATION_EXPIRATION_TIMEOUT;
+
+import java.util.ArrayList;
+
+import org.commscope.tr069adapter.acs.common.DeviceDetails;
+import org.commscope.tr069adapter.acs.common.DeviceRPCRequest;
+import org.commscope.tr069adapter.acs.common.DeviceRPCResponse;
+import org.commscope.tr069adapter.acs.common.OperationResponse;
+import org.commscope.tr069adapter.acs.common.dto.CustomOperationCode;
+import org.commscope.tr069adapter.acs.common.dto.TR069OperationCode;
+import org.commscope.tr069adapter.acs.common.faults.AcsFaultCode;
+import org.commscope.tr069adapter.acs.common.response.AddObjectResponse;
+import org.commscope.tr069adapter.acs.common.response.DeleteObjectResponse;
+import org.commscope.tr069adapter.acs.common.response.DownloadResponse;
+import org.commscope.tr069adapter.acs.common.response.FactoryResetResponse;
+import org.commscope.tr069adapter.acs.common.response.GetParameterAttributeResponse;
+import org.commscope.tr069adapter.acs.common.response.GetParameterValueResponse;
+import org.commscope.tr069adapter.acs.common.response.RebootResponse;
+import org.commscope.tr069adapter.acs.common.response.SetParameterAttributeResponse;
+import org.commscope.tr069adapter.acs.common.response.SetParameterValueResponse;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Component;
+
+@Component
+public class TR069RequestProcessEngineUtility {
+
+ private static final Logger logger =
+ LoggerFactory.getLogger(TR069RequestProcessEngineUtility.class);
+
+ /**
+ * Builds a operation aborted operation request
+ *
+ * @param deviceDetails
+ * @param nbiDeviceOperationrequest
+ * @param acsFaultCode
+ * @return
+ */
+ public DeviceRPCResponse buildAbortedOperationresult(DeviceDetails deviceDetails,
+ DeviceRPCRequest nbiDeviceOperationrequest, AcsFaultCode acsFaultCode) {
+ Long operationId = nbiDeviceOperationrequest.getOperationId();
+
+ TR069OperationCode operationCode = null;
+ if (nbiDeviceOperationrequest.getOpDetails().getOpCode() instanceof CustomOperationCode) {
+ operationCode = TR069OperationCode.GET_PARAMETER_VALUES;
+ } else {
+ operationCode = (TR069OperationCode) nbiDeviceOperationrequest.getOpDetails().getOpCode();
+ }
+
+ return buildOperationresult(deviceDetails, operationId, operationCode, acsFaultCode);
+
+ }
+
+ /**
+ * @param deviceDetails
+ * @param operationId
+ * @param operationCode
+ * @return
+ */
+ public DeviceRPCResponse buildTimedOutOperationResult(DeviceDetails deviceDetails,
+ DeviceRPCRequest deviceRPCRequest) {
+ Long operationId = deviceRPCRequest.getOperationId();
+
+ TR069OperationCode operationCode = null;
+ if (deviceRPCRequest.getOpDetails().getOpCode() instanceof CustomOperationCode) {
+ CustomOperationCode customOperationCode =
+ (CustomOperationCode) deviceRPCRequest.getOpDetails().getOpCode();
+ if (CustomOperationCode.CONFIGURE_MULTIPLE_OBJECTS.equals(customOperationCode)) {
+ operationCode = TR069OperationCode.GET_PARAMETER_VALUES;
+ } else if (CustomOperationCode.CONNECT.equals(customOperationCode)) {
+ operationCode = TR069OperationCode.INITIATE_CR;
+ }
+ } else {
+ operationCode = (TR069OperationCode) deviceRPCRequest.getOpDetails().getOpCode();
+ }
+ DeviceRPCResponse deviceRPCResponse = buildOperationresult(deviceDetails, operationId,
+ operationCode, AcsFaultCode.FAULT_CODE_8003);
+ OperationResponse operationResponse = deviceRPCResponse.getOperationResponse();
+ operationResponse.setStatus(OPERATION_EXPIRATION_TIMEOUT);
+ return deviceRPCResponse;
+ }
+
+ /**
+ * Builds a operation aborted operation request
+ *
+ * @param deviceDetails
+ * @param nbiDeviceOperationrequest
+ * @param acsFaultCode
+ * @return
+ */
+ private DeviceRPCResponse buildOperationresult(DeviceDetails deviceDetails, Long operationId,
+ TR069OperationCode operationCode, AcsFaultCode acsFaultCode) {
+ DeviceRPCResponse deviceRPCResponse = new DeviceRPCResponse();
+ deviceRPCResponse.setDeviceDetails(deviceDetails);
+ deviceRPCResponse.setOperationId(operationId);
+
+ deviceRPCResponse.setFaultKey(acsFaultCode.getFaultKey());
+ deviceRPCResponse.setFaultString(acsFaultCode.getFaultString());
+
+ OperationResponse opResponse = null;
+ switch (operationCode) {
+ case GET_RPC_METHODS:
+ case GET_PARAMETER_NAMES:
+ break;
+ case SET_PARAMETER_VALUES:
+ opResponse = new SetParameterValueResponse();
+ opResponse.setParameterDTOs(new ArrayList<>());
+ break;
+ case GET_PARAMETER_VALUES:
+ case INITIATE_CR:
+ opResponse = new GetParameterValueResponse();
+ opResponse.setParameterDTOs(new ArrayList<>());
+ break;
+ case SET_PARAMETER_ATTRIBUTES:
+ opResponse = new SetParameterAttributeResponse();
+ opResponse.setParameterDTOs(new ArrayList<>());
+ break;
+ case GET_PARAMETER_ATTRIBUTES:
+ opResponse = new GetParameterAttributeResponse();
+ opResponse.setParameterDTOs(new ArrayList<>());
+ break;
+ case ADD_OBJECT:
+ opResponse = new AddObjectResponse();
+ opResponse.setParameterDTOs(new ArrayList<>());
+ break;
+ case DELETE_OBJECT:
+ opResponse = new DeleteObjectResponse();
+ opResponse.setParameterDTOs(new ArrayList<>());
+ break;
+ case REBOOT:
+ opResponse = new RebootResponse();
+ break;
+ case DOWNLOAD:
+ opResponse = new DownloadResponse();
+ break;
+ case SCHEDULE_DOWNLOAD:
+ case UPLOAD:
+ case FACTORY_RESET:
+ opResponse = new FactoryResetResponse();
+ break;
+ default:
+ String operationCodeName = operationCode.name();
+ logger.debug("An unsupported operation: {}, hence returning without response object",
+ operationCodeName);
+ break;
+ }
+ deviceRPCResponse.setOperationResponse(opResponse);
+
+ return deviceRPCResponse;
+ }
+
+}