int stepNumber = 0;
List<IToken> tokensList_0 = persistenceService.findTokensForProcessInstance(this.getId(), synchInst.getSynchronizer().getId());
Map<String,IToken> tokensMap = new HashMap<String,IToken>();
for (int i = 0; i < tokensList_0.size(); i++) {
IToken tmpToken = tokensList_0.get(i);
String tmpFromActivityId = tmpToken.getFromActivityId();
if (!tokensMap.containsKey(tmpFromActivityId)) {
tokensMap.put(tmpFromActivityId, tmpToken);
} else {
//TODO ====下面的代码有意义吗?===start===wmj2003
IToken tmpToken2 = tokensMap.get(tmpFromActivityId);
if (tmpToken2.getStepNumber() > tmpToken.getStepNumber()) {
tokensMap.put(tmpFromActivityId, tmpToken2);
}
//TODO ====下面的代码有意义吗?===end===wmj2003
}
}
List<IToken> tokensList = new ArrayList<IToken>(tokensMap.values());
for (int i = 0; i < tokensList.size(); i++) {
IToken _token = tokensList.get(i);
resultJoinPoint.addValue(_token.getValue());
if (_token.isAlive()) {//如果token的状态是alive
resultJoinPoint.setAlive(true);
String oldFromActivityId = resultJoinPoint.getFromActivityId();
if (oldFromActivityId == null || oldFromActivityId.trim().equals("")) {
resultJoinPoint.setFromActivityId(_token.getFromActivityId());
} else {
resultJoinPoint.setFromActivityId(oldFromActivityId + IToken.FROM_ACTIVITY_ID_SEPARATOR + _token.getFromActivityId());
}
}
if (token.getStepNumber() > stepNumber) {
stepNumber = token.getStepNumber();