//COMPLETELY CHECKED
package backOffice;
import java.util.GregorianCalendar;
import planes.PlanesManager;
import messages.FeedBackManager;
import flights.FlightsManager;
/**
* Class responsible for generating the Statistics of the Application.
*
* @author Daniela Fontes, Ivo Correia, Jo�o Penetra, Jo�o Barbosa, Ricardo
* Bernardino
*
*/
public class StatisticsManager {
private FeedBackManager feedBackManager;
private FlightsManager flightsManager;
private PlanesManager planesManager;
/* The constructor. */
public StatisticsManager(FeedBackManager feedBackManager,
FlightsManager flightsManager, PlanesManager planesManager) {
this.feedBackManager = feedBackManager;
this.flightsManager = flightsManager;
this.planesManager = planesManager;
}
/**
* Generates the statistics of the different managers.
*
* @param beginning
* Beginning Date.
* @param end
* End Date.
* @return Returns a String with the statistics.
*/
public String generate(GregorianCalendar beginning, GregorianCalendar end) {
StringBuilder output = new StringBuilder();
int [] outcome;
if (beginning == null && end == null) {
outcome = flightsManager.getNumFlights();
output.append("Estatisticas:\n\nNumero de Avioes Disponiveis: "
+ planesManager.getNumPlanes());
output.append("\nNumero de Voos Realizados: "
+ outcome[0]);
output.append("\nNumero de Voos Cancelados: "
+ outcome[1]);
output.append("\nTaxa de Ocupacao dos Voos: "
+ flightsManager.getOccupation() + "%");
output.append("\n\nNumero de Feedbacks Positivos: "
+ feedBackManager.getNumPositive());
output.append("\nNumero de Feedbacks Negativos: "
+ feedBackManager.getNumNegative());
output.append("\n");
return output.toString();
}
outcome = flightsManager.getNumFlights(beginning, end);
output.append("Estatisticas:\n\nNumero de Avioes Disponiveis: "
+ planesManager.getNumPlanes(beginning, end));
output.append("\nNumero de Voos Realizados: "
+ outcome[0]);
output.append("\nNumero de Voos Cancelados: "
+ outcome[1]);
output.append("\nTaxa de Ocupacao dos Voos: "
+ flightsManager.getOccupation(beginning, end) + "%");
output.append("\n\nNumero de Feedbacks Positivos: "
+ feedBackManager.getNumPositive(beginning, end));
output.append("\nNumero de Feedbacks Negativos: "
+ feedBackManager.getNumNegative(beginning, end));
output.append("\n");
return output.toString();
}
}