# HG changeset patch # User František Kučera # Date 1276000920 -7200 # Node ID 4bd1e353c527cda797aef028ec4264a925d8ea4b # Parent 2acdbc74bc2472d0aef9d1b4aa498456fecb2355 Kontrola komentářů i na výstupu. diff -r 2acdbc74bc24 -r 4bd1e353c527 java/nekurak.net-ejb/src/java/cz/frantovo/nekurak/dao/PodnikDAO.java --- a/java/nekurak.net-ejb/src/java/cz/frantovo/nekurak/dao/PodnikDAO.java Tue Jun 08 13:29:13 2010 +0200 +++ b/java/nekurak.net-ejb/src/java/cz/frantovo/nekurak/dao/PodnikDAO.java Tue Jun 08 14:42:00 2010 +0200 @@ -1,5 +1,6 @@ package cz.frantovo.nekurak.dao; +import cz.frantovo.nekurak.dto.Komentar; import cz.frantovo.nekurak.dto.Podnik; import cz.frantovo.nekurak.dto.VysledekHlasovani; import cz.frantovo.superDAO.SuperDAO; @@ -62,6 +63,14 @@ em.merge(p); } + public void zaloz(Komentar k) { + if (k.getDatum() == null) { + k.setDatum(new Date()); + } + + em.persist(k); + } + /** * Zaznamená hlas uživatele, zda se v podniku má nebo nemá kouřit * @param podnik podnik o kterém se hlasuje diff -r 2acdbc74bc24 -r 4bd1e353c527 java/nekurak.net-ejb/src/java/cz/frantovo/nekurak/ejb/PodnikEJB.java --- a/java/nekurak.net-ejb/src/java/cz/frantovo/nekurak/ejb/PodnikEJB.java Tue Jun 08 13:29:13 2010 +0200 +++ b/java/nekurak.net-ejb/src/java/cz/frantovo/nekurak/ejb/PodnikEJB.java Tue Jun 08 14:42:00 2010 +0200 @@ -11,7 +11,6 @@ import cz.frantovo.nekurak.vyjimky.KomentarovaVyjimka; import cz.frantovo.nekurak.vyjimky.TexyVyjimka; import java.util.Collection; -import java.util.Date; import java.util.logging.Logger; import javax.annotation.Resource; import javax.annotation.security.RolesAllowed; @@ -85,7 +84,7 @@ @RolesAllowed("opravneny") public void komentuj(Komentar k) throws KomentarovaVyjimka, TexyVyjimka { k.setUzivatel(ctx.getCallerPrincipal().getName()); - k.setDatum(new Date()); + k.setDatum(null); /** Převedeme na XML */ switch (k.getTyp()) { @@ -107,6 +106,6 @@ /** TODO: Uložíme do databáze */ - log.severe("Komentář: " + k.getNadpis() + " | " + k.getKomentar() + " | " + k.getTyp()); + podnikDAO.zaloz(k); } } diff -r 2acdbc74bc24 -r 4bd1e353c527 java/nekurak.net-lib/src/cz/frantovo/nekurak/preklady_cs.properties --- a/java/nekurak.net-lib/src/cz/frantovo/nekurak/preklady_cs.properties Tue Jun 08 13:29:13 2010 +0200 +++ b/java/nekurak.net-lib/src/cz/frantovo/nekurak/preklady_cs.properties Tue Jun 08 14:42:00 2010 +0200 @@ -93,5 +93,7 @@ komentar.odeslat.chyba=Koment\u00E1\u0159 obsahuje nepovolen\u00E9 form\u00E1tov\u00E1n\u00ED. komentar.typ.prostyText=Prost\u00FD text komentar.typ.xhtml=XHTML form\u00E1tovan\u00FD text +komentar.typ.xhtml.povoleneZnacky=Povolen\u00E9 zna\u010Dky jsou: <p>odstavec</p>, <strong>tu\u010Dn\u011B</strong>, <em>kurz\u00EDva</em> a <br/>. komentar.typ.texy=Texy form\u00E1tovan\u00FD text +komentar.nejdeZobrazit=Tento koment\u00E1\u0159 bohu\u017Eel nelze z technick\u00FDch d\u016Fvod\u016F zobrazit. diff -r 2acdbc74bc24 -r 4bd1e353c527 java/nekurak.net-lib/src/cz/frantovo/nekurak/util/Komentare.java --- a/java/nekurak.net-lib/src/cz/frantovo/nekurak/util/Komentare.java Tue Jun 08 13:29:13 2010 +0200 +++ b/java/nekurak.net-lib/src/cz/frantovo/nekurak/util/Komentare.java Tue Jun 08 14:42:00 2010 +0200 @@ -46,13 +46,13 @@ } /** - * Přidá na konce řádků <br/> + * Převede konce řádků na <br/> * a celé zabalí do <p/> - * @param komentar - * @return + * @param komentar text se zalomenými řádky + * @return text s <br/> místo konců řádků */ private static String zalomRadky(String komentar) { - return "

" + komentar.replaceAll("\n", "
\n") + "

"; + return "

" + komentar.replaceAll("\n", "
") + "

"; } /** @@ -73,9 +73,9 @@ * @param komentar * @return jestli komentář odpovídá */ - public Document zkontroluj(String komentar) throws KomentarovaVyjimka { + public static Document zkontroluj(String komentar) throws KomentarovaVyjimka { try { - URL soubor = this.getClass().getClassLoader().getResource("cz/frantovo/nekurak/util/komentář.xsd"); + URL soubor = Komentare.class.getClassLoader().getResource("cz/frantovo/nekurak/util/komentář.xsd"); SchemaFactory tovarnaSchemat = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI); Schema schema = tovarnaSchemat.newSchema(soubor); diff -r 2acdbc74bc24 -r 4bd1e353c527 java/nekurak.net-lib/test/cz/frantovo/nekurak/util/KomentareTest.java --- a/java/nekurak.net-lib/test/cz/frantovo/nekurak/util/KomentareTest.java Tue Jun 08 13:29:13 2010 +0200 +++ b/java/nekurak.net-lib/test/cz/frantovo/nekurak/util/KomentareTest.java Tue Jun 08 14:42:00 2010 +0200 @@ -19,7 +19,7 @@ public void upravProstýTextObal() { String vystup = Komentare.upravProstyText("as\ndf"); vystup = Komentare.obal(vystup); - String pozadovanyVystup = "

as
\ndf

"; + String pozadovanyVystup = "

as
df

"; assertEquals(pozadovanyVystup, vystup); } diff -r 2acdbc74bc24 -r 4bd1e353c527 java/nekurak.net-web/src/java/cz/frantovo/nekurak/web/FunkceEL.java --- a/java/nekurak.net-web/src/java/cz/frantovo/nekurak/web/FunkceEL.java Tue Jun 08 13:29:13 2010 +0200 +++ b/java/nekurak.net-web/src/java/cz/frantovo/nekurak/web/FunkceEL.java Tue Jun 08 14:42:00 2010 +0200 @@ -2,6 +2,10 @@ import cz.frantovo.nekurak.dto.Podnik; import cz.frantovo.nekurak.servlet.Fotky; +import cz.frantovo.nekurak.util.Komentare; +import cz.frantovo.nekurak.vyjimky.KomentarovaVyjimka; +import java.util.logging.Level; +import java.util.logging.Logger; /** * Knihovna funkcí použitelná v EL @@ -20,4 +24,17 @@ public static boolean maFotky(Podnik p) { return !p.getFotky().isEmpty(); } + + /** + * @param komentar komentář včetně kořenové značky, XML jako text + * @return true, pokud vyhovuje XML schématu + */ + public static boolean zkontrolujKomentar(String komentar) { + try { + Komentare.zkontroluj(komentar); + return true; + } catch (KomentarovaVyjimka ex) { + return false; + } + } } diff -r 2acdbc74bc24 -r 4bd1e353c527 java/nekurak.net-web/web/WEB-INF/casti/odeslatKomentar.jsp --- a/java/nekurak.net-web/web/WEB-INF/casti/odeslatKomentar.jsp Tue Jun 08 13:29:13 2010 +0200 +++ b/java/nekurak.net-web/web/WEB-INF/casti/odeslatKomentar.jsp Tue Jun 08 14:42:00 2010 +0200 @@ -23,7 +23,7 @@ -

+

, .

diff -r 2acdbc74bc24 -r 4bd1e353c527 java/nekurak.net-web/web/WEB-INF/nekurakFunkce.tld --- a/java/nekurak.net-web/web/WEB-INF/nekurakFunkce.tld Tue Jun 08 13:29:13 2010 +0200 +++ b/java/nekurak.net-web/web/WEB-INF/nekurakFunkce.tld Tue Jun 08 14:42:00 2010 +0200 @@ -16,5 +16,11 @@ cz.frantovo.nekurak.web.FunkceEL boolean maFotky(cz.frantovo.nekurak.dto.Podnik) + + zkontrolujKomentar + Provede validaci komentáře oproti XML schématu + cz.frantovo.nekurak.web.FunkceEL + boolean zkontrolujKomentar(java.lang.String) + diff -r 2acdbc74bc24 -r 4bd1e353c527 java/nekurak.net-web/web/WEB-INF/tags/nekurak/komentareVypis.tag --- a/java/nekurak.net-web/web/WEB-INF/tags/nekurak/komentareVypis.tag Tue Jun 08 13:29:13 2010 +0200 +++ b/java/nekurak.net-web/web/WEB-INF/tags/nekurak/komentareVypis.tag Tue Jun 08 14:42:00 2010 +0200 @@ -25,21 +25,22 @@

@@ -50,11 +51,31 @@

: , -
- : + +
+ : +

+ + + + + + + + + +

+
+
+ + + diff -r 2acdbc74bc24 -r 4bd1e353c527 xml/komentář.xml --- a/xml/komentář.xml Tue Jun 08 13:29:13 2010 +0200 +++ b/xml/komentář.xml Tue Jun 08 14:42:00 2010 +0200 @@ -18,4 +18,5 @@

+ diff -r 2acdbc74bc24 -r 4bd1e353c527 xml/komentář.xsd --- a/xml/komentář.xsd Tue Jun 08 13:29:13 2010 +0200 +++ b/xml/komentář.xsd Tue Jun 08 14:42:00 2010 +0200 @@ -10,6 +10,7 @@ + @@ -17,4 +18,4 @@ - \ No newline at end of file +