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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2947 - (hide annotations) (download)
Sat Feb 13 15:45:02 2016 UTC (8 years, 3 months ago) by torben
File size: 2084 byte(s)
Move address upload to it's own package
1 torben 2947 package dk.daoas.adressevedligehold.fileupload;
2 torben 2852
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 torben 2947 import dk.daoas.adressevedligehold.fileupload.AddressSourceEntry.EntryType;
11 torben 2852
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    
41     AddressSourceEntry entry = new AddressSourceEntry( EntryType.TypeSingleAddress);
42     entry.distributor = "FD";
43    
44     List<String> parts = Splitter.on(';').splitToList(line);
45    
46     if (parts.size() != 9) {
47     throw new IOException("Not enough fields in line " + line);
48     }
49    
50     entry.postnr = Short.parseShort( parts.get(0) );
51     entry.vejnavn = parts.get(1);
52     entry.husnr = Short.parseShort( parts.get(2) );
53     entry.litra = parts.get(3);
54     entry.vejkode = Short.parseShort( parts.get(4) );
55     entry.kommunekode = Short.parseShort( parts.get(5) );
56     entry.gadeid = Integer.parseInt( parts.get(6) );
57     entry.rute = dirigeringsCache.getInstance( parts.get(7) );
58     entry.koreliste = dirigeringsCache.getInstance( parts.get(8) );
59    
60     switch(filenameFirst2) {
61     case "HV":
62     entry.ugedage = EntryUgedage.MAN_FRE;
63     break;
64     case "LO":
65     entry.ugedage = EntryUgedage.LOR;
66     break;
67     case "SO":
68     entry.ugedage = EntryUgedage.SON;
69     break;
70     default:
71     throw new IOException("Ukendt ugedage " + filenameFirst2);
72     }
73    
74    
75     lineCount++;
76    
77     return entry;
78     }
79    
80     @Override
81     public String getDistributor() {
82     return "FD";
83     }
84    
85     }

  ViewVC Help
Powered by ViewVC 1.1.20