--- dao/DaoAdresseService/src/dk/daoas/daoadresseservice/CsvUdtraek.java 2015/02/22 17:42:45 2334
+++ dao/DaoAdresseService/src/main/java/dk/daoas/daoadresseservice/admin/CsvUdtraek.java 2015/07/23 09:25:03 2638
@@ -1,6 +1,8 @@
-package dk.daoas.daoadresseservice;
+package dk.daoas.daoadresseservice.admin;
import java.io.IOException;
+import java.io.PrintWriter;
+import java.net.URLEncoder;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
@@ -8,6 +10,7 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+import dk.daoas.daoadresseservice.AddressSearch;
import dk.daoas.daoadresseservice.beans.Address;
/**
@@ -19,34 +22,52 @@
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- String type = request.getParameter("type");
+ String type = request.getParameter("type");
+ String str = null;
- String str;
- switch( type ) {
- case "ikkedaekket":
- str = udtraekIkkeDaekket();
- break;
- default:
- str = "ukendt type";
- break;
+ if (type != null) {
+ switch( type ) {
+ case "ikkedaekket":
+ str = udtraekIkkeDaekket();
+ break;
+ case "100pct":
+ str = udtraek100Pct();
+ break;
+
+ default:
+ str = null;
+ break;
+ }
}
- response.setContentType("text/csv");
- response.getWriter().print(str);
+ if (str != null) {
+ type = URLEncoder.encode(type, "UTF-8");
+ response.setContentType("text/csv");
+ response.setHeader("Content-Disposition", "filename=" + type + ".csv");
+ response.getWriter().print(str);
+ } else {
+ PrintWriter w = response.getWriter();
+ response.setContentType("text/html");
+ w.print("Type parameter is blank or invalid value
");
+ w.print("Type: ikkedaekket
");
+ w.print("Type: 100pct
");
+ }
}
+ /* *******************************************
+ *
+ */
private String udtraekIkkeDaekket() {
- AdressSearch search = (AdressSearch) getServletContext().getAttribute("search");
+ AddressSearch search = (AddressSearch) getServletContext().getAttribute("search");
if (search == null) {
return "data struktur ikke indlæst";
}
StringBuilder sb = new StringBuilder();
- sb.append("rowid;gadeid;postnr;vejnavn;husnr;husnrbogstav;distributor\r\n");
+ sb.append("gadeid;postnr;vejnavn;husnr;husnrbogstav;distributor\r\n");
for (Address addr : search.getNonCoveredAddresses() ) {
- sb.append( addr.id ).append(";")
- .append( addr.gadeid ).append(";")
+ sb.append( addr.gadeid ).append(";")
.append( addr.postnr ).append(";")
.append( addr.vejnavn ).append(";")
.append( addr.husnr ).append(";")
@@ -57,5 +78,28 @@
return sb.toString();
}
+
+ private String udtraek100Pct() {
+ AddressSearch search = (AddressSearch) getServletContext().getAttribute("search");
+ if (search == null) {
+ return "data struktur ikke indlæst";
+ }
+
+ StringBuilder sb = new StringBuilder();
+ sb.append("gadeid;postnr;vejnavn;husnr;husnrbogstav;distributor\r\n");
+
+ for (Address addr : search.get100PctAddresses() ) {
+ sb.append( addr.gadeid ).append(";")
+ .append( addr.postnr ).append(";")
+ .append( addr.vejnavn ).append(";")
+ .append( addr.husnr ).append(";")
+ .append( addr.husnrbogstav ).append(";")
+ .append( addr.distributor != null ? addr.distributor : "" )
+ .append( "\n" );
+ }
+
+ return sb.toString();
+ }
+
}