/*
* codjo.net
*
* Common Apache License 2.0
*/
package net.codjo.dataprocess.gui.launcher.result;
/**
*
*/
public class HTMLRow {
static final int OK = 0;
static final int NOT_STARTED = 1;
static final int STARTED = 2;
static final int ERROR = 3;
private int state = NOT_STARTED;
private String title;
private String errorMessage;
public HTMLRow(String title) {
this.title = title;
}
public int getState() {
return state;
}
public void start() {
state = STARTED;
}
public void close() {
state = OK;
}
public void declareError(Throwable err) {
declareError(err.getLocalizedMessage());
}
public void declareError(String err) {
state = ERROR;
errorMessage = err;
}
public String buildReport() {
return "<tr><th align=\"left\" valign=\"top\" bgcolor=\"#EEEEFF\">"
+ title + "</th><td align=\"left\" valign=\"top\" bgcolor=\""
+ getStateColor() + "\">" + getStateMessage() + "</td></tr>";
}
private String getStateColor() {
switch (state) {
case OK:
return "#AAFFAA";
case NOT_STARTED:
return "#EEEEEE";
case STARTED:
return "#EEFFEE";
default:
return "#FFC800";
}
}
private String getStateMessage() {
switch (state) {
case OK:
return "OK";
case NOT_STARTED:
return "...";
case STARTED:
return "En cours...";
default:
return errorMessage.replace("\n", "<BR>");
}
}
}