package com.vci.client.omd.lifecycle.pubimpl; import java.util.ArrayList; import java.util.List; import com.vci.client.omd.lifecycle.LifeCycleStart; import com.vci.client.omd.lifecycle.itf.LifecycleClientInterface; import com.vci.corba.common.VCIError; import com.vci.corba.omd.lcm.LifeCycle; import com.vci.corba.omd.lcm.TransitionVO; import com.vci.corba.omd.lcm.TransitionVOEvent; public class LifecycleClientInterfaceImpl implements LifecycleClientInterface{ private List tVos = new ArrayList(); @Override public String getFirstLifeCycleStateByName(String name) { String startState = null; try { LifeCycle lifeCycle = LifeCycleStart.getService().getLifeCycle(name); startState = lifeCycle.startState; } catch (VCIError e) { e.printStackTrace(); } return startState; } @Override public List getNextStateByLifeCycleNameAndCurrentState( String lifecycleName, String currentState) { List list = null; TransitionVO route = null; try { list = new ArrayList(); LifeCycle[] lifeCyles = LifeCycleStart.getService().getLifeCycles(); for (LifeCycle lc : lifeCyles) { if (lc.name.equals(lifecycleName)) { for(int i=0;i getTransitionVOListByNameAndSouce(String name,String startNode) { // List tVos = null; // try { // LifeCyle[] lifeCyles = LifeCycleStart.getService().getLifeCyles(); // for(LifeCyle lifeCyle:lifeCyles){ // if(lifeCyle.name.equals(name)){ // tVos= getTransitionVOsBySouce(lifeCyle, startNode); // } // } // // } catch (VCIError e) { // e.printStackTrace(); // } // return tVos; // } /** * 閫氳繃璺冭縼绾胯捣鐐硅幏鍙栦笅绾ф墍鏈夎穬杩佸璞� * @param souce * @return */ public List getTransitionVOsBySouce(LifeCycle lc, String souce) { TransitionVO[] transitionVOs = lc.routes; for (TransitionVO tv : transitionVOs) { if (tv.source.equals(souce)) { tVos.add(tv); //String mid = tv.destination; //getTransitionVOsBySouce(lc, mid); } } return tVos; } @Override public TransitionVOEvent[] getTransitionVOEventsByLifeCycleNameAndTransition( String lifecycleName, String transition) { try { LifeCycle[] lifeCyles = LifeCycleStart.getService().getLifeCycles(); for(LifeCycle lc:lifeCyles){ if(lc.name.equals(lifecycleName)){ TransitionVO[] transitionVOs = lc.routes; for(TransitionVO tVo:transitionVOs){ if(tVo.connect.equals(transition)){ return tVo.transitionVOEvents; } } } } return null; } catch (VCIError e) { e.printStackTrace(); } return null; } }