package org.ovirt.engine.ui.uicommonweb.models.profiles; import org.ovirt.engine.core.common.businessentities.StorageDomain; import org.ovirt.engine.core.common.businessentities.profiles.DiskProfile; import org.ovirt.engine.core.common.businessentities.qos.QosType; import org.ovirt.engine.core.common.businessentities.qos.StorageQos; import org.ovirt.engine.core.common.queries.VdcQueryType; import org.ovirt.engine.core.compat.Guid; import org.ovirt.engine.ui.uicommonweb.help.HelpTag; import org.ovirt.engine.ui.uicommonweb.models.configure.PermissionListModel; import org.ovirt.engine.ui.uicompat.ConstantsManager; import com.google.inject.Inject; public class DiskProfileListModel extends ProfileListModel<DiskProfile, StorageQos, StorageDomain> { @Inject public DiskProfileListModel(final PermissionListModel<DiskProfile> permissionListModel) { super(permissionListModel); setTitle(ConstantsManager.getInstance().getConstants().diskProfilesTitle()); setHelpTag(HelpTag.disk_profiles); setHashName("disk_profiles"); //$NON-NLS-1$ } @Override protected ProfileBaseModel<DiskProfile, StorageQos, StorageDomain> getNewProfileModel() { return new NewDiskProfileModel(this, getStoragePoolId()); } @Override protected ProfileBaseModel<DiskProfile, StorageQos, StorageDomain> getEditProfileModel() { return new EditDiskProfileModel(this, getSelectedItem(), getStoragePoolId()); } @Override protected RemoveProfileModel<DiskProfile> getRemoveProfileModel() { return new RemoveDiskProfileModel(this, getSelectedItems()); } @Override protected QosType getQosType() { return QosType.STORAGE; } @Override protected Guid getStoragePoolId() { return getEntity() != null ? getEntity().getStoragePoolId() : null; } @Override protected VdcQueryType getQueryType() { return VdcQueryType.GetDiskProfilesByStorageDomainId; } @Override protected String getListName() { return "DiskProfileListModel"; //$NON-NLS-1$ } }