diff --git a/rest/resource-server/src/main/java/org/eclipse/sw360/rest/resourceserver/component/ComponentController.java b/rest/resource-server/src/main/java/org/eclipse/sw360/rest/resourceserver/component/ComponentController.java index 87906a7c89..cdbb696864 100644 --- a/rest/resource-server/src/main/java/org/eclipse/sw360/rest/resourceserver/component/ComponentController.java +++ b/rest/resource-server/src/main/java/org/eclipse/sw360/rest/resourceserver/component/ComponentController.java @@ -123,8 +123,11 @@ public ResponseEntity getComponents(Pageable pageable, User sw360User = restControllerHelper.getSw360UserFromAuthentication(); List allComponents = new ArrayList<>(); + String queryString = request.getQueryString(); + Map params = parseQueryString(queryString); + if (name != null && !name.isEmpty()) { - allComponents.addAll(componentService.searchComponentByName(name)); + allComponents.addAll(componentService.searchComponentByName(params.get("name"))); } else { allComponents.addAll(componentService.getComponentsForUser(sw360User)); } @@ -161,6 +164,24 @@ public ResponseEntity getComponents(Pageable pageable, return new ResponseEntity<>(resources, HttpStatus.OK); } + private Map parseQueryString(String queryString) { + Map parameters = new HashMap<>(); + + if (queryString != null && !queryString.isEmpty()) { + String[] params = queryString.split("&"); + for (String param : params) { + String[] keyValue = param.split("="); + if (keyValue.length == 2) { + String key = keyValue[0]; + String value = keyValue[1]; + parameters.put(key, value); + } + } + } + + return parameters; + } + @RequestMapping(value = COMPONENTS_URL + "/usedBy" + "/{id}", method = RequestMethod.GET) public ResponseEntity> getUsedByResourceDetails(@PathVariable("id") String id) throws TException {