From 7bbe6386a3be90473d0ba73e72497f3f5bb1ee06 Mon Sep 17 00:00:00 2001 From: anhefti Date: Thu, 16 Jul 2020 10:50:47 +0200 Subject: [PATCH] SEBSERV-75 fixed Moodle request API with form URL encoded array values --- src/main/java/ch/ethz/seb/sebserver/gbl/util/Utils.java | 2 +- .../webservice/servicelayer/lms/impl/CourseAccess.java | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/main/java/ch/ethz/seb/sebserver/gbl/util/Utils.java b/src/main/java/ch/ethz/seb/sebserver/gbl/util/Utils.java index a33aac64..837ab496 100644 --- a/src/main/java/ch/ethz/seb/sebserver/gbl/util/Utils.java +++ b/src/main/java/ch/ethz/seb/sebserver/gbl/util/Utils.java @@ -618,7 +618,7 @@ public final class Utils { } public static String toAppFormUrlEncodedBody(final String name, final Collection array) { - final String _name = name.contains(String.valueOf(Constants.SQUARE_BRACE_OPEN)) + final String _name = name.contains(String.valueOf(Constants.SQUARE_BRACE_OPEN)) || array.size() <= 1 ? name : name + Constants.SQUARE_BRACE_OPEN + Constants.SQUARE_BRACE_CLOSE; diff --git a/src/main/java/ch/ethz/seb/sebserver/webservice/servicelayer/lms/impl/CourseAccess.java b/src/main/java/ch/ethz/seb/sebserver/webservice/servicelayer/lms/impl/CourseAccess.java index 9640f0c8..7de42a0b 100644 --- a/src/main/java/ch/ethz/seb/sebserver/webservice/servicelayer/lms/impl/CourseAccess.java +++ b/src/main/java/ch/ethz/seb/sebserver/webservice/servicelayer/lms/impl/CourseAccess.java @@ -18,6 +18,9 @@ import java.util.function.Function; import java.util.function.Supplier; import java.util.stream.Collectors; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import ch.ethz.seb.sebserver.gbl.Constants; import ch.ethz.seb.sebserver.gbl.async.AsyncService; import ch.ethz.seb.sebserver.gbl.async.CircuitBreaker; @@ -31,6 +34,8 @@ import ch.ethz.seb.sebserver.webservice.servicelayer.lms.LmsAPIService; public abstract class CourseAccess { + private static final Logger log = LoggerFactory.getLogger(CourseAccess.class); + protected final MemoizingCircuitBreaker> allQuizzesRequest; protected final CircuitBreaker chaptersRequest; protected final CircuitBreaker accountDetailRequest; @@ -103,6 +108,7 @@ public abstract class CourseAccess { public String getExamineeName(final String examineeSessionId) { return getExamineeAccountDetails(examineeSessionId) .map(ExamineeAccountDetails::getDisplayName) + .onError(error -> log.warn("Failed to request Moodle user-name for ID: {}", error.getMessage(), error)) .getOr(examineeSessionId); }