package com.mossle.bpm.support; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; import org.activiti.engine.impl.persistence.entity.TaskEntity; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class DefaultTaskListener implements TaskListener { private static Logger logger = LoggerFactory .getLogger(DefaultTaskListener.class); public void notify(DelegateTask delegateTask) { String eventName = delegateTask.getEventName(); logger.debug("{}", this); logger.debug("{} : {}", eventName, delegateTask); if ("create".equals(eventName)) { try { this.onCreate(delegateTask); } catch (Exception ex) { logger.error(ex.getMessage(), ex); } } if ("assignment".equals(eventName)) { try { this.onAssignment(delegateTask); } catch (Exception ex) { logger.error(ex.getMessage(), ex); } } if ("complete".equals(eventName)) { try { this.onComplete(delegateTask); } catch (Exception ex) { logger.error(ex.getMessage(), ex); } } if ("delete".equals(eventName)) { try { this.onDelete(delegateTask); } catch (Exception ex) { logger.error(ex.getMessage(), ex); } } ((TaskEntity) delegateTask).setEventName(eventName); } public void onCreate(DelegateTask delegateTask) throws Exception { } public void onAssignment(DelegateTask delegateTask) throws Exception { } public void onComplete(DelegateTask delegateTask) throws Exception { } public void onDelete(DelegateTask delegateTask) throws Exception { } }