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<TransitionVO> tVos = new ArrayList<TransitionVO>();
|
|
@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<String> getNextStateByLifeCycleNameAndCurrentState(
|
String lifecycleName, String currentState) {
|
List<String> list = null;
|
TransitionVO route = null;
|
try {
|
list = new ArrayList<String>();
|
LifeCycle[] lifeCyles = LifeCycleStart.getService().getLifeCycles();
|
for (LifeCycle lc : lifeCyles) {
|
if (lc.name.equals(lifecycleName)) {
|
for(int i=0;i<lc.routes.length;i++){
|
route = lc.routes[i];
|
if(route.source.equals(currentState)){
|
list.add(route.destination);
|
}
|
}
|
}
|
}
|
} catch (VCIError e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
}
|
return list;
|
}
|
|
// @Override
|
// public List<TransitionVO> getTransitionVOListByNameAndSouce(String name,String startNode) {
|
// List<TransitionVO> 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<TransitionVO> 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;
|
}
|
}
|