U podniků se místo „www stránka“ bude zobrazovat doména daného webu.
authorFrantišek Kučera <franta-hg@frantovo.cz>
Sun Jan 09 01:05:59 2011 +0100 (2011-01-09)
changeset 1565f14ce03f518
parent 155 0a2943a82c82
child 157 15ead5a70fdd
U podniků se místo „www stránka“ bude zobrazovat doména daného webu.
java/nekurak.net-lib/src/cz/frantovo/nekurak/dto/Podnik.java
java/nekurak.net-lib/src/cz/frantovo/nekurak/preklady_cs.properties
java/nekurak.net-lib/src/cz/frantovo/nekurak/preklady_en.properties
java/nekurak.net-lib/src/cz/frantovo/nekurak/preklady_sk.properties
java/nekurak.net-lib/test/cz/frantovo/nekurak/dto/PodnikTest.java
java/nekurak.net-web/web/WEB-INF/casti/uvod.jsp
     1.1 --- a/java/nekurak.net-lib/src/cz/frantovo/nekurak/dto/Podnik.java	Sat Jan 08 21:51:54 2011 +0100
     1.2 +++ b/java/nekurak.net-lib/src/cz/frantovo/nekurak/dto/Podnik.java	Sun Jan 09 01:05:59 2011 +0100
     1.3 @@ -1,6 +1,7 @@
     1.4  package cz.frantovo.nekurak.dto;
     1.5  
     1.6  import java.io.Serializable;
     1.7 +import java.net.URL;
     1.8  import java.util.ArrayList;
     1.9  import java.util.Date;
    1.10  import java.util.HashSet;
    1.11 @@ -68,6 +69,29 @@
    1.12  		this.url = url;
    1.13  	}
    1.14  
    1.15 +	/**
    1.16 +	 * Získá z URL webové stránky podniku doménové jméno převedené na malá písmena.
    1.17 +	 * Např. z „http://www.example.com/index.html“ získá „www.example.com“.
    1.18 +	 * @return doménové jméno nebo null v případě chyby.
    1.19 +	 */
    1.20 +	public String getUrlDomena() {
    1.21 +		if (url == null) {
    1.22 +			return null;
    1.23 +		} else {
    1.24 +			try {
    1.25 +				URL u = new URL(url);
    1.26 +				String domena = u.getHost().toLowerCase();
    1.27 +				if (domena.length() > 0) {
    1.28 +					return domena;
    1.29 +				} else {
    1.30 +					return null;
    1.31 +				}
    1.32 +			} catch (Exception e) {
    1.33 +				return null;
    1.34 +			}
    1.35 +		}
    1.36 +	}
    1.37 +
    1.38  	public String getUlice() {
    1.39  		return ulice;
    1.40  	}
     2.1 --- a/java/nekurak.net-lib/src/cz/frantovo/nekurak/preklady_cs.properties	Sat Jan 08 21:51:54 2011 +0100
     2.2 +++ b/java/nekurak.net-lib/src/cz/frantovo/nekurak/preklady_cs.properties	Sun Jan 09 01:05:59 2011 +0100
     2.3 @@ -28,7 +28,7 @@
     2.4  chybovaStranka.500.popis=N\u011bco se bohu\u017eel nepovedlo.
     2.5  
     2.6  uvod.naposledyPridanePodniky=Naposledy p\u0159idan\u00e9 podniky
     2.7 -uvod.www=www str\u00e1nka
     2.8 +uvod.www=webov\u00e1 str\u00e1nka podniku
     2.9  uvod.adresa=Adresa
    2.10  
    2.11  
     3.1 --- a/java/nekurak.net-lib/src/cz/frantovo/nekurak/preklady_en.properties	Sat Jan 08 21:51:54 2011 +0100
     3.2 +++ b/java/nekurak.net-lib/src/cz/frantovo/nekurak/preklady_en.properties	Sun Jan 09 01:05:59 2011 +0100
     3.3 @@ -1,8 +1,8 @@
     3.4 -jazyk=angli\u010Dtina
     3.5 +jazyk=angli\u010dtina
     3.6  
     3.7 -nazev=Neku\u0159\u00E1k.net
     3.8 +nazev=Neku\u0159\u00e1k.net
     3.9  popis=Database of nonsmoking restaurants.
    3.10 -licence=\u00A9 2010 nekurak.net. License: Affero GPL.
    3.11 +licence=\u00a9 2010 nekurak.net. License: Affero GPL.
    3.12  
    3.13  uvod=Overview
    3.14  registrovatSe=New user
    3.15 @@ -24,7 +24,7 @@
    3.16  chybovaStranka.500.popis=Sorry, something went bad.
    3.17  
    3.18  uvod.naposledyPridanePodniky=Recently added places
    3.19 -uvod.www=web page
    3.20 +uvod.www=website of this place
    3.21  uvod.adresa=Address
    3.22  
    3.23  prihlaseni.odhlaseniUspesne=Logged out successfully.
    3.24 @@ -49,5 +49,5 @@
    3.25  dto.podnik.cisloPopisne.tip=street number
    3.26  dto.podnik.mesto=City
    3.27  
    3.28 -registrace.email.predmet=Welcome at Neku\u0159\u00E1k.net
    3.29 +registrace.email.predmet=Welcome at Neku\u0159\u00e1k.net
    3.30  registrace.email.text=It is pleasure for us to welcome new user: {0} \nYour nickname: {1}
    3.31 \ No newline at end of file
     4.1 --- a/java/nekurak.net-lib/src/cz/frantovo/nekurak/preklady_sk.properties	Sat Jan 08 21:51:54 2011 +0100
     4.2 +++ b/java/nekurak.net-lib/src/cz/frantovo/nekurak/preklady_sk.properties	Sun Jan 09 01:05:59 2011 +0100
     4.3 @@ -1,51 +1,51 @@
     4.4  jazyk=sloven\u0161tina
     4.5  
     4.6 -nazev=Neku\u0159\u00E1k.net
     4.7 -popis=Datab\u00E1ze neku\u0159\u00E1ck\u00FDch restaurac\u00ED.
     4.8 -licence=\u00A9 2010 nekurak.net. Licence: Affero GPL.
     4.9 +nazev=Neku\u0159\u00e1k.net
    4.10 +popis=Datab\u00e1ze neku\u0159\u00e1ck\u00fdch restaurac\u00ed.
    4.11 +licence=\u00a9 2010 nekurak.net. Licence: Affero GPL.
    4.12  
    4.13 -uvod=\u00DAvod
    4.14 +uvod=\u00davod
    4.15  registrovatSe=Registrovat sa
    4.16 -prihlasitSe=P\u0159ihl\u00E1sit sa
    4.17 -odhlasitSe=Odhl\u00E1sit sa
    4.18 +prihlasitSe=P\u0159ihl\u00e1sit sa
    4.19 +odhlasitSe=Odhl\u00e1sit sa
    4.20  pridatPodnik=P\u0159idat podnik
    4.21 -prihlasenyUzivatel=P\u0159ihl\u00E1\u0161en\u00FD u\u017Eivatel
    4.22 +prihlasenyUzivatel=P\u0159ihl\u00e1\u0161en\u00fd u\u017eivatel
    4.23  
    4.24 -prepinaniJazyku.cestina=\u010De\u0161tina
    4.25 -prepinaniJazyku.cestina.tip=p\u0159epnout na \u010De\u0161tinu
    4.26 +prepinaniJazyku.cestina=\u010de\u0161tina
    4.27 +prepinaniJazyku.cestina.tip=p\u0159epnout na \u010de\u0161tinu
    4.28  prepinaniJazyku.slovenstina=sloven\u0161tina
    4.29 -prepinaniJazyku.slovenstina.tip=str\u00E1nka ji\u017E je ve sloven\u0161tin\u011B
    4.30 -prepinaniJazyku.anglictina=angli\u010Dtina
    4.31 -prepinaniJazyku.anglictina.tip=p\u0159epnout na angli\u010Dtinu
    4.32 +prepinaniJazyku.slovenstina.tip=str\u00e1nka ji\u017e je ve sloven\u0161tin\u011b
    4.33 +prepinaniJazyku.anglictina=angli\u010dtina
    4.34 +prepinaniJazyku.anglictina.tip=p\u0159epnout na angli\u010dtinu
    4.35  
    4.36 -chybovaStranka.404.nazev=404 Str\u00E1nka nenalezena
    4.37 -chybovaStranka.404.popis=Takovou str\u00E1nku tu bohu\u017Eel nem\u00E1me.
    4.38 -chybovaStranka.500.nazev=500 Intern\u00ED chyba serveru
    4.39 -chybovaStranka.500.popis=N\u011Bco se bohu\u017Eel nepovedlo.
    4.40 +chybovaStranka.404.nazev=404 Str\u00e1nka nenalezena
    4.41 +chybovaStranka.404.popis=Takovou str\u00e1nku tu bohu\u017eel nem\u00e1me.
    4.42 +chybovaStranka.500.nazev=500 Intern\u00ed chyba serveru
    4.43 +chybovaStranka.500.popis=N\u011bco se bohu\u017eel nepovedlo.
    4.44  
    4.45 -uvod.naposledyPridanePodniky=Naposledy p\u0159idan\u00E9 podniky
    4.46 -uvod.www=www str\u00E1nka
    4.47 +uvod.naposledyPridanePodniky=Naposledy p\u0159idan\u00e9 podniky
    4.48 +uvod.www=webov\u00e1 str\u00e1nka podniku
    4.49  uvod.adresa=Adresa
    4.50  
    4.51  
    4.52 -prihlaseni.odhlaseniUspesne=Odhl\u00E1\u0161en\u00ED prob\u011Bhlo \u00FAsp\u011B\u0161n\u011B.
    4.53 -prihlaseni.nadpis=P\u0159ihl\u00E1\u0161en\u00ED
    4.54 -prihlaseni.zadejte=Zadejte jm\u00E9no a heslo.
    4.55 -prihlaseni.chyba=Nespr\u00E1vn\u00E9 jm\u00E9no nebo heslo, zkuste to pros\u00EDm znovu.
    4.56 -prihlaseni.jmeno=Jm\u00E9no
    4.57 +prihlaseni.odhlaseniUspesne=Odhl\u00e1\u0161en\u00ed prob\u011bhlo \u00fasp\u011b\u0161n\u011b.
    4.58 +prihlaseni.nadpis=P\u0159ihl\u00e1\u0161en\u00ed
    4.59 +prihlaseni.zadejte=Zadejte jm\u00e9no a heslo.
    4.60 +prihlaseni.chyba=Nespr\u00e1vn\u00e9 jm\u00e9no nebo heslo, zkuste to pros\u00edm znovu.
    4.61 +prihlaseni.jmeno=Jm\u00e9no
    4.62  prihlaseni.heslo=Heslo
    4.63 -prihlaseni.tlacitko=P\u0159ihl\u00E1sit se
    4.64 +prihlaseni.tlacitko=P\u0159ihl\u00e1sit se
    4.65  
    4.66 -pridatPodnik.nadpis=P\u0159id\u00E1n\u00ED nov\u00E9ho podniku
    4.67 -pridatPodnik.bylPridan=Podnik byl \u00FAsp\u011B\u0161n\u011B p\u0159id\u00E1n.
    4.68 +pridatPodnik.nadpis=P\u0159id\u00e1n\u00ed nov\u00e9ho podniku
    4.69 +pridatPodnik.bylPridan=Podnik byl \u00fasp\u011b\u0161n\u011b p\u0159id\u00e1n.
    4.70  pridatPodnik.tlacitko=P\u0159idat podnik
    4.71  
    4.72 -dto.podnik.nazev=N\u00E1zev
    4.73 +dto.podnik.nazev=N\u00e1zev
    4.74  dto.podnik.popis=Popis
    4.75  dto.podnik.url=URL
    4.76 -dto.podnik.url.tip=www str\u00E1nka
    4.77 +dto.podnik.url.tip=www str\u00e1nka
    4.78  dto.podnik.datum=Datum
    4.79  dto.podnik.ulice=Ulice
    4.80 -dto.podnik.cisloPopisne=\u010D.p.
    4.81 -dto.podnik.cisloPopisne.tip=\u010D\u00EDslo popisn\u00E9
    4.82 -dto.podnik.mesto=M\u011Bsto
    4.83 +dto.podnik.cisloPopisne=\u010d.p.
    4.84 +dto.podnik.cisloPopisne.tip=\u010d\u00edslo popisn\u00e9
    4.85 +dto.podnik.mesto=M\u011bsto
     5.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     5.2 +++ b/java/nekurak.net-lib/test/cz/frantovo/nekurak/dto/PodnikTest.java	Sun Jan 09 01:05:59 2011 +0100
     5.3 @@ -0,0 +1,29 @@
     5.4 +package cz.frantovo.nekurak.dto;
     5.5 +
     5.6 +import org.junit.Test;
     5.7 +import static org.junit.Assert.*;
     5.8 +
     5.9 +public class PodnikTest {
    5.10 +
    5.11 +	@Test
    5.12 +	public void testGetDomena() {
    5.13 +		zkontrolujDoménu("http://www.example.com/index.html", "www.example.com");
    5.14 +		zkontrolujDoménu("http://www.eXample.COM/index.html", "www.example.com");
    5.15 +		zkontrolujDoménu("https://paranoid.cz/index.html", "paranoid.cz");
    5.16 +		zkontrolujDoménu("http://frantovo.cz", "frantovo.cz");
    5.17 +		zkontrolujDoménu("ftp://ftp.frantovo.cz", "ftp.frantovo.cz");
    5.18 +		zkontrolujDoménu("http://čeština.frantovo.cz/xxx/ZZZ", "čeština.frantovo.cz");
    5.19 +		zkontrolujDoménu("example.com", null);
    5.20 +		zkontrolujDoménu("./soubor.txt", null);
    5.21 +		zkontrolujDoménu("file:///etc/passwd", null);
    5.22 +		zkontrolujDoménu("", null);
    5.23 +		zkontrolujDoménu(null, null);
    5.24 +	}
    5.25 +
    5.26 +	private void zkontrolujDoménu(String url, String očekávanáDoména) {
    5.27 +		Podnik p = new Podnik();
    5.28 +		p.setUrl(url);
    5.29 +		assertEquals(očekávanáDoména, p.getUrlDomena());
    5.30 +
    5.31 +	}
    5.32 +}
     6.1 --- a/java/nekurak.net-web/web/WEB-INF/casti/uvod.jsp	Sat Jan 08 21:51:54 2011 +0100
     6.2 +++ b/java/nekurak.net-web/web/WEB-INF/casti/uvod.jsp	Sun Jan 09 01:05:59 2011 +0100
     6.3 @@ -29,8 +29,14 @@
     6.4  						<c:out value="${p.cisloPopisne}"/><br/>
     6.5  						<c:out value="${p.mesto}"/>
     6.6  					</p>
     6.7 -					<c:if test="${p.url != null}">
     6.8 -						<p><a href="${fn:escapeXml(p.url)}"><fmt:message key="uvod.www"/></a></p>
     6.9 +					<c:set var="domena" value="${p.urlDomena}"/>
    6.10 +					<c:if test="${domena != null}">
    6.11 +						<p>
    6.12 +							<fmt:message key="uvod.www" var="titulekWwwStranka"/>
    6.13 +							<a href="${fn:escapeXml(p.url)}" title="${fn:escapeXml(titulekWwwStranka)}" class="ẃebPodniku">
    6.14 +								<c:out value="${domena}"/>
    6.15 +							</a>
    6.16 +						</p>
    6.17  					</c:if>
    6.18  
    6.19  					<!-- Kategorie podniku (hospoda, vinárna atd.) -->