diff options
5 files changed, 33 insertions, 27 deletions
diff --git a/cps-ncmp-rest-stub/src/main/java/org/onap/cps/ncmp/rest/stub/controller/NetworkCmProxyStubController.java b/cps-ncmp-rest-stub/src/main/java/org/onap/cps/ncmp/rest/stub/controller/NetworkCmProxyStubController.java index 6362cf1e15..45408b0ebf 100644 --- a/cps-ncmp-rest-stub/src/main/java/org/onap/cps/ncmp/rest/stub/controller/NetworkCmProxyStubController.java +++ b/cps-ncmp-rest-stub/src/main/java/org/onap/cps/ncmp/rest/stub/controller/NetworkCmProxyStubController.java @@ -24,6 +24,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; import java.io.IOException; import java.io.InputStream; import java.nio.charset.StandardCharsets; +import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -32,9 +33,7 @@ import javax.validation.Valid; import javax.validation.constraints.NotNull; import lombok.extern.slf4j.Slf4j; import org.onap.cps.ncmp.rest.api.NetworkCmProxyApi; -import org.onap.cps.ncmp.rest.model.CmHandleQueryRestParameters; -import org.onap.cps.ncmp.rest.model.CmHandles; -import org.onap.cps.ncmp.rest.model.Conditions; +import org.onap.cps.ncmp.rest.model.CmHandleQueryParameters; import org.onap.cps.ncmp.rest.model.RestModuleReference; import org.onap.cps.ncmp.rest.model.RestOutputCmHandle; import org.onap.cps.ncmp.rest.model.RestOutputCmHandlePublicProperties; @@ -68,18 +67,26 @@ public class NetworkCmProxyStubController implements NetworkCmProxyApi { } @Override - public ResponseEntity<CmHandles> executeCmHandleSearch(@Valid final Conditions body) { - final ObjectMapper mapper = new ObjectMapper(); - CmHandles cmHandles = new CmHandles(); + public ResponseEntity<List<RestOutputCmHandle>> searchCmHandles( + final CmHandleQueryParameters cmHandleQueryParameters) { + List<RestOutputCmHandle> restOutputCmHandles = null; // read JSON file and map/convert to java POJO final ClassPathResource resource = new ClassPathResource(pathToResponseFiles + "cmHandlesSearch.json"); try (InputStream inputStream = resource.getInputStream()) { final String string = new String(inputStream.readAllBytes(), StandardCharsets.UTF_8); - cmHandles = mapper.readValue(string, CmHandles.class); + final ObjectMapper mapper = new ObjectMapper(); + restOutputCmHandles = Arrays.asList(mapper.readValue(string, RestOutputCmHandle[].class)); } catch (final IOException exception) { log.error("Error reading the file.", exception); + return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).build(); } - return ResponseEntity.ok(cmHandles); + return ResponseEntity.ok(restOutputCmHandles); + } + + @Override + public ResponseEntity<List<String>> searchCmHandleIds( + final CmHandleQueryParameters cmHandleQueryParameters) { + return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); } @Override @@ -107,16 +114,17 @@ public class NetworkCmProxyStubController implements NetworkCmProxyApi { final String resourceIdentifier, final String optionsParamInQuery, final String topicParamInQuery) { final ResponseEntity<Map<String, Object>> asyncResponse = populateAsyncResponse(topicParamInQuery); final Map<String, Object> asyncResponseData = asyncResponse.getBody(); - final ObjectMapper mapper = new ObjectMapper(); Object responseObject = null; // read JSON file and map/convert to java POJO final ClassPathResource resource = new ClassPathResource(pathToResponseFiles + "passthrough-operational-example.json"); try (InputStream inputStream = resource.getInputStream()) { final String string = new String(inputStream.readAllBytes(), StandardCharsets.UTF_8); + final ObjectMapper mapper = new ObjectMapper(); responseObject = mapper.readValue(string, Object.class); } catch (final IOException exception) { log.error("Error reading the file.", exception); + return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).build(); } if (asyncResponseData == null) { return ResponseEntity.ok(responseObject); @@ -138,11 +146,6 @@ public class NetworkCmProxyStubController implements NetworkCmProxyApi { } @Override - public ResponseEntity<List<String>> queryCmHandles(final CmHandleQueryRestParameters body) { - return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); - } - - @Override public ResponseEntity<RestOutputCmHandle> retrieveCmHandleDetailsById(final String cmHandleId) { return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); } diff --git a/cps-ncmp-rest-stub/src/main/resources/stubs/cmHandlesSearch.json b/cps-ncmp-rest-stub/src/main/resources/stubs/cmHandlesSearch.json index 409d56fa44..9a2e1ed5d1 100644 --- a/cps-ncmp-rest-stub/src/main/resources/stubs/cmHandlesSearch.json +++ b/cps-ncmp-rest-stub/src/main/resources/stubs/cmHandlesSearch.json @@ -1,10 +1,8 @@ -{ - "cmHandles": [ +[ { - "cmHandleId": "stub-cm-handle-id" + "cmHandle": "stub-cm-handle-id" }, { - "cmHandleId": "stub-cm-handle-id2" + "cmHandle": "stub-cm-handle-id2" } - ] -}
\ No newline at end of file + ]
\ No newline at end of file diff --git a/cps-ncmp-rest/src/test/groovy/org/onap/cps/ncmp/rest/controller/NetworkCmProxyControllerSpec.groovy b/cps-ncmp-rest/src/test/groovy/org/onap/cps/ncmp/rest/controller/NetworkCmProxyControllerSpec.groovy index 7b123e8a69..23263c9aa8 100644 --- a/cps-ncmp-rest/src/test/groovy/org/onap/cps/ncmp/rest/controller/NetworkCmProxyControllerSpec.groovy +++ b/cps-ncmp-rest/src/test/groovy/org/onap/cps/ncmp/rest/controller/NetworkCmProxyControllerSpec.groovy @@ -416,9 +416,9 @@ class NetworkCmProxyControllerSpec extends Specification { then: 'ncmp service method to get module definitions is called' mockNetworkCmProxyDataService.getModuleDefinitionsByCmHandleId('some-cmhandle') >> [new ModuleDefinition('sampleModuleName', '2021-10-03', - String.format('module sampleModuleName{ %n sample module content %n }'))] - and: 'response contains an array with the module name, revision and content where content contains \\n for newlines' - response.getContentAsString() == '[{"moduleName":"sampleModuleName","revision":"2021-10-03","content":"module sampleModuleName{ \\n sample module content \\n }"}]' + 'module sampleModuleName{ sample module content }')] + and: 'response contains an array with the module name, revision and content' + response.getContentAsString() == '[{"moduleName":"sampleModuleName","revision":"2021-10-03","content":"module sampleModuleName{ sample module content }"}]' and: 'response returns an OK http code' response.status == HttpStatus.OK.value() } diff --git a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/inventory/sync/SyncUtils.java b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/inventory/sync/SyncUtils.java index e742b8c0f7..046a116efa 100644 --- a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/inventory/sync/SyncUtils.java +++ b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/inventory/sync/SyncUtils.java @@ -151,18 +151,22 @@ public class SyncUtils { * @return if the retry mechanism should be attempted */ public boolean isReadyForRetry(final CompositeState compositeState) { - int timeUntilNextAttempt = 1; + int timeInMinutesUntilNextAttempt = 1; final OffsetDateTime time = OffsetDateTime.parse(compositeState.getLastUpdateTime(), DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSSZ")); final Matcher matcher = retryAttemptPattern.matcher(compositeState.getLockReason().getDetails()); if (matcher.find()) { - timeUntilNextAttempt = (int) Math.pow(2, Integer.parseInt(matcher.group(1))); + timeInMinutesUntilNextAttempt = (int) Math.pow(2, Integer.parseInt(matcher.group(1))); } else { log.debug("First Attempt: no current attempts found."); } final int timeSinceLastAttempt = (int) Duration.between(time, OffsetDateTime.now()).toMinutes(); - return timeSinceLastAttempt > timeUntilNextAttempt; + if (timeInMinutesUntilNextAttempt >= timeSinceLastAttempt) { + log.info("Time until next attempt is {} minutes: ", + timeInMinutesUntilNextAttempt - timeSinceLastAttempt); + } + return timeSinceLastAttempt > timeInMinutesUntilNextAttempt; } /** @@ -4,7 +4,7 @@ Copyright (c) 2020 Linux Foundation.
Modifications Copyright (C) 2020-2021 Nordix Foundation
Modifications Copyright (C) 2020-2021 Pantheon.tech
- Modifications Copyright (C) 2021 Bell Canada.
+ Modifications Copyright (C) 2021-2022 Bell Canada.
================================================================================
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -58,6 +58,7 @@ <module>cps-ncmp-events</module>
<module>cps-ncmp-service</module>
<module>cps-ncmp-rest</module>
+ <module>cps-ncmp-rest-stub</module>
<module>cps-path-parser</module>
<module>cps-ri</module>
<module>checkstyle</module>
|