Hello Gilad Chaplik, I'd like you to do a code review. Please visit
http://gerrit.ovirt.org/7344 to review the following change. Change subject: webadmin: fixing NPE in Reports ...................................................................... webadmin: fixing NPE in Reports There was a change in behavior, when fetching Reports.xml, in the past, the jboss used to return null, and now it returns something, so added a try/catch clause to protect the call. Change-Id: I4e9f9e47d258b9def47a050bb7eeaafcbdd2d342 Signed-off-by: Gilad Chaplik <gchap...@redhat.com> --- M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/ReportInit.java M frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/ReportParser.java 2 files changed, 21 insertions(+), 14 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/44/7344/1 diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/ReportInit.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/ReportInit.java index 8a5b2c7..825ec3a 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/ReportInit.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/ReportInit.java @@ -95,10 +95,11 @@ @Override public void onResponseReceived(Request request, Response response) { try { - ReportParser.getInstance().parseReport(response.getText()); - resourceMap = ReportParser.getInstance().getResourceMap(); - dashboardMap = ReportParser.getInstance().getDashboardMap(); - isCommunityEdition = ReportParser.getInstance().isCommunityEdition(); + if (ReportParser.getInstance().parseReport(response.getText())) { + resourceMap = ReportParser.getInstance().getResourceMap(); + dashboardMap = ReportParser.getInstance().getDashboardMap(); + isCommunityEdition = ReportParser.getInstance().isCommunityEdition(); + } } catch (DOMParseException e) { } finally { setXmlInitialized(); diff --git a/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/ReportParser.java b/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/ReportParser.java index 58ee426..cb661e7 100644 --- a/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/ReportParser.java +++ b/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/ReportParser.java @@ -37,16 +37,22 @@ public Map<String, Dashboard> getDashboardMap() { return dashboardMap; } - public void parseReport(String xmlPath) { - // parse the XML document into a DOM - Document messageDom = XMLParser.parse(xmlPath); - - Element reportsElement = (Element) messageDom.getElementsByTagName("reports").item(0); //$NON-NLS-1$ - NodeList dashboradsNodeList = reportsElement.getElementsByTagName("dashboard"); //$NON-NLS-1$ - initDashboards(dashboradsNodeList); - NodeList resourcesNodeList = reportsElement.getElementsByTagName("resource"); //$NON-NLS-1$ - - initResources(resourcesNodeList); + public boolean parseReport(String xmlPath) { + try { + // parse the XML document into a DOM + Document messageDom = XMLParser.parse(xmlPath); + + Element reportsElement = (Element) messageDom.getElementsByTagName("reports").item(0); //$NON-NLS-1$ + NodeList dashboradsNodeList = reportsElement.getElementsByTagName("dashboard"); //$NON-NLS-1$ + initDashboards(dashboradsNodeList); + NodeList resourcesNodeList = reportsElement.getElementsByTagName("resource"); //$NON-NLS-1$ + + initResources(resourcesNodeList); + } + catch (Throwable e) { + return false; + } + return true; } private void initDashboards(NodeList dashboardNodeList) { -- To view, visit http://gerrit.ovirt.org/7344 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I4e9f9e47d258b9def47a050bb7eeaafcbdd2d342 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Alona Kaplan <alkap...@redhat.com> Gerrit-Reviewer: Gilad Chaplik <gchap...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches