package sushi.application.pages.eventrepository; 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.eventrepository.eventview.EventViewModal; import de.agilecoders.wicket.markup.html.bootstrap.tabs.BootstrapTabbedPanel; /** * The event repository gives information about events, event types, processes and process instances, stored in the application. * @author micha */ @SuppressWarnings("serial") public class EventRepository extends AbstractSushiPage { private EventRepository eventRepository; private EventViewModal eventViewModal; /** * Constructor for the {@link EventRepository}. * Initializes and adds the {@link EventPanel}, {@link EventTypePanel}, {@link ProcessPanel}, {@link ProcessInstancePanel} and {@link BPMNProcessPanel}}. */ public EventRepository() { super(); this.eventRepository = this; List<ITab> tabs = new ArrayList<ITab>(); tabs.add(new AbstractTab(new Model<String>("Event")) { @Override public Panel getPanel(String panelId) { return new EventPanel(panelId, eventRepository); } }); tabs.add(new AbstractTab(new Model<String>("Event Type")) { @Override public Panel getPanel(String panelId) { return new EventTypePanel(panelId, eventRepository); } }); tabs.add(new AbstractTab(new Model<String>("Process")) { @Override public Panel getPanel(String panelId) { return new ProcessPanel(panelId, eventRepository); } }); tabs.add(new AbstractTab(new Model<String>("Process Instance")) { @Override public Panel getPanel(String panelId) { return new ProcessInstancePanel(panelId, eventRepository); } }); tabs.add(new AbstractTab(new Model<String>("BPMN")) { @Override public Panel getPanel(String panelId) { return new BPMNProcessPanel(panelId, eventRepository); } }); add(new BootstrapTabbedPanel<ITab>("tabs", tabs)); //add modal eventViewModal = new EventViewModal("eventViewModal"); eventViewModal.setOutputMarkupId(true); add(eventViewModal); } public EventViewModal getEventViewModal() { return eventViewModal; } public void setEventViewModal(EventViewModal eventViewModal) { this.eventViewModal = eventViewModal; } }