提交 6baefccc 编写于 作者: V vjuranek

Merge pull request #386 from fredg02/CaseInsensitiveSearch

Follow up to pull request #376 which implemented user configurable case insensitive search
......@@ -65,6 +65,7 @@ Upcoming changes</a>
Added UI component to show notification bar at the top of the page
<li class="rfe">
Users can configure search to be case insensitive.
(<a href="https://issues.jenkins-ci.org/browse/JENKINS-850">issue 850</a>)
<li class="rfe">
Inline help now reports the plugin that contributes the said feature.
<li class="rfe">
......
......@@ -26,7 +26,6 @@ package hudson.search;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import hudson.model.User;
/**
* {@link SearchIndex} built on a {@link Map}.
......@@ -53,13 +52,13 @@ public abstract class CollectionSearchIndex<SMT extends SearchableModelObject> i
public void suggest(String token, List<SearchItem> result) {
Collection<SMT> items = all();
if(UserSearchProperty.isCaseSensitive()){
if(UserSearchProperty.isCaseInsensitive()){
token = token.toLowerCase();
}
if(items==null) return;
for (SMT o : items) {
String name = getName(o);
if(UserSearchProperty.isCaseSensitive())
if(UserSearchProperty.isCaseInsensitive())
name=name.toLowerCase();
if(o!=null && name.contains(token))
result.add(o);
......
......@@ -23,7 +23,6 @@
*/
package hudson.search;
import hudson.model.User;
import java.util.Arrays;
import java.util.Collection;
import java.util.List;
......@@ -45,10 +44,10 @@ public class FixedSet implements SearchIndex {
}
public void find(String token, List<SearchItem> result) {
boolean caseSensitive = UserSearchProperty.isCaseSensitive();
boolean caseInsensitive = UserSearchProperty.isCaseInsensitive();
for (SearchItem i : items){
String name = i.getSearchName();
if(caseSensitive){
if(caseInsensitive){
token=token.toLowerCase();
name=name.toLowerCase();
}
......@@ -58,10 +57,10 @@ public class FixedSet implements SearchIndex {
}
public void suggest(String token, List<SearchItem> result) {
boolean caseSensitive = UserSearchProperty.isCaseSensitive();
boolean caseInsensitive = UserSearchProperty.isCaseInsensitive();
for (SearchItem i : items){
String name = i.getSearchName();
if(caseSensitive){
if(caseInsensitive){
token=token.toLowerCase();
name=name.toLowerCase();
}
......
......@@ -24,12 +24,9 @@
*/
package hudson.search;
import hudson.Extension;
import static javax.servlet.http.HttpServletResponse.SC_NOT_FOUND;
import hudson.Util;
import hudson.model.User;
import hudson.model.UserPropertyDescriptor;
import hudson.util.EditDistance;
import java.io.IOException;
import java.util.AbstractList;
......@@ -42,7 +39,6 @@ import java.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.ServletException;
import net.sf.json.JSONObject;
import org.kohsuke.stapler.Ancestor;
import org.kohsuke.stapler.QueryParameter;
import org.kohsuke.stapler.StaplerRequest;
......
......@@ -6,7 +6,6 @@ import hudson.model.UserProperty;
import hudson.model.UserPropertyDescriptor;
import net.sf.json.JSONObject;
import org.kohsuke.stapler.DataBoundConstructor;
import org.kohsuke.stapler.StaplerRequest;
import org.kohsuke.stapler.export.Exported;
......@@ -23,13 +22,13 @@ public class UserSearchProperty extends hudson.model.UserProperty {
return insensitiveSearch;
}
public static boolean isCaseSensitive(){
public static boolean isCaseInsensitive(){
User user = User.current();
boolean caseSensitive = false;
boolean caseInsensitive = false;
if(user!=null && user.getProperty(UserSearchProperty.class).getInsensitiveSearch()){//Searching for anonymous user is case-sensitive
caseSensitive=true;
caseInsensitive=true;
}
return caseSensitive;
return caseInsensitive;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册