fixed no quiz data for exam
This commit is contained in:
parent
6980715e2f
commit
9364977d4a
1 changed files with 17 additions and 7 deletions
|
@ -17,6 +17,7 @@ import java.util.Collections;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Objects;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.function.Function;
|
import java.util.function.Function;
|
||||||
import java.util.function.Predicate;
|
import java.util.function.Predicate;
|
||||||
|
@ -146,7 +147,7 @@ public class ExamDAOImpl implements ExamDAO {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (from != null) {
|
if (from != null && exam.startTime != null) {
|
||||||
if (exam.startTime.isBefore(from)) {
|
if (exam.startTime.isBefore(from)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -773,7 +774,12 @@ public class ExamDAOImpl implements ExamDAO {
|
||||||
// collect Exam's
|
// collect Exam's
|
||||||
return recordMapping.entrySet()
|
return recordMapping.entrySet()
|
||||||
.stream()
|
.stream()
|
||||||
.map(entry -> toDomainModel(entry.getValue(), quizzes.get(entry.getKey())).getOrThrow())
|
.map(entry -> toDomainModel(entry.getValue(), quizzes.get(entry.getKey()))
|
||||||
|
.onError(error -> log.error(
|
||||||
|
"Failed to get quiz data from remote LMS for exam: ",
|
||||||
|
error))
|
||||||
|
.getOr(null))
|
||||||
|
.filter(Objects::nonNull)
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -782,6 +788,10 @@ public class ExamDAOImpl implements ExamDAO {
|
||||||
final ExamRecord record,
|
final ExamRecord record,
|
||||||
final QuizData quizData) {
|
final QuizData quizData) {
|
||||||
|
|
||||||
|
if (quizData == null) {
|
||||||
|
return Result.ofRuntimeError("No quizData found for exam: " + record);
|
||||||
|
}
|
||||||
|
|
||||||
return Result.tryCatch(() -> {
|
return Result.tryCatch(() -> {
|
||||||
|
|
||||||
final Collection<String> supporter = (StringUtils.isNotBlank(record.getSupporter()))
|
final Collection<String> supporter = (StringUtils.isNotBlank(record.getSupporter()))
|
||||||
|
@ -801,11 +811,11 @@ public class ExamDAOImpl implements ExamDAO {
|
||||||
record.getInstitutionId(),
|
record.getInstitutionId(),
|
||||||
record.getLmsSetupId(),
|
record.getLmsSetupId(),
|
||||||
record.getExternalId(),
|
record.getExternalId(),
|
||||||
(quizData != null) ? quizData.name : Constants.EMPTY_NOTE,
|
quizData.name,
|
||||||
(quizData != null) ? quizData.description : Constants.EMPTY_NOTE,
|
quizData.description,
|
||||||
(quizData != null) ? quizData.startTime : null,
|
quizData.startTime,
|
||||||
(quizData != null) ? quizData.endTime : null,
|
quizData.endTime,
|
||||||
(quizData != null) ? quizData.startURL : Constants.EMPTY_NOTE,
|
quizData.startURL,
|
||||||
ExamType.valueOf(record.getType()),
|
ExamType.valueOf(record.getType()),
|
||||||
record.getOwner(),
|
record.getOwner(),
|
||||||
supporter,
|
supporter,
|
||||||
|
|
Loading…
Add table
Reference in a new issue