import java.util.ArrayList;\r
import java.util.List;\r
import java.util.Map;\r
-\r
import org.commscope.tr069adapter.acs.common.DeviceRPCRequest;\r
import org.commscope.tr069adapter.acs.common.DeviceRPCResponse;\r
import org.commscope.tr069adapter.acs.common.OperationOptions;\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.TR069DeviceDetails;\r
import org.commscope.tr069adapter.acs.common.dto.TR069OperationCode;\r
import org.commscope.tr069adapter.acs.common.dto.TR069OperationDetails;\r
+import org.commscope.tr069adapter.acs.common.response.SetParameterValueResponse;\r
import org.commscope.tr069adapter.mapper.MOMetaData;\r
import org.commscope.tr069adapter.mapper.dao.DeviceOperationsDAO;\r
import org.commscope.tr069adapter.mapper.entity.DeviceOperationDetails;\r
MOMetaDataUtil metaDataUtil;\r
\r
@Autowired\r
- private ErrorCodeUtil errorCodeUtil;\r
+ ErrorCodeUtil errorCodeUtil;\r
\r
@Autowired\r
VESNotificationSender vesnotiSender;\r
DeviceRPCResponse deviceRPCResponseDevice = null;\r
if (null != allParamList && !allParamList.isEmpty()) {\r
deviceRPCRequest.getOpDetails().setParmeters(allParamList);\r
- deviceRPCResponseDevice = syncHandler.performDeviceOperation(deviceRPCRequest);\r
+ if (isAdminStateOverriden(allParamList)) {\r
+ deviceRPCRequest.getOpDetails().setOpCode(CustomOperationCode.CONFIGURE_MULTIPLE_OBJECTS);\r
+ TR069OperationDetails tr069OperationDetails =\r
+ (TR069OperationDetails) deviceRPCRequest.getOpDetails();\r
+ tr069OperationDetails.setModifyParamList(allParamList);\r
+ tr069OperationDetails.setSetParamList(null);\r
+\r
+ deviceRPCResponseDevice = syncHandler.performDeviceOperation(deviceRPCRequest);\r
+ convertResposeToSPVResponse(deviceRPCResponseDevice);\r
+ } else {\r
+ deviceRPCResponseDevice = syncHandler.performDeviceOperation(deviceRPCRequest);\r
+ }\r
\r
if (null == deviceRPCResponseDevice) {\r
return getTimeOutResponse();\r
return response;\r
}\r
\r
- private DeviceRPCResponse mergeGetConfigDeviceRPCResponse(DeviceRPCResponse opResultVes,\r
+ protected DeviceRPCResponse mergeGetConfigDeviceRPCResponse(DeviceRPCResponse opResultVes,\r
DeviceRPCResponse opResultDevice) {\r
if (null == opResultVes) {\r
return opResultDevice;\r
return opResultDevice;\r
}\r
\r
- private DeviceRPCResponse mergeSetConfigDeviceRPCResponse(DeviceRPCResponse opResultVes,\r
+ protected DeviceRPCResponse mergeSetConfigDeviceRPCResponse(DeviceRPCResponse opResultVes,\r
DeviceRPCResponse opResultDevice) {\r
if (null == opResultVes) {\r
return opResultDevice;\r
return opResultDevice;\r
}\r
\r
- private boolean isVesNotificationRequest(ParameterDTO param) {\r
+ protected boolean isVesNotificationRequest(ParameterDTO param) {\r
if (null == param.getParamName() || param.getParamName().isEmpty()) {\r
return false;\r
}\r
return false;\r
}\r
\r
- private void handleBooleanParameters(List<ParameterDTO> parameterDTOs) {\r
+ protected void handleBooleanParameters(List<ParameterDTO> parameterDTOs) {\r
\r
for (ParameterDTO param : parameterDTOs) {\r
MOMetaData metaData = metaDataUtil.getMetaDataByTR69Name(param.getParamName());\r
}\r
}\r
\r
- private void handleBooleanParametersReverse(List<ParameterDTO> parameterDTOs) {\r
+ protected void handleBooleanParametersReverse(List<ParameterDTO> parameterDTOs) {\r
\r
for (ParameterDTO param : parameterDTOs) {\r
MOMetaData metaData = metaDataUtil.getMetaDataByTR69Name(param.getParamName());\r
}\r
}\r
\r
- private NetConfResponse getEmptyResponse() {\r
+ protected NetConfResponse getEmptyResponse() {\r
NetConfResponse response = new NetConfResponse();\r
ErrorCodeDetails errorCodeMetaData = errorCodeUtil.getErrorCodeMetaData("0");\r
ErrorCodeDetails errorCode = new ErrorCodeDetails();\r
return response;\r
}\r
\r
- private NetConfResponse getTimeOutResponse() {\r
+ protected NetConfResponse getTimeOutResponse() {\r
// prepare timeout error response\r
NetConfResponse timeOutErrorResponse = new NetConfResponse();\r
ErrorCodeDetails errorCode = new ErrorCodeDetails();\r
return timeOutErrorResponse;\r
}\r
\r
- private NetConfResponse getErrorResponse(String errCode, String errorMsg) {\r
+ protected NetConfResponse getErrorResponse(String errCode, String errorMsg) {\r
NetConfResponse errorResponse = new NetConfResponse();\r
ErrorCodeDetails errorCode = new ErrorCodeDetails();\r
ErrorCodeDetails errorCodeMetaData = errorCodeUtil.getErrorCodeMetaData("8006");\r
return errorResponse;\r
}\r
\r
- private NetConfResponse getOperationAbortedResponse(String errorMessage) {\r
+ protected NetConfResponse getOperationAbortedResponse(String errorMessage) {\r
// prepare timeout error response\r
NetConfResponse timeOutErrorResponse = new NetConfResponse();\r
ErrorCodeDetails errorCode = new ErrorCodeDetails();\r
ErrorCodeDetails errorCodeMetaData = errorCodeUtil.getErrorCodeMetaData("8006");\r
- if (errorCode != null) {\r
+ if (errorCodeMetaData != null) {\r
errorCode.setFaultCode("8002");\r
errorCode.setErrorMessage(errorCodeMetaData.getErrorMessage());\r
errorCode.setErrorType(errorCodeMetaData.getErrorType());\r
return result;\r
}\r
\r
- private List<ParameterDTO> filteredGetParameters(List<ParameterDTO> parameters) {\r
+ protected List<ParameterDTO> filteredGetParameters(List<ParameterDTO> parameters) {\r
\r
return metaDataUtil.getSupportedChildParameters(parameters);\r
}\r
return result;\r
}\r
\r
- private static String getDownloadFileURI(String filepath) {\r
+ protected static String getDownloadFileURI(String filepath) {\r
\r
if (filepath.contains("@") && filepath.contains("//")) {\r
String[] str = filepath.split("@");\r
return null;\r
}\r
\r
- private static String getDownloadUserName(String filepath) {\r
+ protected static String getDownloadUserName(String filepath) {\r
\r
if (filepath.contains("@") && filepath.contains("//")) {\r
String[] str = filepath.split("@");\r
}\r
return null;\r
}\r
+\r
+ protected boolean isAdminStateOverriden(List<ParameterDTO> paramList) {\r
+ for (ParameterDTO paramDTO : paramList) {\r
+ if (paramDTO.getParamName().contains(MapperConstants.ADMIN_STATE)\r
+ || paramDTO.getParamName().contains(MapperConstants.ADMIN_STATUS)) {\r
+ return true;\r
+ }\r
+ }\r
+ return false;\r
+ }\r
+\r
+ protected void convertResposeToSPVResponse(DeviceRPCResponse deviceRPCResponse) {\r
+ if (null == deviceRPCResponse) {\r
+ return;\r
+ }\r
+\r
+ OperationResponse operationResponse = new SetParameterValueResponse();\r
+ operationResponse.setParameterDTOs(new ArrayList<ParameterDTO>());\r
+\r
+ if (null == deviceRPCResponse.getFaultKey()) {\r
+ operationResponse.setStatus(MapperConstants.RPC_SUCCESS_CODE);\r
+ } else {\r
+ operationResponse.setStatus(MapperConstants.RPC_FAILED_CODE);\r
+ }\r
+\r
+ deviceRPCResponse.setOperationResponse(operationResponse);\r
+ }\r
}\r