/[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 2616 by torben, Wed Jul 15 13:42:30 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;
                         case "sammenlign":  
                                 str = udtraekSammenligning(request);  
                                 break;  
33                          default:                          default:
34                                  str = null;                                  str = null;
35                                  break;                                  break;
# Line 43  public class CsvUdtraek extends HttpServ Line 37  public class CsvUdtraek extends HttpServ
37                  }                  }
38                                    
39                  if (str != null) {                  if (str != null) {
40                            type = URLEncoder.encode(type, "UTF-8");
41                          response.setContentType("text/csv");                          response.setContentType("text/csv");
42                          response.setHeader("Content-Disposition", "filename=" + type + ".csv");                          response.setHeader("Content-Disposition", "filename=" + type + ".csv");
43                          response.getWriter().print(str);                          response.getWriter().print(str);
44                  } else {                  } else {
45                          response.setContentType("text/plain");                          PrintWriter w = response.getWriter();
46                          response.getWriter().print("Type parameter is blank or invalid value");                          response.setContentType("text/html");
47                            w.print("Type parameter is blank or invalid value<br>");
48                            w.print("Type: <a href='CsvUdtraek?type=ikkedaekket'>ikkedaekket</a> <br>");
49                  }                  }
50          }          }
51                    
# Line 56  public class CsvUdtraek extends HttpServ Line 53  public class CsvUdtraek extends HttpServ
53           *           *
54           */           */
55          private String udtraekIkkeDaekket() {          private String udtraekIkkeDaekket() {
56                  AdressSearch search = (AdressSearch) getServletContext().getAttribute("search");                  AddressSearch search = (AddressSearch) getServletContext().getAttribute("search");
57                  if (search == null) {                  if (search == null) {
58                          return "data struktur ikke indlæst";                          return "data struktur ikke indlæst";
59                  }                  }
# Line 77  public class CsvUdtraek extends HttpServ Line 74  public class CsvUdtraek extends HttpServ
74                  return sb.toString();                  return sb.toString();
75          }          }
76                    
         /* *******************************************  
          *  
          */  
   
         protected String udtraekSammenligning(HttpServletRequest request) throws IOException {  
                   
                 AdressSearch search = (AdressSearch) getServletContext().getAttribute("search");  
                 if (search == null) {  
                         return "data struktur ikke indlæst";  
                 }  
                   
                 int antal_dage = 2;  
                   
                 if (request.getParameter("antaldage") != null ) {  
                         antal_dage = Integer.parseInt( request.getParameter("antaldage") );  
                 }  
   
                   
                 try {  
                         StringBuilder sb = new StringBuilder();  
                         sb.append("besked;postnr;adresse;gl status;ny status\n");  
                   
                         List<LoggedAddress> 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);  
                                                   
                                         } 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);  
                 }  
         }  
           
     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");  
           
     }  
77    
78  }  }

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

  ViewVC Help
Powered by ViewVC 1.1.20