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

Reply via email to