/[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 2903 - (hide annotations) (download)
Wed Feb 3 18:45:33 2016 UTC (8 years, 3 months ago) by torben
File size: 3185 byte(s)
Implement logging system

Switch task to rest/jersey
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     throw new IOException("Not enough fields in line " + line);
45     }
46     }
47    
48    
49    
50    
51     AddressSourceEntry entry = new AddressSourceEntry( EntryType.TypeAddressRange );
52     entry.distributor = "NS";
53    
54    
55     entry.gadeid = Integer.parseInt( parts[0] );
56     entry.vejnavn = parts[1].replace("\"", "");
57     //stednavn = parts[2];
58     //ukendtt = parts[3];
59     entry.postnr = Short.parseShort( parts[4] );
60     entry.rute = dirigeringsCache.getInstance( parts[5].replace("\"", "") );
61     entry.husnr = Short.parseShort( parts[6] );
62     entry.litra = parts[7].replace("\"", "");
63     entry.tilHusnr = Short.parseShort( parts[8] );
64     entry.tilLitra = parts[9].replace("\"", "");
65     //sekvens = parts[10]
66     //fradato = parts[11]
67     //tildato = parts[12]
68     //distributor = parts[13]
69     //inspektorkode = parts[21]
70    
71     switch (nextUgedag) {
72     case MANDAG:
73     entry.koreliste = dirigeringsCache.getInstance( parts[14] );
74     entry.ugedage = EntryUgedage.MAN;
75     nextUgedag = NextUgedag.TIRSDAG;
76     break;
77     case TIRSDAG:
78     entry.koreliste = dirigeringsCache.getInstance( parts[15] );
79     entry.ugedage = EntryUgedage.TIR;
80     nextUgedag = NextUgedag.ONSDAG;
81     break;
82     case ONSDAG:
83     entry.koreliste = dirigeringsCache.getInstance( parts[16] );
84     entry.ugedage = EntryUgedage.ONS;
85     nextUgedag = NextUgedag.TORSDAG;
86     break;
87     case TORSDAG:
88     entry.koreliste = dirigeringsCache.getInstance( parts[17] );
89     entry.ugedage = EntryUgedage.TOR;
90     nextUgedag = NextUgedag.FREDAG;
91     break;
92     case FREDAG:
93     entry.koreliste = dirigeringsCache.getInstance( parts[18] );
94     entry.ugedage = EntryUgedage.FRE;
95     nextUgedag = NextUgedag.LORDAG;
96     break;
97     case LORDAG:
98     entry.koreliste = dirigeringsCache.getInstance( parts[19] );
99     entry.ugedage = EntryUgedage.LOR;
100     nextUgedag = NextUgedag.SONDAG;
101     break;
102     case SONDAG:
103     entry.koreliste = dirigeringsCache.getInstance( parts[20] );
104     entry.ugedage = EntryUgedage.SON;
105     nextUgedag = NextUgedag.MANDAG;
106     break;
107     default:
108     throw new IOException("Ukendt ugedag:" + nextUgedag);
109     }
110    
111    
112     lineCount++;
113    
114     return entry;
115     }
116    
117     @Override
118     public String getDistributor() {
119     return "NS";
120     }
121    
122     }

  ViewVC Help
Powered by ViewVC 1.1.20