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
