diff --git a/src/main/java/lithium/openstud/driver/core/models/ExamReservation.java b/src/main/java/lithium/openstud/driver/core/models/ExamReservation.java index 8eb5424..439fbfc 100644 --- a/src/main/java/lithium/openstud/driver/core/models/ExamReservation.java +++ b/src/main/java/lithium/openstud/driver/core/models/ExamReservation.java @@ -1,5 +1,6 @@ package lithium.openstud.driver.core.models; +import org.json.JSONArray; import org.threeten.bp.LocalDate; import java.util.Objects; @@ -24,6 +25,10 @@ public class ExamReservation { private String ssd; private String module; + private JSONArray attendingModesList; + + private String attendingModeType = "0"; + public LocalDate getExamDate() { return examDate; } @@ -168,6 +173,22 @@ public void setModule(String module) { this.module = module; } + public JSONArray getAttendingModesList() { + return attendingModesList; + } + + public void setAttendingModesList(JSONArray attendingModesList) { + this.attendingModesList = attendingModesList; + } + + public String getAttendingModeType() { + return attendingModeType; + } + + public void setAttendingModeType(String attendingModeType) { + this.attendingModeType = attendingModeType; + } + @Override public String toString() { return "ExamReservation{" + @@ -189,6 +210,8 @@ public String toString() { ", note='" + note + '\'' + ", ssd='" + ssd + '\'' + ", module='" + module + '\'' + + ", attendingModesList='" + attendingModesList + '\'' + + ", attendingModeType='" + attendingModeType + '\'' + '}'; } diff --git a/src/main/java/lithium/openstud/driver/core/providers/sapienza/SapienzaExamHandler.java b/src/main/java/lithium/openstud/driver/core/providers/sapienza/SapienzaExamHandler.java index b301e03..f6bcb31 100644 --- a/src/main/java/lithium/openstud/driver/core/providers/sapienza/SapienzaExamHandler.java +++ b/src/main/java/lithium/openstud/driver/core/providers/sapienza/SapienzaExamHandler.java @@ -327,8 +327,18 @@ public Pair insertReservation(ExamReservation res) throws Opens private ImmutablePair _insertReservation(ExamReservation res) throws OpenstudInvalidResponseException, OpenstudConnectionException { try { + String requrl = + String.format("%s/prenotazione/%s/%s/%s/%s/?ingresso=%s", + os.getEndpointAPI(), + res.getReportID(), + res.getSessionID(), + res.getCourseCode(), + res.getAttendingModeType(), + os.getToken() + ); RequestBody reqbody = RequestBody.create(new byte[]{}, null); - Request req = new Request.Builder().url(String.format("%s/prenotazione/%s/%s/%s/0/?ingresso=%s", os.getEndpointAPI(), res.getReportID(), res.getSessionID(), res.getCourseCode(), os.getToken())).post(reqbody).build(); + Request req = new Request.Builder().url(requrl).post(reqbody).build(); + JSONObject response = handleRequest(req); String url = null; int flag = -1; diff --git a/src/main/java/lithium/openstud/driver/core/providers/sapienza/SapienzaHelper.java b/src/main/java/lithium/openstud/driver/core/providers/sapienza/SapienzaHelper.java index d9e545a..d94b8ac 100644 --- a/src/main/java/lithium/openstud/driver/core/providers/sapienza/SapienzaHelper.java +++ b/src/main/java/lithium/openstud/driver/core/providers/sapienza/SapienzaHelper.java @@ -248,6 +248,9 @@ static List extractReservations(Openstud os, JSONArray array) { case "SiglaModuloDidattico": if (!obj.isNull("SiglaModuloDidattico")) res.setModule(obj.getString("SiglaModuloDidattico")); break; + case "modalitaSvolgimentoList": + if (!obj.isNull("modalitaSvolgimentoList")) res.setAttendingModesList(obj.getJSONArray("modalitaSvolgimentoList")); + break; default: break; }