1 19 20 package com.sslexplorer.security.authwizard.forms; 21 22 import javax.servlet.http.HttpServletRequest ; 23 24 import org.apache.commons.logging.Log; 25 import org.apache.commons.logging.LogFactory; 26 import org.apache.struts.Globals; 27 import org.apache.struts.action.ActionErrors; 28 import org.apache.struts.action.ActionMapping; 29 import org.apache.struts.action.ActionMessage; 30 31 import com.sslexplorer.boot.PropertyList; 32 import com.sslexplorer.input.MultiSelectDataSource; 33 import com.sslexplorer.input.MultiSelectSelectionModel; 34 import com.sslexplorer.security.AuthenticationModuleDefinition; 35 import com.sslexplorer.security.AuthenticationModuleManager; 36 import com.sslexplorer.security.LogonControllerFactory; 37 import com.sslexplorer.security.ModulesDataSource; 38 import com.sslexplorer.security.SessionInfo; 39 import com.sslexplorer.wizard.AbstractWizardSequence; 40 import com.sslexplorer.wizard.forms.DefaultWizardForm; 41 42 public class AthenticationSchemeSelectionForm extends DefaultWizardForm { 43 44 final static Log log = LogFactory.getLog(AthenticationSchemeSelectionForm.class); 45 46 public static final String ATTR_SELECTED_MODULES = "selectedModules"; 47 48 protected MultiSelectSelectionModel moduleModel; 50 protected PropertyList selectedModules; 51 52 55 public AthenticationSchemeSelectionForm() { 56 super(true, true, "/WEB-INF/jsp/content/security/authwizard/athenticationSchemeSelection.jspf", "resourceName", true, 57 false, "athenticationSchemeSelection", "security", "authwizard.athenticationSchemeSelection", 2); 58 } 59 60 66 public void init(AbstractWizardSequence sequence, HttpServletRequest request) throws Exception { 67 super.init(sequence, request); 68 this.selectedModules = ((PropertyList) sequence.getAttribute(ATTR_SELECTED_MODULES, new PropertyList())); 69 MultiSelectDataSource modules = new ModulesDataSource("security"); 70 SessionInfo session = LogonControllerFactory.getInstance().getSessionInfo(request); 71 this.moduleModel = new MultiSelectSelectionModel(session, modules, selectedModules); 72 } 73 74 79 public void apply(AbstractWizardSequence sequence) throws Exception { 80 super.apply(sequence); 81 sequence.putAttribute(ATTR_SELECTED_MODULES, this.selectedModules); 82 } 83 84 89 public MultiSelectSelectionModel getModuleModel() { 90 return moduleModel; 91 } 92 93 98 public void setModuleModel(MultiSelectSelectionModel moduleModel) { 99 this.moduleModel = moduleModel; 100 } 101 102 107 public PropertyList getSelectedModulesList() { 108 return selectedModules; 109 } 110 111 117 public String getSelectedModules() { 118 return selectedModules.getAsTextFieldText(); 119 } 120 121 126 public void setSelectedModules(String selectedModules) { 127 this.selectedModules.setAsTextFieldText(selectedModules); 128 } 129 130 135 public void setSelectedModulesList(PropertyList selectedModules) { 136 this.selectedModules = selectedModules; 137 } 138 139 public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) { 140 ActionErrors errs = new ActionErrors(); 141 if (this.isCommiting()) { 142 PropertyList l = this.getSelectedModulesList(); 143 if (l.size() < 1) { 144 errs.add(Globals.ERROR_KEY, new ActionMessage("editAuthenticationScheme.error.noModulesSelected")); 145 } else { 146 AuthenticationModuleDefinition def = AuthenticationModuleManager.getInstance().getModuleDefinition( 147 l.get(0).toString()); 148 149 if (!def.getPrimary() && (!def.getPrimaryIfSecondardExists() && l.size() > 1)) { 150 errs.add(Globals.ERROR_KEY, new ActionMessage("editAuthenticationScheme.error.firstModuleNotPrimary")); 151 } 152 } 153 } 154 return errs; 155 } 156 157 } 158 | Popular Tags |