/* (c) 2014 Open Source Geospatial Foundation - all rights reserved * (c) 2013 OpenPlans * This code is licensed under the GPL 2.0 license, available at the root * application directory. */ package org.geoserver.security.web.auth; import java.util.Arrays; import org.apache.wicket.markup.html.WebMarkupContainer; import org.apache.wicket.markup.html.form.DropDownChoice; import org.apache.wicket.markup.html.panel.Panel; import org.apache.wicket.model.IModel; import org.geoserver.security.config.J2eeAuthenticationBaseFilterConfig.J2EERoleSource; import org.geoserver.security.config.J2eeAuthenticationBaseFilterConfig; import org.geoserver.security.config.J2eeAuthenticationFilterConfig; import org.geoserver.security.config.RoleSource; import org.geoserver.security.filter.GeoServerJ2eeAuthenticationFilter; /** * Base Configuration panel for J2EE supporting filters * * @author Mauro Bartolomeoli (mauro.bartolomeoli@geo-solutions.it) */ public abstract class J2eeBaseAuthFilterPanel<T extends J2eeAuthenticationBaseFilterConfig> extends PreAuthenticatedUserNameFilterPanel<T> { /** serialVersionUID */ private static final long serialVersionUID = 1L; public J2eeBaseAuthFilterPanel(String id, IModel<T> model) { super(id, model); } @Override protected void addRoleSourceDropDown(WebMarkupContainer container, RoleSource rs) { if (J2EERoleSource.J2EE.equals(rs)) { container.addOrReplace(new RoleServicePanel("panel")); } else { super.addRoleSourceDropDown(container, rs); } } @Override protected Panel getRoleSourcePanel(RoleSource model) { if(J2EERoleSource.J2EE.equals(model)) { return new RoleServicePanel("panel"); } else { return super.getRoleSourcePanel(model); } } @Override protected void createRoleSourceDropDown() { add(roleSourceChoice = new DropDownChoice<RoleSource>("roleSource", Arrays.asList(J2EERoleSource.values()), new RoleSourceChoiceRenderer())); } }