提交 e9451ad7 编写于 作者: K kohsuke

expanded search


git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@4070 71c3de6d-444a-0410-be80-ed276b4c234a
上级 344b0aa8
......@@ -3,6 +3,10 @@ package hudson.model;
import hudson.ExtensionPoint;
import hudson.Util;
import hudson.search.QuickSilver;
import hudson.search.SearchIndexBuilder;
import hudson.search.SearchIndex;
import hudson.search.SearchItem;
import hudson.search.SearchItems;
import hudson.model.Descriptor.FormException;
import hudson.tasks.BuildTrigger;
import hudson.tasks.LogRotator;
......@@ -202,6 +206,27 @@ public abstract class Job<JobT extends Job<JobT,RunT>, RunT extends Run<JobT,Run
return true;
}
protected SearchIndexBuilder makeSearchIndex() {
return super.makeSearchIndex()
.add(new SearchIndex() {
public void find(String token, List<SearchItem> result) {
try {
if(token.startsWith("#")) token=token.substring(1); // ignore leading '#'
int n = Integer.parseInt(token);
Run b = getBuildByNumber(n);
if(b==null) return; // no such build
result.add(SearchItems.create("#"+n,""+n,b));
} catch (NumberFormatException e) {
// not a number.
}
}
public void suggest(String token, List<SearchItem> result) {
find(token,result);
}
});
}
public Collection<? extends Job> getAllJobs() {
return Collections.<Job>singleton(this);
}
......@@ -359,6 +384,8 @@ public abstract class Job<JobT extends Job<JobT,RunT>, RunT extends Run<JobT,Run
/**
* @param n
* The build number.
* @return
* null if no such build exists.
* @see Run#getNumber()
*/
public RunT getBuildByNumber(int n) {
......
......@@ -9,6 +9,9 @@ import hudson.Util;
import static hudson.Util.combine;
import hudson.XmlFile;
import hudson.search.SearchIndexBuilder;
import hudson.search.SearchIndex;
import hudson.search.SearchItem;
import hudson.search.SearchItems;
import hudson.matrix.MatrixBuild;
import hudson.matrix.MatrixRun;
import hudson.tasks.BuildStep;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册