From 8a93a772810283e9fdb408ec7639e782add6b6cf Mon Sep 17 00:00:00 2001 From: Sergiy Shyrkov Date: Wed, 21 Sep 2016 13:50:14 +0200 Subject: [PATCH] [KARAF-4722] do filtering of displayed bundles by the supplied ids --- .../karaf/cellar/bundle/shell/ListBundleCommand.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/ListBundleCommand.java b/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/ListBundleCommand.java index 34a6484b0..1b032d844 100644 --- a/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/ListBundleCommand.java +++ b/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/ListBundleCommand.java @@ -81,6 +81,15 @@ protected Object doExecute() throws Exception { table.column("Name"); } + if (ids != null && !ids.isEmpty()) { + // do filtering by ids + Set matchingBundles = new HashSet(selector(allBundles)); + for (Iterator bundles = allBundles.keySet().iterator(); bundles.hasNext();) { + if (!matchingBundles.contains(bundles.next())) { + bundles.remove(); + } + } + } List bundles = new ArrayList(allBundles.values()); Collections.sort(bundles, new BundleStateComparator());