--- dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/fileupload/AddressTask.java 2016/02/13 15:45:02 2947 +++ dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/coveragefileupload/AddressTask.java 2016/04/26 17:37:56 3022 @@ -1,14 +1,15 @@ -package dk.daoas.adressevedligehold.fileupload; +package dk.daoas.adressevedligehold.coveragefileupload; import org.apache.commons.lang3.exception.ExceptionUtils; -import dk.daoas.adressevedligehold.ReloadHelper; +import dk.daoas.adressevedligehold.MailSender; +import dk.daoas.adressevedligehold.ReloadTask; +import dk.daoas.adressevedligehold.afstandandenrute.AfstandAndenRuteTask; import dk.daoas.adressevedligehold.tasks.Task; import dk.daoas.adressevedligehold.tasks.TaskLogger; import dk.daoas.adressevedligehold.util.TimingHelper; /* - * TODO: trigger indlæsning * */ @@ -16,6 +17,9 @@ private TaskLogger logger = TaskLogger.getInstance(); + private String distributor; + private String filename; + AddressSource source; boolean writeBack; @@ -23,6 +27,9 @@ this.source = source; this.writeBack = writeBack; + + this.distributor = source.getDistributor(); + this.filename = source.getFilename(); } @@ -48,7 +55,7 @@ AddressSourceEntry entry; while ( (entry = source.getNextEntry()) != null) { - if (super.abort) { + if (isAborted()) { break; } @@ -72,10 +79,16 @@ if (writeBack) { - ReloadHelper.triggerReload( "Indlaesning/" + source.getDistributor() ); + manager.submitTask( new ReloadTask("Indlaesning/" + source.getDistributor()) ); + + + if (source.calculateDistances()) { + Task tsk = new AfstandAndenRuteTask(source.getDistributor(), AfstandAndenRuteTask.INCREMENTAL); + manager.submitTask( tsk ); + } } - + } catch(Exception e) { @@ -84,7 +97,7 @@ body += "

"; body += "Exception:
"; body += ExceptionUtils.getStackTrace(e); - AddressReport.sendMail(subject, body); + MailSender.sendMail(subject, body); throw e; //rethrow exception } finally { @@ -92,6 +105,7 @@ try { logger.info("Cleaning up resources"); source.close(); + source = null; //and release it for garbace collection } catch (Exception e) { logger.warning("Error during cleanup: ", e ); } @@ -101,7 +115,7 @@ @Override public String getDescription() { - return "AddressTask " + source.getDistributor(); + return "AddressTask " + distributor; } @Override @@ -111,7 +125,7 @@ @Override public String getDetail() { - return source.getFilename(); + return filename; } }