RequiredTrainingPlanServiceImpl.java
package it.unisa.c03.myPersonalTrainer.requiredtrainingplan.service;
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 java.io.IOException;
import java.util.ArrayList;
import java.util.concurrent.ExecutionException;
public class RequiredTrainingPlanServiceImpl implements
RequiredTrainingPlanService {
/**
* Object RequiredTrainingPlanDAO to work into the Service.
*/
private RequiredTrainingPlanDAO requiredTrainingPlanDAO;
/**
* Service constructor.
* @param requiredTrainingPlanDao is required, because is the DAO that
* all the service methods will call.
**/
public RequiredTrainingPlanServiceImpl(
RequiredTrainingPlanDAO requiredTrainingPlanDao) {
requiredTrainingPlanDAO = requiredTrainingPlanDao;
}
public RequiredTrainingPlanServiceImpl() {
}
/**
* This service method checks if an account exists
* in the RequiredTrainingPlan.
* @param email referring to the account to search for
* @return true if the account exists, false if not
*/
@Override
public boolean searchAccountByEmail(String email)
throws InterruptedException, ExecutionException, IOException {
boolean result = false;
RequiredTrainingPlan requiredTrainingPlan = new RequiredTrainingPlan();
requiredTrainingPlan =
requiredTrainingPlanDAO.findAccountByEmail(email);
//the email exists yet in the DB
if (requiredTrainingPlan.getEmail() != null) {
result = true;
} else if (requiredTrainingPlan.getEmail() == null) {
//the email doesn't exist in the DB
result = false;
}
return result;
}
/**
* This method returns the account given its mail.
* @param email referring to the account to search for
* @return the RequiredTrainingPlan if it exists, null if not
*/
@Override
public RequiredTrainingPlan getAccountByEmail(String email)
throws InterruptedException, ExecutionException, IOException {
RequiredTrainingPlan requiredTrainingPlan = new RequiredTrainingPlan();
requiredTrainingPlan =
requiredTrainingPlanDAO.findAccountByEmail(email);
//the email exists in the DB
if (requiredTrainingPlan.getEmail() != null) {
return requiredTrainingPlan;
} else if (requiredTrainingPlan.getEmail() == null) {
//the email doesn't exist in the DB
return null;
}
return null;
}
/**
* This service method changes the status of an account.
* @param email of the account
* @param status updated
* @return true after the change has taken place
*/
@Override
public boolean changeRequest(String email, int status) //changeRequest
throws IOException, ExecutionException, InterruptedException {
return requiredTrainingPlanDAO.updateRequest(email, status);
}
/**
* this function registers the account into RequiredTrainingPlan.
* @param requiredTrainingPlan user into the
* RequiredTrainingPlan.
* @return utente user mem into the
* RequiredTrainingPlan.
* @throws IOException
* @throws IllegalArgumentException
*/
@Override
public boolean registerRequest(RequiredTrainingPlan requiredTrainingPlan)
throws IOException, IllegalArgumentException,
ExecutionException, InterruptedException {
RequiredTrainingPlan ricerca;
ricerca = requiredTrainingPlanDAO
.findAccountByEmail(requiredTrainingPlan.getEmail());
if (ricerca.getEmail() == null) {
requiredTrainingPlanDAO.storeRequest(requiredTrainingPlan);
return true;
} else {
return false;
}
}
/**
* this method gets all requests.
* @return AllRequests
* @throws InterruptedException
* @throws ExecutionException
* @throws IOException
*/
public ArrayList<RequiredTrainingPlan> getAllRequestes()
throws InterruptedException, ExecutionException, IOException {
RequiredTrainingPlanDAO rtpDAO = new RequiredTrainingPlanDAOImpl();
return rtpDAO.getAllRequests();
}
}