From 37d72855721caa646144ad323fe51ae78af15507 Mon Sep 17 00:00:00 2001 From: leventecsanyi Date: Wed, 26 Oct 2022 10:44:08 +0200 Subject: Filter on private properties of CM Handles - Moved cm handle query validation to cps-ncmp-service (where it belongs!) - Added new enum type for private/public field types - Created new methods for private and public queries - Added new REST endpoint - Created service methods for filtering on different types of properties - Refactored getPublicPropertyPairs and queryCmHandleAnyProperties - Added unit test for the controller layer - Fixed refactoring suggestions - Imporved code coverage with unit tests - Refactoring - Added new functionality to NcmpRestInputMapper - Updated version number to 3.2.1-SNAPSHOT and updated release-notes.rst Issue-ID: CPS-1236 Change-Id: I0ddf6866473f7c3c6b8507d222d441bf97ca6bdc Signed-off-by: leventecsanyi --- .../onap/cps/ncmp/rest/controller/NcmpRestInputMapper.java | 7 ++++++- .../rest/controller/NetworkCmProxyInventoryController.java | 12 ++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) (limited to 'cps-ncmp-rest/src/main') diff --git a/cps-ncmp-rest/src/main/java/org/onap/cps/ncmp/rest/controller/NcmpRestInputMapper.java b/cps-ncmp-rest/src/main/java/org/onap/cps/ncmp/rest/controller/NcmpRestInputMapper.java index 118fa45263..eb48754b4f 100644 --- a/cps-ncmp-rest/src/main/java/org/onap/cps/ncmp/rest/controller/NcmpRestInputMapper.java +++ b/cps-ncmp-rest/src/main/java/org/onap/cps/ncmp/rest/controller/NcmpRestInputMapper.java @@ -25,8 +25,10 @@ import org.mapstruct.Mapper; import org.mapstruct.Mapping; import org.mapstruct.NullValueCheckStrategy; import org.mapstruct.NullValuePropertyMappingStrategy; +import org.onap.cps.ncmp.api.models.CmHandleQueryServiceParameters; import org.onap.cps.ncmp.api.models.DmiPluginRegistration; import org.onap.cps.ncmp.api.models.NcmpServiceCmHandle; +import org.onap.cps.ncmp.rest.model.CmHandleQueryParameters; import org.onap.cps.ncmp.rest.model.RestDmiPluginRegistration; import org.onap.cps.ncmp.rest.model.RestInputCmHandle; import org.onap.cps.ncmp.rest.model.RestModuleDefinition; @@ -59,4 +61,7 @@ public interface NcmpRestInputMapper { @InheritConfiguration(name = "toRestModuleReference") RestModuleDefinition toRestModuleDefinition( final ModuleDefinition moduleDefinition); -} \ No newline at end of file + + CmHandleQueryServiceParameters toCmHandleQueryServiceParameters( + final CmHandleQueryParameters cmHandleQueryParameters); +} diff --git a/cps-ncmp-rest/src/main/java/org/onap/cps/ncmp/rest/controller/NetworkCmProxyInventoryController.java b/cps-ncmp-rest/src/main/java/org/onap/cps/ncmp/rest/controller/NetworkCmProxyInventoryController.java index 0c428e4423..98da15093c 100755 --- a/cps-ncmp-rest/src/main/java/org/onap/cps/ncmp/rest/controller/NetworkCmProxyInventoryController.java +++ b/cps-ncmp-rest/src/main/java/org/onap/cps/ncmp/rest/controller/NetworkCmProxyInventoryController.java @@ -27,10 +27,12 @@ import java.util.stream.Collectors; import javax.validation.Valid; import lombok.RequiredArgsConstructor; import org.onap.cps.ncmp.api.NetworkCmProxyDataService; +import org.onap.cps.ncmp.api.models.CmHandleQueryServiceParameters; import org.onap.cps.ncmp.api.models.CmHandleRegistrationResponse; import org.onap.cps.ncmp.api.models.CmHandleRegistrationResponse.Status; import org.onap.cps.ncmp.api.models.DmiPluginRegistrationResponse; import org.onap.cps.ncmp.rest.api.NetworkCmProxyInventoryApi; +import org.onap.cps.ncmp.rest.model.CmHandleQueryParameters; import org.onap.cps.ncmp.rest.model.CmHandlerRegistrationErrorResponse; import org.onap.cps.ncmp.rest.model.DmiPluginRegistrationErrorResponse; import org.onap.cps.ncmp.rest.model.RestDmiPluginRegistration; @@ -47,6 +49,16 @@ public class NetworkCmProxyInventoryController implements NetworkCmProxyInventor private final NetworkCmProxyDataService networkCmProxyDataService; private final NcmpRestInputMapper ncmpRestInputMapper; + @Override + public ResponseEntity> searchCmHandleIds(final CmHandleQueryParameters cmHandleQueryParameters) { + final CmHandleQueryServiceParameters cmHandleQueryServiceParameters = ncmpRestInputMapper + .toCmHandleQueryServiceParameters(cmHandleQueryParameters); + + final Set cmHandleIds = networkCmProxyDataService + .executeCmHandleIdSearchForInventory(cmHandleQueryServiceParameters); + return ResponseEntity.ok(List.copyOf(cmHandleIds)); + } + /** * Get all cm-handle IDs under a registered DMI plugin. * -- cgit 1.2.3-korg