package org.ovirt.engine.ui.webadmin.widget.table.column;
import org.ovirt.engine.core.common.businessentities.StorageDomain;
import org.ovirt.engine.core.common.businessentities.StorageDomainType;
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 StorageDomainSharedStatusColumn extends AbstractImageResourceColumn<StorageDomain> {
private static final ApplicationResources resources = AssetProvider.getResources();
@Override
public ImageResource getValue(StorageDomain sp) {
if (sp.getStorageDomainType() == StorageDomainType.ISO) {
switch (sp.getStorageDomainSharedStatus()) {
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 Mixed:
return resources.upalertImage();
default:
return resources.downImage();
}
}
else {
return new StorageDomainStatusColumn().getValue(sp);
}
}
@Override
public SafeHtml getTooltip(StorageDomain sp) {
String tooltipContent = EnumTranslator.getInstance().translate(sp.getStorageDomainSharedStatus());
return SafeHtmlUtils.fromString(tooltipContent);
}
}