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

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

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

revision 2838 by torben, Sun Jan 24 21:48:55 2016 UTC revision 2869 by torben, Thu Jan 28 16:21:36 2016 UTC
# Line 1  Line 1 
1  package dk.daoas.adressevedligehold;  package dk.daoas.adressevedligehold;
2    
 import java.io.BufferedReader;  
3  import java.io.IOException;  import java.io.IOException;
 import java.io.InputStream;  
 import java.io.InputStreamReader;  
 import java.nio.charset.Charset;  
4    
5  import org.apache.commons.fileupload.FileItem;  import org.apache.commons.fileupload.FileItem;
6    
7  import dk.daoas.adressevedligehold.AddressSourceEntry.EntryType;  import dk.daoas.adressevedligehold.AddressSourceEntry.EntryType;
 import dk.daoas.adressevedligehold.util.DeduplicateHelper;  
8  import dk.daoas.adressevedligehold.util.SafeParsers;  import dk.daoas.adressevedligehold.util.SafeParsers;
9    
10  public class AddressSourceBK implements AddressSource {  public class AddressSourceBK extends AbstractAddressSource {
11                    
         DeduplicateHelper<String> dirigeringsCache = new DeduplicateHelper<String>();  
           
         FileItem file;  
           
         InputStream is;  
         InputStreamReader isr;  
         BufferedReader br;  
           
         int lineCount = 0;  
12                                    
13          public AddressSourceBK(FileItem file) throws Exception {          public AddressSourceBK(FileItem file) throws Exception {
14                  this.file = file;                  super(file);
   
   
                 is = file.getInputStream();  
                 isr = new InputStreamReader(is, Charset.forName("ISO-8859-1") );  
                 br = new BufferedReader(isr);  
                                   
15          }          }
16    
17            
18          @Override          @Override
19          public String getFilename() {          public void validate() throws IOException {
20                  return file.getName();                  super.validatNoHeaderLine(13, ';');
21          }          }
22            
23          //TODO: Skal csv parsning klares med Apache Commons CSV ?          //TODO: Skal csv parsning klares med Apache Commons CSV ?
24    
25          @Override          @Override
# Line 56  public class AddressSourceBK implements Line 37  public class AddressSourceBK implements
37                  entry.distributor = "BK";                  entry.distributor = "BK";
38                                    
39                  String[] parts = line.split(";");                  String[] parts = line.split(";");
40                    
41                    if (parts.length != 13) {
42                            throw new IOException("Not enough fields in CSV file. Found " + parts.length + ", expected 13");
43                    }
44                    
45                  entry.postnr = Short.parseShort( parts[0]);                  entry.postnr = Short.parseShort( parts[0]);
46                  entry.vejnavn = parts[1].replace("\"", "");                  entry.vejnavn = parts[1].replace("\"", "");
47                  entry.husnr = Short.parseShort( parts[2] );                  entry.husnr = Short.parseShort( parts[2] );
# Line 68  public class AddressSourceBK implements Line 54  public class AddressSourceBK implements
54                                    
55                  String laesnr = parts[8].replace("\"", "");                  String laesnr = parts[8].replace("\"", "");
56                                    
57                  @SuppressWarnings("unused") String distnr = parts[9].replace("\"", "");                  //String distnr = parts[9].replace("\"", ""); //Bruges ikke
58                  String foede = parts[10].replace("\"", "");                  String foede = parts[10].replace("\"", "");
59                  String jobnr = parts[11].replace("\"", "");                  String jobnr = parts[11].replace("\"", "");
60                  String tklaes = parts[12].replace("\"", "");                  String tklaes = parts[12].replace("\"", "");
# Line 107  public class AddressSourceBK implements Line 93  public class AddressSourceBK implements
93                  return "BK";                  return "BK";
94          }          }
95    
         @Override //AutoCloseable  
         public void close() throws Exception {  
                 System.out.println("Closing BK after lines " + lineCount);  
                 try {  
                         br.close();  
                         isr.close();  
                         is.close();  
   
                         file.delete();  
                           
                 } catch (Exception e) {  
                         System.out.println("Error on closing " + e.getMessage() );  
                 }  
                   
                   
         }  
   
96  }  }

Legend:
Removed from v.2838  
changed lines
  Added in v.2869

  ViewVC Help
Powered by ViewVC 1.1.20