java/nekurak.net-web/src/java/cz/frantovo/nekurak/servlet/PodnikServlet.java
author František Kučera <franta-hg@frantovo.cz>
Thu Jul 21 15:20:58 2011 +0200 (2011-07-21)
changeset 193 5ec59a8d902e
parent 191 19128e9f7fb1
permissions -rw-r--r--
Systematičtější extrahování ID objektu z URL
     1 package cz.frantovo.nekurak.servlet;
     2 
     3 import cz.frantovo.nekurak.dto.Podnik;
     4 import cz.frantovo.nekurak.ejb.PodnikRemote;
     5 import java.io.IOException;
     6 import java.io.UnsupportedEncodingException;
     7 import java.net.URLEncoder;
     8 import javax.ejb.EJB;
     9 import javax.servlet.ServletException;
    10 import javax.servlet.http.HttpServletRequest;
    11 import javax.servlet.http.HttpServletResponse;
    12 
    13 /**
    14  *
    15  * @author fiki
    16  */
    17 public class PodnikServlet extends SuperServlet {
    18 
    19 	@EJB
    20 	PodnikRemote ejb;
    21 
    22 	@Override
    23 	protected void doGet(HttpServletRequest požadavek, HttpServletResponse odpověď) throws ServletException, IOException {
    24 		super.doGet(požadavek, odpověď);
    25 
    26 		Podnik p = ejb.getPodnik(getIdCesty(požadavek));
    27 
    28 		if (p == null) {
    29 			odpověď.sendError(HttpServletResponse.SC_NOT_FOUND);
    30 		} else {
    31 			požadavek.setAttribute("podnik", p);
    32 			požadavek.setAttribute("mapa", getMapa(p));
    33 			zpracujJSP("detail.jsp", požadavek, odpověď);
    34 		}
    35 	}
    36 
    37 	/**
    38 	 * TODO: OpenStreetMap.org
    39 	 * @return URL mapy – obrázku nebo null při chybě nebo absenci souřadnic
    40 	 */
    41 	private String getMapa(Podnik p) {
    42 		if (p == null || p.getSirka() == null || p.getDelka() == null) {
    43 			return null;
    44 		} else {
    45 			try {
    46 				String souradnice = URLEncoder.encode(p.getSirka() + ", " + p.getDelka(), "UTF-8");
    47 				return "https://maps.google.com/maps/api/staticmap?size=640x400&sensor=false&markers=size:big|color:green|" + souradnice;
    48 			} catch (UnsupportedEncodingException e) {
    49 				return null;
    50 			}
    51 		}
    52 	}
    53 }