// R�cup�ration des nouvelles donn�es
List<TheoricalTrainData> newTheoricalTrainData = TheoricalTimeTrainFileHelper.extractStopTimes(gares, context.getRealPath(""));
List<TheoricalTrainData> theoricalTrainDataToSave = new ArrayList<TheoricalTrainData>(newTheoricalTrainData);
// R�cup�ration des anciennes donn�es stock�es en BDD
DaoTheoricalTrainData dao = new DaoTheoricalTrainData();
List<TheoricalTrainData> oldTheoricalTrainData = dao.getAll();
List<TheoricalTrainData> theoricalTrainDataToDelete = new ArrayList<TheoricalTrainData>(oldTheoricalTrainData);
// Parcours des listes et comparaisons
for (TheoricalTrainData tmp_old_data : oldTheoricalTrainData) {
for (TheoricalTrainData tmp_new_data : newTheoricalTrainData) {
// Si on a les m�mes data dans la BD et dans le nouveau fichiers,
// alors on peut garder la data en BD sans y toucher
if (tmp_old_data.equals(tmp_new_data)) {
theoricalTrainDataToSave.remove(tmp_new_data);
theoricalTrainDataToDelete.remove(tmp_old_data);
break;
}
}
}
// Les datas qui sont rest�es dans la liste theoricalTrainDataToSave
// sont les nouvelles donn�es � stocker dans la BD
dao.saveAll(theoricalTrainDataToSave);
// Les datas qui sont rest�es dans la liste theoricalTrainDataToDelete
// sont les anciennes donn�es � supprimer de la BD
dao.deleteList(theoricalTrainDataToDelete);
}