Skip to content

Commit

Permalink
Added JavaDoc to all the servlets
Browse files Browse the repository at this point in the history
  • Loading branch information
r-monti committed Jan 21, 2024
1 parent 8b27d51 commit 3ca1e91
Show file tree
Hide file tree
Showing 18 changed files with 128 additions and 8 deletions.
4 changes: 3 additions & 1 deletion src/main/java/controller/AddRemovePatientCondition.java
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
3 changes: 3 additions & 0 deletions src/main/java/controller/ChangePassword.java
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
11 changes: 10 additions & 1 deletion src/main/java/controller/ChangeUserInfo.java
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand All @@ -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");
Expand Down
3 changes: 3 additions & 0 deletions src/main/java/controller/CheckCurrentPassword.java
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
3 changes: 3 additions & 0 deletions src/main/java/controller/CountMessages.java
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
4 changes: 3 additions & 1 deletion src/main/java/controller/ExerciseController.java
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
54 changes: 52 additions & 2 deletions src/main/java/controller/ExerciseEvaluator.java
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down Expand Up @@ -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();

Expand Down Expand Up @@ -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();
Expand All @@ -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<String> execution, Set<String> solution) {
double right = 0;
int total = solution.size();
Expand All @@ -128,6 +149,12 @@ private int evaluateRightText(Set<String> execution, Set<String> 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<String, String> execution, Map<String, String> solution) {
double right = 0;
int total = solution.size();
Expand All @@ -144,6 +171,12 @@ private int evaluateITTnTTI(Map<String, String> execution, Map<String, String> 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;
Expand All @@ -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;
Expand Down Expand Up @@ -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()) {
Expand Down
20 changes: 20 additions & 0 deletions src/main/java/controller/ExerciseLogger.java
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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();
Expand All @@ -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 {
Expand All @@ -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();
Expand Down
4 changes: 3 additions & 1 deletion src/main/java/controller/ExerciseRecommendation.java
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
3 changes: 3 additions & 0 deletions src/main/java/controller/GetSendMessages.java
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
4 changes: 3 additions & 1 deletion src/main/java/controller/InvitePatient.java
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
3 changes: 3 additions & 0 deletions src/main/java/controller/Login.java
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
3 changes: 3 additions & 0 deletions src/main/java/controller/Logout.java
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
3 changes: 3 additions & 0 deletions src/main/java/controller/ManageAIExercise.java
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
4 changes: 3 additions & 1 deletion src/main/java/controller/Registration.java
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
4 changes: 4 additions & 0 deletions src/main/java/controller/ResetPassword.java
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
3 changes: 3 additions & 0 deletions src/main/java/controller/ScheduleManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
3 changes: 3 additions & 0 deletions src/main/java/controller/SendResetPin.java
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down

0 comments on commit 3ca1e91

Please sign in to comment.