package fr.itldev.koya.resetpassword.activiti; import fr.itldev.koya.alfservice.KoyaMailService; import fr.itldev.koya.alfservice.UserService; import fr.itldev.koya.model.impl.User; import java.util.Map; import org.activiti.engine.delegate.DelegateExecution; import org.alfresco.repo.workflow.activiti.ActivitiConstants; import org.alfresco.repo.workflow.activiti.ActivitiScriptNode; import org.alfresco.repo.workflow.activiti.BaseJavaDelegate; import org.apache.log4j.Logger; /** * * */ public class SendResetTicketDelegate extends BaseJavaDelegate { private KoyaMailService koyaMailService; private UserService userService; public void setKoyaMailService(KoyaMailService koyaMailService) { this.koyaMailService = koyaMailService; } public void setUserService(UserService userService) { this.userService = userService; } private Logger logger = Logger.getLogger(this.getClass()); @Override public void execute(DelegateExecution execution) throws Exception { Map<String, Object> executionVariables = execution.getVariables(); ActivitiScriptNode asn = (ActivitiScriptNode) executionVariables.get(ResetPasswordModel.wfVarUser); User user = userService.buildUser(asn.getNodeRef()); String resetId = ActivitiConstants.ENGINE_ID + "$" + execution.getProcessInstanceId(); String resetUrl = (String) executionVariables.get(ResetPasswordModel.wfVarResetUrl); String resetTicket = (String) executionVariables.get(ResetPasswordModel.wfVarResetTicket); String url = resetUrl + "?resetId=" + resetId + "&resetTicket=" + resetTicket + "&userEmail=" + user.getEmail(); logger.debug("resetUrl=" + url); koyaMailService.sendResetRequestMail(user.getEmail(), url); } }