提交 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; ...@@ -3,6 +3,10 @@ package hudson.model;
import hudson.ExtensionPoint; import hudson.ExtensionPoint;
import hudson.Util; import hudson.Util;
import hudson.search.QuickSilver; 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.model.Descriptor.FormException;
import hudson.tasks.BuildTrigger; import hudson.tasks.BuildTrigger;
import hudson.tasks.LogRotator; import hudson.tasks.LogRotator;
...@@ -202,6 +206,27 @@ public abstract class Job<JobT extends Job<JobT,RunT>, RunT extends Run<JobT,Run ...@@ -202,6 +206,27 @@ public abstract class Job<JobT extends Job<JobT,RunT>, RunT extends Run<JobT,Run
return true; 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() { public Collection<? extends Job> getAllJobs() {
return Collections.<Job>singleton(this); return Collections.<Job>singleton(this);
} }
...@@ -359,6 +384,8 @@ public abstract class Job<JobT extends Job<JobT,RunT>, RunT extends Run<JobT,Run ...@@ -359,6 +384,8 @@ public abstract class Job<JobT extends Job<JobT,RunT>, RunT extends Run<JobT,Run
/** /**
* @param n * @param n
* The build number. * The build number.
* @return
* null if no such build exists.
* @see Run#getNumber() * @see Run#getNumber()
*/ */
public RunT getBuildByNumber(int n) { public RunT getBuildByNumber(int n) {
......
...@@ -9,6 +9,9 @@ import hudson.Util; ...@@ -9,6 +9,9 @@ import hudson.Util;
import static hudson.Util.combine; import static hudson.Util.combine;
import hudson.XmlFile; import hudson.XmlFile;
import hudson.search.SearchIndexBuilder; import hudson.search.SearchIndexBuilder;
import hudson.search.SearchIndex;
import hudson.search.SearchItem;
import hudson.search.SearchItems;
import hudson.matrix.MatrixBuild; import hudson.matrix.MatrixBuild;
import hudson.matrix.MatrixRun; import hudson.matrix.MatrixRun;
import hudson.tasks.BuildStep; import hudson.tasks.BuildStep;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册