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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2869 - (hide annotations) (download)
Thu Jan 28 16:21:36 2016 UTC (8 years, 4 months ago) by torben
File size: 2093 byte(s)
More refactoring
1 torben 2852 package dk.daoas.adressevedligehold;
2    
3     import java.io.IOException;
4     import java.util.List;
5    
6     import org.apache.commons.fileupload.FileItem;
7    
8     import com.google.common.base.Splitter;
9    
10     import dk.daoas.adressevedligehold.AddressSourceEntry.EntryType;
11    
12 torben 2868 public class AddressSourceFD extends AbstractAddressSource {
13    
14 torben 2852
15     String filenameFirst2;
16    
17     public AddressSourceFD(FileItem file) throws Exception {
18 torben 2868 super(file);
19 torben 2852
20     filenameFirst2 = file.getName().substring(0, 2).toUpperCase();
21     }
22    
23     @Override
24     public void validate() throws IOException {
25 torben 2869 super.validateWithHeader(9, ';');
26 torben 2852 }
27    
28    
29     //TODO: Skal csv parsning klares med Apache Commons CSV ?
30    
31     @Override
32     public AddressSourceEntry getNextEntry() throws IOException {
33     String line = br.readLine();
34     if (line == null) // end of file
35     return null;
36    
37     if (line.trim().equals(""))
38     return null;
39    
40     //System.out.println(line);
41    
42     AddressSourceEntry entry = new AddressSourceEntry( EntryType.TypeSingleAddress);
43     entry.distributor = "FD";
44    
45     List<String> parts = Splitter.on(';').splitToList(line);
46    
47     if (parts.size() != 9) {
48     throw new IOException("Not enough fields in line " + line);
49     }
50    
51     entry.postnr = Short.parseShort( parts.get(0) );
52     entry.vejnavn = parts.get(1);
53     entry.husnr = Short.parseShort( parts.get(2) );
54     entry.litra = parts.get(3);
55     entry.vejkode = Short.parseShort( parts.get(4) );
56     entry.kommunekode = Short.parseShort( parts.get(5) );
57     entry.gadeid = Integer.parseInt( parts.get(6) );
58     entry.rute = dirigeringsCache.getInstance( parts.get(7) );
59     entry.koreliste = dirigeringsCache.getInstance( parts.get(8) );
60    
61     switch(filenameFirst2) {
62     case "HV":
63     entry.ugedage = EntryUgedage.MAN_FRE;
64     break;
65     case "LO":
66     entry.ugedage = EntryUgedage.LOR;
67     break;
68     case "SO":
69     entry.ugedage = EntryUgedage.SON;
70     break;
71     default:
72     throw new IOException("Ukendt ugedage " + filenameFirst2);
73     }
74    
75    
76     lineCount++;
77    
78     return entry;
79     }
80    
81     @Override
82     public String getDistributor() {
83     return "FD";
84     }
85    
86     }

  ViewVC Help
Powered by ViewVC 1.1.20