diff --git a/rest/resource-server/src/main/java/org/eclipse/sw360/rest/resourceserver/vendor/Sw360VendorService.java b/rest/resource-server/src/main/java/org/eclipse/sw360/rest/resourceserver/vendor/Sw360VendorService.java index f4bade9696..21ab347570 100644 --- a/rest/resource-server/src/main/java/org/eclipse/sw360/rest/resourceserver/vendor/Sw360VendorService.java +++ b/rest/resource-server/src/main/java/org/eclipse/sw360/rest/resourceserver/vendor/Sw360VendorService.java @@ -47,6 +47,15 @@ public List getVendors() { } } + public List searchVendors(String searchText) { + try { + VendorService.Iface sw360VendorClient = getThriftVendorClient(); + return sw360VendorClient.searchVendors(searchText); + } catch (TException e) { + throw new RuntimeException(e); + } + } + public Vendor getVendorById(String vendorId) { try { VendorService.Iface sw360VendorClient = getThriftVendorClient(); diff --git a/rest/resource-server/src/main/java/org/eclipse/sw360/rest/resourceserver/vendor/VendorController.java b/rest/resource-server/src/main/java/org/eclipse/sw360/rest/resourceserver/vendor/VendorController.java index eae860e1a9..ba61a02cda 100644 --- a/rest/resource-server/src/main/java/org/eclipse/sw360/rest/resourceserver/vendor/VendorController.java +++ b/rest/resource-server/src/main/java/org/eclipse/sw360/rest/resourceserver/vendor/VendorController.java @@ -54,6 +54,7 @@ import java.util.List; import jakarta.servlet.http.HttpServletResponse; +import static com.google.common.base.Strings.isNullOrEmpty; import static org.eclipse.sw360.datahandler.common.SW360Constants.CONTENT_TYPE_OPENXML_SPREADSHEET; import static org.springframework.hateoas.server.mvc.WebMvcLinkBuilder.linkTo; @@ -78,10 +79,17 @@ public class VendorController implements RepresentationModelProcessor>> getVendors( + @Parameter(description = "Search text") + @RequestParam(value = "searchText", required = false) String searchText, Pageable pageable, HttpServletRequest request ) throws TException, URISyntaxException, PaginationParameterException, ResourceClassNotFoundException { - List vendors = vendorService.getVendors(); + List vendors = null; + if (!isNullOrEmpty(searchText)) { + vendors = vendorService.searchVendors(searchText); + } else { + vendors = vendorService.getVendors(); + } PaginationResult paginationResult = restControllerHelper.createPaginationResult(request, pageable, vendors, SW360Constants.TYPE_VENDOR); List> vendorResources = new ArrayList<>();