From 54d10a74fdd8cfcb89fd1c0ab91abefdf0602367 Mon Sep 17 00:00:00 2001 From: ToineSiebelink Date: Tue, 5 Apr 2022 13:54:32 +0100 Subject: Improve branch coverage - update to oparent 3.3.0 to allow for checkstyle @SupressWarnings (not used in the end) - refactor code to minimize unused branches (no more switch-statements :-)) - Added test for neccessary but uncovered branches Issue-ID: CPS-475 Signed-off-by: ToineSiebelink Change-Id: I03c7355a7e9d19f57523a65fbff45c9d8f1c9e07 --- .../ncmp/dmi/service/operation/SdncOperations.java | 39 ++++++++-------------- 1 file changed, 14 insertions(+), 25 deletions(-) (limited to 'src/main/java/org/onap/cps/ncmp/dmi/service') diff --git a/src/main/java/org/onap/cps/ncmp/dmi/service/operation/SdncOperations.java b/src/main/java/org/onap/cps/ncmp/dmi/service/operation/SdncOperations.java index 7e2443e5..46a332cb 100644 --- a/src/main/java/org/onap/cps/ncmp/dmi/service/operation/SdncOperations.java +++ b/src/main/java/org/onap/cps/ncmp/dmi/service/operation/SdncOperations.java @@ -21,6 +21,8 @@ package org.onap.cps.ncmp.dmi.service.operation; +import static org.onap.cps.ncmp.dmi.model.DataAccessRequest.OperationEnum; + import com.jayway.jsonpath.Configuration; import com.jayway.jsonpath.JsonPath; import com.jayway.jsonpath.JsonPathException; @@ -30,6 +32,7 @@ import com.jayway.jsonpath.spi.mapper.JacksonMappingProvider; import java.util.Arrays; import java.util.Collection; import java.util.Collections; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -62,6 +65,16 @@ public class SdncOperations { private static final int QUERY_PARAM_VALUE_INDEX = 1; private static final int QUERY_PARAM_NAME_INDEX = 0; + private static Map operationToHttpMethodMap = new HashMap<>(5); + + static { + operationToHttpMethodMap.put(OperationEnum.READ, HttpMethod.GET); + operationToHttpMethodMap.put(OperationEnum.CREATE, HttpMethod.POST); + operationToHttpMethodMap.put(OperationEnum.PATCH, HttpMethod.PATCH); + operationToHttpMethodMap.put(OperationEnum.UPDATE, HttpMethod.PUT); + operationToHttpMethodMap.put(OperationEnum.DELETE, HttpMethod.DELETE); + } + private final SdncProperties sdncProperties; private final SdncRestconfClient sdncRestconfClient; private final String topologyUrlData; @@ -156,7 +169,7 @@ public class SdncOperations { final var getResourceDataUrl = prepareWriteUrl(nodeId, resourceId); final var httpHeaders = new HttpHeaders(); httpHeaders.setContentType(MediaType.parseMediaType(contentType)); - final HttpMethod httpMethod = getHttpMethod(operation); + final HttpMethod httpMethod = operationToHttpMethodMap.get(operation); return sdncRestconfClient.httpOperationWithJsonData(httpMethod, getResourceDataUrl, requestData, httpHeaders); } @@ -230,30 +243,6 @@ public class SdncOperations { } } - private HttpMethod getHttpMethod(final DataAccessRequest.OperationEnum operation) { - HttpMethod httpMethod = null; - switch (operation) { - case READ: - httpMethod = HttpMethod.GET; - break; - case CREATE: - httpMethod = HttpMethod.POST; - break; - case PATCH: - httpMethod = HttpMethod.PATCH; - break; - case UPDATE: - httpMethod = HttpMethod.PUT; - break; - case DELETE: - httpMethod = HttpMethod.DELETE; - break; - default: - //unreachable code but checkstyle made me do this! - } - return httpMethod; - } - private String getTopologyUrlData() { return UriComponentsBuilder.fromUriString(TOPOLOGY_URL_TEMPLATE_DATA) .path("topology={topologyId}") -- cgit 1.2.3-korg