/[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 2334 by torben, Sun Feb 22 17:42:45 2015 UTC dao/DaoAdresseService/src/main/java/dk/daoas/daoadresseservice/admin/CsvUdtraek.java revision 2608 by torben, Wed Jul 15 06:52:05 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.net.URLEncoder;
6    
7  import javax.servlet.ServletException;  import javax.servlet.ServletException;
8  import javax.servlet.annotation.WebServlet;  import javax.servlet.annotation.WebServlet;
# Line 8  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;
15    
16  /**  /**
# Line 19  public class CsvUdtraek extends HttpServ Line 22  public class CsvUdtraek extends HttpServ
22    
23                    
24          protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {          protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
25                  String type = request.getParameter("type");                  String type = request.getParameter("type");            
26                    String str = null;
27                                    
28                  String str;                  if (type != null) {
29                  switch( type ) {                          switch( type ) {
30                  case "ikkedaekket":                          case "ikkedaekket":
31                          str = udtraekIkkeDaekket();                                  str = udtraekIkkeDaekket();
32                          break;                                  break;
33                  default:                          /*case "sammenlign":
34                          str = "ukendt type";                                  str = udtraekSammenligning(request);
35                          break;                                  break;*/
36                            default:
37                                    str = null;
38                                    break;
39                            }
40                  }                  }
41                                    
42                  response.setContentType("text/csv");                  if (str != null) {
43                  response.getWriter().print(str);                          type = URLEncoder.encode(type, "UTF-8");
44                            response.setContentType("text/csv");
45                            response.setHeader("Content-Disposition", "filename=" + type + ".csv");
46                            response.getWriter().print(str);
47                    } else {
48                            PrintWriter w = response.getWriter();
49                            response.setContentType("text/html");
50                            w.print("Type parameter is blank or invalid value<br>");
51                            w.print("Type: <a href='CsvUdtraek?type=ikkedaekket'>ikkedaekket</a> <br>");
52                            //w.print("Type: <a href='CsvUdtraek?type=sammenlign&antaldage=5'>sammenlign</a> <br>"); - Deprecated
53                    }
54          }          }
55                    
56            /* *******************************************
57             *
58             */
59          private String udtraekIkkeDaekket() {          private String udtraekIkkeDaekket() {
60                  AdressSearch search = (AdressSearch) getServletContext().getAttribute("search");                  AddressSearch search = (AddressSearch) getServletContext().getAttribute("search");
61                  if (search == null) {                  if (search == null) {
62                          return "data struktur ikke indlæst";                          return "data struktur ikke indlæst";
63                  }                  }
64                                    
65                  StringBuilder sb = new StringBuilder();                  StringBuilder sb = new StringBuilder();
66                  sb.append("rowid;gadeid;postnr;vejnavn;husnr;husnrbogstav;distributor\r\n");                  sb.append("gadeid;postnr;vejnavn;husnr;husnrbogstav;distributor\r\n");
67                                    
68                  for (Address addr : search.getNonCoveredAddresses() ) {                  for (Address addr : search.getNonCoveredAddresses() ) {
69                          sb.append( addr.id ).append(";")                          sb.append( addr.gadeid ).append(";")
                                 .append( addr.gadeid ).append(";")  
70                                  .append( addr.postnr ).append(";")                                  .append( addr.postnr ).append(";")
71                                  .append( addr.vejnavn ).append(";")                                  .append( addr.vejnavn ).append(";")
72                                  .append( addr.husnr ).append(";")                                  .append( addr.husnr ).append(";")
# Line 57  public class CsvUdtraek extends HttpServ Line 77  public class CsvUdtraek extends HttpServ
77                                    
78                  return sb.toString();                  return sb.toString();
79          }          }
80            
81            /* *******************************************
82             *
83            
84    
85            @Deprecated
86            protected String udtraekSammenligning(HttpServletRequest request) throws IOException {
87                    
88                    AddressSearch search = (AddressSearch) getServletContext().getAttribute("search");
89                    if (search == null) {
90                            return "data struktur ikke indlæst";
91                    }
92                    
93                    int antal_dage = 2;
94                    
95                    if (request.getParameter("antaldage") != null ) {
96                            antal_dage = Integer.parseInt( request.getParameter("antaldage") );
97                    }
98    
99                    int antal_nyfejl_glok = 0;
100                    int antal_nyfejl_glfejl = 0;
101                    int antal_nyok_glfejl = 0;
102                    int antal_nyok_glgoogle = 0;
103                    int antal_nygoogle_glgoogle = 0;
104                    int antal_nyok_glok = 0;
105                    
106                    try {
107                            TimingHelper timer = new TimingHelper();
108                            
109                            StringBuilder sb = new StringBuilder();
110                            sb.append("besked;postnr;adresse;gl status;ny status;ny split;ny vej\n");
111                    
112                            List<LoggedAddress> addrList = DatabaseLayerImplementation.getLoggedAdresses(antal_dage);                      
113                            
114                            for(LoggedAddress addr : addrList) {
115                                    SearchResult res = search.search("" + addr.postnr, addr.adresse);
116                                    
117                                    if (res.status != Status.STATUS_OK) { //Ny service fandt ikke adressen) {
118                                            
119                                            if (addr.status != 10 ) {//Hvis gl service kunne finde adressen så er vi ude i en regression
120    
121                                                    appendLogLine("ny fejler, gl ok", sb, addr, res);
122                                                    antal_nyfejl_glok++;
123                                                    
124                                            } else {
125                                                    appendLogLine("ny fejler, gl fejler !!!", sb, addr, res);
126                                                    antal_nyfejl_glfejl++;
127                                            }
128    
129                                    } else {
130                                            if (addr.status == 10) {
131                                                    appendLogLine("ny OK, gl fejler", sb, addr, res);
132                                                    antal_nyok_glfejl++;
133    
134                                            } else if (addr.status == 12 ) {
135                                                    
136                                                    if (res.google == false && res.osm == false) {
137                                                            
138                                                            appendLogLine("ny Direkte, gl Google", sb, addr, res);  
139                                                            antal_nyok_glgoogle++;
140                                                    } else {
141                                                            appendLogLine("ny Google, gl Google", sb, addr, res);  
142                                                            antal_nygoogle_glgoogle++;                                                      
143                                                    }
144                                            } else {
145                                                    antal_nyok_glok++;
146                                            }
147                                    }
148                                    
149                                    if (res.osm || res.google) {
150                                            try {
151                                                    Thread.sleep(50);//Back-off external services
152                                            } catch(InterruptedException e) {
153                                                    //
154                                            }
155                                    }
156                            
157                            }
158                            
159                            
160                            
161                            sb.append("Forbrugt tid: ;").append( timer.getElapsed() ).append(";;;\n");
162                            sb.append("SearchData genereret: ;").append( search.getStatistics().buildTime ).append(";;;\n");
163                            sb.append("Sammenligning csv genereret: ;").append( new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format( new Date() ) ).append(";;;\n");
164                            
165                            
166                            sb.append("Antal dage: ;").append( antal_dage ).append(";;;\n");
167                            sb.append("Antal adresser testet: ;").append(addrList.size()).append(";;;\n");
168                            double sekunder = timer.getElapsed() / 1000.0;
169                            int adresserPrSekund =  (int)  Math.round( addrList.size() / sekunder );
170                            sb.append("Antal adresser testet/s: ;").append(adresserPrSekund).append(";;;\n");
171                            
172                            
173                            sb.append("Antal ny ok, gl ok: ;").append( antal_nyok_glok ).append(";;;\n");
174                            sb.append("Antal ny ok, gl google: ;").append( antal_nyok_glgoogle ).append(";;;\n");
175                            sb.append("Antal ny ok, gl fejl: ;").append( antal_nyok_glfejl ).append(";;;\n");
176                            sb.append("Antal ny google, gl google: ;").append( antal_nygoogle_glgoogle ).append(";;;\n");
177                            sb.append("Antal ny fejl, gl ok: ;").append( antal_nyfejl_glok ).append(";;;\n");
178                            sb.append("Antal ny fejl, gl fejl: ;").append( antal_nyfejl_glfejl ).append(";;;\n");
179                            
180                            
181                            
182                            
183    
184                            return sb.toString();
185                            
186                    } catch(SQLException e) {
187                            throw new IOException(e);
188                    }
189            }
190            
191            
192        private void appendLogLine(String msg, StringBuilder sb, LoggedAddress addr, SearchResult res) {
193            
194                    sb.append(msg).append(";")
195                            .append(addr.postnr).append(";")
196                            .append(addr.adresse).append(";")
197                            .append(addr.status).append(";")
198                            .append(res.status).append(";")
199                            .append(res.splitResult).append(";")
200                            .append(res.vej)
201                            .append("\n");
202            
203        }
204        */
205    
206  }  }

Legend:
Removed from v.2334  
changed lines
  Added in v.2608

  ViewVC Help
Powered by ViewVC 1.1.20