package sushi.application.pages.monitoring.bpmn; import java.util.ArrayList; import java.util.List; import org.apache.wicket.extensions.markup.html.tabs.AbstractTab; import org.apache.wicket.extensions.markup.html.tabs.ITab; import org.apache.wicket.markup.html.panel.Panel; import org.apache.wicket.model.Model; import sushi.application.pages.AbstractSushiPage; import sushi.application.pages.monitoring.bpmn.analysis.BPMNAnalysisPanel; import sushi.application.pages.monitoring.bpmn.monitoring.BPMNMonitoringPanel; import de.agilecoders.wicket.markup.html.bootstrap.tabs.BootstrapTabbedPanel; /** * This page facilitates the monitoring of the execution of BPMN processes. * It provides a {@link BPMNMonitoringPanel} and a {@link BPMNAnalysisPanel}. * @author micha */ public class BPMNMonitoringPage extends AbstractSushiPage { private static final long serialVersionUID = 1L; private AbstractSushiPage monitoringPage; /** * Constructor for a page, which facilitates the monitoring of the execution of BPMN processes. * It provides a {@link BPMNMonitoringPanel} and a {@link BPMNAnalysisPanel}. */ public BPMNMonitoringPage() { super(); this.monitoringPage = this; List<ITab> tabs = new ArrayList<ITab>(); tabs.add(new AbstractTab(new Model<String>("Monitoring")) { @Override public Panel getPanel(String panelId) { return new BPMNMonitoringPanel(panelId, monitoringPage); } }); tabs.add(new AbstractTab(new Model<String>("Analysis")) { @Override public Panel getPanel(String panelId) { return new BPMNAnalysisPanel(panelId, monitoringPage); } }); add(new BootstrapTabbedPanel<ITab>("tabs", tabs)); } }