package org.ovirt.engine.ui.common.widget.table.column;
import java.util.List;
import org.ovirt.engine.core.common.businessentities.VmEntityType;
import org.ovirt.engine.core.common.businessentities.storage.Disk;
import org.ovirt.engine.ui.common.CommonApplicationMessages;
import org.ovirt.engine.ui.common.gin.AssetProvider;
import org.ovirt.engine.ui.uicompat.EnumTranslator;
import org.ovirt.engine.ui.uicompat.external.StringUtils;
import com.google.gwt.safehtml.shared.SafeHtml;
import com.google.gwt.safehtml.shared.SafeHtmlUtils;
public class DiskContainersColumn extends AbstractTextColumn<Disk> implements ColumnWithElementId {
private CommonApplicationMessages applicationMessages = AssetProvider.getMessages();
@Override
public String getValue(Disk object) {
if (object.getNumberOfVms() == 0) {
return ""; //$NON-NLS-1$
}
String entityType = EnumTranslator.getInstance().translate(object.getVmEntityType());
if (object.getNumberOfVms() == 1) {
String entityName = object.getVmNames().get(0);
if (object.getVmEntityType() == VmEntityType.TEMPLATE) {
List<String> templateNames = object.getTemplateVersionNames();
String versionName = (templateNames != null && !templateNames.isEmpty()) ?
applicationMessages.templateVersionName(templateNames.get(0)) : ""; //$NON-NLS-1$
entityName += versionName;
}
return entityName;
}
else {
return object.getNumberOfVms() + " " + entityType + "s"; //$NON-NLS-1$ //$NON-NLS-2$
}
}
@Override
public SafeHtml getTooltip(Disk object) {
if (object.getNumberOfVms() < 2) {
return null;
}
return SafeHtmlUtils.fromString(StringUtils.join(object.getVmNames(), ", ")); //$NON-NLS-1$
}
}