提交 71155891 编写于 作者: N Nicolas De Loof

[FIXED JENKINS-20143] Pass full list of all possible jobs to ViewJobFilter...

[FIXED JENKINS-20143] Pass full list of all possible jobs to ViewJobFilter when recurse option is set
上级 f9f14838
......@@ -56,6 +56,10 @@ Upcoming changes</a>
<div id="trunk" style="display:none"><!--=TRUNK-BEGIN=-->
<ul class=image>
<li class=>
<li class=bug>
Pass full list of all possible jobs to ViewJobFilter when recurse option is set
(a href="https://issues.jenkins-ci.org/browse/JENKINS-20123">issue 20123</a>)
</li>
</ul>
</div><!--=TRUNK-END=-->
......
......@@ -175,6 +175,7 @@ public class ListView extends View implements Saveable {
// check the filters
Iterable<ViewJobFilter> jobFilters = getJobFilters();
List<TopLevelItem> allItems = new ArrayList<TopLevelItem>(parentItems);
if (recurse) allItems = expand(allItems, new ArrayList<TopLevelItem>());
for (ViewJobFilter jobFilter: jobFilters) {
items = jobFilter.filter(items, allItems, this);
}
......@@ -183,6 +184,19 @@ public class ListView extends View implements Saveable {
return items;
}
private List<TopLevelItem> expand(Collection<TopLevelItem> items, List<TopLevelItem> allItems) {
for (Item item : items) {
if (item instanceof ItemGroup) {
ItemGroup<TopLevelItem> ig = (ItemGroup<TopLevelItem>) item;
expand(ig.getItems(), allItems);
}
if (item instanceof TopLevelItem) {
allItems.add((TopLevelItem) item);
}
}
return allItems;
}
@Override
public boolean contains(TopLevelItem item) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册