--- 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;
}
}