Minor refactor of CPS rest controller 86/139586/1
authordanielhanrahan <daniel.hanrahan@est.tech>
Wed, 27 Nov 2024 17:31:23 +0000 (17:31 +0000)
committerdanielhanrahan <daniel.hanrahan@est.tech>
Wed, 27 Nov 2024 19:17:42 +0000 (19:17 +0000)
Use streams to simplify logic

Issue-ID: CPS-2416
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: I1c37ac9c2fa7543e94f8cd60447f4a879a7376f7

cps-rest/src/main/java/org/onap/cps/rest/controller/QueryRestController.java

index b425333..55a1886 100644 (file)
@@ -25,9 +25,9 @@ package org.onap.cps.rest.controller;
 import io.micrometer.core.annotation.Timed;
 import java.util.ArrayList;
 import java.util.Collection;
-import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 import lombok.RequiredArgsConstructor;
 import org.onap.cps.api.CpsAnchorService;
 import org.onap.cps.api.CpsQueryService;
@@ -126,17 +126,8 @@ public class QueryRestController implements CpsQueryApi {
                 : (int) Math.ceil((double) totalAnchors / paginationOption.getPageSize());
     }
 
-    private Map<String, List<DataNode>> groupDataNodesPerAnchor(final Collection<DataNode> dataNodes) {
-        final Map<String, List<DataNode>> dataNodesMapForAnchor = new HashMap<>();
-        for (final DataNode dataNode : dataNodes) {
-            List<DataNode> dataNodesInAnchor = dataNodesMapForAnchor.get(dataNode.getAnchorName());
-            if (dataNodesInAnchor == null) {
-                dataNodesInAnchor = new ArrayList<>();
-                dataNodesMapForAnchor.put(dataNode.getAnchorName(), dataNodesInAnchor);
-            }
-            dataNodesInAnchor.add(dataNode);
-        }
-        return dataNodesMapForAnchor;
+    private static Map<String, List<DataNode>> groupDataNodesPerAnchor(final Collection<DataNode> dataNodes) {
+        return dataNodes.stream().collect(Collectors.groupingBy(DataNode::getAnchorName));
     }
 
     private ResponseEntity<Object> executeNodesByDataspaceQueryAndCreateResponse(final String dataspaceName,