/[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 2340 by torben, Mon Feb 23 13:12:38 2015 UTC dao/DaoAdresseService/src/main/java/dk/daoas/daoadresseservice/admin/CsvUdtraek.java revision 2499 by torben, Wed Mar 25 07:26:50 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.io.PrintWriter;
5    import java.sql.SQLException;
6    import java.util.List;
7    
8  import javax.servlet.ServletException;  import javax.servlet.ServletException;
9  import javax.servlet.annotation.WebServlet;  import javax.servlet.annotation.WebServlet;
# Line 8  import javax.servlet.http.HttpServlet; Line 11  import javax.servlet.http.HttpServlet;
11  import javax.servlet.http.HttpServletRequest;  import javax.servlet.http.HttpServletRequest;
12  import javax.servlet.http.HttpServletResponse;  import javax.servlet.http.HttpServletResponse;
13    
14    import dk.daoas.daoadresseservice.AddressSearch;
15  import dk.daoas.daoadresseservice.beans.Address;  import dk.daoas.daoadresseservice.beans.Address;
16    import dk.daoas.daoadresseservice.beans.LoggedAddress;
17    import dk.daoas.daoadresseservice.beans.SearchResult;
18    import dk.daoas.daoadresseservice.beans.SearchResult.Status;
19    import dk.daoas.daoadresseservice.db.DatabaseLayer;
20    
21  /**  /**
22   * Servlet implementation class CsvUdtraek   * Servlet implementation class CsvUdtraek
# Line 19  public class CsvUdtraek extends HttpServ Line 27  public class CsvUdtraek extends HttpServ
27    
28                    
29          protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {          protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
30                  String type = request.getParameter("type");                  String type = request.getParameter("type");            
31                    String str = null;
32                                    
33                  String str;                  if (type != null) {
34                  switch( type ) {                          switch( type ) {
35                  case "ikkedaekket":                          case "ikkedaekket":
36                          str = udtraekIkkeDaekket();                                  str = udtraekIkkeDaekket();
37                          break;                                  break;
38                  default:                          case "sammenlign":
39                          str = "ukendt type";                                  str = udtraekSammenligning(request);
40                          break;                                  break;
41                            default:
42                                    str = null;
43                                    break;
44                            }
45                  }                  }
46                                    
47                  response.setContentType("text/csv");                  if (str != null) {
48                  response.setHeader("Content-Disposition", "filename=" + type + ".csv");                          response.setContentType("text/csv");
49                  response.getWriter().print(str);                          response.setHeader("Content-Disposition", "filename=" + type + ".csv");
50                            response.getWriter().print(str);
51                    } else {
52                            PrintWriter w = response.getWriter();
53                            response.setContentType("text/html");
54                            w.print("Type parameter is blank or invalid value<br>");
55                            w.print("Type: <a href='CsvUdtraek?type=ikkedaekket'>ikkedaekket</a> <br>");
56                            w.print("Type: <a href='CsvUdtraek?type=sammenlign&antaldage=5'>sammenlign</a> <br>");
57                    }
58          }          }
59                    
60            /* *******************************************
61             *
62             */
63          private String udtraekIkkeDaekket() {          private String udtraekIkkeDaekket() {
64                  AdressSearch search = (AdressSearch) getServletContext().getAttribute("search");                  AddressSearch search = (AddressSearch) getServletContext().getAttribute("search");
65                  if (search == null) {                  if (search == null) {
66                          return "data struktur ikke indlæst";                          return "data struktur ikke indlæst";
67                  }                  }
# Line 57  public class CsvUdtraek extends HttpServ Line 81  public class CsvUdtraek extends HttpServ
81                                    
82                  return sb.toString();                  return sb.toString();
83          }          }
84            
85            /* *******************************************
86             *
87             */
88    
89            protected String udtraekSammenligning(HttpServletRequest request) throws IOException {
90                    
91                    AddressSearch search = (AddressSearch) getServletContext().getAttribute("search");
92                    if (search == null) {
93                            return "data struktur ikke indlæst";
94                    }
95                    
96                    int antal_dage = 2;
97                    
98                    if (request.getParameter("antaldage") != null ) {
99                            antal_dage = Integer.parseInt( request.getParameter("antaldage") );
100                    }
101    
102                    int antal_nyfejl_glok = 0;
103                    int antal_nyfejl_glfejl = 0;
104                    int antal_nyok_glfejl = 0;
105                    int antal_nyok_glgoogle = 0;
106                    int antal_nygoogle_glgoogle = 0;
107                    int antal_nyok_glok = 0;
108                    
109                    try {
110                            StringBuilder sb = new StringBuilder();
111                            sb.append("besked;postnr;adresse;gl status;ny status;ny split;ny vej\n");
112                    
113                            List<LoggedAddress> addrList = DatabaseLayer.getLoggedAdresses(antal_dage);                    
114                            
115                            for(LoggedAddress addr : addrList) {
116                                    SearchResult res = search.search("" + addr.postnr, addr.adresse);
117                                    
118                                    if (res.status != Status.STATUS_OK) { //Ny service fandt ikke adressen) {
119                                            
120                                            if (addr.status != 10 ) {//Hvis gl service kunne finde adressen så er vi ude i en regression
121    
122                                                    appendLogLine("ny fejler, gl ok", sb, addr, res);
123                                                    antal_nyfejl_glok++;
124                                                    
125                                            } else {
126                                                    appendLogLine("ny fejler, gl fejler !!!", sb, addr, res);
127                                                    antal_nyfejl_glfejl++;
128                                            }
129    
130                                    } else {
131                                            if (addr.status == 10) {
132                                                    appendLogLine("ny OK, gl fejler", sb, addr, res);
133                                                    antal_nyok_glfejl++;
134    
135                                            } else if (addr.status == 12 ) {
136                                                    
137                                                    if (res.google == false && res.osm == false) {
138                                                            
139                                                            appendLogLine("ny Direkte, gl Google", sb, addr, res);  
140                                                            antal_nyok_glgoogle++;
141                                                    } else {
142                                                            appendLogLine("ny Google, gl Google", sb, addr, res);  
143                                                            antal_nygoogle_glgoogle++;                                                      
144                                                    }
145                                            } else {
146                                                    antal_nyok_glok++;
147                                            }
148                                    }
149                                    
150                                    if (res.osm || res.google) {
151                                            try {
152                                                    Thread.sleep(50);//Back-off external services
153                                            } catch(InterruptedException e) {
154                                                    //
155                                            }
156                                    }
157                            
158                            }
159                            
160                            sb.append("Antal dage: ;").append( antal_dage ).append(";;;\n");
161                            sb.append("Antal adresser testet: ;").append(addrList.size()).append(";;;\n");                  
162                            sb.append("Antal ny ok, gl ok: ;").append( antal_nyok_glok ).append(";;;\n");
163                            sb.append("Antal ny ok, gl google: ;").append( antal_nyok_glgoogle ).append(";;;\n");
164                            sb.append("Antal ny ok, gl fejl: ;").append( antal_nyok_glfejl ).append(";;;\n");
165                            sb.append("Antal ny google, gl google: ;").append( antal_nygoogle_glgoogle ).append(";;;\n");
166                            sb.append("Antal ny fejl, gl ok: ;").append( antal_nyfejl_glok ).append(";;;\n");
167                            sb.append("Antal ny fejl, gl fejl: ;").append( antal_nyfejl_glfejl ).append(";;;\n");
168                            
169                            
170                            
171                            
172    
173                            return sb.toString();
174                            
175                    } catch(SQLException e) {
176                            throw new IOException(e);
177                    }
178            }
179            
180        private void appendLogLine(String msg, StringBuilder sb, LoggedAddress addr, SearchResult res) {
181            
182                    sb.append(msg).append(";")
183                            .append(addr.postnr).append(";")
184                            .append(addr.adresse).append(";")
185                            .append(addr.status).append(";")
186                            .append(res.status).append(";")
187                            .append(res.splitResult).append(";")
188                            .append(res.vej)
189                            .append("\n");
190            
191        }
192    
193  }  }

Legend:
Removed from v.2340  
changed lines
  Added in v.2499

  ViewVC Help
Powered by ViewVC 1.1.20