Skip to content
Permalink
Browse files

[FIXED JENKINS-20415] Lack of type safety in JENKINS-20143 fix someti…

…mes caused CCEs.

(cherry picked from commit bdbac28)

Conflicts:
	changelog.html
  • Loading branch information
jglick authored and olivergondza committed Nov 11, 2013
1 parent d95e164 commit 4f3a9d6eadbc9adc25a0cc8025730429f3a0e583
Showing with 21 additions and 6 deletions.
  1. +4 −6 core/src/main/java/hudson/model/ListView.java
  2. +17 −0 test/src/test/java/hudson/model/ListViewTest.java
@@ -186,14 +186,12 @@ public boolean hasJobFilterExtensions() {
}

private List<TopLevelItem> expand(Collection<TopLevelItem> items, List<TopLevelItem> allItems) {
for (Item item : items) {
for (TopLevelItem item : items) {
if (item instanceof ItemGroup) {
ItemGroup<TopLevelItem> ig = (ItemGroup<TopLevelItem>) item;
expand(ig.getItems(), allItems);
}
if (item instanceof TopLevelItem) {
allItems.add((TopLevelItem) item);
ItemGroup<? extends Item> ig = (ItemGroup<? extends Item>) item;
expand(Util.filter(ig.getItems(), TopLevelItem.class), allItems);
}
allItems.add(item);
}
return allItems;
}
@@ -40,6 +40,10 @@

import com.gargoylesoftware.htmlunit.html.HtmlAnchor;
import com.gargoylesoftware.htmlunit.html.HtmlPage;
import hudson.matrix.AxisList;
import hudson.matrix.MatrixProject;
import hudson.matrix.TextAxis;
import java.util.Collections;

public class ListViewTest {

@@ -95,4 +99,17 @@ private void checkLinkFromItemExistsAndIsValid(Item item, ItemGroup ig, Item top
webClient.getPage(top, link.getHrefAttribute());
}

@Bug(20415)
@Test public void nonTopLevelItemGroup() throws Exception {
MatrixProject mp = j.createMatrixProject();
mp.setAxes(new AxisList(new TextAxis("axis", "one", "two")));
assertEquals(2, mp.getItems().size());
ListView v = new ListView("v");
j.jenkins.addView(v);
v.setIncludeRegex(".*");
v.setRecurse(true);
// Note: did not manage to reproduce CCE until I changed expand to use ‘for (TopLevelItem item : items)’ rather than ‘for (Item item : items)’; perhaps a compiler-specific issue?
assertEquals(Collections.singletonList(mp), v.getItems());
}

}

0 comments on commit 4f3a9d6

Please sign in to comment.
You can’t perform that action at this time.