--- dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/AddressSourceBK.java 2016/01/28 17:04:34 2873 +++ dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/AddressSourceBK.java 2016/01/28 17:15:42 2874 @@ -1,9 +1,12 @@ package dk.daoas.adressevedligehold; import java.io.IOException; +import java.util.List; import org.apache.commons.fileupload.FileItem; +import com.google.common.base.Splitter; + import dk.daoas.adressevedligehold.AddressSourceEntry.EntryType; import dk.daoas.adressevedligehold.util.SafeParsers; @@ -17,7 +20,7 @@ @Override public void validate() throws IOException { - super.validatNoHeaderLine(13, ';'); + super.validatNoHeaderLine(14, ';'); } //TODO: Skal csv parsning klares med Apache Commons CSV ? @@ -36,28 +39,28 @@ AddressSourceEntry entry = new AddressSourceEntry( EntryType.TypeSingleAddress); entry.distributor = "BK"; - String[] parts = line.split(";"); + List parts =Splitter.on(';').splitToList(line); - if (parts.length != 13) { - throw new IOException("Not enough fields in CSV file. Found " + parts.length + ", expected 13"); + if (parts.size() != 14) { + throw new IOException("Not enough fields in CSV file. Found " + parts.size() + ", expected 14"); } - entry.postnr = Short.parseShort( parts[0]); - entry.vejnavn = parts[1].replace("\"", ""); - entry.husnr = Short.parseShort( parts[2] ); - entry.litra = parts[3].replace("\"", ""); - entry.vejkode = SafeParsers.parseShort( parts[4] ); - entry.kommunekode = SafeParsers.parseShort( parts[5] ); - entry.gadeid = Integer.parseInt( parts[6] ); - - String ugedage = parts[7].replace("\"", ""); - - String laesnr = parts[8].replace("\"", ""); - - //String distnr = parts[9].replace("\"", ""); //Bruges ikke - String foede = parts[10].replace("\"", ""); - String jobnr = parts[11].replace("\"", ""); - String tklaes = parts[12].replace("\"", ""); + entry.postnr = Short.parseShort( parts.get(0) ); + entry.vejnavn = parts.get( 1 ).replace("\"", ""); + entry.husnr = Short.parseShort( parts.get( 2 ) ); + entry.litra = parts.get( 3 ).replace("\"", ""); + entry.vejkode = SafeParsers.parseShort( parts.get( 4) ); + entry.kommunekode = SafeParsers.parseShort( parts.get( 5) ); + entry.gadeid = Integer.parseInt( parts.get( 6 ) ); + + String ugedage = parts.get( 7 ).replace("\"", ""); + + String laesnr = parts.get( 8 ).replace("\"", ""); + + //String distnr = parts.get( 9 ).replace("\"", ""); //Bruges ikke + String foede = parts.get( 10 ).replace("\"", ""); + String jobnr = parts.get( 11 ).replace("\"", ""); + String tklaes = parts.get( 12 ).replace("\"", ""); entry.rute = laesnr; entry.koreliste = "/" + foede + "/" + tklaes + "/" + jobnr;