package sushi.application.pages.monitoring.bpmn.monitoring;
import org.apache.wicket.markup.html.panel.Panel;
import sushi.application.components.form.BootStrapLabel;
import sushi.application.components.form.BootStrapTextEmphasisClass;
import sushi.application.components.table.model.AbstractDataProvider;
import sushi.monitoring.bpmn.ProcessInstanceMonitor;
/**
* This panel contains a label for displaying the status of a {@link ProcessInstanceMonitor}.
*/
public class ProcessInstanceMonitoringStatusPanel extends Panel {
private static final long serialVersionUID = 1L;
/**
* Constructor for a panel, which contains a label for displaying the status of a {@link ProcessInstanceMonitor}.
* @param id
* @param entryId
* @param dataprovider
*/
public ProcessInstanceMonitoringStatusPanel(String id, final int entryId, final AbstractDataProvider dataprovider) {
super(id);
ProcessInstanceMonitor processInstanceMonitor = (ProcessInstanceMonitor) dataprovider.getEntry(entryId);
BootStrapTextEmphasisClass textEmphasisClass = BootStrapTextEmphasisClass.Muted;
switch(processInstanceMonitor.getStatus()){
case Aborted:
textEmphasisClass = BootStrapTextEmphasisClass.Error;
break;
case Finished:
textEmphasisClass = BootStrapTextEmphasisClass.Success;
break;
case NotExisting:
textEmphasisClass = BootStrapTextEmphasisClass.Muted;
break;
case Running:
textEmphasisClass = BootStrapTextEmphasisClass.Info;
break;
default:
break;
}
add(new BootStrapLabel("label", processInstanceMonitor.getStatus().name(), textEmphasisClass));
}
}