}
public void executeActivity(ProcessInstance instance)
throws Exception {
ActivitySelectionContext activitySelection = null;
if(getTargetSource()== BackActivity.TargetActivityPV){
activitySelection = (ActivitySelectionContext)getTargetActivityPV().get(instance, "");
}else if(getTargetSource()== BackActivity.TargetActivity){
activitySelection = getTargetActivity();
}else if(getTargetSource()== BackActivity.Flag){
activitySelection = FlagActivity.getFlagLocation(instance, getFlag());
}else if(getTargetSource()== BackActivity.TargetActivityPV_OR_TargetActivity){
if(getTargetActivityPV()!=null){
activitySelection = (ActivitySelectionContext)getTargetActivityPV().get(instance, "");
}else{
activitySelection = getTargetActivity();
}
}
String actualTargetInstanceId = "";
String actaulTargetTracingTag = "";
try{
actualTargetInstanceId = evaluateContent(instance, activitySelection.getInstanceId()).toString();
actaulTargetTracingTag = evaluateContent(instance, activitySelection.getTracingTag()).toString();
}catch (Exception e) {
throw new UEngineException("BackActivity tried to back to unpassed activity or '"+getFlag()+"' doesn't exist.",e);
}
HashMap options = new HashMap();