KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > sslexplorer > setup > forms > MessageForm


1 package com.sslexplorer.setup.forms;
2
3 import javax.servlet.http.HttpServletRequest JavaDoc;
4
5 import org.apache.commons.logging.Log;
6 import org.apache.commons.logging.LogFactory;
7 import org.apache.struts.Globals;
8 import org.apache.struts.action.ActionErrors;
9 import org.apache.struts.action.ActionMapping;
10 import org.apache.struts.action.ActionMessage;
11
12 import com.sslexplorer.boot.PropertyList;
13 import com.sslexplorer.core.UserDatabaseManager;
14 import com.sslexplorer.core.forms.CoreForm;
15 import com.sslexplorer.input.MultiSelectDataSource;
16 import com.sslexplorer.input.MultiSelectSelectionModel;
17 import com.sslexplorer.policyframework.PolicyDataSource;
18 import com.sslexplorer.policyframework.PolicyDatabaseFactory;
19 import com.sslexplorer.security.LogonControllerFactory;
20 import com.sslexplorer.security.SessionInfo;
21 import com.sslexplorer.security.User;
22 import com.sslexplorer.security.UserNotFoundException;
23 import com.sslexplorer.tabs.TabModel;
24
25 public class MessageForm extends CoreForm implements TabModel {
26     final static Log log = LogFactory.getLog(MessageForm.class);
27     private PropertyList selectedAccounts;
28     private PropertyList selectedRoles;
29     private PropertyList selectedPolicies;
30     private MultiSelectDataSource selectedPolicyDataSource;
31     private MultiSelectSelectionModel selectedPolicySelection;
32     private String JavaDoc subject;
33     private String JavaDoc content;
34     private boolean urgent;
35     private User sender;
36     private String JavaDoc selectedTab = "message";
37     private String JavaDoc selectedSink;
38
39     public MessageForm() {
40         super();
41         selectedAccounts = new PropertyList();
42         selectedRoles = new PropertyList();
43         selectedPolicies = new PropertyList();
44         selectedPolicyDataSource = new PolicyDataSource();
45     }
46
47     public String JavaDoc getSelectedSink() {
48         return selectedSink;
49     }
50
51     public void setSelectedSink(String JavaDoc selectedSink) {
52         this.selectedSink = selectedSink;
53     }
54
55     public String JavaDoc getContent() {
56         return content;
57     }
58
59     public void setContent(String JavaDoc content) {
60         this.content = content;
61     }
62
63     public String JavaDoc getSubject() {
64         return subject;
65     }
66
67     public void setSubject(String JavaDoc subject) {
68         this.subject = subject == null ? subject : subject.trim();
69     }
70
71     public boolean getUrgent() {
72         return urgent;
73     }
74
75     public void setUrgent(boolean urgent) {
76         this.urgent = urgent;
77     }
78
79     public String JavaDoc getSelectedPolicies() {
80         return selectedPolicies.getAsTextFieldText();
81     }
82
83     public String JavaDoc getSelectedAccounts() {
84         return selectedAccounts.getAsTextFieldText();
85     }
86
87     public void setSelectedAccounts(String JavaDoc selectedAccounts) {
88         this.selectedAccounts.setAsTextFieldText(selectedAccounts);
89     }
90
91     public String JavaDoc getSelectedRoles() {
92         return selectedRoles.getAsTextFieldText();
93     }
94
95     public void setSelectedRoles(String JavaDoc selectedRoles) {
96         this.selectedRoles.setAsTextFieldText(selectedRoles);
97     }
98
99     public void setSelectedPolicies(String JavaDoc selectedPolicies) {
100         this.selectedPolicies.setAsTextFieldText(selectedPolicies);
101     }
102
103     public MultiSelectSelectionModel getSelectedPolicySelectionModel() {
104         return selectedPolicySelection;
105     }
106
107     public void setSelectedAccounts(PropertyList selectedAccounts) {
108         this.selectedAccounts = selectedAccounts;
109     }
110
111     public void setSelectedRoles(PropertyList selectedRoles) {
112         this.selectedRoles = selectedRoles;
113     }
114
115     public PropertyList getSelectedPoliciesList() {
116         return selectedPolicies;
117     }
118
119     public PropertyList getSelectedAccountsList() {
120         return selectedAccounts;
121     }
122
123     public PropertyList getSelectedRolesList() {
124         return selectedRoles;
125     }
126
127     public User getSender() {
128         return sender;
129     }
130
131     public void initialise(MultiSelectSelectionModel selectedPolicySelection, PropertyList selectedPolicies, SessionInfo session)
132                     throws Exception JavaDoc {
133         this.selectedPolicySelection = selectedPolicySelection;
134         this.selectedPolicies = selectedPolicies;
135         selectedAccounts = new PropertyList();
136         selectedRoles = new PropertyList();
137         if (selectedPolicySelection == null)
138             selectedPolicySelection = new MultiSelectSelectionModel(session, selectedPolicyDataSource, selectedPolicies);
139         selectedPolicySelection.rebuild(session);
140         this.sender = session.getUser();
141     }
142
143     public void reset(ActionMapping mapping, HttpServletRequest JavaDoc request) {
144         super.reset(mapping, request);
145         urgent = false;
146     }
147
148     public int getTabCount() {
149         return 2;
150     }
151
152     public String JavaDoc getTabName(int idx) {
153         switch (idx) {
154             case 0:
155                 return "message";
156             default:
157                 return "recipients";
158         }
159     }
160
161     public String JavaDoc getTabTitle(int idx) {
162
163         // Get from resources
164
return null;
165     }
166
167     public String JavaDoc getSelectedTab() {
168         return selectedTab;
169     }
170
171     public void setSelectedTab(String JavaDoc selectedTab) {
172         this.selectedTab = selectedTab;
173     }
174
175     public ActionErrors validate(ActionMapping mapping, HttpServletRequest JavaDoc request) {
176         ActionErrors errs = new ActionErrors();
177         if (isCommiting()) {
178             if (isEmpty(getSubject())) {
179                 errs.add(Globals.ERROR_KEY, new ActionMessage("sendMessage.error.noSubject"));
180             }
181             if (getSelectedAccountsList().size() == 0 && getSelectedRolesList().size() == 0
182                 && getSelectedPoliciesList().size() == 0) {
183                 errs.add(Globals.ERROR_KEY, new ActionMessage("sendMessage.error.noRecipients"));
184             }
185
186             // Validate selected users
187
try {
188                 for (String JavaDoc account : getSelectedAccountsList()) {
189                     try {
190                         UserDatabaseManager.getInstance().getDefaultUserDatabase().getAccount(account);
191                     } catch (UserNotFoundException unfe) {
192                         errs.add(Globals.ERROR_KEY, new ActionMessage("sendMessage.error.invalidAccount", account));
193                     }
194                 }
195
196                 // Validate selected groups
197
for (String JavaDoc role : getSelectedRolesList()) {
198                     try {
199                         UserDatabaseManager.getInstance().getDefaultUserDatabase().getRole(role);
200                     } catch (Exception JavaDoc e) {
201                         errs.add(Globals.ERROR_KEY, new ActionMessage("sendMessage.error.invalidRole", role));
202                     }
203                 }
204
205                 // Validate selected policies
206
for (String JavaDoc policy : getSelectedPoliciesList()) {
207                     if (PolicyDatabaseFactory.getInstance().getPolicyByName(policy,
208                         LogonControllerFactory.getInstance().getSessionInfo(request).getUser().getRealm().getResourceId()) == null) {
209                         errs.add(Globals.ERROR_KEY, new ActionMessage("sendMessage.error.invalidPolicy", policy));
210                     }
211                 }
212             } catch (Exception JavaDoc e) {
213                 errs.add(Globals.ERROR_KEY, new ActionMessage("sendMessage.error.failedToValidate", e.getMessage()));
214                 log.error("Failed to validate.", e);
215             }
216         }
217         return errs;
218
219     }
220
221     /*
222      * (non-Javadoc)
223      *
224      * @see com.sslexplorer.tabs.TabModel#getTabBundle(int)
225      */

226     public String JavaDoc getTabBundle(int idx) {
227         return null;
228     }
229 }
230
Popular Tags