CreateTrainingPlanServlet.java
package it.unisa.c03.myPersonalTrainer.trainingplan.control;
import it.unisa.c03.myPersonalTrainer.requiredtrainingplan.bean.RequiredTrainingPlan;
import it.unisa.c03.myPersonalTrainer.requiredtrainingplan.dao.RequiredTrainingPlanDAO;
import it.unisa.c03.myPersonalTrainer.requiredtrainingplan.dao.RequiredTrainingPlanDAOImpl;
import it.unisa.c03.myPersonalTrainer.requiredtrainingplan.service.RequiredTrainingPlanService;
import it.unisa.c03.myPersonalTrainer.requiredtrainingplan.service.RequiredTrainingPlanServiceImpl;
import it.unisa.c03.myPersonalTrainer.trainingplan.bean.TrainingPlan;
import it.unisa.c03.myPersonalTrainer.trainingplan.dao.TrainingPlanDAO;
import it.unisa.c03.myPersonalTrainer.trainingplan.dao.TrainingPlanDAOImpl;
import it.unisa.c03.myPersonalTrainer.trainingplan.service.TrainingPlanService;
import it.unisa.c03.myPersonalTrainer.trainingplan.service.TrainingPlanServiceImpl;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.concurrent.ExecutionException;
@WebServlet(name = "CreateNewTrainingPlanServlet",
value = "/createTP-controller")
public class CreateTrainingPlanServlet extends
HttpServlet {
protected void doPost(HttpServletRequest request,
HttpServletResponse response)
throws IOException {
TrainingPlanDAO trainingPlanDAO =
new TrainingPlanDAOImpl();
TrainingPlanService trainingPlanService =
new TrainingPlanServiceImpl(trainingPlanDAO);
RequiredTrainingPlan newRequiredTP;
RequiredTrainingPlanDAO requiredTrainingPlanDao =
new RequiredTrainingPlanDAOImpl();
RequiredTrainingPlanService requiredTrainingPlanService =
new RequiredTrainingPlanServiceImpl(
requiredTrainingPlanDao);
try {
String action = request.getParameter("action");
if (action.equals("addex")) {
String exercise;
String repetitions;
String series;
String recoveryTime;
final String exerciseName = "nome esercizio: ";
final String nRepetitions = " ripetizioni";
final String nseries = " serie";
final String recoveryTimeSecond = " secondi di recupero";
exercise = request.getParameter("exercise");
repetitions = request.getParameter("repetitions");
series = request.getParameter("series");
recoveryTime = request.getParameter("recoveryTime");
trainingPlanService.checkExercise(exercise, repetitions,
series, recoveryTime);
String exercises = (String) request.getSession()
.getAttribute("exercises");
if (exercises == null) {
String firstEx = "\n" + exerciseName
+ "\t" + exercise
+ "\n" + repetitions
+ "\t\t\t\t" + nRepetitions
+ "\n" + series
+ "\t\t\t\t" + nseries
+ "\n" + recoveryTime
+ "\t\t\t\t" + recoveryTimeSecond;
request.getSession().setAttribute("exercises", firstEx);
} else {
String notFirstEx = "\n\n" + exerciseName
+ "\t" + exercise
+ "\n" + repetitions
+ "\t\t\t\t" + nRepetitions
+ "\n" + series
+ "\t\t\t\t" + nseries
+ "\n" + recoveryTime
+ "\t\t\t\t" + recoveryTimeSecond;
exercises += notFirstEx;
request.getSession().setAttribute("exercises", exercises);
}
request.getSession()
.setAttribute("success", "Inserimento effettuato, "
+ "puoi continuare ad inserire esercizi "
+ "o cliccare su Crea Scheda");
response.sendRedirect("createTrainingPlan.jsp");
} else if (action.equals("addtp")) {
String mail = (String)
request.getSession().getAttribute("mailutil");
String exercises = (String) request.getSession()
.getAttribute("exercises");
if (exercises == null) {
request.getSession().setAttribute("noEx",
"Inserisci almeno un "
+ "esercizio per creare una scheda!");
response.sendRedirect("createTrainingPlan.jsp");
} else {
TrainingPlan trainingPlan =
new TrainingPlan(exercises, mail);
trainingPlanService.createTrainingPlan(trainingPlan);
request.getSession().removeAttribute("exercises");
request.getSession().setAttribute("success",
"Scheda creata con successo");
newRequiredTP =
requiredTrainingPlanDao.findAccountByEmail(mail);
newRequiredTP.setRequired(0);
requiredTrainingPlanService.
changeRequest(mail, 0);
response.sendRedirect("adminDashboard.jsp");
}
}
} catch (IllegalArgumentException | ExecutionException
| InterruptedException e) {
request.getSession().setAttribute("error", e.getMessage());
response.sendRedirect("createTrainingPlan.jsp");
}
}
protected void doGet(
HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
}