package org.ovirt.engine.ui.webadmin.widget.renderer;
import com.google.gwt.text.shared.AbstractRenderer;
public class HumanReadableTimeRenderer extends AbstractRenderer<Double> {
private static final int SECONDS_IN_A_MINUTE = 60;
private static final int SECONDS_IN_AN_HOUR = SECONDS_IN_A_MINUTE * 60;
private static final int SECONDS_IN_A_DAY = SECONDS_IN_AN_HOUR * 24;
@Override
public String render(Double time) {
StringBuilder formatTime = new StringBuilder();
if ( time > SECONDS_IN_A_DAY) {
formatTime.append((int) (time/SECONDS_IN_A_DAY));
formatTime.append(" days " );//$NON-NLS-1$
time = time % SECONDS_IN_A_DAY;
}
if( time > SECONDS_IN_AN_HOUR ) {
formatTime.append((int) (time/SECONDS_IN_AN_HOUR));
formatTime.append(" h ");//$NON-NLS-1$
time = time % SECONDS_IN_AN_HOUR;
}
if( time > SECONDS_IN_A_MINUTE) {
formatTime.append((int) (time/SECONDS_IN_A_MINUTE));
formatTime.append(" m ");//$NON-NLS-1$
time = time % SECONDS_IN_A_MINUTE;
}
if(time >= 0){
formatTime.append(time.intValue());
formatTime.append(" s ");//$NON-NLS-1$
}
return formatTime.toString();
}
}