--- dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/fileupload/AddressTask.java 2016/02/16 13:09:00 2953 +++ dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/fileupload/AddressTask.java 2016/03/29 20:36:40 2994 @@ -3,13 +3,13 @@ import org.apache.commons.lang3.exception.ExceptionUtils; import dk.daoas.adressevedligehold.MailSender; -import dk.daoas.adressevedligehold.ReloadHelper; +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 afstand-anden-rute beregning * */ @@ -17,6 +17,9 @@ private TaskLogger logger = TaskLogger.getInstance(); + private String distributor; + private String filename; + AddressSource source; boolean writeBack; @@ -24,6 +27,9 @@ this.source = source; this.writeBack = writeBack; + + this.distributor = source.getDistributor(); + this.filename = source.getFilename(); } @@ -73,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) { @@ -93,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 ); } @@ -102,7 +115,7 @@ @Override public String getDescription() { - return "AddressTask " + source.getDistributor(); + return "AddressTask " + distributor; } @Override @@ -112,7 +125,7 @@ @Override public String getDetail() { - return source.getFilename(); + return filename; } }