09-15-2011 03:07 PM
09-16-2011 08:52 AM
public class NotificationListener implements TaskListener {
private static Logger log = Logger.getLogger(NotificationListener.class.getName());
@Override
public void notify(DelegateTask delegateTask) {
TaskService taskService = ProcessEngines.getDefaultProcessEngine().getTaskService();
List<IdentityLink> identityLinks = taskService.getIdentityLinksForTask(delegateTask.getId());
for(IdentityLink link : identityLinks) {
String type = link.getType();
if(type.equals(IdentityLinkType.ASSIGNEE)) {
log.log(Level.INFO,"========== NOTIFY User of assignment: " + link.getUserId() + " ==============");
}
if(type.equals(IdentityLinkType.CANDIDATE)) {
log.log(Level.INFO,"========== NOTIFY User of assignment: " + link.getUserId() + " ==============");
}
}
}
}
09-17-2011 07:44 AM
09-20-2011 04:23 PM
import java.util.List;
import java.util.logging.Logger;
import org.activiti.engine.ActivitiException;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
import org.activiti.engine.identity.Group;
import org.activiti.engine.identity.User;
import org.activiti.engine.impl.cfg.ProcessEngineConfigurationImpl;
import org.activiti.engine.impl.context.Context;
import org.activiti.engine.impl.persistence.entity.IdentityLinkEntity;
import org.activiti.engine.impl.persistence.entity.TaskEntity;
import org.activiti.engine.task.IdentityLinkType;
import org.apache.commons.mail.Email;
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.HtmlEmail;
public class NotificationListener implements TaskListener {
private static Logger log = Logger.getLogger(NotificationListener.class.getName());
@Override
public void notify(DelegateTask delegateTask) {
TaskEntity task = (TaskEntity)delegateTask;
String assignee = task.getAssignee();
List<IdentityLinkEntity> identityLinks = task.getIdentityLinks();
StringBuffer message = new StringBuffer("");
message.append("You have a new assigned task. <br/><br/>");
message.append("<a href=\"http://localhost:8080/activiti-explorer/#tasks/");
message.append(task.getId());
message.append("?category=inbox\">");
message.append(task.getName());
message.append("</a>");
if(assignee != null && assignee.length() > 0) {
User user = Context.getProcessEngineConfiguration().getIdentityService().createUserQuery().userId(assignee).singleResult();
sendNotification(user, message.toString());
}
for(IdentityLinkEntity link : identityLinks) {
if(link.getType().equals(IdentityLinkType.CANDIDATE)) {
if(link.isUser()) {
User user = Context.getProcessEngineConfiguration().getIdentityService().createUserQuery().userId(link.getUserId()).singleResult();
sendNotification(user, message.toString());
}
if(link.isGroup()) {
List<User> users = Context.getProcessEngineConfiguration().getIdentityService().createUserQuery().memberOfGroup(link.getGroupId()).list();
for(User user : users) {
sendNotification(user, message.toString());
}
}
}
}
}
protected void sendNotification(User user, String message) {
HtmlEmail email = new HtmlEmail();
try {
email.setHtmlMsg(message);
email.addTo(user.getEmail());
email.setSubject("Activiti Assignment Notification");
email.setFrom("[email protected]");
setMailServerProperties(email);
email.send();
} catch (EmailException e) {
throw new ActivitiException("Could not send e-mail:" + e.getMessage(), e);
}
}
protected void setMailServerProperties(Email email) {
ProcessEngineConfigurationImpl processEngineConfiguration = Context.getProcessEngineConfiguration();
String host = processEngineConfiguration.getMailServerHost();
if (host == null) {
throw new ActivitiException("Could not send email: no SMTP host is configured");
}
email.setHostName(host);
int port = processEngineConfiguration.getMailServerPort();
email.setSmtpPort(port);
String user = processEngineConfiguration.getMailServerUsername();
String password = processEngineConfiguration.getMailServerPassword();
if (user != null && password != null) {
email.setAuthentication(user, password);
}
}
}
02-23-2016 04:56 PM
02-24-2016 05:10 AM
02-26-2016 11:07 AM
activiti-user: ABCDEF
activiti-user-value-type:userExternalIdType
{
"processDefinitionId":"IC-Cash-Payment:13:1030028",
"name":"ICO Cash 22",
"values":
{
"account":"123456",
"status":"active",
"valueDate":"2015-12-21T01:00:00Z",
"tradeType":"xxxx",
"amount":"10000",
"iij":"IIJ00000001",
"clientReference":"CRxxxx",
"paymentDetail":"ddddddddddd",
"authorizationsNeeded":"true"
}
}
the Notify method03-01-2016 03:44 PM
03-23-2016 01:49 PM
Tags
Find what you came for
We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.