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

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

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

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

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

  ViewVC Help
Powered by ViewVC 1.1.20