Filtrování podniků podle kategorie.
authorFrantišek Kučera <franta-hg@frantovo.cz>
Sat, 15 Jan 2011 00:57:45 +0100
changeset 17056deca862adc
parent 169 15f172a772a4
child 171 e619057bad66
Filtrování podniků podle kategorie.
java/nekurak.net-ejb/src/java/cz/frantovo/nekurak/dao/PodnikDAO.java
java/nekurak.net-ejb/src/java/cz/frantovo/nekurak/ejb/PodnikEJB.java
java/nekurak.net-lib/src/cz/frantovo/nekurak/dto/Kategorie.java
java/nekurak.net-lib/src/cz/frantovo/nekurak/ejb/PodnikRemote.java
java/nekurak.net-lib/src/cz/frantovo/nekurak/preklady_cs.properties
java/nekurak.net-web/src/java/cz/frantovo/nekurak/web/Uvod.java
java/nekurak.net-web/web/WEB-INF/casti/uvod.jsp
java/nekurak.net-web/web/WEB-INF/tags/nekurak/podnikZahlavi.tag
     1.1 --- a/java/nekurak.net-ejb/src/java/cz/frantovo/nekurak/dao/PodnikDAO.java	Sat Jan 15 00:06:34 2011 +0100
     1.2 +++ b/java/nekurak.net-ejb/src/java/cz/frantovo/nekurak/dao/PodnikDAO.java	Sat Jan 15 00:57:45 2011 +0100
     1.3 @@ -1,5 +1,6 @@
     1.4  package cz.frantovo.nekurak.dao;
     1.5  
     1.6 +import cz.frantovo.nekurak.dto.Kategorie;
     1.7  import cz.frantovo.nekurak.dto.Komentar;
     1.8  import cz.frantovo.nekurak.dto.Podnik;
     1.9  import cz.frantovo.nekurak.dto.VysledekHlasovani;
    1.10 @@ -7,6 +8,7 @@
    1.11  import java.util.Collection;
    1.12  import java.util.Date;
    1.13  import java.util.List;
    1.14 +import java.util.Set;
    1.15  import javax.ejb.LocalBean;
    1.16  import javax.ejb.Stateless;
    1.17  import javax.persistence.EntityManager;
    1.18 @@ -31,7 +33,7 @@
    1.19  	}
    1.20  
    1.21  	public Collection<Podnik> getPodniky() {
    1.22 -		Query dotaz = em.createQuery("FROM " + DAO.t(Podnik.class) + " o ORDER BY datum DESC");
    1.23 +		Query dotaz = em.createQuery("FROM " + DAO.t(Podnik.class) + " p ORDER BY datum DESC");
    1.24  		return dotaz.getResultList();
    1.25  	}
    1.26  
    1.27 @@ -39,10 +41,21 @@
    1.28  	 * @return podniky, které nemají souřadnice (null, null)
    1.29  	 */
    1.30  	public Collection<Podnik> getPodnikyBezSouradnic() {
    1.31 -		Query dotaz = em.createQuery("FROM " + DAO.t(Podnik.class) + " o WHERE sirka IS NULL AND delka IS NULL");
    1.32 +		Query dotaz = em.createQuery("FROM " + DAO.t(Podnik.class) + " p WHERE sirka IS NULL AND delka IS NULL");
    1.33  		return dotaz.getResultList();
    1.34  	}
    1.35  
    1.36 +	/**
    1.37 +	 * @param kategorie jedna kategorie
    1.38 +	 * @return podniky určité kategorie
    1.39 +	 */
    1.40 +	public Collection<Podnik> getPodniky(Kategorie kategorie) {
    1.41 +		Query dotaz = em.createQuery("SELECT p FROM " + DAO.t(Podnik.class) + " p INNER JOIN p.kategorie k WHERE k = :kategorie ORDER BY datum DESC");
    1.42 +		dotaz.setParameter("kategorie", kategorie);
    1.43 +		return dotaz.getResultList();
    1.44 +	}
    1.45 +
    1.46 +
    1.47  	public Podnik getPodnik(int id) {
    1.48  		return em.find(Podnik.class, id);
    1.49  	}
     2.1 --- a/java/nekurak.net-ejb/src/java/cz/frantovo/nekurak/ejb/PodnikEJB.java	Sat Jan 15 00:06:34 2011 +0100
     2.2 +++ b/java/nekurak.net-ejb/src/java/cz/frantovo/nekurak/ejb/PodnikEJB.java	Sat Jan 15 00:57:45 2011 +0100
     2.3 @@ -1,6 +1,7 @@
     2.4  package cz.frantovo.nekurak.ejb;
     2.5  
     2.6  import cz.frantovo.nekurak.dao.PodnikDAO;
     2.7 +import cz.frantovo.nekurak.dto.Kategorie;
     2.8  import cz.frantovo.nekurak.dto.Komentar;
     2.9  import cz.frantovo.nekurak.dto.Podnik;
    2.10  import cz.frantovo.nekurak.dto.VysledekHlasovani;
    2.11 @@ -11,6 +12,8 @@
    2.12  import cz.frantovo.nekurak.vyjimky.KomentarovaVyjimka;
    2.13  import cz.frantovo.nekurak.vyjimky.TexyVyjimka;
    2.14  import java.util.Collection;
    2.15 +import java.util.HashSet;
    2.16 +import java.util.Set;
    2.17  import java.util.logging.Logger;
    2.18  import javax.annotation.Resource;
    2.19  import javax.annotation.security.RolesAllowed;
    2.20 @@ -36,6 +39,11 @@
    2.21  		return vysledek;
    2.22  	}
    2.23  
    2.24 +	public Collection<Podnik> getPodniky(Kategorie kategorie) {
    2.25 +		Collection<Podnik> vysledek = podnikDAO.getPodniky(kategorie);
    2.26 +		return vysledek;
    2.27 +	}
    2.28 +
    2.29  	public Podnik getPodnik(int id) {
    2.30  		return podnikDAO.getPodnik(id);
    2.31  	}
     3.1 --- a/java/nekurak.net-lib/src/cz/frantovo/nekurak/dto/Kategorie.java	Sat Jan 15 00:06:34 2011 +0100
     3.2 +++ b/java/nekurak.net-lib/src/cz/frantovo/nekurak/dto/Kategorie.java	Sat Jan 15 00:57:45 2011 +0100
     3.3 @@ -13,6 +13,13 @@
     3.4  
     3.5  	private int id;
     3.6  
     3.7 +	public Kategorie() {
     3.8 +	}
     3.9 +
    3.10 +	public Kategorie(int id) {
    3.11 +		this.id = id;
    3.12 +	}
    3.13 +
    3.14  	public int getId() {
    3.15  		return id;
    3.16  	}
     4.1 --- a/java/nekurak.net-lib/src/cz/frantovo/nekurak/ejb/PodnikRemote.java	Sat Jan 15 00:06:34 2011 +0100
     4.2 +++ b/java/nekurak.net-lib/src/cz/frantovo/nekurak/ejb/PodnikRemote.java	Sat Jan 15 00:57:45 2011 +0100
     4.3 @@ -1,5 +1,6 @@
     4.4  package cz.frantovo.nekurak.ejb;
     4.5  
     4.6 +import cz.frantovo.nekurak.dto.Kategorie;
     4.7  import cz.frantovo.nekurak.dto.Komentar;
     4.8  import cz.frantovo.nekurak.dto.Podnik;
     4.9  import cz.frantovo.nekurak.dto.VysledekHlasovani;
    4.10 @@ -17,6 +18,8 @@
    4.11  
    4.12  	public Collection<Podnik> getPodniky();
    4.13  
    4.14 +	public Collection<Podnik> getPodniky(Kategorie kategorie);
    4.15 +
    4.16  	public void zalozPodnik(Podnik p);
    4.17  
    4.18  	public void upravPodnik(Podnik p);
     5.1 --- a/java/nekurak.net-lib/src/cz/frantovo/nekurak/preklady_cs.properties	Sat Jan 15 00:06:34 2011 +0100
     5.2 +++ b/java/nekurak.net-lib/src/cz/frantovo/nekurak/preklady_cs.properties	Sat Jan 15 00:57:45 2011 +0100
     5.3 @@ -28,6 +28,7 @@
     5.4  chybovaStranka.500.popis=N\u011bco se bohu\u017eel nepovedlo.
     5.5  
     5.6  uvod.naposledyPridanePodniky=Naposledy p\u0159idan\u00e9 podniky
     5.7 +uvod.podnikyKategorie=Podniky z kategorie
     5.8  uvod.www=webov\u00e1 str\u00e1nka podniku
     5.9  uvod.adresa=Adresa
    5.10  
     6.1 --- a/java/nekurak.net-web/src/java/cz/frantovo/nekurak/web/Uvod.java	Sat Jan 15 00:06:34 2011 +0100
     6.2 +++ b/java/nekurak.net-web/src/java/cz/frantovo/nekurak/web/Uvod.java	Sat Jan 15 00:57:45 2011 +0100
     6.3 @@ -1,5 +1,6 @@
     6.4  package cz.frantovo.nekurak.web;
     6.5  
     6.6 +import cz.frantovo.nekurak.dto.Kategorie;
     6.7  import cz.frantovo.nekurak.dto.Podnik;
     6.8  import java.util.Collection;
     6.9  
    6.10 @@ -10,8 +11,21 @@
    6.11  public class Uvod {
    6.12  
    6.13  	private HledacSluzby hledac = new HledacSluzby();
    6.14 +	Integer kategorie = null;
    6.15 +
    6.16 +	public void setKategorie(Integer kategorie) {
    6.17 +		this.kategorie = kategorie;
    6.18 +	}
    6.19 +
    6.20 +	public Integer getKategorie() {
    6.21 +		return kategorie;
    6.22 +	}
    6.23  
    6.24  	public Collection<Podnik> getPodniky() {
    6.25 -		return hledac.getPodnikEJB().getPodniky();
    6.26 +		if (kategorie == null) {
    6.27 +			return hledac.getPodnikEJB().getPodniky();
    6.28 +		} else {
    6.29 +			return hledac.getPodnikEJB().getPodniky(new Kategorie(kategorie));
    6.30 +		}
    6.31  	}
    6.32  }
     7.1 --- a/java/nekurak.net-web/web/WEB-INF/casti/uvod.jsp	Sat Jan 15 00:06:34 2011 +0100
     7.2 +++ b/java/nekurak.net-web/web/WEB-INF/casti/uvod.jsp	Sat Jan 15 00:57:45 2011 +0100
     7.3 @@ -8,10 +8,22 @@
     7.4  		  version="2.0">
     7.5  
     7.6  	<jsp:useBean id="uvod" class="cz.frantovo.nekurak.web.Uvod" scope="request"/>
     7.7 +	<jsp:setProperty name="uvod" property="kategorie"/>
     7.8  
     7.9  	<nk:stranka>
    7.10  
    7.11 -		<p><fmt:message key="uvod.naposledyPridanePodniky"/>:</p>
    7.12 +		<p>
    7.13 +			<c:choose>
    7.14 +				<c:when test="${uvod.kategorie == null}">
    7.15 +					<fmt:message key="uvod.naposledyPridanePodniky"/>:		
    7.16 +				</c:when>
    7.17 +				<c:otherwise>
    7.18 +					<fmt:message key="uvod.podnikyKategorie"/>:
    7.19 +					<fmt:message key="dto.kategorie.${uvod.kategorie}.nazev"/>.
    7.20 +				</c:otherwise>
    7.21 +			</c:choose>
    7.22 +
    7.23 +		</p>
    7.24  
    7.25  		<c:forEach var="p" items="${uvod.podniky}">
    7.26  			<nk:podnikZahlavi podnik="${p}" detailPodniku="false"/>
     8.1 --- a/java/nekurak.net-web/web/WEB-INF/tags/nekurak/podnikZahlavi.tag	Sat Jan 15 00:06:34 2011 +0100
     8.2 +++ b/java/nekurak.net-web/web/WEB-INF/tags/nekurak/podnikZahlavi.tag	Sat Jan 15 00:57:45 2011 +0100
     8.3 @@ -42,7 +42,7 @@
     8.4  				<c:forEach var="k" items="${podnik.kategorie}">
     8.5  					<li class="normalni">
     8.6  						<fmt:message key="dto.kategorie.${k.id}.popis" var="popisKategorie"/>
     8.7 -						<a href="?akce=kategorie&amp;amp;id=${k.id}" title="${popisKategorie}">
     8.8 +						<a href="?kategorie=${k.id}" title="${popisKategorie}">
     8.9  							<fmt:message key="dto.kategorie.${k.id}.nazev"/>
    8.10  						</a>
    8.11  					</li>
    8.12 @@ -55,7 +55,7 @@
    8.13  				</c:choose>
    8.14  				<li class="${cssKurackost}">
    8.15  					<fmt:message key="dto.podnik.kurackost.${podnik.kurackost.id}.popis" var="popisKurackosti"/>
    8.16 -					<a href="?akce=kurackost&amp;amp;id=${podnik.kurackost.id}" title="${popisKurackosti}">
    8.17 +					<a href="?kurackost=${podnik.kurackost.id}" title="${popisKurackosti}">
    8.18  						<fmt:message key="dto.podnik.kurackost.${podnik.kurackost.id}.nazev"/>
    8.19  					</a>
    8.20  				</li>
    8.21 @@ -68,7 +68,7 @@
    8.22  				</c:choose>
    8.23  				<li class="${cssSpokojenost}">
    8.24  					<fmt:message key="dto.podnik.spokojenost.${spokojenost}.popis" var="popisSpokojenosti"/>
    8.25 -					<a href="?akce=spokojenost&amp;amp;id=${spokojenost}" title="${popisSpokojenosti}">
    8.26 +					<a href="#spokojenost_${spokojenost}" title="${popisSpokojenosti}">
    8.27  						<fmt:message key="dto.podnik.spokojenost.${spokojenost}.nazev"/>
    8.28  					</a>
    8.29  				</li>