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

Annotation of /dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/AddressSourceNS.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: 3218 byte(s)
More refactoring
1 torben 2851 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    
9 torben 2868 public class AddressSourceNS extends AbstractAddressSource {
10 torben 2851
11     enum NextUgedag {
12     MANDAG,TIRSDAG,ONSDAG,TORSDAG,FREDAG,LORDAG,SONDAG
13     }
14 torben 2868
15 torben 2851 String parts[];
16    
17    
18     NextUgedag nextUgedag = NextUgedag.MANDAG;
19    
20     public AddressSourceNS(FileItem file) throws Exception {
21 torben 2868 super(file);
22 torben 2851 }
23    
24    
25     @Override
26     public void validate() throws IOException {
27 torben 2869 super.validatNoHeaderLine(22, ',');
28 torben 2851 }
29    
30     //TODO: Skal csv parsning klares med Apache Commons CSV ?
31    
32     @Override
33     public AddressSourceEntry getNextEntry() throws IOException {
34     if (nextUgedag == NextUgedag.MANDAG) {
35     String line = br.readLine();
36     if (line == null) // end of file
37     return null;
38    
39     if (line.trim().equals(""))
40     return null;
41     parts = line.split(",");
42    
43     if (parts.length != 22) {
44     System.out.println( line );
45     throw new IOException("Not enough fields in line " + line);
46     }
47     }
48    
49    
50    
51    
52     AddressSourceEntry entry = new AddressSourceEntry( EntryType.TypeAddressRange );
53     entry.distributor = "NS";
54    
55    
56     entry.gadeid = Integer.parseInt( parts[0] );
57     entry.vejnavn = parts[1].replace("\"", "");
58     //stednavn = parts[2];
59     //ukendtt = parts[3];
60     entry.postnr = Short.parseShort( parts[4] );
61     entry.rute = dirigeringsCache.getInstance( parts[5].replace("\"", "") );
62     entry.husnr = Short.parseShort( parts[6] );
63     entry.litra = parts[7].replace("\"", "");
64     entry.tilHusnr = Short.parseShort( parts[8] );
65     entry.tilLitra = parts[9].replace("\"", "");
66     //sekvens = parts[10]
67     //fradato = parts[11]
68     //tildato = parts[12]
69     //distributor = parts[13]
70     //inspektorkode = parts[21]
71    
72     switch (nextUgedag) {
73     case MANDAG:
74     entry.koreliste = dirigeringsCache.getInstance( parts[14] );
75     entry.ugedage = EntryUgedage.MAN;
76     nextUgedag = NextUgedag.TIRSDAG;
77     break;
78     case TIRSDAG:
79     entry.koreliste = dirigeringsCache.getInstance( parts[15] );
80     entry.ugedage = EntryUgedage.TIR;
81     nextUgedag = NextUgedag.ONSDAG;
82     break;
83     case ONSDAG:
84     entry.koreliste = dirigeringsCache.getInstance( parts[16] );
85     entry.ugedage = EntryUgedage.ONS;
86     nextUgedag = NextUgedag.TORSDAG;
87     break;
88     case TORSDAG:
89     entry.koreliste = dirigeringsCache.getInstance( parts[17] );
90     entry.ugedage = EntryUgedage.TOR;
91     nextUgedag = NextUgedag.FREDAG;
92     break;
93     case FREDAG:
94     entry.koreliste = dirigeringsCache.getInstance( parts[18] );
95     entry.ugedage = EntryUgedage.FRE;
96     nextUgedag = NextUgedag.LORDAG;
97     break;
98     case LORDAG:
99     entry.koreliste = dirigeringsCache.getInstance( parts[19] );
100     entry.ugedage = EntryUgedage.LOR;
101     nextUgedag = NextUgedag.SONDAG;
102     break;
103     case SONDAG:
104     entry.koreliste = dirigeringsCache.getInstance( parts[20] );
105     entry.ugedage = EntryUgedage.SON;
106     nextUgedag = NextUgedag.MANDAG;
107     break;
108     default:
109     throw new IOException("Ukendt ugedag:" + nextUgedag);
110     }
111    
112    
113     lineCount++;
114    
115     return entry;
116     }
117    
118     @Override
119     public String getDistributor() {
120     return "NS";
121     }
122    
123     }

  ViewVC Help
Powered by ViewVC 1.1.20