--- dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/AddressSourceBK.java 2016/01/28 10:30:01 2857 +++ dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/AddressSourceBK.java 2016/01/28 16:21:36 2869 @@ -1,60 +1,23 @@ package dk.daoas.adressevedligehold; -import java.io.BufferedReader; import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.nio.charset.Charset; import org.apache.commons.fileupload.FileItem; import dk.daoas.adressevedligehold.AddressSourceEntry.EntryType; -import dk.daoas.adressevedligehold.util.DeduplicateHelper; import dk.daoas.adressevedligehold.util.SafeParsers; -public class AddressSourceBK implements AddressSource { +public class AddressSourceBK extends AbstractAddressSource { - DeduplicateHelper dirigeringsCache = new DeduplicateHelper(); - - FileItem file; - - InputStream is; - InputStreamReader isr; - BufferedReader br; - - int lineCount = 0; public AddressSourceBK(FileItem file) throws Exception { - this.file = file; - - - + super(file); } - @Override - public String getFilename() { - return file.getName(); - } @Override public void validate() throws IOException { - try ( - InputStream is1 = file.getInputStream(); - InputStreamReader isr1 = new InputStreamReader(is1, Charset.forName("ISO-8859-1") ); - BufferedReader br1 = new BufferedReader(isr1) - ) { - String line = br1.readLine(); - String[] parts = line.split(";"); - int numFields = parts.length; - if (numFields != 13) { - throw new IOException("Not enough fields in CSV file. Found " + numFields + ", expected 13"); - } - } - - - is = file.getInputStream(); - isr = new InputStreamReader(is, Charset.forName("ISO-8859-1") ); - br = new BufferedReader(isr); + super.validatNoHeaderLine(13, ';'); } //TODO: Skal csv parsning klares med Apache Commons CSV ? @@ -130,21 +93,4 @@ return "BK"; } - @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() ); - } - - - } - }