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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2844 - (show annotations) (download)
Mon Jan 25 21:43:59 2016 UTC (8 years, 4 months ago) by torben
Original Path: dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/AddressTask.java
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 package dk.daoas.adressevedligehold;
2
3 import dk.daoas.adressevedligehold.tasks.Task;
4 import dk.daoas.adressevedligehold.util.TimingHelper;
5
6 /*
7 * TODO: trigger indlæsning
8 *
9 */
10
11 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
22
23
24 @Override
25 protected void taskRun() throws Exception {
26
27 try {
28 TimingHelper timer = new TimingHelper();
29
30 System.out.println("Validating Source");
31 source.validate();
32
33 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 } 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 }
78
79 }
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