KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > sslexplorer > policyframework > wizards > forms > PolicyPrincipalSelectionForm


1 /*
2  * SSL-Explorer
3  *
4  * Copyright (C) 2003-2006 3SP LTD. All Rights Reserved
5  *
6  * This program is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU General Public License
8  * as published by the Free Software Foundation; either version 2 of
9  * the License, or (at your option) any later version.
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public
16  * License along with this program; if not, write to the Free Software
17  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18  */

19             
20 package com.sslexplorer.policyframework.wizards.forms;
21
22 import java.util.Iterator JavaDoc;
23
24 import javax.servlet.http.HttpServletRequest JavaDoc;
25
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.core.BundleActionMessage;
33 import com.sslexplorer.core.UserDatabaseManager;
34 import com.sslexplorer.security.LogonControllerFactory;
35 import com.sslexplorer.security.SessionInfo;
36 import com.sslexplorer.security.UserDatabase;
37 import com.sslexplorer.wizard.AbstractWizardSequence;
38 import com.sslexplorer.wizard.forms.DefaultWizardForm;
39
40 public class PolicyPrincipalSelectionForm extends DefaultWizardForm {
41     
42     private PropertyList selectedAccounts;
43     private PropertyList selectedRoles;
44     
45     // Statics for sequence attributes
46
public final static String JavaDoc ATTR_SELECTED_ACCOUNTS = "selectedAccounts";
47     public final static String JavaDoc ATTR_SELECTED_ROLES = "selectedRoles";
48
49     public PolicyPrincipalSelectionForm() {
50         super(true, true, "/WEB-INF/jsp/content/policyframework/policyWizard/policyPrincipalSelection.jspf",
51             "", true, false, "policyPrincipalSelection", "policyframework", "policyWizard.policyPrincipalSelection", 2);
52     }
53
54     /**
55      * @return Returns the selectedAccounts.
56      */

57     public String JavaDoc getSelectedAccounts() {
58         return selectedAccounts.getAsTextFieldText();
59     }
60
61     /**
62      * @param selectedAccounts The selectedAccounts to set.
63      */

64     public void setSelectedAccounts(String JavaDoc selectedAccounts) {
65         this.selectedAccounts.setAsTextFieldText(selectedAccounts);
66     }
67
68     /**
69      * @return Returns the selectedRoles.
70      */

71     public String JavaDoc getSelectedRoles() {
72         return selectedRoles.getAsTextFieldText();
73     }
74
75     /**
76      * @param selectedRoles The selectedRoles to set.
77      */

78     public void setSelectedRoles(String JavaDoc selectedRoles) {
79         this.selectedRoles.setAsTextFieldText(selectedRoles);
80     }
81
82     /* (non-Javadoc)
83      * @see com.sslexplorer.wizard.forms.DefaultWizardForm#apply(com.sslexplorer.wizard.AbstractWizardSequence)
84      */

85     public void apply(AbstractWizardSequence sequence) throws Exception JavaDoc {
86         super.apply(sequence);
87         sequence.putAttribute(ATTR_SELECTED_ACCOUNTS, selectedAccounts);
88         sequence.putAttribute(ATTR_SELECTED_ROLES, selectedRoles);
89     }
90
91     /* (non-Javadoc)
92      * @see com.sslexplorer.wizard.forms.DefaultWizardForm#init(com.sslexplorer.wizard.AbstractWizardSequence, javax.servlet.http.HttpServletRequest)
93      */

94     public void init(AbstractWizardSequence sequence, HttpServletRequest JavaDoc request) throws Exception JavaDoc {
95         super.init(sequence, request);
96         selectedAccounts = (PropertyList)sequence.getAttribute(ATTR_SELECTED_ACCOUNTS, new PropertyList());
97         selectedRoles = (PropertyList)sequence.getAttribute(ATTR_SELECTED_ROLES, new PropertyList());
98     }
99
100     @Override JavaDoc
101     public ActionErrors validate(ActionMapping mapping, HttpServletRequest JavaDoc request) {
102         ActionErrors errs = super.validate(mapping, request);
103         SessionInfo session = LogonControllerFactory.getInstance().getSessionInfo(request);
104         if(isCommiting()) {
105             try {
106                 UserDatabase udb = UserDatabaseManager.getInstance().getUserDatabase(session.getRealm());
107                 for(String JavaDoc account : selectedAccounts) {
108                     try {
109                         udb.getAccount(account);
110                     }
111                     catch(Exception JavaDoc e) {
112                         if(errs == null) {
113                             errs = new ActionErrors();
114                         }
115                         errs.add(Globals.ERROR_KEY, new ActionMessage("editPolicy.error.invalidUser", account));
116                     }
117                 }
118                 for(String JavaDoc role : selectedRoles) {
119                     try {
120                         if(udb.getRole(role) == null) {
121                             throw new Exception JavaDoc();
122                         }
123                     }
124                     catch(Exception JavaDoc e) {
125                         if(errs == null) {
126                             errs = new ActionErrors();
127                         }
128                         errs.add(Globals.ERROR_KEY, new ActionMessage("editPolicy.error.invalidRole", role));
129                     }
130                 }
131             }
132             catch(Exception JavaDoc e) {
133                 if(errs == null) {
134                     errs = new ActionErrors();
135                 }
136                 errs.add(Globals.ERROR_KEY, new ActionMessage("editPolicy.failedToValidate", e.getMessage()));
137                 
138             }
139         }
140         return errs;
141     }
142 }
143
Popular Tags