--- dao/DaoAdresseService/src/main/java/dk/daoas/daoadresseservice/admin/CsvUdtraek.java 2015/03/25 07:34:09 2500
+++ dao/DaoAdresseService/src/main/java/dk/daoas/daoadresseservice/admin/CsvUdtraek.java 2015/07/23 09:25:03 2638
@@ -2,10 +2,7 @@
import java.io.IOException;
import java.io.PrintWriter;
-import java.sql.SQLException;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.List;
+import java.net.URLEncoder;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
@@ -15,11 +12,6 @@
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;
-import dk.daoas.daoadresseservice.util.TimingHelper;
/**
* Servlet implementation class CsvUdtraek
@@ -38,9 +30,10 @@
case "ikkedaekket":
str = udtraekIkkeDaekket();
break;
- case "sammenlign":
- str = udtraekSammenligning(request);
- break;
+ case "100pct":
+ str = udtraek100Pct();
+ break;
+
default:
str = null;
break;
@@ -48,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);
@@ -56,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
");
}
}
@@ -85,120 +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 {
- TimingHelper timer = new TimingHelper();
-
- 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("Forbrugt tid: ;").append( timer.getElapsed() ).append(";;;\n");
- sb.append("SearchData genereret: ;").append( search.getStatistics().buildTime ).append(";;;\n");
- sb.append("Sammenligning csv genereret: ;").append( new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format( new Date() ) ).append(";;;\n");
-
-
- 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");
-
- }
}