📄 messageform.java
字号:
package com.sslexplorer.setup.forms;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.struts.Globals;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;
import org.apache.struts.util.LabelValueBean;
import com.sslexplorer.boot.PropertyList;
import com.sslexplorer.core.CoreServlet;
import com.sslexplorer.core.forms.CoreForm;
import com.sslexplorer.input.MultiSelectDataSource;
import com.sslexplorer.input.MultiSelectSelectionModel;
import com.sslexplorer.notification.MessageSink;
import com.sslexplorer.policyframework.PolicyNestingDataSource;
import com.sslexplorer.policyframework.Resource;
import com.sslexplorer.security.User;
import com.sslexplorer.tabs.TabModel;
public class MessageForm extends CoreForm implements TabModel {
final static Log log = LogFactory.getLog(MessageForm.class);
private PropertyList selectedAccounts;
private PropertyList selectedRoles;
private PropertyList selectedPolicies;
private MultiSelectDataSource selectedPolicyDataSource;
private MultiSelectSelectionModel selectedPolicySelection;
private String subject;
private String content;
private boolean urgent;
private User sender;
private String selectedTab = "message";
private List availableSinks;
private String selectedSink;
public MessageForm() {
super();
selectedAccounts = new PropertyList();
selectedRoles = new PropertyList();
selectedPolicies = new PropertyList();
selectedPolicyDataSource = new PolicyNestingDataSource(null);
selectedPolicySelection = new MultiSelectSelectionModel(selectedPolicyDataSource, selectedPolicies);
}
public String getSelectedSink() {
return selectedSink;
}
public void setSelectedSink(String selectedSink) {
this.selectedSink = selectedSink;
}
public List getAvailableSinks() {
return availableSinks;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public String getSubject() {
return subject;
}
public void setSubject(String subject) {
this.subject = subject;
}
public boolean getUrgent() {
return urgent;
}
public void setUrgent(boolean urgent) {
this.urgent = urgent;
}
public String getSelectedPolicies() {
return selectedPolicies.getAsTextFieldText();
}
public void setNestedPolicies(String nestedPolicies) {
this.selectedPolicies.setAsTextFieldText(nestedPolicies);
}
public String getSelectedAccounts() {
return selectedAccounts.getAsTextFieldText();
}
public void setSelectedAccounts(String selectedAccounts) {
this.selectedAccounts.setAsTextFieldText(selectedAccounts);
}
public String getSelectedRoles() {
return selectedRoles.getAsTextFieldText();
}
public void setSelectedRoles(String selectedRoles) {
this.selectedRoles.setAsTextFieldText(selectedRoles);
}
public void setSelectedPolicies(String selectedPolicies) {
this.selectedPolicies.setAsTextFieldText(selectedPolicies);
}
public MultiSelectSelectionModel getSelectedPolicySelectionModel() {
return selectedPolicySelection;
}
public void setSelectedAccounts(PropertyList selectedAccounts) {
this.selectedAccounts = selectedAccounts;
}
public void setSelectedRoles(PropertyList selectedRoles) {
this.selectedRoles = selectedRoles;
}
public PropertyList getSelectedPoliciesList() {
return selectedPolicies;
}
public PropertyList getSelectedAccountsList() {
return selectedAccounts;
}
public PropertyList getSelectedRolesList() {
return selectedRoles;
}
public Resource getResourceByName(String name) throws Exception {
return CoreServlet.getServlet().getPolicyDatabase().getPolicyByName(name);
}
public User getSender() {
return sender;
}
public void initialise(MultiSelectSelectionModel selectedPolicySelection,
PropertyList selectedPolicies, User send) throws Exception {
this.selectedPolicySelection = selectedPolicySelection;
this.selectedPolicies = selectedPolicies;
availableSinks = new ArrayList();
availableSinks.add(new LabelValueBean("First", "^"));
availableSinks.add(new LabelValueBean("All", "*"));
List l = CoreServlet.getServlet().getNotifier().getSinks();
for(Iterator i = l.iterator(); i.hasNext(); ) {
MessageSink sink = (MessageSink)i.next();
availableSinks.add(new LabelValueBean(sink.getName(), sink.getName()));
}
selectedAccounts = new PropertyList();
selectedRoles = new PropertyList();
selectedPolicySelection.rebuild();
}
public void reset(ActionMapping mapping, HttpServletRequest request) {
super.reset(mapping, request);
urgent = false;
}
public int getTabCount() {
return 2;
}
public String getTabName(int idx) {
switch(idx) {
case 0:
return "message";
default:
return "recipients";
}
}
public String getTabTitle(int idx) {
// Get from resources
return null;
}
public String getSelectedTab() {
return selectedTab;
}
public void setSelectedTab(String selectedTab) {
this.selectedTab = selectedTab;
}
public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) {
ActionErrors errs = null;
if(isCommiting()) {
if(getSubject().equals("")) {
errs = new ActionErrors();
errs.add(Globals.ERROR_KEY, new ActionMessage("sendMessage.error.noSubject"));
}
if(getSelectedAccountsList().size() == 0 &&
getSelectedRolesList().size() == 0 &&
getSelectedPoliciesList().size() == 0) {
errs = errs == null ? new ActionErrors() : errs;
errs.add(Globals.ERROR_KEY, new ActionMessage("sendMessage.error.noRecipients"));
}
}
return errs;
}
/* (non-Javadoc)
* @see com.sslexplorer.tabs.TabModel#getTabBundle(int)
*/
public String getTabBundle(int idx) {
return null;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -