package org.ovirt.engine.ui.webadmin.widget.renderer;
import com.google.gwt.text.shared.AbstractRenderer;
/**
* Renderer for uptime strings.
*/
public class UptimeRenderer 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 data) {
int totalSeconds = data.intValue();
int days = totalSeconds / SECONDS_IN_A_DAY;
int hours = (totalSeconds % SECONDS_IN_A_DAY) / SECONDS_IN_AN_HOUR;
int minutes = (totalSeconds % SECONDS_IN_AN_HOUR) / SECONDS_IN_A_MINUTE;
int seconds = totalSeconds % SECONDS_IN_A_MINUTE;
String reply = ""; //$NON-NLS-1$
if (days > 0) {
reply += days + (days == 1 ? " day " : " days "); //$NON-NLS-1$ //$NON-NLS-2$
} else if (hours > 0) {
reply += hours + " h "; //$NON-NLS-1$
} else if (minutes > 0) {
reply += minutes + " min "; //$NON-NLS-1$
} else if (seconds > 0) {
reply += seconds + " sec"; //$NON-NLS-1$
}
return reply;
}
}