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

Diff of /dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/coveragefileupload/AddressSourceNS.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/AddressSourceNS.java revision 2934 by torben, Fri Feb 12 09:58:45 2016 UTC dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/coveragefileupload/AddressSourceNS.java revision 3040 by torben, Mon Jun 6 18:12:17 2016 UTC
# Line 1  Line 1 
1  package dk.daoas.adressevedligehold;  package dk.daoas.adressevedligehold.coveragefileupload;
2    
3  import java.io.IOException;  import java.io.IOException;
4  import java.util.List;  import java.util.List;
# Line 8  import org.apache.commons.fileupload.Fil Line 8  import org.apache.commons.fileupload.Fil
8  import com.google.common.base.CharMatcher;  import com.google.common.base.CharMatcher;
9  import com.google.common.base.Splitter;  import com.google.common.base.Splitter;
10    
11  import dk.daoas.adressevedligehold.AddressSourceEntry.EntryType;  import dk.daoas.adressevedligehold.coveragefileupload.AddressSourceEntry.EntryType;
12    
13  public class AddressSourceNS extends AbstractAddressSource {  public class AddressSourceNS extends AbstractAddressSource {
14                    
15          enum NextUgedag {          enum NextUgedag {
16                  MANDAG,TIRSDAG,ONSDAG,TORSDAG,FREDAG,LORDAG,SONDAG                  MANDAG,TIRSDAG,ONSDAG,TORSDAG,FREDAG,LORDAG,SONDAG
17          }          }
18            
19            final static char SEPARATOR = ';';
20                                    
21                    
22          final Splitter splitter = Splitter.on(',')          final Splitter splitter = Splitter.on(SEPARATOR)
23                                                                  .trimResults( CharMatcher.is('"') );                                                                  .trimResults( CharMatcher.is('"') );
24                    
25          List<String> parts;          List<String> parts;
# Line 32  public class AddressSourceNS extends Abs Line 34  public class AddressSourceNS extends Abs
34                    
35          @Override          @Override
36          public void validate() throws IOException {          public void validate() throws IOException {
37                  super.validatNoHeaderLine(22, ',');                  super.validatNoHeaderLine(22, SEPARATOR);
38          }          }
39    
         //TODO: Skal csv parsning klares med Apache Commons CSV ?  
40    
41          @Override          @Override
42          public AddressSourceEntry getNextEntry() throws IOException {          public AddressSourceEntry getNextEntry() throws IOException {
# Line 65  public class AddressSourceNS extends Abs Line 66  public class AddressSourceNS extends Abs
66                  //stednavn = parts.get(2);                  //stednavn = parts.get(2);
67                  //ukendtt = parts.get(3);                  //ukendtt = parts.get(3);
68                  entry.postnr = Short.parseShort( parts.get(4) );                  entry.postnr = Short.parseShort( parts.get(4) );
69                  entry.rute = dirigeringsCache.getInstance( parts.get(5) );                  entry.rute = parts.get(5);
70                  entry.husnr = Short.parseShort( parts.get(6) );                  entry.husnr = Short.parseShort( parts.get(6) );
71                  entry.litra = parts.get(7);                  entry.litra = parts.get(7);
72                  entry.tilHusnr = Short.parseShort( parts.get(8) );                  entry.tilHusnr = Short.parseShort( parts.get(8) );
# Line 82  public class AddressSourceNS extends Abs Line 83  public class AddressSourceNS extends Abs
83                                    
84                  switch (nextUgedag) {                            switch (nextUgedag) {          
85                  case MANDAG:                  case MANDAG:
86                          entry.koreliste = dirigeringsCache.getInstance( parts.get(14) );                          entry.koreliste = parts.get(14);
87                          entry.ugedage = EntryUgedage.MAN;                          entry.ugedage = EntryUgedage.MAN;
88                          nextUgedag = NextUgedag.TIRSDAG;                          nextUgedag = NextUgedag.TIRSDAG;
89                          break;                          break;
90                  case TIRSDAG:                  case TIRSDAG:
91                          entry.koreliste = dirigeringsCache.getInstance( parts.get(15) );                          entry.koreliste = parts.get(15);
92                          entry.ugedage = EntryUgedage.TIR;                          entry.ugedage = EntryUgedage.TIR;
93                          nextUgedag = NextUgedag.ONSDAG;                          nextUgedag = NextUgedag.ONSDAG;
94                          break;                          break;
95                  case ONSDAG:                  case ONSDAG:
96                          entry.koreliste = dirigeringsCache.getInstance( parts.get(16) );                          entry.koreliste = parts.get(16);
97                          entry.ugedage = EntryUgedage.ONS;                          entry.ugedage = EntryUgedage.ONS;
98                          nextUgedag = NextUgedag.TORSDAG;                          nextUgedag = NextUgedag.TORSDAG;
99                          break;                          break;
100                  case TORSDAG:                  case TORSDAG:
101                          entry.koreliste = dirigeringsCache.getInstance( parts.get(17) );                          entry.koreliste = parts.get(17);
102                          entry.ugedage = EntryUgedage.TOR;                          entry.ugedage = EntryUgedage.TOR;
103                          nextUgedag = NextUgedag.FREDAG;                          nextUgedag = NextUgedag.FREDAG;
104                          break;                          break;
105                  case FREDAG:                  case FREDAG:
106                          entry.koreliste = dirigeringsCache.getInstance( parts.get(18) );                          entry.koreliste = parts.get(18);
107                          entry.ugedage = EntryUgedage.FRE;                          entry.ugedage = EntryUgedage.FRE;
108                          nextUgedag = NextUgedag.LORDAG;                          nextUgedag = NextUgedag.LORDAG;
109                          break;                          break;
110                  case LORDAG:                  case LORDAG:
111                          entry.koreliste = dirigeringsCache.getInstance( parts.get(19) );                          entry.koreliste = parts.get(19);
112                          entry.ugedage = EntryUgedage.LOR;                          entry.ugedage = EntryUgedage.LOR;
113                          nextUgedag = NextUgedag.SONDAG;                          nextUgedag = NextUgedag.SONDAG;
114                          break;                          break;
115                  case SONDAG:                  case SONDAG:
116                          entry.koreliste = dirigeringsCache.getInstance( parts.get(20) );                          entry.koreliste = parts.get(20);
117                          entry.ugedage = EntryUgedage.SON;                          entry.ugedage = EntryUgedage.SON;
118                          nextUgedag = NextUgedag.MANDAG;                          nextUgedag = NextUgedag.MANDAG;
119                          break;                          break;
120                  default:                  default:
121                          throw new IOException("Ukendt ugedag:" + nextUgedag);                          throw new IOException("Ukendt ugedag:" + nextUgedag);
122                  }                  }
123                    
124                    entry.rute = dirigeringsCache.getInstance(entry.rute);
125                    entry.koreliste = dirigeringsCache.getInstance(entry.koreliste);
126    
127                                    
128                  lineCount++;                  lineCount++;
# Line 130  public class AddressSourceNS extends Abs Line 134  public class AddressSourceNS extends Abs
134          public String getDistributor() {          public String getDistributor() {
135                  return "NS";                  return "NS";
136          }          }
137            
138            @Override
139            public boolean calculateDistances() {
140                    return false; //NS skal IKKE beregne afstande
141            }
142    
143  }  }

Legend:
Removed from v.2934  
changed lines
  Added in v.3040

  ViewVC Help
Powered by ViewVC 1.1.20