/[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 2844 by torben, Mon Jan 25 21:43:59 2016 UTC dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/fileupload/AddressTask.java revision 3013 by torben, Wed Apr 20 14:15:02 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.ReloadTask;
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  /*  /*
  * TODO: trigger indlæsning  
13   *     *  
14   */   */
15    
16  public class AddressTask extends Task {  public class AddressTask extends Task {
17                    
18            private TaskLogger logger = TaskLogger.getInstance();
19            
20            private String distributor;
21            private String filename;
22            
23          AddressSource source;          AddressSource source;
24          boolean writeBack;          boolean writeBack;
25                    
# Line 17  public class AddressTask extends Task { Line 27  public class AddressTask extends Task {
27                                    
28                  this.source = source;                  this.source = source;
29                  this.writeBack = writeBack;                  this.writeBack = writeBack;
30                    
31                    this.distributor = source.getDistributor();
32                    this.filename = source.getFilename();
33          }          }
34                    
35                    
# Line 27  public class AddressTask extends Task { Line 40  public class AddressTask extends Task {
40                  try {                  try {
41                          TimingHelper timer = new TimingHelper();                          TimingHelper timer = new TimingHelper();
42                                                    
43                          System.out.println("Validating Source");                          logger.info("Validating Source");
44                          source.validate();                          source.validate();
45                                                    
46                          System.out.println("Reading data from DB");                          logger.info("Reading data from DB");
47                          AddressManager addrManager = new AddressManager();                          AddressManager addrManager = new AddressManager();
48                                                    
49                          System.out.println("Data is ready");                          logger.info("Data is ready");
50                                                    
51                          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
52                                                    
# Line 42  public class AddressTask extends Task { Line 55  public class AddressTask extends Task {
55                                                    
56                          AddressSourceEntry entry;                          AddressSourceEntry entry;
57                          while ( (entry = source.getNextEntry()) != null) {                          while ( (entry = source.getNextEntry()) != null) {
58                                  if (super.abort) {                                  if (isAborted()) {
59                                          break;                                          break;
60                                  }                                  }
61                                                                    
# Line 61  public class AddressTask extends Task { Line 74  public class AddressTask extends Task {
74                                  addrManager.dumpChanged();                                        addrManager.dumpChanged();      
75                          }                          }
76                                                    
77                          AddressReport report = new AddressReport(addrManager, entryCount, ugedage, source, timer, writeBack);                          AddressReport report = new AddressReport(addrManager, entryCount, ugedage, source, timer, writeBack, addrManager.getDuplicateCount() );
78                          report.sendRapport();                          report.sendRapport();
79                                                    
80                                                    
81                            if (writeBack) {
82                                    manager.submitTask( new ReloadTask("Indlaesning/" + source.getDistributor()) );
83                                    
84                                    
85                                    if (source.calculateDistances()) {
86                                            Task tsk = new AfstandAndenRuteTask(source.getDistributor(), AfstandAndenRuteTask.INCREMENTAL);
87                                            manager.submitTask( tsk );
88                                    }                              
89                            }
90                            
91    
92                            
93                    } catch(Exception e) {
94                            
95                            String subject = "Error loading data for " + source.getDistributor();
96                            String body = "File: " + source.getFilename();
97                            body += "<br><br>";
98                            body += "Exception:<br>";
99                            body += ExceptionUtils.getStackTrace(e);
100                            MailSender.sendMail(subject, body);
101                                                    
102                            throw e; //rethrow exception
103                  } finally  {                  } finally  {
104                                                    
105                          try {                          try {
106                                  System.out.println("Cleaning up resources");                                  logger.info("Cleaning up resources");
107                                  source.close();                                  source.close();
108                                    source = null; //and release it for garbace collection
109                          } catch (Exception e) {                          } catch (Exception e) {
110                                  System.out.println("Error during cleanup: " + e.getMessage() );                                  logger.warning("Error during cleanup: ", e );
111                          }                                                }                      
112                  }                  }
113    
# Line 80  public class AddressTask extends Task { Line 115  public class AddressTask extends Task {
115    
116          @Override          @Override
117          public String getDescription() {          public String getDescription() {
118                  return "AddressTask " + source.getDistributor();                  return "AddressTask " + distributor;
119          }          }
120    
121          @Override          @Override
122          public short getPercentCompleted() {          public double getPercentCompleted() {
123                  return 0;                  return -1;
124          }          }
125    
126          @Override          @Override
127          public String getDetail() {          public String getDetail() {
128                  return source.getFilename();                  return filename;
129          }          }
130    
131  }  }

Legend:
Removed from v.2844  
changed lines
  Added in v.3013

  ViewVC Help
Powered by ViewVC 1.1.20