package org.geoserver.web.admin; import java.util.ArrayList; import java.util.List; import org.apache.wicket.extensions.ajax.markup.html.tabs.AjaxTabbedPanel; import org.apache.wicket.extensions.markup.html.tabs.AbstractTab; import org.apache.wicket.extensions.markup.html.tabs.ITab; import org.apache.wicket.extensions.markup.html.tabs.PanelCachingTab; import org.apache.wicket.markup.html.panel.FeedbackPanel; import org.apache.wicket.markup.html.panel.Panel; import org.apache.wicket.model.Model; import org.geoserver.catalog.Catalog; import org.geoserver.config.GeoServer; import org.geoserver.web.GeoServerApplication; import org.geoserver.web.GeoServerSecuredPage; import org.geoserver.web.admin.ModuleStatusPanel; public abstract class AbstractStatusPage extends ServerAdminPage { /** serialVersionUID */ private static final long serialVersionUID = -6228795354577370186L; protected AjaxTabbedPanel<ITab> tabbedPanel; protected FeedbackPanel feedbackPanel; public AbstractStatusPage() { this.feedbackPanel = super.feedbackPanel; initUI(); } protected void initUI() { List<ITab> tabs = new ArrayList<ITab>(); PanelCachingTab statusTab = new PanelCachingTab(new AbstractTab(new Model<String>("Status")) { private static final long serialVersionUID = 9062803783143908814L; public Panel getPanel(String id) { return new StatusPanel(id, AbstractStatusPage.this); } }); PanelCachingTab moduleStatusTab = new PanelCachingTab(new AbstractTab(new Model<String>("Modules")) { private static final long serialVersionUID = -5301288750339244612L; public Panel getPanel(String id) { return new ModuleStatusPanel(id, AbstractStatusPage.this); } }); tabs.add(statusTab); tabs.add(moduleStatusTab); add(new AjaxTabbedPanel("tabs", tabs)); } //Make sure child tabs can see this @Override protected boolean isAuthenticatedAsAdmin() { return super.isAuthenticatedAsAdmin(); } @Override protected Catalog getCatalog() { return super.getCatalog(); } @Override protected GeoServerApplication getGeoServerApplication() { return super.getGeoServerApplication(); } @Override protected GeoServer getGeoServer() { return super.getGeoServerApplication().getGeoServer(); } }