package org.ovirt.engine.ui.uicommonweb.models.vms;
import java.util.ArrayList;
import java.util.Collection;
import org.ovirt.engine.core.common.businessentities.storage.Disk;
import org.ovirt.engine.core.common.businessentities.storage.DiskStorageType;
import org.ovirt.engine.ui.uicommonweb.models.EntityModel;
import org.ovirt.engine.ui.uicommonweb.models.SearchableListModel;
public class VmDiskListModelBase<E> extends SearchableListModel<E, Disk> {
private EntityModel<DiskStorageType> diskViewType;
public EntityModel<DiskStorageType> getDiskViewType() {
return diskViewType;
}
public void setDiskViewType(EntityModel<DiskStorageType> diskViewType) {
this.diskViewType = diskViewType;
}
@Override
protected String getListName() {
return "VmDiskListModelBase"; //$NON-NLS-1$
}
public VmDiskListModelBase() {
setDiskViewType(new EntityModel<DiskStorageType>());
}
@SuppressWarnings("rawtypes")
@Override
public void setItems(Collection<Disk> value) {
Collection<Disk> disks = value != null ? value : new ArrayList<Disk>();
ArrayList<Disk> filteredDisks = new ArrayList<>();
DiskStorageType diskStorageType = getDiskViewType().getEntity();
for (Disk disk : disks) {
if (diskStorageType == null || diskStorageType == disk.getDiskStorageType()) {
filteredDisks.add(disk);
}
}
super.setItems(filteredDisks);
}
}