package org.ovirt.engine.ui.common.widget.table.column;
import org.ovirt.engine.core.common.businessentities.storage.Disk;
import org.ovirt.engine.core.common.businessentities.storage.DiskImage;
import org.ovirt.engine.core.common.businessentities.storage.DiskStorageType;
import org.ovirt.engine.ui.common.CommonApplicationConstants;
import org.ovirt.engine.ui.common.gin.AssetProvider;
import org.ovirt.engine.ui.uicompat.external.StringUtils;
import com.google.gwt.safehtml.shared.SafeHtml;
import com.google.gwt.safehtml.shared.SafeHtmlUtils;
public class StorageDomainsColumn extends AbstractTextColumn<Disk> implements ColumnWithElementId {
private static final CommonApplicationConstants constants = AssetProvider.getConstants();
@Override
public String getValue(Disk object) {
if (object.getDiskStorageType() != DiskStorageType.IMAGE
&& object.getDiskStorageType() != DiskStorageType.CINDER) {
return constants.empty();
}
DiskImage diskImage = (DiskImage) object;
int numOfStorageDomains = diskImage.getStoragesNames() != null ?
diskImage.getStoragesNames().size() : 0;
if (numOfStorageDomains == 0) {
return constants.empty();
}
else if (numOfStorageDomains == 1) {
return diskImage.getStoragesNames().get(0);
}
else {
return numOfStorageDomains + constants.space() + constants.storageDomainsLabelDisk();
}
}
@Override
public SafeHtml getTooltip(Disk object) {
DiskImage diskImage = (DiskImage) object;
return SafeHtmlUtils.fromString(StringUtils.join(diskImage.getStoragesNames(), ", ")); //$NON-NLS-1$
}
}