# HG changeset patch # User František Kučera # Date 1270506468 -7200 # Node ID 12268fc31114952c3048934cbf91ebb1b7f14150 # Parent 936ad9853a30169149f590e9467b8767f0c6ddb9 REST: načítání seznamu článků z EJB a DB. diff -r 936ad9853a30 -r 12268fc31114 java/nekurak.net-lib/src/cz/frantovo/nekurak/web/HledacSluzby.java --- a/java/nekurak.net-lib/src/cz/frantovo/nekurak/web/HledacSluzby.java Tue Apr 06 00:09:59 2010 +0200 +++ b/java/nekurak.net-lib/src/cz/frantovo/nekurak/web/HledacSluzby.java Tue Apr 06 00:27:48 2010 +0200 @@ -1,5 +1,6 @@ package cz.frantovo.nekurak.web; +import cz.frantovo.nekurak.ejb.ClanekRemote; import cz.frantovo.nekurak.ejb.PodnikRemote; import cz.frantovo.nekurak.ejb.UzivatelRemote; import java.io.Serializable; @@ -17,8 +18,9 @@ private PodnikRemote podnikEJB; private UzivatelRemote uzivatelEJB; + private ClanekRemote clanekEJB; private static final Logger log = Logger.getLogger(HledacSluzby.class.getSimpleName()); - + public PodnikRemote getPodnikEJB() { if (podnikEJB == null) { try { @@ -44,4 +46,17 @@ } return uzivatelEJB; } + + public ClanekRemote getClanekEJB() { + if (clanekEJB == null) { + try { + Context c = new InitialContext(); + clanekEJB = (ClanekRemote) c.lookup("cz.frantovo.nekurak.ejb.ClanekRemote"); + } catch (NamingException e) { + log.log(Level.SEVERE, "Chyba při hledání ClanekRemote", e); + throw new RuntimeException(e); + } + } + return clanekEJB; + } } diff -r 936ad9853a30 -r 12268fc31114 java/nekurak.net-lib/src/cz/frantovo/nekurak/xml/ClanekXML.java --- a/java/nekurak.net-lib/src/cz/frantovo/nekurak/xml/ClanekXML.java Tue Apr 06 00:09:59 2010 +0200 +++ b/java/nekurak.net-lib/src/cz/frantovo/nekurak/xml/ClanekXML.java Tue Apr 06 00:27:48 2010 +0200 @@ -1,7 +1,6 @@ package cz.frantovo.nekurak.xml; import cz.frantovo.nekurak.dto.Clanek; -import javax.xml.bind.annotation.XmlAttribute; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; @@ -21,7 +20,7 @@ this.clanek = clanek; } - @XmlAttribute(name = "id", required = true) + @XmlElement public int getId() { return clanek.getId(); } diff -r 936ad9853a30 -r 12268fc31114 java/nekurak.net-rest/src/java/cz/frantovo/nekurak/rest/ClankyREST.java --- a/java/nekurak.net-rest/src/java/cz/frantovo/nekurak/rest/ClankyREST.java Tue Apr 06 00:09:59 2010 +0200 +++ b/java/nekurak.net-rest/src/java/cz/frantovo/nekurak/rest/ClankyREST.java Tue Apr 06 00:27:48 2010 +0200 @@ -1,7 +1,10 @@ package cz.frantovo.nekurak.rest; import cz.frantovo.nekurak.dto.Clanek; +import cz.frantovo.nekurak.web.HledacSluzby; import cz.frantovo.nekurak.xml.ClanekXML; +import java.util.ArrayList; +import java.util.Collection; import javax.ws.rs.Consumes; import javax.ws.rs.DELETE; import javax.ws.rs.GET; @@ -14,14 +17,23 @@ @Path("clanek") public class ClankyREST { - private static final String MIME_XML = "text/xml"; + private static final String MIME_XML = "application/xml"; + private static final String MIME_TEXT = "text/plain"; + private HledacSluzby hledac = new HledacSluzby(); /** Vypíšeme seznam všech článků v systému */ @GET @Path("/") - @Produces("text/plain") - public String getClanky() { - return "tady bude seznam"; + @Produces(MIME_XML) + public Collection seznam() { + Collection vysledek = new ArrayList(); + Collection clanky = hledac.getClanekEJB().getClanky(); + + for (Clanek c : clanky) { + vysledek.add(new ClanekXML(c)); + } + + return vysledek; } /** Získáme konkrétní článek */ @@ -42,7 +54,7 @@ */ @POST @Consumes(MIME_XML) - @Produces("text/plain") + @Produces(MIME_TEXT) public int zaloz() { return 0; }