@Timeout()
@Override
public void timeout(Timer timer) {
LOGGER.info("Import Geoloc timer step.");
try {
Importer geo = new Importer(em, utx);
List<EntityJPA> countrys = defaultDAO.findAll(Country.class);
for (EntityJPA object : countrys) {
Country country = (Country) object;
try {
utx.begin();
if (geo.downloadCountryData(parametreManager.getProperty(Constante.IMPORT_FTP_DOWNLOAD_URL), country.getGeoname().getModDate().getTime(), country.getCode())) {
geo.importData(parametreManager.getProperty(Constante.IMPORT_FILE_FORMAT), Mode.DELETE_INSERT);
parametreManager.saveParametre(
Constante.IMPORT_LAST_UPDATE, String.valueOf(new Date().getTime()), Boolean.TRUE);
}
geo.clear();
utx.commit();
// @TODo revoir la gestion des exceptions
} catch (Exception ex) {
throw new EvasionException("Error import Geoloc data for country " + country, ex);