Vitor de Lima has uploaded a new change for review. Change subject: ui: Avoid the selection of incompatible templates ......................................................................
ui: Avoid the selection of incompatible templates This change filters the displayed templates in the "New Pool" and "New VM" dialogs to show only the ones that are compatible with the selected cluster. Change-Id: I2acd521718c8c6d4c27ffce20628b8d096dc4f1a Signed-off-by: Vitor de Lima <vitor.l...@eldorado.org.br> --- M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewVmModelBehavior.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/PoolModelBehaviorBase.java 3 files changed, 36 insertions(+), 4 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/87/19487/1 diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java index c450bc8..5c9b36c 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java @@ -18,6 +18,7 @@ import org.ovirt.engine.core.common.VdcObjectType; import org.ovirt.engine.core.common.action.VdcActionType; import org.ovirt.engine.core.common.businessentities.ActionGroup; +import org.ovirt.engine.core.common.businessentities.ArchitectureType; import org.ovirt.engine.core.common.businessentities.DbUser; import org.ovirt.engine.core.common.businessentities.Disk; import org.ovirt.engine.core.common.businessentities.DiskImage; @@ -772,6 +773,20 @@ aQuery); } + public static ArrayList<VmTemplate> filterTemplatesByArchitecture(List<VmTemplate> list, + ArchitectureType architecture) { + ArrayList<VmTemplate> filteredList = new ArrayList<VmTemplate>(); + + for (VmTemplate template : list) { + if (template.getArchitecture().equals(architecture) + || template.getArchitecture().equals(ArchitectureType.undefined)) { + filteredList.add(template); + } + } + + return filteredList; + } + public static void getNumOfMonitorList(AsyncQuery aQuery) { aQuery.converterCallback = new IAsyncConverter() { @Override diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewVmModelBehavior.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewVmModelBehavior.java index 2edf060..152b372 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewVmModelBehavior.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewVmModelBehavior.java @@ -253,6 +253,8 @@ return; } + final VDSGroup selectedCluster = getModel().getSelectedCluster(); + // Filter according to system tree selection. if (getSystemTreeSelectedItem() != null && getSystemTreeSelectedItem().getType() == SystemTreeItemType.Storage) { @@ -285,7 +287,12 @@ { templatesByStorage.add(0, blankTemplate); } - behavior2.postInitTemplate((ArrayList<VmTemplate>) returnValue2); + + ArrayList<VmTemplate> templateList = + AsyncDataProvider.filterTemplatesByArchitecture(templatesByStorage, + selectedCluster.getArchitecture()); + + behavior2.postInitTemplate(templateList); } }), @@ -303,7 +310,11 @@ public void onSuccess(Object target, Object returnValue) { NewVmModelBehavior behavior = (NewVmModelBehavior) target; - behavior.postInitTemplate((ArrayList<VmTemplate>) returnValue); + + ArrayList<VmTemplate> templates = (ArrayList<VmTemplate>) returnValue; + + behavior.postInitTemplate(AsyncDataProvider.filterTemplatesByArchitecture(templates, + selectedCluster.getArchitecture())); } }, getModel().getHash()), dataCenter.getId()); diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/PoolModelBehaviorBase.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/PoolModelBehaviorBase.java index c400317..6a1817e 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/PoolModelBehaviorBase.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/PoolModelBehaviorBase.java @@ -223,6 +223,8 @@ return; } + final VDSGroup selectedCluster = getModel().getSelectedCluster(); + AsyncDataProvider.getTemplateListByDataCenter(new AsyncQuery(this, new INewAsyncCallback() { @Override public void onSuccess(Object target1, Object returnValue1) { @@ -235,8 +237,12 @@ templates.add(template); } } - getModel().getTemplate().setItems(templates); - setupSelectedTemplate(getModel().getTemplate(), templates); + + ArrayList<VmTemplate> filteredTemplates = + AsyncDataProvider.filterTemplatesByArchitecture(templates, selectedCluster.getArchitecture()); + + getModel().getTemplate().setItems(filteredTemplates); + setupSelectedTemplate(getModel().getTemplate(), filteredTemplates); } }), dataCenter.getId()); -- To view, visit http://gerrit.ovirt.org/19487 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I2acd521718c8c6d4c27ffce20628b8d096dc4f1a Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Vitor de Lima <vitor.l...@eldorado.org.br> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches