--- dao/DaoAdresseService/src/main/java/dk/daoas/daoadresseservice/CsvUdtraek.java 2015/03/20 13:57:47 2457 +++ dao/DaoAdresseService/src/main/java/dk/daoas/daoadresseservice/admin/CsvUdtraek.java 2015/07/23 09:25:03 2638 @@ -1,9 +1,8 @@ -package dk.daoas.daoadresseservice; +package dk.daoas.daoadresseservice.admin; import java.io.IOException; import java.io.PrintWriter; -import java.sql.SQLException; -import java.util.List; +import java.net.URLEncoder; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; @@ -11,11 +10,8 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import dk.daoas.daoadresseservice.AddressSearch; import dk.daoas.daoadresseservice.beans.Address; -import dk.daoas.daoadresseservice.beans.LoggedAddress; -import dk.daoas.daoadresseservice.beans.SearchResult; -import dk.daoas.daoadresseservice.beans.SearchResult.Status; -import dk.daoas.daoadresseservice.db.DatabaseLayer; /** * Servlet implementation class CsvUdtraek @@ -34,9 +30,10 @@ case "ikkedaekket": str = udtraekIkkeDaekket(); break; - case "sammenlign": - str = udtraekSammenligning(request); - break; + case "100pct": + str = udtraek100Pct(); + break; + default: str = null; break; @@ -44,6 +41,7 @@ } if (str != null) { + type = URLEncoder.encode(type, "UTF-8"); response.setContentType("text/csv"); response.setHeader("Content-Disposition", "filename=" + type + ".csv"); response.getWriter().print(str); @@ -52,7 +50,7 @@ response.setContentType("text/html"); w.print("Type parameter is blank or invalid value
"); w.print("Type: ikkedaekket
"); - w.print("Type: sammenlign
"); + w.print("Type: 100pct
"); } } @@ -81,112 +79,27 @@ return sb.toString(); } - /* ******************************************* - * - */ - - protected String udtraekSammenligning(HttpServletRequest request) throws IOException { - + private String udtraek100Pct() { AddressSearch search = (AddressSearch) getServletContext().getAttribute("search"); if (search == null) { return "data struktur ikke indlæst"; } - int antal_dage = 2; + StringBuilder sb = new StringBuilder(); + sb.append("gadeid;postnr;vejnavn;husnr;husnrbogstav;distributor\r\n"); - if (request.getParameter("antaldage") != null ) { - antal_dage = Integer.parseInt( request.getParameter("antaldage") ); - } - - int antal_nyfejl_glok = 0; - int antal_nyfejl_glfejl = 0; - int antal_nyok_glfejl = 0; - int antal_nyok_glgoogle = 0; - int antal_nygoogle_glgoogle = 0; - int antal_nyok_glok = 0; - - try { - StringBuilder sb = new StringBuilder(); - sb.append("besked;postnr;adresse;gl status;ny status;ny split;ny vej\n"); - - List addrList = DatabaseLayer.getLoggedAdresses(antal_dage); - - for(LoggedAddress addr : addrList) { - SearchResult res = search.search("" + addr.postnr, addr.adresse); - - if (res.status != Status.STATUS_OK) { //Ny service fandt ikke adressen) { - - if (addr.status != 10 ) {//Hvis gl service kunne finde adressen så er vi ude i en regression - - appendLogLine("ny fejler, gl ok", sb, addr, res); - antal_nyfejl_glok++; - - } else { - appendLogLine("ny fejler, gl fejler !!!", sb, addr, res); - antal_nyfejl_glfejl++; - } - - } else { - if (addr.status == 10) { - appendLogLine("ny OK, gl fejler", sb, addr, res); - antal_nyok_glfejl++; - - } else if (addr.status == 12 ) { - - if (res.google == false && res.osm == false) { - - appendLogLine("ny Direkte, gl Google", sb, addr, res); - antal_nyok_glgoogle++; - } else { - appendLogLine("ny Google, gl Google", sb, addr, res); - antal_nygoogle_glgoogle++; - } - } else { - antal_nyok_glok++; - } - } - - if (res.osm || res.google) { - try { - Thread.sleep(50);//Back-off external services - } catch(InterruptedException e) { - // - } - } - - } - - sb.append("Antal dage: ;").append( antal_dage ).append(";;;\n"); - sb.append("Antal adresser testet: ;").append(addrList.size()).append(";;;\n"); - sb.append("Antal ny ok, gl ok: ;").append( antal_nyok_glok ).append(";;;\n"); - sb.append("Antal ny ok, gl google: ;").append( antal_nyok_glgoogle ).append(";;;\n"); - sb.append("Antal ny ok, gl fejl: ;").append( antal_nyok_glfejl ).append(";;;\n"); - sb.append("Antal ny google, gl google: ;").append( antal_nygoogle_glgoogle ).append(";;;\n"); - sb.append("Antal ny fejl, gl ok: ;").append( antal_nyfejl_glok ).append(";;;\n"); - sb.append("Antal ny fejl, gl fejl: ;").append( antal_nyfejl_glfejl ).append(";;;\n"); - - - - - - return sb.toString(); - - } catch(SQLException e) { - throw new IOException(e); + for (Address addr : search.get100PctAddresses() ) { + sb.append( addr.gadeid ).append(";") + .append( addr.postnr ).append(";") + .append( addr.vejnavn ).append(";") + .append( addr.husnr ).append(";") + .append( addr.husnrbogstav ).append(";") + .append( addr.distributor != null ? addr.distributor : "" ) + .append( "\n" ); } + + return sb.toString(); } - private void appendLogLine(String msg, StringBuilder sb, LoggedAddress addr, SearchResult res) { - - sb.append(msg).append(";") - .append(addr.postnr).append(";") - .append(addr.adresse).append(";") - .append(addr.status).append(";") - .append(res.status).append(";") - .append(res.splitResult).append(";") - .append(res.vej) - .append("\n"); - - } }