Frank Kobzik has uploaded a new change for review.

Change subject: webadmin: [Fix] Cluster subtabs did not show up
......................................................................

webadmin: [Fix] Cluster subtabs did not show up

Regression introduced by 3067b72c2b577a6e5d3e061aef38e2e6aebef115. The problem
was that the GlusterStatus parser expected that it will always get a valid
status - but it could get an empty String which caused an exception in
GlusterStatus.valueOf("")

Fixed by retuning null from this parser in case an empty string has to be
parsed. The renderer is able to take care of the null so it is not NPE
vulnerable anymore.

Change-Id: Iad3acc2369f8583b8ba78ed0efb5d1a05755d13c
Signed-off-by: Frantisek Kobzik <[email protected]>
---
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/cluster/ManageGlusterSwiftPopupView.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/gluster/AddBrickPopupView.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/gluster/BrickAdvancedDetailsPopupView.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/cluster/SubTabClusterGeneralView.java
4 files changed, 16 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/02/26702/1

diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/cluster/ManageGlusterSwiftPopupView.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/cluster/ManageGlusterSwiftPopupView.java
index ddf1362..33bb5da 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/cluster/ManageGlusterSwiftPopupView.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/cluster/ManageGlusterSwiftPopupView.java
@@ -4,6 +4,7 @@
 import 
org.ovirt.engine.core.common.businessentities.gluster.GlusterServerService;
 import 
org.ovirt.engine.core.common.businessentities.gluster.GlusterServiceStatus;
 import org.ovirt.engine.core.common.businessentities.gluster.ServiceType;
+import org.ovirt.engine.core.compat.StringHelper;
 import org.ovirt.engine.ui.common.idhandler.ElementIdHandler;
 import org.ovirt.engine.ui.common.view.popup.AbstractModelBoundPopupView;
 import org.ovirt.engine.ui.common.widget.Align;
@@ -100,6 +101,9 @@
         swiftStatusEditor = new 
EntityModelLabelEditor<GlusterServiceStatus>(new 
EnumRenderer<GlusterServiceStatus>(), new Parser<GlusterServiceStatus>() {
             @Override
             public GlusterServiceStatus parse(CharSequence text) throws 
ParseException {
+                if (StringHelper.isNullOrEmpty(text.toString())) {
+                    return null;
+                }
                 return 
GlusterServiceStatus.valueOf(text.toString().toUpperCase());
             }
         });
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/gluster/AddBrickPopupView.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/gluster/AddBrickPopupView.java
index ef61f35..99a6c45 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/gluster/AddBrickPopupView.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/gluster/AddBrickPopupView.java
@@ -4,6 +4,7 @@
 import org.ovirt.engine.core.common.businessentities.VDS;
 import 
org.ovirt.engine.core.common.businessentities.gluster.GlusterBrickEntity;
 import org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeType;
+import org.ovirt.engine.core.compat.StringHelper;
 import org.ovirt.engine.ui.common.idhandler.ElementIdHandler;
 import org.ovirt.engine.ui.common.idhandler.WithElementId;
 import org.ovirt.engine.ui.common.view.popup.AbstractModelBoundPopupView;
@@ -153,6 +154,9 @@
         volumeTypeEditor = new EntityModelLabelEditor<GlusterVolumeType>(new 
EnumRenderer<GlusterVolumeType>(), new Parser<GlusterVolumeType>() {
             @Override
             public GlusterVolumeType parse(CharSequence text) throws 
ParseException {
+                if (StringHelper.isNullOrEmpty(text.toString())) {
+                    return null;
+                }
                 return 
GlusterVolumeType.valueOf(text.toString().toUpperCase());
             }
         });
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/gluster/BrickAdvancedDetailsPopupView.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/gluster/BrickAdvancedDetailsPopupView.java
index 3ff2548..9791546 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/gluster/BrickAdvancedDetailsPopupView.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/gluster/BrickAdvancedDetailsPopupView.java
@@ -4,6 +4,7 @@
 import org.ovirt.engine.core.common.businessentities.gluster.GlusterClientInfo;
 import org.ovirt.engine.core.common.businessentities.gluster.GlusterStatus;
 import org.ovirt.engine.core.common.businessentities.gluster.Mempool;
+import org.ovirt.engine.core.compat.StringHelper;
 import org.ovirt.engine.ui.common.idhandler.ElementIdHandler;
 import org.ovirt.engine.ui.common.idhandler.WithElementId;
 import org.ovirt.engine.ui.common.view.popup.AbstractModelBoundPopupView;
@@ -198,6 +199,9 @@
         statusEditor = new EntityModelLabelEditor<GlusterStatus>(new 
EnumRenderer<GlusterStatus>(), new Parser<GlusterStatus>() {
             @Override
             public GlusterStatus parse(CharSequence text) throws 
ParseException {
+                if (StringHelper.isNullOrEmpty(text.toString())) {
+                    return null;
+                }
                 return GlusterStatus.valueOf(text.toString().toUpperCase());
             }
         });
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/cluster/SubTabClusterGeneralView.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/cluster/SubTabClusterGeneralView.java
index 76f13b8..bd5650e 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/cluster/SubTabClusterGeneralView.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/cluster/SubTabClusterGeneralView.java
@@ -5,6 +5,7 @@
 import com.google.gwt.text.shared.Parser;
 import org.ovirt.engine.core.common.businessentities.VDSGroup;
 import 
org.ovirt.engine.core.common.businessentities.gluster.GlusterServiceStatus;
+import org.ovirt.engine.core.compat.StringHelper;
 import org.ovirt.engine.ui.common.uicommon.model.DetailModelProvider;
 import org.ovirt.engine.ui.common.view.AbstractSubTabFormView;
 import org.ovirt.engine.ui.common.widget.UiCommandButton;
@@ -92,6 +93,9 @@
         glusterSwiftStatusEditor = new 
EntityModelLabelEditor<GlusterServiceStatus>(new 
EnumRenderer<GlusterServiceStatus>(), new Parser<GlusterServiceStatus>() {
             @Override
             public GlusterServiceStatus parse(CharSequence text) throws 
ParseException {
+                if (StringHelper.isNullOrEmpty(text.toString())) {
+                    return null;
+                }
                 return 
GlusterServiceStatus.valueOf(text.toString().toUpperCase());
             }
         });


-- 
To view, visit http://gerrit.ovirt.org/26702
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Iad3acc2369f8583b8ba78ed0efb5d1a05755d13c
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Frank Kobzik <[email protected]>
Gerrit-Reviewer: Tomas Jelinek <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to