package org.ovirt.engine.ui.webadmin.widget.table.column;
import org.ovirt.engine.core.common.businessentities.StorageDomain;
import org.ovirt.engine.core.common.businessentities.storage.StorageType;
import org.ovirt.engine.ui.common.widget.table.column.AbstractImageResourceColumn;
import org.ovirt.engine.ui.uicompat.EnumTranslator;
import org.ovirt.engine.ui.webadmin.ApplicationResources;
import org.ovirt.engine.ui.webadmin.gin.AssetProvider;
import com.google.gwt.resources.client.ImageResource;
import com.google.gwt.safehtml.shared.SafeHtml;
import com.google.gwt.safehtml.shared.SafeHtmlUtils;
public class StorageDomainStatusColumn extends AbstractImageResourceColumn<StorageDomain> {
private static final ApplicationResources resources = AssetProvider.getResources();
@Override
public ImageResource getValue(StorageDomain sp) {
switch (sp.getStatus()) {
case Unattached:
if (sp.getStorageType() == StorageType.GLANCE) {
return resources.openstackImage();
} else {
return resources.tornChainImage();
}
case Active:
return resources.upImage();
case Inactive:
return resources.downImage();
case Uninitialized:
return resources.unconfiguredImage();
case Activating:
case Locked:
case PreparingForMaintenance:
case Detaching:
return resources.lockImage();
case Maintenance:
return resources.maintenanceImage();
default:
return resources.downImage();
}
}
@Override
public SafeHtml getTooltip(StorageDomain sp) {
String tooltipContent = EnumTranslator.getInstance().translate(sp.getStatus());
return SafeHtmlUtils.fromString(tooltipContent);
}
}