package org.ovirt.engine.ui.webadmin.widget.table.column;
import org.ovirt.engine.core.common.businessentities.gluster.GlusterBrickEntity;
import org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeEntity;
import org.ovirt.engine.ui.common.widget.table.column.AbstractColumn;
import org.ovirt.engine.ui.webadmin.ApplicationConstants;
import org.ovirt.engine.ui.webadmin.gin.AssetProvider;
import org.ovirt.engine.ui.webadmin.widget.table.cell.VolumeBrickStatusCell;
import com.google.gwt.safehtml.shared.SafeHtml;
import com.google.gwt.safehtml.shared.SafeHtmlUtils;
public class VolumeBrickStatusColumn extends AbstractColumn<GlusterVolumeEntity, GlusterVolumeEntity> {
private static final ApplicationConstants constants = AssetProvider.getConstants();
public VolumeBrickStatusColumn() {
super(new VolumeBrickStatusCell());
}
@Override
public GlusterVolumeEntity getValue(GlusterVolumeEntity object) {
return object;
}
@Override
public SafeHtml getTooltip(GlusterVolumeEntity object) {
String SPACE = " "; //$NON-NLS-1$
// Nothing to render if no volume is provided:
if (object == null) {
return null;
}
int upBricks = 0;
int downBricks = 0;
for (GlusterBrickEntity brick : object.getBricks()) {
if (brick.isOnline()) {
upBricks++;
}
else {
downBricks++;
}
}
StringBuilder sb = new StringBuilder();
sb.append(upBricks)
.append(SPACE)
.append(constants.up())
.append(SPACE)
.append(downBricks)
.append(SPACE)
.append(constants.down());
return SafeHtmlUtils.fromString(sb.toString());
}
}