Alexander Wels has uploaded a new change for review. Change subject: webadmin: remove sortby/page from searchstring ......................................................................
webadmin: remove sortby/page from searchstring - Removed sortby and page as options from the drop down in the search box. Change-Id: I2b905d91e4b0a147df9c0e75c956e819ba42d0e6 Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=1129298 Signed-off-by: Alexander Wels <aw...@redhat.com> --- M backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/SyntaxChecker.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/CommonModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/autocomplete/SearchSuggestModel.java 3 files changed, 54 insertions(+), 22 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/87/33787/1 diff --git a/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/SyntaxChecker.java b/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/SyntaxChecker.java index 0984b78..0527cc1 100644 --- a/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/SyntaxChecker.java +++ b/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/SyntaxChecker.java @@ -25,23 +25,24 @@ public static final String TAG_COLUMN_NAME_IN_CRITERIA = "tag_name"; public static final String SORTBY = "SORTBY"; + public static final String PAGE = "PAGE"; public static final String SORTDIR_ASC = "ASC"; public static final String SORTDIR_DESC = "DESC"; - private SearchObjectAutoCompleter mSearchObjectAC; - private BaseAutoCompleter mColonAC; - private BaseAutoCompleter mPluralAC; - private BaseAutoCompleter mSortbyAC; - private BaseAutoCompleter mPageAC; - private BaseAutoCompleter mAndAC; - private BaseAutoCompleter mOrAC; - private BaseAutoCompleter mDotAC; - private BaseAutoCompleter mSortDirectionAC; - private Map<SyntaxObjectType, SyntaxObjectType[]> mStateMap; + private final SearchObjectAutoCompleter mSearchObjectAC; + private final BaseAutoCompleter mColonAC; + private final BaseAutoCompleter mPluralAC; + private final BaseAutoCompleter mSortbyAC; + private final BaseAutoCompleter mPageAC; + private final BaseAutoCompleter mAndAC; + private final BaseAutoCompleter mOrAC; + private final BaseAutoCompleter mDotAC; + private final BaseAutoCompleter mSortDirectionAC; + private final Map<SyntaxObjectType, SyntaxObjectType[]> mStateMap; - private Regex mFirstDQRegexp; - private Regex mNonSpaceRegexp; - private List<Character> mDisAllowedChars; + private final Regex mFirstDQRegexp; + private final Regex mNonSpaceRegexp; + private final List<Character> mDisAllowedChars; private SqlInjectionChecker sqlInjectionChecker; public SyntaxChecker(int searchReasultsLimit) { @@ -50,7 +51,7 @@ mColonAC = new BaseAutoCompleter(":"); mPluralAC = new BaseAutoCompleter("S"); mSortbyAC = new BaseAutoCompleter(SORTBY); - mPageAC = new BaseAutoCompleter("PAGE"); + mPageAC = new BaseAutoCompleter(PAGE); mSortDirectionAC = new BaseAutoCompleter(SORTDIR_ASC, SORTDIR_DESC); mAndAC = new BaseAutoCompleter("AND"); mOrAC = new BaseAutoCompleter("OR"); diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/CommonModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/CommonModel.java index 4408265..db633fe 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/CommonModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/CommonModel.java @@ -12,6 +12,7 @@ import org.ovirt.engine.core.compat.Regex; import org.ovirt.engine.core.compat.RegexOptions; import org.ovirt.engine.core.compat.StringHelper; +import org.ovirt.engine.core.searchbackend.SyntaxChecker; import org.ovirt.engine.ui.frontend.Frontend; import org.ovirt.engine.ui.uicommonweb.Linq; import org.ovirt.engine.ui.uicommonweb.ReportInit; @@ -58,6 +59,7 @@ // TODO: "SingedOut" is misspelled. public static final EventDefinition signedOutEventDefinition = new EventDefinition("SingedOut", CommonModel.class); //$NON-NLS-1$ + private static final String SPACE = " "; //$NON-NLS-1$ private Event<EventArgs> privateSignedOutEvent; private UICommand privateSearchCommand; private UICommand privateConfigureCommand; @@ -1113,9 +1115,10 @@ @Override public SearchableListModel getSelectedItem() { - return (SearchableListModel) super.getSelectedItem(); + return super.getSelectedItem(); } + @Override public void setSelectedItem(SearchableListModel value) { super.setSelectedItem(value); @@ -1240,7 +1243,10 @@ public void setSearchString(String value) { - setSearchString(value, true); + if (value == null || (!value.toUpperCase().contains(SPACE + SyntaxChecker.SORTBY) + && !value.toUpperCase().contains(SPACE + SyntaxChecker.PAGE))) { + setSearchString(value, true); + } } public void setSearchString(String value, boolean checkIfNewValue) diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/autocomplete/SearchSuggestModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/autocomplete/SearchSuggestModel.java index 9a6da84..2e524ef 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/autocomplete/SearchSuggestModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/autocomplete/SearchSuggestModel.java @@ -6,14 +6,20 @@ import org.ovirt.engine.core.common.utils.ObjectUtils; import org.ovirt.engine.core.compat.StringHelper; +import org.ovirt.engine.core.searchbackend.SyntaxChecker; import org.ovirt.engine.core.searchbackend.SyntaxContainer; import org.ovirt.engine.core.searchbackend.SyntaxError; import org.ovirt.engine.core.searchbackend.SyntaxObjectType; import org.ovirt.engine.ui.uicommonweb.models.SearchableListModel; import org.ovirt.engine.ui.uicompat.ObservableCollection; -public class SearchSuggestModel extends SearchableListModel -{ +public class SearchSuggestModel extends SearchableListModel { + + private static final String SPACE = " "; //$NON-NLS-1$ + + private final String[] itemsToIgnore = { "monitor-desktop", //$NON-NLS-1$ + SyntaxChecker.PAGE, SyntaxChecker.SORTBY}; + @Override public List getItems() { @@ -100,7 +106,7 @@ if (getSearchObjectFilter() != null && syntax.getState() != SyntaxObjectType.BEGIN) { for (String value : getSearchObjectFilter()) { if (pf.toLowerCase().equals(value.toLowerCase()) - || pf.toLowerCase().startsWith(value.toLowerCase() + ":")) { //$NON-NLS-1$ + || pf.toLowerCase().startsWith(value.toLowerCase() + ":") || containsWithItemsToIgnore(pf)) { //$NON-NLS-1$ addSuggestItem("", SuggestItemPartType.Valid, search, SuggestItemPartType.Erroneous); //$NON-NLS-1$ return; } @@ -153,12 +159,11 @@ if ((pf.length() > 0) && (!pf.substring(pf.length() - 1, pf.length() - 1 + 1).equals(".")) //$NON-NLS-1$ && (!".".equals(item))) //$NON-NLS-1$ { - space = " "; //$NON-NLS-1$ + space = SPACE; } // Patch: monitor-desktop - if (!item.trim().toLowerCase().startsWith("monitor-desktop")) //$NON-NLS-1$ - { + if (!inItemsToIgnore(item)) { addSuggestItem(StringHelper.trimEnd(pf), SuggestItemPartType.Valid, space + item.trim(), @@ -172,6 +177,26 @@ } } + private boolean containsWithItemsToIgnore(String pf) { + for (String item: itemsToIgnore) { + if (pf.toUpperCase().contains(SPACE + item.trim().toUpperCase())) { + return true; + } + } + return false; + } + + private boolean inItemsToIgnore(String actualItem) { + if (actualItem != null) { + for (String item: itemsToIgnore) { + if (item.equalsIgnoreCase(actualItem.trim())) { + return true; + } + } + } + return false; + } + private void addSuggestItem(String firstPart, SuggestItemPartType firstPartType, String secondPart, SuggestItemPartType secondPartType) { SuggestItemPartModel tempVar = new SuggestItemPartModel(); -- To view, visit http://gerrit.ovirt.org/33787 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I2b905d91e4b0a147df9c0e75c956e819ba42d0e6 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Alexander Wels <aw...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches