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

Legend:
Removed from v.2383  
changed lines
  Added in v.2384

  ViewVC Help
Powered by ViewVC 1.1.20