-/*\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.cpe.builder;\r
-\r
-import java.util.ArrayList;\r
-import java.util.List;\r
-\r
-import org.commscope.tr069adapter.acs.common.DeviceRPCRequest;\r
-import org.commscope.tr069adapter.acs.common.OperationCode;\r
-import org.commscope.tr069adapter.acs.common.OperationDetails;\r
-import org.commscope.tr069adapter.acs.common.ParameterDTO;\r
-import org.commscope.tr069adapter.acs.common.dto.ParameterAttributeDTO;\r
-import org.commscope.tr069adapter.acs.common.dto.TR069OperationCode;\r
-import org.commscope.tr069adapter.acs.cpe.TR069RPC;\r
-import org.commscope.tr069adapter.acs.cpe.rpc.AddObject;\r
-import org.commscope.tr069adapter.acs.cpe.rpc.DeleteObject;\r
-import org.commscope.tr069adapter.acs.cpe.rpc.Download;\r
-import org.commscope.tr069adapter.acs.cpe.rpc.FactoryReset;\r
-import org.commscope.tr069adapter.acs.cpe.rpc.GetParameterAttributes;\r
-import org.commscope.tr069adapter.acs.cpe.rpc.GetParameterValues;\r
-import org.commscope.tr069adapter.acs.cpe.rpc.Reboot;\r
-import org.commscope.tr069adapter.acs.cpe.rpc.SetParameterAttributes;\r
-import org.commscope.tr069adapter.acs.cpe.rpc.SetParameterValues;\r
-import org.springframework.stereotype.Component;\r
-\r
-@Component\r
-public class DeviceRPCBuilder {\r
-\r
- /**\r
- * @param deviceRPCRequest\r
- * @return\r
- */\r
- public TR069RPC constructDeviceRPC(DeviceRPCRequest deviceRPCRequest) {\r
- TR069RPC message = null;\r
-\r
- OperationDetails opDetails = deviceRPCRequest.getOpDetails();\r
- if (null == opDetails || null == opDetails.getOpCode()) {\r
- return null;\r
- }\r
-\r
- OperationCode opCode = opDetails.getOpCode();\r
- if (opCode.equals(TR069OperationCode.SET_PARAMETER_VALUES)) {\r
- message = buildSetParameterValues(opDetails);\r
- } else if (opCode.equals(TR069OperationCode.GET_PARAMETER_VALUES)) {\r
- message = buildGetParameterValues(opDetails);\r
- } else if (opCode.equals(TR069OperationCode.SET_PARAMETER_ATTRIBUTES)) {\r
- message = buildSetParameterAttributes(opDetails);\r
- } else if (opCode.equals(TR069OperationCode.GET_PARAMETER_ATTRIBUTES)) {\r
- message = buildGetParameterAttributes(opDetails);\r
- } else if (opCode.equals(TR069OperationCode.ADD_OBJECT)) {\r
- List<ParameterDTO> poarameterDTOs = opDetails.getParmeters();\r
- for (ParameterDTO param : poarameterDTOs) {\r
- AddObject addObject = new AddObject(param.getParamName(), String.valueOf(hashCode()));\r
- message = addObject;\r
- }\r
- } else if (opCode.equals(TR069OperationCode.DELETE_OBJECT)) {\r
- List<ParameterDTO> poarameterDTOs = opDetails.getParmeters();\r
- for (ParameterDTO param : poarameterDTOs) {\r
- DeleteObject deleteObject =\r
- new DeleteObject(param.getParamName(), String.valueOf(hashCode()));\r
- message = deleteObject;\r
- }\r
- } else if (opCode.equals(TR069OperationCode.DOWNLOAD)) {\r
- String deviceId = deviceRPCRequest.getDeviceDetails().getDeviceId();\r
- List<ParameterDTO> poarameterDTOs = opDetails.getParmeters();\r
- message = populateDownloadParams(deviceId, poarameterDTOs);\r
- } else if (opCode.equals(TR069OperationCode.FACTORY_RESET)) {\r
- message = new FactoryReset();\r
- } else if (opCode.equals(TR069OperationCode.REBOOT)) {\r
- message = new Reboot();\r
- }\r
-\r
- return message;\r
- }\r
-\r
- /**\r
- * @param poarameterDTOs\r
- * @return\r
- */\r
- private Download populateDownloadParams(String deviceId, List<ParameterDTO> poarameterDTOs) {\r
- Download download = new Download();\r
- for (ParameterDTO param : poarameterDTOs) {\r
- if (param.getParamName().equals("FileType")) {\r
- download.setFileType(param.getParamValue());\r
- } else if (param.getParamName().equals("URL")) {\r
- download.setUrl(param.getParamValue());\r
- } else if (param.getParamName().equals("Username")) {\r
- download.setUserName(param.getParamValue());\r
- } else if (param.getParamName().equals("Password")) {\r
- download.setPassword(param.getParamValue());\r
- } else if (param.getParamName().equals("FileSize")) {\r
- download.setFileSize(Long.parseLong(param.getParamValue()));\r
- } else if (param.getParamName().equals("TargetFileName")) {\r
- download.setTargetFileName(param.getParamValue());\r
- } else if (param.getParamName().equals("DelaySeconds")) {\r
- download.setDelaySeconds(Integer.parseInt(param.getParamValue()));\r
- } else if (param.getParamName().equals("SuccessURL")) {\r
- download.setSuccessUrl(param.getParamValue());\r
- } else if (param.getParamName().equals("FailureURL")) {\r
- download.setFailureUrl(param.getParamValue());\r
- }\r
- }\r
- download.setCommandKey(String.valueOf(deviceId));\r
-\r
- return download;\r
- }\r
-\r
- private SetParameterValues buildSetParameterValues(OperationDetails opDetails) {\r
- SetParameterValues spv = new SetParameterValues();\r
- List<ParameterDTO> parmeters = opDetails.getParmeters();\r
- for (ParameterDTO param : parmeters) {\r
- spv.addValue(param.getParamName(), param.getParamValue(), param.getDataType());\r
- }\r
-\r
- return spv;\r
- }\r
-\r
- private GetParameterValues buildGetParameterValues(OperationDetails opDetails) {\r
- GetParameterValues gpv = new GetParameterValues();\r
- List<ParameterDTO> parmeters = opDetails.getParmeters();\r
- List<String> paramNamelist = new ArrayList<>();\r
- for (ParameterDTO param : parmeters) {\r
- paramNamelist.add(param.getParamName());\r
- }\r
- String[] parameterNames = new String[paramNamelist.size()];\r
- for (int i = 0; i < paramNamelist.size(); i++) {\r
- parameterNames[i] = paramNamelist.get(i);\r
- }\r
- gpv.setParameterNames(parameterNames);\r
- return gpv;\r
- }\r
-\r
- private SetParameterAttributes buildSetParameterAttributes(OperationDetails opDetails) {\r
- SetParameterAttributes spa = new SetParameterAttributes();\r
- List<ParameterDTO> parameterAttributes = opDetails.getParmeters();\r
- for (ParameterDTO parameterDTO : parameterAttributes) {\r
- ParameterAttributeDTO parameterAttributeDTO = (ParameterAttributeDTO) parameterDTO;\r
- spa.addAttribute(parameterAttributeDTO.getParamName(),\r
- parameterAttributeDTO.getNotificationChange(), parameterAttributeDTO.getNotification(),\r
- parameterAttributeDTO.getAccesslistChange(), parameterAttributeDTO.getAccessList());\r
- }\r
- return spa;\r
- }\r
-\r
- private GetParameterAttributes buildGetParameterAttributes(OperationDetails opDetails) {\r
- GetParameterAttributes gpa = new GetParameterAttributes();\r
- List<ParameterDTO> poarameterDTOs = opDetails.getParmeters();\r
- List<String> paramNamelist = new ArrayList<>();\r
- for (ParameterDTO param : poarameterDTOs) {\r
- paramNamelist.add(param.getParamName());\r
- }\r
- String[] parameterNames = new String[paramNamelist.size()];\r
- for (int i = 0; i < paramNamelist.size(); i++) {\r
- parameterNames[i] = paramNamelist.get(i);\r
- }\r
- gpa.setParameterNames(parameterNames);\r
-\r
- return gpa;\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.cpe.builder;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.commscope.tr069adapter.acs.common.DeviceRPCRequest;
+import org.commscope.tr069adapter.acs.common.OperationCode;
+import org.commscope.tr069adapter.acs.common.OperationDetails;
+import org.commscope.tr069adapter.acs.common.ParameterDTO;
+import org.commscope.tr069adapter.acs.common.dto.ParameterAttributeDTO;
+import org.commscope.tr069adapter.acs.common.dto.TR069OperationCode;
+import org.commscope.tr069adapter.acs.cpe.TR069RPC;
+import org.commscope.tr069adapter.acs.cpe.rpc.AddObject;
+import org.commscope.tr069adapter.acs.cpe.rpc.DeleteObject;
+import org.commscope.tr069adapter.acs.cpe.rpc.Download;
+import org.commscope.tr069adapter.acs.cpe.rpc.FactoryReset;
+import org.commscope.tr069adapter.acs.cpe.rpc.GetParameterAttributes;
+import org.commscope.tr069adapter.acs.cpe.rpc.GetParameterValues;
+import org.commscope.tr069adapter.acs.cpe.rpc.Reboot;
+import org.commscope.tr069adapter.acs.cpe.rpc.SetParameterAttributes;
+import org.commscope.tr069adapter.acs.cpe.rpc.SetParameterValues;
+import org.springframework.stereotype.Component;
+
+@Component
+public class DeviceRPCBuilder {
+
+ /**
+ * @param deviceRPCRequest
+ * @return
+ */
+
+
+ public TR069RPC constructDeviceRPC(DeviceRPCRequest deviceRPCRequest) {
+ TR069RPC message = null;
+
+ OperationDetails opDetails = deviceRPCRequest.getOpDetails();
+ if (null == opDetails || null == opDetails.getOpCode()) {
+ return null;
+ }
+
+ OperationCode opCode = opDetails.getOpCode();
+ if (opCode.equals(TR069OperationCode.SET_PARAMETER_VALUES)) {
+ message = buildSetParameterValues(opDetails);
+ } else if (opCode.equals(TR069OperationCode.GET_PARAMETER_VALUES)) {
+ message = buildGetParameterValues(opDetails);
+ } else if (opCode.equals(TR069OperationCode.SET_PARAMETER_ATTRIBUTES)) {
+ message = buildSetParameterAttributes(opDetails);
+ } else if (opCode.equals(TR069OperationCode.GET_PARAMETER_ATTRIBUTES)) {
+ message = buildGetParameterAttributes(opDetails);
+ } else if (opCode.equals(TR069OperationCode.ADD_OBJECT)) {
+ List<ParameterDTO> poarameterDTOs = opDetails.getParmeters();
+ for (ParameterDTO param : poarameterDTOs) {
+ AddObject addObject = new AddObject(param.getParamName(), String.valueOf(hashCode()));
+ message = addObject;
+ }
+ } else if (opCode.equals(TR069OperationCode.DELETE_OBJECT)) {
+ List<ParameterDTO> poarameterDTOs = opDetails.getParmeters();
+ for (ParameterDTO param : poarameterDTOs) {
+ DeleteObject deleteObject =
+ new DeleteObject(param.getParamName(), String.valueOf(hashCode()));
+ message = deleteObject;
+ }
+ } else if (opCode.equals(TR069OperationCode.DOWNLOAD)) {
+ String deviceId = deviceRPCRequest.getDeviceDetails().getDeviceId();
+ List<ParameterDTO> poarameterDTOs = opDetails.getParmeters();
+ message = populateDownloadParams(deviceId, poarameterDTOs);
+ } else if (opCode.equals(TR069OperationCode.FACTORY_RESET)) {
+ message = new FactoryReset();
+ } else if (opCode.equals(TR069OperationCode.REBOOT)) {
+ message = new Reboot();
+ }
+
+ return message;
+ }
+
+ /**
+ * @param poarameterDTOs
+ * @return
+ */
+ private Download populateDownloadParams(String deviceId, List<ParameterDTO> poarameterDTOs) {
+ Download download = new Download();
+ for (ParameterDTO param : poarameterDTOs) {
+ if (param.getParamName().equals("FileType")) {
+ download.setFileType(param.getParamValue());
+ } else if (param.getParamName().equals("URL")) {
+ download.setUrl(param.getParamValue());
+ } else if (param.getParamName().equals("Username")) {
+ download.setUserName(param.getParamValue());
+ } else if (param.getParamName().equals("Password")) {
+ download.setPassword(param.getParamValue());
+ } else if (param.getParamName().equals("FileSize")) {
+ download.setFileSize(Long.parseLong(param.getParamValue()));
+ } else if (param.getParamName().equals("TargetFileName")) {
+ download.setTargetFileName(param.getParamValue());
+ } else if (param.getParamName().equals("DelaySeconds")) {
+ download.setDelaySeconds(Integer.parseInt(param.getParamValue()));
+ } else if (param.getParamName().equals("SuccessURL")) {
+ download.setSuccessUrl(param.getParamValue());
+ } else if (param.getParamName().equals("FailureURL")) {
+ download.setFailureUrl(param.getParamValue());
+ }
+ }
+ download.setCommandKey(String.valueOf(deviceId));
+
+ return download;
+ }
+
+ private SetParameterValues buildSetParameterValues(OperationDetails opDetails) {
+ SetParameterValues spv = new SetParameterValues();
+ List<ParameterDTO> parmeters = opDetails.getParmeters();
+ for (ParameterDTO param : parmeters) {
+ spv.addValue(param.getParamName(), param.getParamValue(), param.getDataType());
+ }
+
+ return spv;
+ }
+
+ private GetParameterValues buildGetParameterValues(OperationDetails opDetails) {
+ GetParameterValues gpv = new GetParameterValues();
+ List<ParameterDTO> parmeters = opDetails.getParmeters();
+ List<String> paramNamelist = new ArrayList<>();
+ for (ParameterDTO param : parmeters) {
+ paramNamelist.add(param.getParamName());
+ }
+ String[] parameterNames = new String[paramNamelist.size()];
+ for (int i = 0; i < paramNamelist.size(); i++) {
+ parameterNames[i] = paramNamelist.get(i);
+ }
+ gpv.setParameterNames(parameterNames);
+ return gpv;
+ }
+
+ private SetParameterAttributes buildSetParameterAttributes(OperationDetails opDetails) {
+ SetParameterAttributes spa = new SetParameterAttributes();
+ List<ParameterDTO> parameterAttributes = opDetails.getParmeters();
+ for (ParameterDTO parameterDTO : parameterAttributes) {
+ ParameterAttributeDTO parameterAttributeDTO = (ParameterAttributeDTO) parameterDTO;
+ spa.addAttribute(parameterAttributeDTO.getParamName(),
+ parameterAttributeDTO.getNotificationChange(), parameterAttributeDTO.getNotification(),
+ parameterAttributeDTO.getAccesslistChange(), parameterAttributeDTO.getAccessList());
+ }
+ return spa;
+ }
+
+ private GetParameterAttributes buildGetParameterAttributes(OperationDetails opDetails) {
+ GetParameterAttributes gpa = new GetParameterAttributes();
+ List<ParameterDTO> poarameterDTOs = opDetails.getParmeters();
+ List<String> paramNamelist = new ArrayList<>();
+ for (ParameterDTO param : poarameterDTOs) {
+ paramNamelist.add(param.getParamName());
+ }
+ String[] parameterNames = new String[paramNamelist.size()];
+ for (int i = 0; i < paramNamelist.size(); i++) {
+ parameterNames[i] = paramNamelist.get(i);
+ }
+ gpa.setParameterNames(parameterNames);
+
+ return gpa;
+ }
+}