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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2844 - (hide annotations) (download)
Mon Jan 25 21:43:59 2016 UTC (8 years, 4 months ago) by torben
File size: 1972 byte(s)
Implemented AdressManager.visitRange()

Added AddressSource.validate() to let manager do a pre-validation before loading data from DB

Added support for DAO

Make Task and webpage show error messages
1 torben 2838 package dk.daoas.adressevedligehold;
2    
3     import dk.daoas.adressevedligehold.tasks.Task;
4     import dk.daoas.adressevedligehold.util.TimingHelper;
5    
6 torben 2840 /*
7     * TODO: trigger indlæsning
8     *
9     */
10    
11 torben 2838 public class AddressTask extends Task {
12    
13     AddressSource source;
14     boolean writeBack;
15    
16     public AddressTask(AddressSource source, boolean writeBack) {
17    
18     this.source = source;
19     this.writeBack = writeBack;
20     }
21 torben 2844
22    
23 torben 2838
24     @Override
25 torben 2844 protected void taskRun() throws Exception {
26 torben 2838
27     try {
28     TimingHelper timer = new TimingHelper();
29 torben 2844
30     System.out.println("Validating Source");
31     source.validate();
32    
33 torben 2838 System.out.println("Reading data from DB");
34     AddressManager addrManager = new AddressManager();
35    
36     System.out.println("Data is ready");
37    
38     EntryUgedage ugedage = new EntryUgedage(); //saml op på hvilke ugedage der er blevet behandlet
39    
40    
41     int entryCount = 0;
42    
43     AddressSourceEntry entry;
44     while ( (entry = source.getNextEntry()) != null) {
45     if (super.abort) {
46     break;
47     }
48    
49     addrManager.visit(entry);
50     ugedage.merge(entry.ugedage);
51     entryCount++;
52     }
53    
54     addrManager.closeUnvisitedAddresses( source.getDistributor(), ugedage );
55    
56    
57    
58     if (writeBack) {
59     addrManager.writeBackChanges();
60     } else {
61     addrManager.dumpChanged();
62     }
63    
64     AddressReport report = new AddressReport(addrManager, entryCount, ugedage, source, timer, writeBack);
65     report.sendRapport();
66    
67    
68    
69 torben 2844 } finally {
70    
71     try {
72     System.out.println("Cleaning up resources");
73     source.close();
74     } catch (Exception e) {
75     System.out.println("Error during cleanup: " + e.getMessage() );
76     }
77 torben 2838 }
78 torben 2844
79 torben 2838 }
80    
81     @Override
82     public String getDescription() {
83     return "AddressTask " + source.getDistributor();
84     }
85    
86     @Override
87     public short getPercentCompleted() {
88     return 0;
89     }
90    
91     @Override
92     public String getDetail() {
93     return source.getFilename();
94     }
95    
96     }

  ViewVC Help
Powered by ViewVC 1.1.20