Yaniv Bronhaim has uploaded a new change for review.

Change subject: ui: Changing foreman provider data loading
......................................................................

ui: Changing foreman provider data loading

When selected new provider the addHost external provider form fields will
be cleaned and blocked till all provider's info will be loaded.
In this patch we also change the update method which now retrieves all
provider's info in each call, instead of loading only part of the
information.

Change-Id: Ie01a6c8b6d6f7e58a6057fc211ab5e4605bbe310
Signed-off-by: Yaniv Bronhaim <[email protected]>
---
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/NewHostModel.java
2 files changed, 63 insertions(+), 63 deletions(-)


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

diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostModel.java
index ae8b8fa..d008e86 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostModel.java
@@ -1868,6 +1868,14 @@
         getHost().setEntity(constants.empty());
         getUserPassword().setEntity(constants.empty());
         getFetchSshFingerprint().setEntity(constants.empty());
+        getExternalHostName().setItems(null);
+        getExternalHostName().setIsChangable(false);
+        getExternalDiscoveredHosts().setItems(null);
+        getExternalDiscoveredHosts().setIsChangable(false);
+        getExternalHostGroups().setItems(null);
+        getExternalHostGroups().setIsChangable(false);
+        getExternalComputeResource().setItems(null);
+        getExternalComputeResource().setIsChangable(false);
 
     }
 
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/NewHostModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/NewHostModel.java
index c679138..6a36328 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/NewHostModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/NewHostModel.java
@@ -41,21 +41,15 @@
         });
 
         
getExternalDiscoveredHosts().setIsAvailable(ApplicationModeHelper.getUiMode() 
!= ApplicationMode.GlusterOnly);
-        getIsDiscorveredHosts().getEntityChangedEvent().addListener(new 
IEventListener() {
-            @Override
-            public void eventRaised(Event ev, Object sender, EventArgs args) {
-                cleanHostParametersFields();
-                if (getIsDiscorveredHosts().getEntity() != null) {
-                    updateHostList(getIsDiscorveredHosts().getEntity());
-                }
-            }
-        });
 
         
getExternalHostProviderEnabled().setIsAvailable(ApplicationModeHelper.getUiMode()
 != ApplicationMode.GlusterOnly);
         getProviders().getSelectedItemChangedEvent().addListener(new 
IEventListener() {
             @Override
             public void eventRaised(Event ev, Object sender, EventArgs args) {
+                // While load don't let user to change provider
+                getProviders().setIsChangable(false);
                 providers_SelectedItemChanged();
+                updateHostList();
             }
         });
 
@@ -90,70 +84,68 @@
     }
 
     private void providers_SelectedItemChanged() {
+        cleanHostParametersFields();
         Provider provider = getProviders().getSelectedItem();
         setEnableSearchHost(provider != null);
     }
 
-    private void updateHostList(boolean isDiscovered) {
+    private void updateHostList() {
         Provider provider = getProviders().getSelectedItem();
-        if (provider == null)  {
+        if (provider == null) {
             return;
         }
+        AsyncQuery getHostsQuery = new AsyncQuery();
+        getHostsQuery.asyncCallback = new INewAsyncCallback() {
+            @Override
+            public void onSuccess(Object model, Object result) {
+                ArrayList<VDS> hosts = (ArrayList<VDS>) result;
+                ListModel<VDS> hostNameListModel = getExternalHostName();
+                hostNameListModel.setItems(hosts);
+                hostNameListModel.setIsChangable(true);
+                setEnableSearchHost(true);
+                getProviders().setIsChangable(true);
+            }
+        };
+        
AsyncDataProvider.getInstance().getExternalProviderHostList(getHostsQuery,
+                provider.getId(),
+                true,
+                getProviderSearchFilter().getEntity());
 
-        if (!isDiscovered) {
-            AsyncQuery getHostsQuery = new AsyncQuery();
-            getHostsQuery.asyncCallback = new INewAsyncCallback() {
-                @Override
-                public void onSuccess(Object model, Object result)
-                {
-                    ArrayList<VDS> hosts = (ArrayList<VDS>) result;
-                    ListModel<VDS> hostNameListModel = getExternalHostName();
-                    hostNameListModel.setItems(hosts);
-                    hostNameListModel.setIsChangable(true);
-                    setEnableSearchHost(true);
-                }
-            };
-            AsyncDataProvider.getExternalProviderHostList(getHostsQuery, 
provider.getId(), true, getProviderSearchFilter().getEntity());
-        } else {
-            AsyncQuery getDiscoveredHostsQuery = new AsyncQuery();
-            getDiscoveredHostsQuery.asyncCallback = new INewAsyncCallback() {
-                @Override
-                public void onSuccess(Object model, Object result)
-                {
-                    ArrayList<ExternalDiscoveredHost> hosts = 
(ArrayList<ExternalDiscoveredHost>) result;
-                    ListModel externalDiscoveredHostsListModel = 
getExternalDiscoveredHosts();
-                    externalDiscoveredHostsListModel.setItems(hosts);
-                    externalDiscoveredHostsListModel.setIsChangable(true);
-                }
-            };
-            
AsyncDataProvider.getExternalProviderDiscoveredHostList(getDiscoveredHostsQuery,
 provider);
+        AsyncQuery getDiscoveredHostsQuery = new AsyncQuery();
+        getDiscoveredHostsQuery.asyncCallback = new INewAsyncCallback() {
+            @Override
+            public void onSuccess(Object model, Object result) {
+                ArrayList<ExternalDiscoveredHost> hosts = 
(ArrayList<ExternalDiscoveredHost>) result;
+                ListModel externalDiscoveredHostsListModel = 
getExternalDiscoveredHosts();
+                externalDiscoveredHostsListModel.setItems(hosts);
+                externalDiscoveredHostsListModel.setIsChangable(true);
+            }
+        };
+        
AsyncDataProvider.getInstance().getExternalProviderDiscoveredHostList(getDiscoveredHostsQuery,
 provider);
 
-            AsyncQuery getHostGroupsQuery = new AsyncQuery();
-            getHostGroupsQuery.asyncCallback = new INewAsyncCallback() {
-                @Override
-                public void onSuccess(Object model, Object result)
-                {
-                    ArrayList<ExternalHostGroup> hostGroups = 
(ArrayList<ExternalHostGroup>) result;
-                    ListModel externalHostGroupsListModel = 
getExternalHostGroups();
-                    externalHostGroupsListModel.setItems(hostGroups);
-                    externalHostGroupsListModel.setIsChangable(true);
-                }
-            };
-            
AsyncDataProvider.getExternalProviderHostGroupList(getHostGroupsQuery, 
provider);
+        AsyncQuery getHostGroupsQuery = new AsyncQuery();
+        getHostGroupsQuery.asyncCallback = new INewAsyncCallback() {
+            @Override
+            public void onSuccess(Object model, Object result) {
+                ArrayList<ExternalHostGroup> hostGroups = 
(ArrayList<ExternalHostGroup>) result;
+                ListModel externalHostGroupsListModel = 
getExternalHostGroups();
+                externalHostGroupsListModel.setItems(hostGroups);
+                externalHostGroupsListModel.setIsChangable(true);
+            }
+        };
+        
AsyncDataProvider.getInstance().getExternalProviderHostGroupList(getHostGroupsQuery,
 provider);
 
-            AsyncQuery getComputeResourceQuery = new AsyncQuery();
-            getComputeResourceQuery .asyncCallback = new INewAsyncCallback() {
-                @Override
-                public void onSuccess(Object model, Object result)
-                {
-                    ArrayList<ExternalComputeResource> computeResources = 
(ArrayList<ExternalComputeResource>) result;
-                    ListModel externalComputeResourceListModel = 
getExternalComputeResource();
-                    
externalComputeResourceListModel.setItems(computeResources);
-                    externalComputeResourceListModel.setIsChangable(true);
-                }
-            };
-            
AsyncDataProvider.getExternalProviderComputeResourceList(getComputeResourceQuery,
 provider);
-        }
+        AsyncQuery getComputeResourceQuery = new AsyncQuery();
+        getComputeResourceQuery.asyncCallback = new INewAsyncCallback() {
+            @Override
+            public void onSuccess(Object model, Object result) {
+                ArrayList<ExternalComputeResource> computeResources = 
(ArrayList<ExternalComputeResource>) result;
+                ListModel externalComputeResourceListModel = 
getExternalComputeResource();
+                externalComputeResourceListModel.setItems(computeResources);
+                externalComputeResourceListModel.setIsChangable(true);
+            }
+        };
+        
AsyncDataProvider.getInstance().getExternalProviderComputeResourceList(getComputeResourceQuery,
 provider);
     }
 
     private void updateExternalHostModels() {


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

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

Reply via email to