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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2869 - (show annotations) (download)
Thu Jan 28 16:21:36 2016 UTC (8 years, 3 months ago) by torben
File size: 2489 byte(s)
More refactoring
1 package dk.daoas.adressevedligehold;
2
3 import java.io.IOException;
4
5 import org.apache.commons.fileupload.FileItem;
6
7 import dk.daoas.adressevedligehold.AddressSourceEntry.EntryType;
8 import dk.daoas.adressevedligehold.util.SafeParsers;
9
10 public class AddressSourceBK extends AbstractAddressSource {
11
12
13 public AddressSourceBK(FileItem file) throws Exception {
14 super(file);
15 }
16
17
18 @Override
19 public void validate() throws IOException {
20 super.validatNoHeaderLine(13, ';');
21 }
22
23 //TODO: Skal csv parsning klares med Apache Commons CSV ?
24
25 @Override
26 public AddressSourceEntry getNextEntry() throws IOException {
27 String line = br.readLine();
28 if (line == null) // end of file
29 return null;
30
31 if (line.trim().equals(""))
32 return null;
33
34 //System.out.println(line);
35
36 AddressSourceEntry entry = new AddressSourceEntry( EntryType.TypeSingleAddress);
37 entry.distributor = "BK";
38
39 String[] parts = line.split(";");
40
41 if (parts.length != 13) {
42 throw new IOException("Not enough fields in CSV file. Found " + parts.length + ", expected 13");
43 }
44
45 entry.postnr = Short.parseShort( parts[0]);
46 entry.vejnavn = parts[1].replace("\"", "");
47 entry.husnr = Short.parseShort( parts[2] );
48 entry.litra = parts[3].replace("\"", "");
49 entry.vejkode = SafeParsers.parseShort( parts[4] );
50 entry.kommunekode = SafeParsers.parseShort( parts[5] );
51 entry.gadeid = Integer.parseInt( parts[6] );
52
53 String ugedage = parts[7].replace("\"", "");
54
55 String laesnr = parts[8].replace("\"", "");
56
57 //String distnr = parts[9].replace("\"", ""); //Bruges ikke
58 String foede = parts[10].replace("\"", "");
59 String jobnr = parts[11].replace("\"", "");
60 String tklaes = parts[12].replace("\"", "");
61
62 entry.rute = laesnr;
63 entry.koreliste = "/" + foede + "/" + tklaes + "/" + jobnr;
64
65 entry.rute = dirigeringsCache.getInstance(entry.rute);
66 entry.koreliste = dirigeringsCache.getInstance(entry.koreliste);
67
68 switch (ugedage) {
69 case "1234000":
70 entry.ugedage = EntryUgedage.MAN_TOR;
71 break;
72 case "0000500":
73 entry.ugedage = EntryUgedage.FRE;
74 break;
75 case "0000060":
76 entry.ugedage = EntryUgedage.LOR;
77 break;
78 case "0000007":
79 entry.ugedage = EntryUgedage.SON;
80 break;
81 default:
82 throw new IOException("Ukendt ugedag:" + ugedage);
83 }
84
85
86 lineCount++;
87
88 return entry;
89 }
90
91 @Override
92 public String getDistributor() {
93 return "BK";
94 }
95
96 }

  ViewVC Help
Powered by ViewVC 1.1.20