@Override
@Transactional(readOnly=false,noRollbackFor={DoesNotExistException.class},rollbackFor={Throwable.class})
public StatusInfo setCurrentMajorDisciplineVersion(
String majorDisciplineId, Date currentVersionStart,ContextInfo contextInfo)
throws DoesNotExistException, InvalidParameterException,
MissingParameterException, IllegalVersionSequencingException,
OperationFailedException, PermissionDeniedException, DataValidationErrorException {
StatusInfo status = cluService.setCurrentCluVersion(majorDisciplineId, currentVersionStart,contextInfo);
List<ProgramVariationInfo> variationList = getVariationsByMajorDisciplineId(majorDisciplineId,contextInfo);
for (ProgramVariationInfo variationInfo:variationList){
String variationId = variationInfo.getId();
if (variationInfo.getVersion().getCurrentVersionStart() == null){
cluService.setCurrentCluVersion(variationId, currentVersionStart,contextInfo);
}
}
return status;
}