/* ==================================================================
* Created [2009-4-27 下午11:32:55] by Jon.King
* ==================================================================
* TSS
* ==================================================================
* mailTo:jinpujun@hotmail.com
* Copyright (c) Jon.King, 2009-2012
* ==================================================================
*/
package com.jinhe.tss.um.action;
import java.util.List;
import com.jinhe.tss.component.support.web.webwork.PTActionSupport;
import com.jinhe.tss.core.util.EasyUtils;
import com.jinhe.tss.core.web.dispaly.tree.SimpleTreeParser;
import com.jinhe.tss.core.web.dispaly.tree.TreeEncoder;
import com.jinhe.tss.core.web.dispaly.xform.XFormEncoder;
import com.jinhe.tss.um.UMConstants;
import com.jinhe.tss.um.entity.PasswordRule;
import com.jinhe.tss.um.service.IPasswordRuleService;
public class PasswordRuleAction extends PTActionSupport {
private static final long serialVersionUID = -123103810230L;
private IPasswordRuleService service;
private PasswordRule rule = new PasswordRule();
private Long id;
private String loginName;
private String password;
public String getRuleInfo(){
PasswordRule rule = null;
if( id == null ){
rule = PasswordRule.getDefaultPasswordRule();
} else {
rule = service.getRuleById(id);
}
XFormEncoder ruleEncoder = new XFormEncoder(UMConstants.PASSWORDINFO_XFORM_TEMPLATE_PATH, rule);
return print("PasswordInfo", ruleEncoder);
}
public String saveRule(){
service.saveRule(rule);
return printSuccessMessage();
}
public String modifyRule(){
service.updateRule(rule);
return printSuccessMessage();
}
public String deleteRule(){
service.deleteRule(id);
return printSuccessMessage();
}
public String getStrengthLevel(){
return print("SecurityLevel", service.getStrengthLevel(id, password, loginName));
}
public String getGroupStrengthLevel(){
return print("SecurityLevel", service.getStrengthLevel(id, password));
}
public String getAllRules(){
List<?> rules = service.getAllPasswordRules();
TreeEncoder encoder = new TreeEncoder(rules, new SimpleTreeParser());
encoder.setNeedRootNode(true);
return print("RuleTree", encoder);
}
public String getPasswordRuleInfo(){
List<?> passwordRules = service.getAllPasswordRules();
String[] comboedits = EasyUtils.generateComboedit(passwordRules, "id", "name", "|");
XFormEncoder encoder = new XFormEncoder(UMConstants.PASSWORD_TACTIC_XFORM_TEMPLATE_PATH);
encoder.setColumnAttribute("passwordRuleId", "editorvalue", comboedits[0]);
encoder.setColumnAttribute("passwordRuleId", "editortext", comboedits[1]);
return print("PasswordRuleInfo", encoder);
}
public void setService(IPasswordRuleService service) {
this.service = service;
}
public PasswordRule getRule(){
return rule;
}
public void setId(Long id) {
this.id = id;
}
public void setLoginName(String loginName) {
this.loginName = loginName;
}
public void setPassword(String password) {
this.password = password;
}
}