From 3ca1e91a628550e93dc691150a4db85348429f4e Mon Sep 17 00:00:00 2001 From: r-monti <127495690+r-monti@users.noreply.github.com> Date: Sun, 21 Jan 2024 13:18:16 +0100 Subject: [PATCH] Added JavaDoc to all the servlets --- .../controller/AddRemovePatientCondition.java | 4 +- src/main/java/controller/ChangePassword.java | 3 ++ src/main/java/controller/ChangeUserInfo.java | 11 +++- .../java/controller/CheckCurrentPassword.java | 3 ++ src/main/java/controller/CountMessages.java | 3 ++ .../java/controller/ExerciseController.java | 4 +- .../java/controller/ExerciseEvaluator.java | 54 ++++++++++++++++++- src/main/java/controller/ExerciseLogger.java | 20 +++++++ .../controller/ExerciseRecommendation.java | 4 +- src/main/java/controller/GetSendMessages.java | 3 ++ src/main/java/controller/InvitePatient.java | 4 +- src/main/java/controller/Login.java | 3 ++ src/main/java/controller/Logout.java | 3 ++ .../java/controller/ManageAIExercise.java | 3 ++ src/main/java/controller/Registration.java | 4 +- src/main/java/controller/ResetPassword.java | 4 ++ src/main/java/controller/ScheduleManager.java | 3 ++ src/main/java/controller/SendResetPin.java | 3 ++ 18 files changed, 128 insertions(+), 8 deletions(-) diff --git a/src/main/java/controller/AddRemovePatientCondition.java b/src/main/java/controller/AddRemovePatientCondition.java index fc3c12e..c096e3f 100644 --- a/src/main/java/controller/AddRemovePatientCondition.java +++ b/src/main/java/controller/AddRemovePatientCondition.java @@ -10,7 +10,9 @@ import javax.servlet.http.HttpServletResponse; import java.io.IOException; - +/** + * Servlet che si occupa di gestire le patologie degli utenti + */ @WebServlet("/AddRemovePatientCondition") public class AddRemovePatientCondition extends HttpServlet { private static final Logger logger = LoggerFactory.getLogger(AddRemovePatientCondition.class); diff --git a/src/main/java/controller/ChangePassword.java b/src/main/java/controller/ChangePassword.java index 63cf408..bff9ef4 100644 --- a/src/main/java/controller/ChangePassword.java +++ b/src/main/java/controller/ChangePassword.java @@ -12,6 +12,9 @@ import javax.servlet.http.HttpServletResponse; import java.io.IOException; +/** + * Servet che si occupa del cambio di password + */ @WebServlet("/ChangePassword") public class ChangePassword extends HttpServlet { private static final Logger logger = LoggerFactory.getLogger(ChangePassword.class); diff --git a/src/main/java/controller/ChangeUserInfo.java b/src/main/java/controller/ChangeUserInfo.java index feb7617..e420fe9 100644 --- a/src/main/java/controller/ChangeUserInfo.java +++ b/src/main/java/controller/ChangeUserInfo.java @@ -12,6 +12,9 @@ import javax.servlet.http.HttpSession; import java.io.IOException; +/** + * Servlet che si occupa del cambio dei dati personali + */ @WebServlet("/changeDate") public class ChangeUserInfo extends HttpServlet { private static final Logger logger = LoggerFactory.getLogger(ChangeUserInfo.class); @@ -33,7 +36,13 @@ protected void doPost(HttpServletRequest request, HttpServletResponse response) } } - + /** + * Questo metodo si occupa dell'effettivo cambio + * @param request è la richiesta generata dal form + * @param userId è l'id dell'utente le cui informazioni vanno modificate + * @param userRegistry si occuperà dell'effettivo cambiamento dei dati presenti sul database + * @return true se vengono cambiati dei dati, false altrimenti + */ private boolean updatePersonalInfo(HttpServletRequest request, int userId, UserRegistry userRegistry) { String firstName = request.getParameter("firstname"); String lastName = request.getParameter("lastname"); diff --git a/src/main/java/controller/CheckCurrentPassword.java b/src/main/java/controller/CheckCurrentPassword.java index 2860370..d3cd951 100644 --- a/src/main/java/controller/CheckCurrentPassword.java +++ b/src/main/java/controller/CheckCurrentPassword.java @@ -12,6 +12,9 @@ import javax.servlet.http.HttpServletResponse; import java.io.IOException; +/** + * Servlet che occupa di controllare se la password inserita prima del cambio password sia corretta + */ @WebServlet("/ControllPassword") public class CheckCurrentPassword extends HttpServlet { private static final Logger logger = LoggerFactory.getLogger(CheckCurrentPassword.class); diff --git a/src/main/java/controller/CountMessages.java b/src/main/java/controller/CountMessages.java index fa33046..9c9a5e7 100644 --- a/src/main/java/controller/CountMessages.java +++ b/src/main/java/controller/CountMessages.java @@ -11,6 +11,9 @@ import javax.servlet.http.HttpSession; import java.io.IOException; +/** + * Servlet che si occupa di controllare se ci sono nuovi messaggi da leggere + */ @WebServlet("/CountMessages") public class CountMessages extends HttpServlet { private static final Logger logger = LoggerFactory.getLogger(CountMessages.class); diff --git a/src/main/java/controller/ExerciseController.java b/src/main/java/controller/ExerciseController.java index 91c836e..debb5a5 100644 --- a/src/main/java/controller/ExerciseController.java +++ b/src/main/java/controller/ExerciseController.java @@ -12,7 +12,9 @@ import java.io.IOException; import java.sql.Date; - +/** + * Servlet che si occupa del prelievo dei dati necessari per la visualizzazione ed esecuzione dell'esercizio + */ @WebServlet("/exerciseController") public class ExerciseController extends HttpServlet { private static final Logger logger = LoggerFactory.getLogger(ExerciseController.class); diff --git a/src/main/java/controller/ExerciseEvaluator.java b/src/main/java/controller/ExerciseEvaluator.java index 2d34a00..7dd9f1d 100644 --- a/src/main/java/controller/ExerciseEvaluator.java +++ b/src/main/java/controller/ExerciseEvaluator.java @@ -30,7 +30,9 @@ import java.util.Set; import java.util.concurrent.ExecutionException; - +/** + * Servlet che si occupa di valutare un esercizio e di salvarne il risultato sul database + */ @WebServlet("/exerciseEvaluator") @MultipartConfig public class ExerciseEvaluator extends HttpServlet { @@ -60,7 +62,13 @@ protected void doPost(HttpServletRequest request, HttpServletResponse response) em.saveEvaluation(userId, exerciseId, d, score); } - + /** + * Si occupa di valutare gli esercizi di scrittura, che non necessitano di riconoscimento vocale + * @param exerciseId è l'id dell'esercizio da valutare + * @param userId è l'id dell'utente che ha eseguito l'esercizio + * @param date è la data in cui l'esercizio è stato assegnato all'utente + * @return la valutazione dell'esercizio + */ private int evaluateNoAudio(int exerciseId, int userId, Date date){ Gson gson = new Gson(); @@ -97,6 +105,13 @@ private int evaluateNoAudio(int exerciseId, int userId, Date date){ return score; } + /** + * Si occupa di trasformare il BLOB presente nel database in una string JSON + * @param exerciseId è l'id dell'esercizio da valutare + * @param userId è l'id dell'utente che ha eseguito l'esercizio + * @param d è la data in cui l'esercizio è stato assegnato all'utente + * @return la stringa JSON costruita + */ private String getJSONfromBlob(int exerciseId, int userId, Date d){ Blob executionBlob = new ExerciseManager().getExecution(exerciseId, userId, d); StringBuilder stringBuilder = new StringBuilder(); @@ -117,6 +132,12 @@ private String getJSONfromBlob(int exerciseId, int userId, Date d){ return stringBuilder.toString(); } + /** + * Si occupa della valutazione degli esercizi di tipo "RIGHT TEXT" + * @param execution l'esecuzione dell'esercizio da parte dell'utente + * @param solution la soluzione dell'esercizio con cui poter valutare l'esecuzione + * @return la valutazione dell'esercizio + */ private int evaluateRightText(Set execution, Set solution) { double right = 0; int total = solution.size(); @@ -128,6 +149,12 @@ private int evaluateRightText(Set execution, Set solution) { return (int)((right /total)*100); } + /** + * Si occupa della valutazione degli esercizi di tipo "IMAGES TO TEXT" e "TEXT TO IMAGES" + * @param execution l'esecuzione dell'esercizio da parte dell'utente + * @param solution la soluzione dell'esercizio con cui poter valutare l'esecuzione + * @return la valutazione dell'esercizio + */ private int evaluateITTnTTI(Map execution, Map solution) { double right = 0; int total = solution.size(); @@ -144,6 +171,12 @@ private int evaluateITTnTTI(Map execution, Map s return (int)((right /total)*100); } + /** + * Si occupa della valutazione degli esercizi di tipo "CROSSWORD" + * @param execution l'esecuzione dell'esercizio da parte dell'utente + * @param solution la soluzione dell'esercizio con cui poter valutare l'esecuzione + * @return la valutazione dell'esercizio + */ private int evaluateCrossword(String[][] execution, String[][] solution) { double right = 0; int total = 0; @@ -165,6 +198,16 @@ private int evaluateCrossword(String[][] execution, String[][] solution) { return 0; } + /** + * Si occupa di valutare gli esercizi di lettura, che necessitano di riconoscimento vocale + * @param exerciseId l'id dell'esercizio eseguito + * @param userId l'id dell'utente che ha eseguito l'esercizio + * @param d la data in cui è stata assegnata l'esecuzione dell'esercizio all'utente + * @return la valutazione dell'esercizio + * @throws IOException in caso di errore dell'Input Stream + * @throws ExecutionException in caso di errore nella conversione dell'audio in testo tramite Azure + * @throws InterruptedException in caso di interruzione durante la conversione dell'audio in testo tramite Azure + */ private int evaluateAudio(int exerciseId, int userId, Date d) throws IOException, ExecutionException, InterruptedException { InputStream audioExecution = getAudiofromBlob(exerciseId, userId, d); String audioText = null; @@ -212,6 +255,13 @@ private int evaluateAudio(int exerciseId, int userId, Date d) throws IOException return 0; } + /** + * Si occupa di creare l'InputStream audio dal BLOB presente nel database + * @param exerciseId l'id dell'esercizio + * @param userId l'id dell'utente + * @param d la data in cui è stato assegnato l'esercizio all'utente + * @return l'audio in formato InputStream + */ private InputStream getAudiofromBlob(int exerciseId, int userId, Date d){ Blob executionBlob = new ExerciseManager().getExecution(exerciseId, userId, d); try (InputStream audioInputStream = executionBlob.getBinaryStream()) { diff --git a/src/main/java/controller/ExerciseLogger.java b/src/main/java/controller/ExerciseLogger.java index d159c4a..1cfd46b 100644 --- a/src/main/java/controller/ExerciseLogger.java +++ b/src/main/java/controller/ExerciseLogger.java @@ -19,6 +19,9 @@ import java.sql.Date; import java.sql.SQLException; +/** + * Servlet che occupa di salvare l'esecuzione degli esercizi nel database + */ @WebServlet("/exerciseLogger") @MultipartConfig(fileSizeThreshold=1024*1024*10, // 10 MB maxFileSize=1024*1024*50, // 50 MB @@ -46,6 +49,11 @@ protected void doPost(HttpServletRequest request, HttpServletResponse response) } } + /** + * Si occupa degli esercizi di scrittura + * @param request contiene l'esecuzione dell'esercizio + * @throws IOException nel caso in cui ci sono errori nella request + */ private void handleNoAudioExercise(HttpServletRequest request) throws IOException { BufferedReader reader = request.getReader(); StringBuilder stringBuilder = new StringBuilder(); @@ -65,6 +73,12 @@ private void handleNoAudioExercise(HttpServletRequest request) throws IOExceptio } } + /** + * Si occupa degli esercizi di lettura + * @param request contiene l'esecuzione dell'esercizio + * @throws ServletException in caso di errore nella request + * @throws IOException in caso di errore nell'InputStream + */ private void handleAudioExercise(HttpServletRequest request) throws ServletException, IOException { try { @@ -78,6 +92,12 @@ private void handleAudioExercise(HttpServletRequest request) throws ServletExcep } } + /** + * Si occupa di salvare l'esecuzione nel database + * @param request contiene la sessione, che a sua volta contiene i dati necessari per salvare l'esecuzione + * @param execution l'esecuzione dell'esercizio da salvare + * @return true se ha successo il salvataggio, false altrimenti + */ private boolean saveInDB(HttpServletRequest request, Blob execution){ ExerciseManager em = new ExerciseManager(); HttpSession session = request.getSession(); diff --git a/src/main/java/controller/ExerciseRecommendation.java b/src/main/java/controller/ExerciseRecommendation.java index 48efcf7..90f32da 100644 --- a/src/main/java/controller/ExerciseRecommendation.java +++ b/src/main/java/controller/ExerciseRecommendation.java @@ -11,7 +11,9 @@ import javax.servlet.http.HttpServletResponse; import java.io.IOException; - +/** + * Servlet che occupa di assegnare gli esercizi raccomandati dai logopedisti ai pazienti + */ @WebServlet("/exerciseRecommendation") public class ExerciseRecommendation extends HttpServlet { private static final Logger logger = LoggerFactory.getLogger(ExerciseRecommendation.class); diff --git a/src/main/java/controller/GetSendMessages.java b/src/main/java/controller/GetSendMessages.java index d3028d8..8f94bcf 100644 --- a/src/main/java/controller/GetSendMessages.java +++ b/src/main/java/controller/GetSendMessages.java @@ -18,6 +18,9 @@ import java.sql.Timestamp; import java.util.List; +/** + * Servlet che occupa della gestione della messaggistica + */ @WebServlet("/GetMessages") public class GetSendMessages extends HttpServlet { private static final Logger logger = LoggerFactory.getLogger(GetSendMessages.class); diff --git a/src/main/java/controller/InvitePatient.java b/src/main/java/controller/InvitePatient.java index 292a87f..880101b 100644 --- a/src/main/java/controller/InvitePatient.java +++ b/src/main/java/controller/InvitePatient.java @@ -11,7 +11,9 @@ import javax.servlet.http.HttpSession; import java.io.IOException; - +/** + * Servlet che occupa dell'invito di nuovi pazienti inviando una email contenente il codice d'invito + */ @WebServlet("/invitePatient") public class InvitePatient extends HttpServlet { private static final Logger logger = LoggerFactory.getLogger(InvitePatient.class); diff --git a/src/main/java/controller/Login.java b/src/main/java/controller/Login.java index 249e2c9..bb31c4f 100644 --- a/src/main/java/controller/Login.java +++ b/src/main/java/controller/Login.java @@ -15,6 +15,9 @@ import javax.servlet.http.HttpSession; import java.io.IOException; +/** + * Servlet che si occupa di assegnare alla sessione tutti i dati necessari dopo il login + */ @WebServlet("/login") public class Login extends HttpServlet { private static final Logger logger = LoggerFactory.getLogger(Login.class); diff --git a/src/main/java/controller/Logout.java b/src/main/java/controller/Logout.java index 0ebd3c7..f5ce930 100644 --- a/src/main/java/controller/Logout.java +++ b/src/main/java/controller/Logout.java @@ -10,6 +10,9 @@ import javax.servlet.http.HttpSession; import java.io.IOException; +/** + * Servlet che si occupa di invalidare la sessione per eseguire il logout + */ @WebServlet("/logout") public class Logout extends HttpServlet { private static final Logger logger = LoggerFactory.getLogger(Logout.class); diff --git a/src/main/java/controller/ManageAIExercise.java b/src/main/java/controller/ManageAIExercise.java index 6534cd6..7778e59 100644 --- a/src/main/java/controller/ManageAIExercise.java +++ b/src/main/java/controller/ManageAIExercise.java @@ -14,6 +14,9 @@ import javax.servlet.http.HttpServletResponse; import java.io.IOException; +/** + * Servlet che si occupa di gestire le raccomandazioni approvate o rifiutate dal logopedista generate dall'IA + */ @WebServlet("/ManageExercise") public class ManageAIExercise extends HttpServlet { private static final Logger logger = LoggerFactory.getLogger(ManageAIExercise.class); diff --git a/src/main/java/controller/Registration.java b/src/main/java/controller/Registration.java index ecfebcf..7549487 100644 --- a/src/main/java/controller/Registration.java +++ b/src/main/java/controller/Registration.java @@ -14,8 +14,10 @@ import javax.servlet.http.HttpSession; import java.io.IOException; +/** + * Servlet che si occupa di registrare i dati degli utenti che si registrano sul database + */ @WebServlet("/register") - public class Registration extends HttpServlet { private static final Logger logger = LoggerFactory.getLogger(Registration.class); @Override diff --git a/src/main/java/controller/ResetPassword.java b/src/main/java/controller/ResetPassword.java index 3feeaef..42c736c 100644 --- a/src/main/java/controller/ResetPassword.java +++ b/src/main/java/controller/ResetPassword.java @@ -10,6 +10,10 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; + +/** + * Servlet che si occupa del reset della password tramite pin inviato all'email + */ @WebServlet("/login/resetpassword") public class ResetPassword extends HttpServlet { private static final Logger logger = LoggerFactory.getLogger(ResetPassword.class); diff --git a/src/main/java/controller/ScheduleManager.java b/src/main/java/controller/ScheduleManager.java index efac2f7..e6f60a8 100644 --- a/src/main/java/controller/ScheduleManager.java +++ b/src/main/java/controller/ScheduleManager.java @@ -9,6 +9,9 @@ import javax.servlet.http.HttpServletResponse; import java.io.IOException; +/** + * Servlet che si occupa della gestione dell'agenda e delle prenotazioni + */ @WebServlet("/ScheduleServlet") public class ScheduleManager extends HttpServlet { private static final Logger logger = LoggerFactory.getLogger(ScheduleManager.class); diff --git a/src/main/java/controller/SendResetPin.java b/src/main/java/controller/SendResetPin.java index 10a240d..87a4e40 100644 --- a/src/main/java/controller/SendResetPin.java +++ b/src/main/java/controller/SendResetPin.java @@ -11,6 +11,9 @@ import javax.servlet.http.HttpServletResponse; import java.io.IOException; +/** + * Servlet che si occupa dell'invio del pin per la richiesta di reset della password + */ @WebServlet("/login/reset") public class SendResetPin extends HttpServlet { private static final Logger logger = LoggerFactory.getLogger(SendResetPin.class);