提交 86c0b802 编写于 作者: K kohsuke

bug fix.

git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@30095 71c3de6d-444a-0410-be80-ed276b4c234a
上级 e1e0237f
......@@ -33,6 +33,7 @@ import hudson.ExtensionPoint.LegacyInstancesAreScopedToHudson;
import java.util.AbstractList;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
......@@ -133,21 +134,25 @@ public class ExtensionList<T> extends AbstractList<T> {
@Override
public synchronized boolean remove(Object o) {
legacyInstances.remove(o);
removeComponent(legacyInstances,o);
if(extensions!=null) {
List<ExtensionComponent<T>> r = new ArrayList<ExtensionComponent<T>>(extensions);
for (Iterator<ExtensionComponent<T>> itr = r.iterator(); itr.hasNext();) {
ExtensionComponent<T> c = itr.next();
if (c.getInstance().equals(o))
itr.remove();
}
r.remove(o);
removeComponent(r,o);
extensions = sort(r);
}
return true;
}
private <T> void removeComponent(Collection<ExtensionComponent<T>> collection, Object t) {
for (Iterator<ExtensionComponent<T>> itr = collection.iterator(); itr.hasNext();) {
ExtensionComponent<T> c = itr.next();
if (c.getInstance().equals(t)) {
collection.remove(c);
return;
}
}
}
@Override
public synchronized T remove(int index) {
T t = get(index);
......
......@@ -714,6 +714,13 @@ public abstract class HudsonTestCase extends TestCase implements RootAction {
return assertBuildStatusSuccess(job.scheduleBuild2(0));
}
/**
* Should be unnecessary, but otherwise IntelliJ complains.
*/
public FreeStyleBuild buildAndAssertSuccess(FreeStyleProject job) throws Exception {
return assertBuildStatusSuccess(job.scheduleBuild2(0));
}
/**
* Asserts that the console output of the build contains the given substring.
*/
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册