Gilad Chaplik has uploaded a new change for review.

Change subject: webadmin: create cluster hangs
......................................................................

webadmin: create cluster hangs

Change-Id: I97ac6720a8115142bb041a3e6ecec549f75372d9
Bug-Url: https://bugzilla.redhat.com/880111
Signed-off-by: Gilad Chaplik <[email protected]>
---
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/DataCenterGuideModel.java
1 file changed, 66 insertions(+), 22 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/07/11507/1

diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/DataCenterGuideModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/DataCenterGuideModel.java
index 9622d9e..19f96bd 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/DataCenterGuideModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/DataCenterGuideModel.java
@@ -151,63 +151,107 @@
     }
 
     private void UpdateOptionsNonLocalFSData() {
-        AsyncDataProvider.GetClusterList(new AsyncQuery(this,
+        AsyncQuery query = new AsyncQuery(this,
                 new INewAsyncCallback() {
                     @Override
                     public void OnSuccess(Object target, Object returnValue) {
                         DataCenterGuideModel dataCenterGuideModel = 
(DataCenterGuideModel) target;
-                        ArrayList<VDSGroup> clusters = (ArrayList<VDSGroup>) 
returnValue;
+                        ArrayList<VDSGroup> clusters = null;
+                        if (returnValue == null || returnValue instanceof 
VdcQueryReturnValue
+                                && (!((VdcQueryReturnValue) 
returnValue).getSucceeded() ||
+                                ((VdcQueryReturnValue) 
returnValue).getReturnValue() != null)) {
+                            clusters = new ArrayList<VDSGroup>();
+                        } else {
+                            clusters = (ArrayList<VDSGroup>) returnValue;
+                        }
                         dataCenterGuideModel.clusters = clusters;
                         dataCenterGuideModel.UpdateOptionsNonLocalFS();
                     }
-                }), getEntity().getId());
+                });
+        query.setHandleFailure(true);
+        AsyncDataProvider.GetClusterList(query, getEntity().getId());
 
-        AsyncDataProvider.GetStorageDomainList(new AsyncQuery(this,
+        query = new AsyncQuery(this,
                 new INewAsyncCallback() {
                     @Override
                     public void OnSuccess(Object target, Object returnValue) {
                         DataCenterGuideModel dataCenterGuideModel = 
(DataCenterGuideModel) target;
-                        ArrayList<storage_domains> storageDomains =
-                                (ArrayList<storage_domains>) returnValue;
+                        ArrayList<storage_domains> storageDomains = null;
+                        if (returnValue == null || returnValue instanceof 
VdcQueryReturnValue
+                                && (!((VdcQueryReturnValue) 
returnValue).getSucceeded() ||
+                                ((VdcQueryReturnValue) 
returnValue).getReturnValue() != null)) {
+                            storageDomains = new ArrayList<storage_domains>();
+                        } else {
+                            storageDomains =
+                                    (ArrayList<storage_domains>) returnValue;
+                        }
                         dataCenterGuideModel.allStorageDomains = 
storageDomains;
                         dataCenterGuideModel.UpdateOptionsNonLocalFS();
                     }
-                }));
+                });
+        query.setHandleFailure(true);
+        AsyncDataProvider.GetStorageDomainList(query);
 
-        AsyncDataProvider.GetStorageDomainList(new AsyncQuery(this,
+        query = new AsyncQuery(this,
                 new INewAsyncCallback() {
                     @Override
                     public void OnSuccess(Object target, Object returnValue) {
                         DataCenterGuideModel dataCenterGuideModel = 
(DataCenterGuideModel) target;
-                        ArrayList<storage_domains> storageDomains =
-                                (ArrayList<storage_domains>) returnValue;
-                        dataCenterGuideModel.attachedStorageDomains = 
storageDomains;
+                        ArrayList<storage_domains> attachedStorageDomains = 
null;
+                        if (returnValue == null || returnValue instanceof 
VdcQueryReturnValue
+                                && (!((VdcQueryReturnValue) 
returnValue).getSucceeded() ||
+                                ((VdcQueryReturnValue) 
returnValue).getReturnValue() != null)) {
+                            attachedStorageDomains = new 
ArrayList<storage_domains>();
+                        } else {
+                            attachedStorageDomains = 
(ArrayList<storage_domains>) returnValue;
+                        }
+                        dataCenterGuideModel.attachedStorageDomains = 
attachedStorageDomains;
                         dataCenterGuideModel.UpdateOptionsNonLocalFS();
                     }
-                }), getEntity().getId());
+                });
+        query.setHandleFailure(true);
+        AsyncDataProvider.GetStorageDomainList(query, getEntity().getId());
 
-        AsyncDataProvider.GetISOStorageDomainList(new AsyncQuery(this,
+        query = new AsyncQuery(this,
                 new INewAsyncCallback() {
                     @Override
                     public void OnSuccess(Object target, Object returnValue) {
                         DataCenterGuideModel dataCenterGuideModel = 
(DataCenterGuideModel) target;
-                        ArrayList<storage_domains> storageDomains =
-                                (ArrayList<storage_domains>) returnValue;
-                        dataCenterGuideModel.isoStorageDomains = 
storageDomains;
+                        ArrayList<storage_domains> isoStorageDomains = null;
+                        if (returnValue == null || returnValue instanceof 
VdcQueryReturnValue
+                                && (!((VdcQueryReturnValue) 
returnValue).getSucceeded() ||
+                                ((VdcQueryReturnValue) 
returnValue).getReturnValue() != null)) {
+                            isoStorageDomains = new 
ArrayList<storage_domains>();
+                        } else {
+                            isoStorageDomains =
+                                    (ArrayList<storage_domains>) returnValue;
+                        }
+                        dataCenterGuideModel.isoStorageDomains = 
isoStorageDomains;
                         dataCenterGuideModel.UpdateOptionsNonLocalFS();
                     }
-                }));
+                });
+        query.setHandleFailure(true);
+        AsyncDataProvider.GetISOStorageDomainList(query);
 
-        AsyncDataProvider.GetHostList(new AsyncQuery(this,
+        query = new AsyncQuery(this,
                 new INewAsyncCallback() {
                     @Override
                     public void OnSuccess(Object target, Object returnValue) {
                         DataCenterGuideModel dataCenterGuideModel = 
(DataCenterGuideModel) target;
-                        ArrayList<VDS> hosts = (ArrayList<VDS>) returnValue;
-                        dataCenterGuideModel.allHosts = hosts;
+                        ArrayList<VDS> allHosts = null;
+                        if (returnValue == null || returnValue instanceof 
VdcQueryReturnValue
+                                && (!((VdcQueryReturnValue) 
returnValue).getSucceeded() ||
+                                ((VdcQueryReturnValue) 
returnValue).getReturnValue() != null)) {
+                            allHosts = new ArrayList<VDS>();
+                        } else {
+                            allHosts = (ArrayList<VDS>) returnValue;
+                        }
+                        dataCenterGuideModel.allHosts = allHosts;
                         dataCenterGuideModel.UpdateOptionsNonLocalFS();
                     }
-                }));
+                });
+        query.setHandleFailure(true);
+        AsyncDataProvider.GetHostList(query);
     }
 
     private void UpdateOptionsLocalFSData() {
@@ -1418,9 +1462,9 @@
 
         model.StopProgress();
 
+        Cancel();
         if (returnValue != null && returnValue.getSucceeded())
         {
-            Cancel();
             PostAction();
         }
     }


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I97ac6720a8115142bb041a3e6ecec549f75372d9
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Gilad Chaplik <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to