package org.fireflow.samples.event;
import org.fireflow.engine.entity.runtime.ActivityInstance;
import org.fireflow.engine.modules.instancemanager.event.AbsActivityInstanceEventListener;
import org.fireflow.engine.modules.instancemanager.event.ActivityInstanceEvent;
import org.fireflow.pdl.fpdl.process.Activity;
public class MyActivityEventListener extends AbsActivityInstanceEventListener {
/**
* Activity正常结束,或者被Abort都会触发该方法
*/
@Override
protected void afterActivityInstanceEnd(ActivityInstanceEvent e) {
ActivityInstance actInst = e.getSource();
Activity activity = (Activity)e.getWorkflowElement();
System.out.println("--调用事件MyActivityEventListener.afterActivityInstanceEnd(...)");
System.out.println("----发起事件的活动实例是:id="+actInst.getId()+";displayName="+
actInst.getDisplayName()+"; state="+actInst.getState().getDisplayName()+
";活动实例的挂起标志="+actInst.isSuspended());
System.out.println("----该实例对应的活动节点是:id="+activity.getId());
System.out.println("------------------------------------");
super.afterActivityInstanceEnd(e);
}
@Override
protected void onActivityInstanceCreated(ActivityInstanceEvent e) {
ActivityInstance actInst = e.getSource();
Activity activity = (Activity)e.getWorkflowElement();
System.out.println("--调用事件MyActivityEventListener.onActivityInstanceCreated(...)");
System.out.println("----发起事件的活动实例是:id="+actInst.getId()+";displayName="+
actInst.getDisplayName()+"; state="+actInst.getState().getDisplayName()+
";活动实例的挂起标志="+actInst.isSuspended());
System.out.println("----该实例对应的活动节点是:id="+activity.getId());
System.out.println("------------------------------------");
super.onActivityInstanceCreated(e);
}
@Override
protected void onActivityInstanceRestored(ActivityInstanceEvent e) {
ActivityInstance actInst = e.getSource();
Activity activity = (Activity)e.getWorkflowElement();
System.out.println("--调用事件MyActivityEventListener.onActivityInstanceRestored(...)");
System.out.println("----发起事件的活动实例是:id="+actInst.getId()+";displayName="+
actInst.getDisplayName()+"; state="+actInst.getState().getDisplayName()+
";活动实例的挂起标志="+actInst.isSuspended());
System.out.println("----该实例对应的活动节点是:id="+activity.getId());
System.out.println("------------------------------------");
super.onActivityInstanceRestored(e);
}
@Override
protected void onActivityInstanceSuspended(ActivityInstanceEvent e) {
ActivityInstance actInst = e.getSource();
Activity activity = (Activity)e.getWorkflowElement();
System.out.println("--调用事件MyActivityEventListener.onActivityInstanceSuspended(...)");
System.out.println("----发起事件的活动实例是:id="+actInst.getId()+";displayName="+
actInst.getDisplayName()+"; state="+actInst.getState().getDisplayName()+
";活动实例的挂起标志="+actInst.isSuspended());
System.out.println("----该实例对应的活动节点是:id="+activity.getId());
System.out.println("------------------------------------");
super.onActivityInstanceSuspended(e);
}
}