mirror of
https://github.com/jenkinsci/jenkins.git
synced 2026-11-14 12:32:15 +00:00
Refactoring of pull376
This commit is contained in:
1 parent
e00729ea4b
commit
23c7e5bb10
6 files changed
+58
-48
No files matched your search
@@ -45,7 +45,7 @@ import org.kohsuke.stapler.export.ExportedBean;
|
||||
* Configuration screen should be defined in <tt>config.jelly</tt>.
|
||||
* Within this page, the {@link UserProperty} instance is available
|
||||
* as <tt>instance</tt> variable (while <tt>it</tt> refers to {@link User}.
|
||||
* See {@link Mailer.UserProperty}'s <tt>config.jelly</tt> for an example.
|
||||
* See {@link UserSearchProperty.UserProperty}'s <tt>config.jelly</tt> for an example.
|
||||
*
|
||||
*
|
||||
* @author Kohsuke Kawaguchi
|
||||
|
||||
@@ -53,16 +53,13 @@ public abstract class CollectionSearchIndex<SMT extends SearchableModelObject> i
|
||||
|
||||
public void suggest(String token, List<SearchItem> result) {
|
||||
Collection<SMT> items = all();
|
||||
User user = User.current();
|
||||
boolean caseSensitive = false;
|
||||
if(user!=null && user.getProperty(Search.UserProperty.class).getInsensitiveSearch()){ //Searching for anonymous user is case-sensitive
|
||||
if(UserSearchProperty.isCaseSensitive()){
|
||||
token = token.toLowerCase();
|
||||
caseSensitive=true;
|
||||
}
|
||||
if(items==null) return;
|
||||
for (SMT o : items) {
|
||||
String name = getName(o);
|
||||
if(caseSensitive)
|
||||
if(UserSearchProperty.isCaseSensitive())
|
||||
name=name.toLowerCase();
|
||||
if(o!=null && name.contains(token))
|
||||
result.add(o);
|
||||
|
||||
@@ -45,7 +45,7 @@ public class FixedSet implements SearchIndex {
|
||||
}
|
||||
|
||||
public void find(String token, List<SearchItem> result) {
|
||||
boolean caseSensitive = getCaseSensitivity();
|
||||
boolean caseSensitive = UserSearchProperty.isCaseSensitive();
|
||||
for (SearchItem i : items){
|
||||
String name = i.getSearchName();
|
||||
if(caseSensitive){
|
||||
@@ -56,18 +56,9 @@ public class FixedSet implements SearchIndex {
|
||||
result.add(i);
|
||||
}
|
||||
}
|
||||
|
||||
public boolean getCaseSensitivity(){
|
||||
User user = User.current();
|
||||
boolean caseSensitive = false;
|
||||
if(user!=null && user.getProperty(Search.UserProperty.class).getInsensitiveSearch()){//Searching for anonymous user is case-sensitive
|
||||
caseSensitive=true;
|
||||
}
|
||||
return caseSensitive;
|
||||
}
|
||||
|
||||
public void suggest(String token, List<SearchItem> result) {
|
||||
boolean caseSensitive = getCaseSensitivity();
|
||||
boolean caseSensitive = UserSearchProperty.isCaseSensitive();
|
||||
for (SearchItem i : items){
|
||||
String name = i.getSearchName();
|
||||
if(caseSensitive){
|
||||
|
||||
@@ -353,35 +353,4 @@ public class Search {
|
||||
}
|
||||
|
||||
private final static Logger LOGGER = Logger.getLogger(Search.class.getName());
|
||||
|
||||
//User`s setting of case-sensitivity for searching
|
||||
public static class UserProperty extends hudson.model.UserProperty {
|
||||
|
||||
private final boolean insensitiveSearch;
|
||||
|
||||
public UserProperty(boolean insensitiveSearch) {
|
||||
this.insensitiveSearch = insensitiveSearch;
|
||||
}
|
||||
|
||||
@Exported
|
||||
public boolean getInsensitiveSearch() {
|
||||
return insensitiveSearch;
|
||||
}
|
||||
|
||||
@Extension
|
||||
public static final class DescriptorImpl extends UserPropertyDescriptor {
|
||||
public String getDisplayName() {
|
||||
return "Setting for search";
|
||||
}
|
||||
|
||||
public UserProperty newInstance(User user) {
|
||||
return new UserProperty(false); //default setting is case-sensitive searching
|
||||
}
|
||||
|
||||
@Override
|
||||
public UserProperty newInstance(StaplerRequest req, JSONObject formData) throws FormException {
|
||||
return new UserProperty(formData.optBoolean("insensitiveSearch"));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,53 @@
|
||||
package hudson.search;
|
||||
|
||||
import hudson.Extension;
|
||||
import hudson.model.User;
|
||||
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;
|
||||
|
||||
public class UserSearchProperty extends hudson.model.UserProperty {
|
||||
|
||||
private final boolean insensitiveSearch;
|
||||
|
||||
public UserSearchProperty(boolean insensitiveSearch) {
|
||||
this.insensitiveSearch = insensitiveSearch;
|
||||
}
|
||||
|
||||
@Exported
|
||||
public boolean getInsensitiveSearch() {
|
||||
return insensitiveSearch;
|
||||
}
|
||||
|
||||
public static boolean isCaseSensitive(){
|
||||
User user = User.current();
|
||||
boolean caseSensitive = false;
|
||||
if(user!=null && user.getProperty(UserSearchProperty.class).getInsensitiveSearch()){//Searching for anonymous user is case-sensitive
|
||||
caseSensitive=true;
|
||||
}
|
||||
return caseSensitive;
|
||||
}
|
||||
|
||||
|
||||
@Extension
|
||||
public static final class DescriptorImpl extends UserPropertyDescriptor {
|
||||
public String getDisplayName() {
|
||||
return "Setting for search";
|
||||
}
|
||||
|
||||
public UserProperty newInstance(User user) {
|
||||
return new UserSearchProperty(false); //default setting is case-sensitive searching
|
||||
}
|
||||
|
||||
@Override
|
||||
public UserProperty newInstance(StaplerRequest req, JSONObject formData) throws FormException {
|
||||
return new UserSearchProperty(formData.optBoolean("insensitiveSearch"));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
Reference in new issue
Block a user