REST: načítání seznamu článků z EJB a DB.
1.1 --- a/java/nekurak.net-lib/src/cz/frantovo/nekurak/web/HledacSluzby.java Tue Apr 06 00:09:59 2010 +0200
1.2 +++ b/java/nekurak.net-lib/src/cz/frantovo/nekurak/web/HledacSluzby.java Tue Apr 06 00:27:48 2010 +0200
1.3 @@ -1,5 +1,6 @@
1.4 package cz.frantovo.nekurak.web;
1.5
1.6 +import cz.frantovo.nekurak.ejb.ClanekRemote;
1.7 import cz.frantovo.nekurak.ejb.PodnikRemote;
1.8 import cz.frantovo.nekurak.ejb.UzivatelRemote;
1.9 import java.io.Serializable;
1.10 @@ -17,8 +18,9 @@
1.11
1.12 private PodnikRemote podnikEJB;
1.13 private UzivatelRemote uzivatelEJB;
1.14 + private ClanekRemote clanekEJB;
1.15 private static final Logger log = Logger.getLogger(HledacSluzby.class.getSimpleName());
1.16 -
1.17 +
1.18 public PodnikRemote getPodnikEJB() {
1.19 if (podnikEJB == null) {
1.20 try {
1.21 @@ -44,4 +46,17 @@
1.22 }
1.23 return uzivatelEJB;
1.24 }
1.25 +
1.26 + public ClanekRemote getClanekEJB() {
1.27 + if (clanekEJB == null) {
1.28 + try {
1.29 + Context c = new InitialContext();
1.30 + clanekEJB = (ClanekRemote) c.lookup("cz.frantovo.nekurak.ejb.ClanekRemote");
1.31 + } catch (NamingException e) {
1.32 + log.log(Level.SEVERE, "Chyba při hledání ClanekRemote", e);
1.33 + throw new RuntimeException(e);
1.34 + }
1.35 + }
1.36 + return clanekEJB;
1.37 + }
1.38 }
2.1 --- a/java/nekurak.net-lib/src/cz/frantovo/nekurak/xml/ClanekXML.java Tue Apr 06 00:09:59 2010 +0200
2.2 +++ b/java/nekurak.net-lib/src/cz/frantovo/nekurak/xml/ClanekXML.java Tue Apr 06 00:27:48 2010 +0200
2.3 @@ -1,7 +1,6 @@
2.4 package cz.frantovo.nekurak.xml;
2.5
2.6 import cz.frantovo.nekurak.dto.Clanek;
2.7 -import javax.xml.bind.annotation.XmlAttribute;
2.8 import javax.xml.bind.annotation.XmlElement;
2.9 import javax.xml.bind.annotation.XmlRootElement;
2.10
2.11 @@ -21,7 +20,7 @@
2.12 this.clanek = clanek;
2.13 }
2.14
2.15 - @XmlAttribute(name = "id", required = true)
2.16 + @XmlElement
2.17 public int getId() {
2.18 return clanek.getId();
2.19 }
3.1 --- a/java/nekurak.net-rest/src/java/cz/frantovo/nekurak/rest/ClankyREST.java Tue Apr 06 00:09:59 2010 +0200
3.2 +++ b/java/nekurak.net-rest/src/java/cz/frantovo/nekurak/rest/ClankyREST.java Tue Apr 06 00:27:48 2010 +0200
3.3 @@ -1,7 +1,10 @@
3.4 package cz.frantovo.nekurak.rest;
3.5
3.6 import cz.frantovo.nekurak.dto.Clanek;
3.7 +import cz.frantovo.nekurak.web.HledacSluzby;
3.8 import cz.frantovo.nekurak.xml.ClanekXML;
3.9 +import java.util.ArrayList;
3.10 +import java.util.Collection;
3.11 import javax.ws.rs.Consumes;
3.12 import javax.ws.rs.DELETE;
3.13 import javax.ws.rs.GET;
3.14 @@ -14,14 +17,23 @@
3.15 @Path("clanek")
3.16 public class ClankyREST {
3.17
3.18 - private static final String MIME_XML = "text/xml";
3.19 + private static final String MIME_XML = "application/xml";
3.20 + private static final String MIME_TEXT = "text/plain";
3.21 + private HledacSluzby hledac = new HledacSluzby();
3.22
3.23 /** Vypíšeme seznam všech článků v systému */
3.24 @GET
3.25 @Path("/")
3.26 - @Produces("text/plain")
3.27 - public String getClanky() {
3.28 - return "tady bude seznam";
3.29 + @Produces(MIME_XML)
3.30 + public Collection<ClanekXML> seznam() {
3.31 + Collection<ClanekXML> vysledek = new ArrayList<ClanekXML>();
3.32 + Collection<Clanek> clanky = hledac.getClanekEJB().getClanky();
3.33 +
3.34 + for (Clanek c : clanky) {
3.35 + vysledek.add(new ClanekXML(c));
3.36 + }
3.37 +
3.38 + return vysledek;
3.39 }
3.40
3.41 /** Získáme konkrétní článek */
3.42 @@ -42,7 +54,7 @@
3.43 */
3.44 @POST
3.45 @Consumes(MIME_XML)
3.46 - @Produces("text/plain")
3.47 + @Produces(MIME_TEXT)
3.48 public int zaloz() {
3.49 return 0;
3.50 }