Vojtech Szocs has uploaded a new change for review.

Change subject: webadmin: Null pointer dereferences in model classes
......................................................................

webadmin: Null pointer dereferences in model classes

Added null check when calling Configurator#getSyntaxChecker
in WebAdmin context (CommonModel and SearchSuggestModel) to
fix FindBugs "Null pointer dereferences" warning.

In practice, WebAdminConfigurator#getSyntaxChecker (bound in
WebAdmin's UiCommonModule) always returns non-null reference
so this is just to eliminate the FindBugs warning.

Change-Id: I6b352518d0a306c69e7fcb5d778b76f38e0c848e
Signed-off-by: Vojtech Szocs <vsz...@redhat.com>
---
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
2 files changed, 15 insertions(+), 8 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/05/41405/1

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 6dfd592..d44bf1d 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
@@ -3,7 +3,6 @@
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.HashSet;
-import java.util.Iterator;
 import java.util.List;
 import java.util.Set;
 
@@ -1150,13 +1149,15 @@
             return false;
         }
         ISyntaxChecker syntaxChecker = 
getAutoCompleteModel().getConfigurator().getSyntaxChecker();
-        SyntaxContainer syntaxCont = 
syntaxChecker.analyzeSyntaxState(searchString, true);
-        Set<SyntaxObjectType> searchTokenSet = new HashSet<SyntaxObjectType>();
-        Iterator<SyntaxObject> iterator = syntaxCont.iterator();
-        while(iterator.hasNext()) {
-            searchTokenSet.add(iterator.next().getType());
+        if (syntaxChecker == null) {
+            return false;
         }
-        Set<SyntaxObjectType> tokenSet = new HashSet<SyntaxObjectType>();
+        SyntaxContainer syntaxCont = 
syntaxChecker.analyzeSyntaxState(searchString, true);
+        Set<SyntaxObjectType> searchTokenSet = new HashSet<>();
+        for (SyntaxObject aSyntaxCont : syntaxCont) {
+            searchTokenSet.add(aSyntaxCont.getType());
+        }
+        Set<SyntaxObjectType> tokenSet = new HashSet<>();
         tokenSet.addAll(Arrays.asList(tokens));
         searchTokenSet.retainAll(tokenSet);
         return !searchTokenSet.isEmpty();
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 01d2ff7..89f417a 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,6 +6,7 @@
 
 import org.ovirt.engine.core.common.utils.ObjectUtils;
 import org.ovirt.engine.core.compat.StringHelper;
+import org.ovirt.engine.core.searchbackend.ISyntaxChecker;
 import org.ovirt.engine.core.searchbackend.SyntaxChecker;
 import org.ovirt.engine.core.searchbackend.SyntaxContainer;
 import org.ovirt.engine.core.searchbackend.SyntaxError;
@@ -96,7 +97,12 @@
     {
         getItems().clear();
 
-        SyntaxContainer syntax = 
getConfigurator().getSyntaxChecker().getCompletion(search);
+        ISyntaxChecker syntaxChecker = getConfigurator().getSyntaxChecker();
+        if (syntaxChecker == null) {
+            return;
+        }
+
+        SyntaxContainer syntax = syntaxChecker.getCompletion(search);
 
         int lastHandledIndex = syntax.getLastHandledIndex();
         String pf = search.substring(0, lastHandledIndex);


-- 
To view, visit https://gerrit.ovirt.org/41405
To unsubscribe, visit https://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I6b352518d0a306c69e7fcb5d778b76f38e0c848e
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Vojtech Szocs <vsz...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to