package com.vci.server.bof.server.transfer;
|
|
import com.vci.corba.omd.data.BusinessObject;
|
import com.vci.corba.omd.lcm.TransitionVO;
|
import com.vci.corba.omd.lcm.TransitionVOEvent;
|
import com.vci.server.bof.event.ITransitionEvent;
|
import com.vci.server.bof.event.ITransitionEventsExcuter;
|
import com.vci.common.exception.VciException;
|
|
/**
|
* 跃迁事件执行引擎
|
* @author liwei
|
*
|
*/
|
public class TransitionEventsExcuter implements ITransitionEventsExcuter{
|
|
|
/***
|
* 执行跃迁事件
|
*
|
* @param lifecycle_name
|
* @param transition
|
*/
|
|
@Override
|
public void excute(TransitionVO tVo, BusinessObject bo) {
|
try {
|
TransitionVOEvent[] transitionVOEvents = tVo.transitionVOEvents;
|
for (TransitionVOEvent transitionVOEvent : transitionVOEvents) {
|
String class_name = transitionVOEvent.name;
|
ITransitionEvent transitionEvent = (ITransitionEvent) Class.forName(class_name).newInstance();
|
transitionEvent.init(tVo, bo);
|
transitionEvent.Service();
|
transitionEvent.destroy();
|
}
|
} catch (InstantiationException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
} catch (IllegalAccessException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
} catch (ClassNotFoundException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
} catch (VciException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
}
|
|
}
|
|
}
|