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; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import dk.daoas.daoadresseservice.AddressSearch; import dk.daoas.daoadresseservice.beans.Address; /** * Servlet implementation class CsvUdtraek */ @WebServlet("/CsvUdtraek") public class CsvUdtraek extends HttpServlet { private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String type = request.getParameter("type"); String str = null; if (type != null) { switch( type ) { case "ikkedaekket": str = udtraekIkkeDaekket(); break; default: str = null; break; } } 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
"); } } /* ******************************************* * */ private String udtraekIkkeDaekket() { 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.getNonCoveredAddresses() ) { 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(); } }