package org.ovirt.engine.ui.uicommonweb.models.templates; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Map; import org.ovirt.engine.core.common.businessentities.VmTemplate; import org.ovirt.engine.core.common.businessentities.comparators.DiskByDiskAliasComparator; import org.ovirt.engine.core.common.businessentities.storage.DiskImage; import org.ovirt.engine.ui.uicommonweb.models.SearchableListModel; import org.ovirt.engine.ui.uicommonweb.models.vms.ImportTemplateData; @SuppressWarnings("unused") public class TemplateImportDiskListModel extends SearchableListModel { private ArrayList<Map.Entry<VmTemplate, List<DiskImage>>> extendedItems; public TemplateImportDiskListModel() { setIsTimerDisabled(true); } @Override protected void onEntityChanged() { super.onEntityChanged(); if (getEntity() != null) { ArrayList<DiskImage> list = new ArrayList<>(); VmTemplate template = (VmTemplate) getEntity(); for (Map.Entry<VmTemplate, List<DiskImage>> item : extendedItems) { if (item.getKey().getQueryableId().equals(template.getQueryableId())) { list.addAll(item.getValue()); Collections.sort(list, new DiskByDiskAliasComparator()); setItems(list); return; } } } else { setItems(null); } } @Override public void setEntity(Object value) { super.setEntity(value != null ? ((ImportTemplateData) value).getTemplate() : null); } public void setExtendedItems(ArrayList<Map.Entry<VmTemplate, List<DiskImage>>> arrayList) { this.extendedItems = arrayList; } @Override protected void syncSearch() { } @Override protected String getListName() { return "TemplateImportDiskListModel"; //$NON-NLS-1$ } }