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