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

Reply via email to