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(); } } }