--- dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/AddressTask.java 2016/01/25 10:25:22 2840 +++ dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/AddressTask.java 2016/02/01 08:32:44 2896 @@ -1,5 +1,7 @@ package dk.daoas.adressevedligehold; +import org.apache.commons.lang3.exception.ExceptionUtils; + import dk.daoas.adressevedligehold.tasks.Task; import dk.daoas.adressevedligehold.util.TimingHelper; @@ -18,12 +20,18 @@ this.source = source; this.writeBack = writeBack; } + + @Override - protected void taskRun() { + protected void taskRun() throws Exception { try { TimingHelper timer = new TimingHelper(); + + System.out.println("Validating Source"); + source.validate(); + System.out.println("Reading data from DB"); AddressManager addrManager = new AddressManager(); @@ -58,19 +66,30 @@ AddressReport report = new AddressReport(addrManager, entryCount, ugedage, source, timer, writeBack); report.sendRapport(); + ReloadHelper.triggerReload( "Indlaesning/" + source.getDistributor() ); - } catch (Exception e) { - e.printStackTrace(); - } - - - try { - System.out.println("Cleaning up resources"); - source.close(); - } catch (Exception e) { - System.out.println("Error during cleanup: " + e.getMessage() ); + + } catch(Exception e) { + + String subject = "Error loading data for " + source.getDistributor(); + String body = "File: " + source.getFilename(); + body += "

"; + body += "Exception:
"; + body += ExceptionUtils.getStackTrace(e); + AddressReport.sendMail(subject, body); + + throw e; //rethrow exception + } finally { + + try { + System.out.println("Cleaning up resources"); + source.close(); + } catch (Exception e) { + System.out.println("Error during cleanup: " + e.getMessage() ); + } } + } @Override @@ -79,8 +98,8 @@ } @Override - public short getPercentCompleted() { - return 0; + public double getPercentCompleted() { + return -1; } @Override