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