/[projects]/dao/DaoAdresseService/src/main/java/dk/daoas/daoadresseservice/admin/CsvUdtraek.java
ViewVC logotype

Diff of /dao/DaoAdresseService/src/main/java/dk/daoas/daoadresseservice/admin/CsvUdtraek.java

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

dao/DaoAdresseService/src/dk/daoas/daoadresseservice/CsvUdtraek.java revision 2385 by torben, Thu Feb 26 13:13:05 2015 UTC dao/DaoAdresseService/src/main/java/dk/daoas/daoadresseservice/admin/CsvUdtraek.java revision 2638 by torben, Thu Jul 23 09:25:03 2015 UTC
# Line 1  Line 1 
1  package dk.daoas.daoadresseservice;  package dk.daoas.daoadresseservice.admin;
2    
3  import java.io.IOException;  import java.io.IOException;
4  import java.sql.SQLException;  import java.io.PrintWriter;
5  import java.util.List;  import java.net.URLEncoder;
6    
7  import javax.servlet.ServletException;  import javax.servlet.ServletException;
8  import javax.servlet.annotation.WebServlet;  import javax.servlet.annotation.WebServlet;
# Line 10  import javax.servlet.http.HttpServlet; Line 10  import javax.servlet.http.HttpServlet;
10  import javax.servlet.http.HttpServletRequest;  import javax.servlet.http.HttpServletRequest;
11  import javax.servlet.http.HttpServletResponse;  import javax.servlet.http.HttpServletResponse;
12    
13    import dk.daoas.daoadresseservice.AddressSearch;
14  import dk.daoas.daoadresseservice.beans.Address;  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;  
15    
16  /**  /**
17   * Servlet implementation class CsvUdtraek   * Servlet implementation class CsvUdtraek
# Line 33  public class CsvUdtraek extends HttpServ Line 30  public class CsvUdtraek extends HttpServ
30                          case "ikkedaekket":                          case "ikkedaekket":
31                                  str = udtraekIkkeDaekket();                                  str = udtraekIkkeDaekket();
32                                  break;                                  break;
33                          case "sammenlign":                          case "100pct":
34                                  str = udtraekSammenligning(request);                                  str = udtraek100Pct();
35                                  break;                                  break;                          
36                                    
37                          default:                          default:
38                                  str = null;                                  str = null;
39                                  break;                                  break;
# Line 43  public class CsvUdtraek extends HttpServ Line 41  public class CsvUdtraek extends HttpServ
41                  }                  }
42                                    
43                  if (str != null) {                  if (str != null) {
44                            type = URLEncoder.encode(type, "UTF-8");
45                          response.setContentType("text/csv");                          response.setContentType("text/csv");
46                          response.setHeader("Content-Disposition", "filename=" + type + ".csv");                          response.setHeader("Content-Disposition", "filename=" + type + ".csv");
47                          response.getWriter().print(str);                          response.getWriter().print(str);
48                  } else {                  } else {
49                          response.setContentType("text/plain");                          PrintWriter w = response.getWriter();
50                          response.getWriter().print("Type parameter is blank or invalid value");                          response.setContentType("text/html");
51                            w.print("Type parameter is blank or invalid value<br>");
52                            w.print("Type: <a href='CsvUdtraek?type=ikkedaekket'>ikkedaekket</a> <br>");
53                            w.print("Type: <a href='CsvUdtraek?type=100pct'>100pct</a> <br>");
54                  }                  }
55          }          }
56                    
# Line 56  public class CsvUdtraek extends HttpServ Line 58  public class CsvUdtraek extends HttpServ
58           *           *
59           */           */
60          private String udtraekIkkeDaekket() {          private String udtraekIkkeDaekket() {
61                  AdressSearch search = (AdressSearch) getServletContext().getAttribute("search");                  AddressSearch search = (AddressSearch) getServletContext().getAttribute("search");
62                  if (search == null) {                  if (search == null) {
63                          return "data struktur ikke indlæst";                          return "data struktur ikke indlæst";
64                  }                  }
# Line 77  public class CsvUdtraek extends HttpServ Line 79  public class CsvUdtraek extends HttpServ
79                  return sb.toString();                  return sb.toString();
80          }          }
81                    
82          /* *******************************************          private String udtraek100Pct() {
83           *                  AddressSearch search = (AddressSearch) getServletContext().getAttribute("search");
          */  
   
         protected String udtraekSammenligning(HttpServletRequest request) throws IOException {  
                   
                 AdressSearch search = (AdressSearch) getServletContext().getAttribute("search");  
84                  if (search == null) {                  if (search == null) {
85                          return "data struktur ikke indlæst";                          return "data struktur ikke indlæst";
86                  }                  }
87                                    
88                  int antal_dage = 2;                  StringBuilder sb = new StringBuilder();
89                    sb.append("gadeid;postnr;vejnavn;husnr;husnrbogstav;distributor\r\n");
90                                    
91                  if (request.getParameter("antaldage") != null ) {                  for (Address addr : search.get100PctAddresses() ) {
92                          antal_dage = Integer.parseInt( request.getParameter("antaldage") );                          sb.append( addr.gadeid ).append(";")
93                                    .append( addr.postnr ).append(";")
94                                    .append( addr.vejnavn ).append(";")
95                                    .append( addr.husnr ).append(";")
96                                    .append( addr.husnrbogstav ).append(";")
97                                    .append( addr.distributor != null ? addr.distributor : "" )                            
98                                    .append( "\n" );
99                  }                  }
   
                   
                 try {  
                         StringBuilder sb = new StringBuilder();  
                         sb.append("besked;postnr;adresse;gl status;ny status\n");  
100                                    
101                          List<LoggedAddress> addrList = DatabaseLayer.getLoggedAdresses(antal_dage);                                      return sb.toString();
                           
                         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);  
                                                   
                                         } else {  
                                                 appendLogLine("ny fejler, gl fejler !!!", sb, addr, res);  
                                         }  
   
                                 } else {  
                                         if (addr.status == 10) {  
                                                 appendLogLine("ny OK, gl fejler", sb, addr, res);  
   
                                         } else if (addr.status == 12 ) {  
                                                   
                                                 if (res.google == false && res.osm == false) {  
                                                           
                                                         appendLogLine("ny Direkte, gl Google", sb, addr, res);                                                    
                                                 }                                                
                                         }  
                                 }  
                                   
                                 if (res.osm || res.google) {  
                                         try {  
                                                 Thread.sleep(50);//Back-off external services  
                                         } catch(InterruptedException e) {  
                                                 //  
                                         }  
                                 }  
                         }  
                         sb.append("Antal adresser testet: ;").append(addrList.size()).append(";;;\n");  
                           
   
                         return sb.toString();  
                           
                 } catch(SQLException e) {  
                         throw new IOException(e);  
                 }  
102          }          }
103                    
     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("\n");  
           
     }  
104    
105  }  }

Legend:
Removed from v.2385  
changed lines
  Added in v.2638

  ViewVC Help
Powered by ViewVC 1.1.20