/[projects]/dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/fileupload/AddressTask.java
ViewVC logotype

Diff of /dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/fileupload/AddressTask.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/AddressTask.java revision 2838 by torben, Sun Jan 24 21:48:55 2016 UTC dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/fileupload/AddressTask.java revision 2954 by torben, Tue Feb 16 13:15:25 2016 UTC
# Line 1  Line 1 
1  package dk.daoas.adressevedligehold;  package dk.daoas.adressevedligehold.fileupload;
2    
3    import org.apache.commons.lang3.exception.ExceptionUtils;
4    
5    import dk.daoas.adressevedligehold.MailSender;
6    import dk.daoas.adressevedligehold.ReloadHelper;
7    import dk.daoas.adressevedligehold.afstandandenrute.AfstandAndenRuteTask;
8  import dk.daoas.adressevedligehold.tasks.Task;  import dk.daoas.adressevedligehold.tasks.Task;
9    import dk.daoas.adressevedligehold.tasks.TaskLogger;
10  import dk.daoas.adressevedligehold.util.TimingHelper;  import dk.daoas.adressevedligehold.util.TimingHelper;
11    
12    /*
13     *  
14     */
15    
16  public class AddressTask extends Task {  public class AddressTask extends Task {
17                    
18            private TaskLogger logger = TaskLogger.getInstance();
19            
20          AddressSource source;          AddressSource source;
21          boolean writeBack;          boolean writeBack;
22                    
# Line 13  public class AddressTask extends Task { Line 25  public class AddressTask extends Task {
25                  this.source = source;                  this.source = source;
26                  this.writeBack = writeBack;                  this.writeBack = writeBack;
27          }          }
28            
29            
30    
31          @Override          @Override
32          protected void taskRun() {          protected void taskRun() throws Exception {
33                                    
34                  try {                  try {
35                          TimingHelper timer = new TimingHelper();                          TimingHelper timer = new TimingHelper();
36                          System.out.println("Reading data from DB");                          
37                            logger.info("Validating Source");
38                            source.validate();
39                            
40                            logger.info("Reading data from DB");
41                          AddressManager addrManager = new AddressManager();                          AddressManager addrManager = new AddressManager();
42                                                    
43                          System.out.println("Data is ready");                          logger.info("Data is ready");
44                                                    
45                          EntryUgedage ugedage = new EntryUgedage(); //saml op på hvilke ugedage der er blevet behandlet                          EntryUgedage ugedage = new EntryUgedage(); //saml op på hvilke ugedage der er blevet behandlet
46                                                    
# Line 50  public class AddressTask extends Task { Line 68  public class AddressTask extends Task {
68                                  addrManager.dumpChanged();                                        addrManager.dumpChanged();      
69                          }                          }
70                                                    
71                          AddressReport report = new AddressReport(addrManager, entryCount, ugedage, source, timer, writeBack);                          AddressReport report = new AddressReport(addrManager, entryCount, ugedage, source, timer, writeBack, addrManager.getDuplicateCount() );
72                          report.sendRapport();                          report.sendRapport();
73                                                    
74                                                    
75                            if (writeBack) {
76                                    ReloadHelper.triggerReload( "Indlaesning/" + source.getDistributor() );
77                                    
78                                    
79                                    if (source.calculateDistances()) {
80                                            Task tsk = new AfstandAndenRuteTask(source.getDistributor(), AfstandAndenRuteTask.INCREMENTAL);
81                                            manager.submitTask( tsk );
82                                    }                              
83                            }
84                                                    
85                  } catch (Exception e) {  
86                          e.printStackTrace();                          
87                  }                  } catch(Exception e) {
88                                            
89                                            String subject = "Error loading data for " + source.getDistributor();
90                  try {                          String body = "File: " + source.getFilename();
91                          System.out.println("Cleaning up resources");                          body += "<br><br>";
92                          source.close();                          body += "Exception:<br>";
93                  } catch (Exception e) {                          body += ExceptionUtils.getStackTrace(e);
94                          System.out.println("Error during cleanup: " + e.getMessage() );                          MailSender.sendMail(subject, body);
95                            
96                            throw e; //rethrow exception
97                    } finally  {
98                            
99                            try {
100                                    logger.info("Cleaning up resources");
101                                    source.close();
102                            } catch (Exception e) {
103                                    logger.warning("Error during cleanup: ", e );
104                            }                      
105                  }                  }
106    
107          }          }
108    
109          @Override          @Override
# Line 74  public class AddressTask extends Task { Line 112  public class AddressTask extends Task {
112          }          }
113    
114          @Override          @Override
115          public short getPercentCompleted() {          public double getPercentCompleted() {
116                  return 0;                  return -1;
117          }          }
118    
119          @Override          @Override

Legend:
Removed from v.2838  
changed lines
  Added in v.2954

  ViewVC Help
Powered by ViewVC 1.1.20