author | František Kučera <franta-hg@frantovo.cz> |
Tue Apr 27 11:15:36 2010 +0200 (2010-04-27) | |
changeset 105 | f9c0ce760189 |
parent 94 | ac4a5fc868eb |
child 110 | c2590a59a02a |
permissions | -rw-r--r-- |
franta-hg@86 | 1 |
package cz.frantovo.nekurak.rest; |
franta-hg@86 | 2 |
|
franta-hg@90 | 3 |
import cz.frantovo.nekurak.dto.Clanek; |
franta-hg@92 | 4 |
import cz.frantovo.nekurak.web.HledacSluzby; |
franta-hg@90 | 5 |
import cz.frantovo.nekurak.xml.ClanekXML; |
franta-hg@92 | 6 |
import java.util.ArrayList; |
franta-hg@92 | 7 |
import java.util.Collection; |
franta-hg@87 | 8 |
import javax.ws.rs.Consumes; |
franta-hg@89 | 9 |
import javax.ws.rs.DELETE; |
franta-hg@86 | 10 |
import javax.ws.rs.GET; |
franta-hg@89 | 11 |
import javax.ws.rs.POST; |
franta-hg@87 | 12 |
import javax.ws.rs.PUT; |
franta-hg@86 | 13 |
import javax.ws.rs.Path; |
franta-hg@88 | 14 |
import javax.ws.rs.PathParam; |
franta-hg@86 | 15 |
import javax.ws.rs.Produces; |
franta-hg@86 | 16 |
|
franta-hg@86 | 17 |
@Path("clanek") |
franta-hg@86 | 18 |
public class ClankyREST { |
franta-hg@86 | 19 |
|
franta-hg@96 | 20 |
private static final String MIME_XML = "text/xml"; |
franta-hg@92 | 21 |
private static final String MIME_TEXT = "text/plain"; |
franta-hg@92 | 22 |
private HledacSluzby hledac = new HledacSluzby(); |
franta-hg@87 | 23 |
|
franta-hg@89 | 24 |
/** Vypíšeme seznam všech článků v systému */ |
franta-hg@89 | 25 |
@GET |
franta-hg@89 | 26 |
@Path("/") |
franta-hg@92 | 27 |
@Produces(MIME_XML) |
franta-hg@92 | 28 |
public Collection<ClanekXML> seznam() { |
franta-hg@92 | 29 |
Collection<ClanekXML> vysledek = new ArrayList<ClanekXML>(); |
franta-hg@92 | 30 |
Collection<Clanek> clanky = hledac.getClanekEJB().getClanky(); |
franta-hg@92 | 31 |
|
franta-hg@92 | 32 |
for (Clanek c : clanky) { |
franta-hg@92 | 33 |
vysledek.add(new ClanekXML(c)); |
franta-hg@92 | 34 |
} |
franta-hg@92 | 35 |
|
franta-hg@92 | 36 |
return vysledek; |
franta-hg@89 | 37 |
} |
franta-hg@89 | 38 |
|
franta-hg@89 | 39 |
/** Získáme konkrétní článek */ |
franta-hg@86 | 40 |
@GET |
franta-hg@88 | 41 |
@Path("/{id}") |
franta-hg@90 | 42 |
@Produces(MIME_XML) |
franta-hg@90 | 43 |
public ClanekXML ziskej(@PathParam("id") int id) { |
franta-hg@93 | 44 |
Clanek c = hledac.getClanekEJB().getClanek(id); |
franta-hg@90 | 45 |
return new ClanekXML(c); |
franta-hg@87 | 46 |
} |
franta-hg@87 | 47 |
|
franta-hg@89 | 48 |
/** |
franta-hg@89 | 49 |
* Vložíme nový článek |
franta-hg@96 | 50 |
* @return ID založeného článku (návratový typ musí být String – ne int) |
franta-hg@89 | 51 |
*/ |
franta-hg@89 | 52 |
@POST |
franta-hg@89 | 53 |
@Consumes(MIME_XML) |
franta-hg@92 | 54 |
@Produces(MIME_TEXT) |
franta-hg@96 | 55 |
public String zaloz(ClanekXML xml) { |
franta-hg@96 | 56 |
int id = hledac.getClanekEJB().zalozClanek(xml.getClanek()); |
franta-hg@96 | 57 |
return id + "\n"; |
franta-hg@89 | 58 |
} |
franta-hg@89 | 59 |
|
franta-hg@89 | 60 |
/** Aktualizujeme článek */ |
franta-hg@87 | 61 |
@PUT |
franta-hg@89 | 62 |
@Consumes(MIME_XML) |
franta-hg@89 | 63 |
@Path("/{id}") |
franta-hg@96 | 64 |
public void uprav(@PathParam("id") int id, ClanekXML xml) { |
franta-hg@96 | 65 |
xml.setId(id); |
franta-hg@96 | 66 |
hledac.getClanekEJB().upravClanek(xml.getClanek()); |
franta-hg@89 | 67 |
} |
franta-hg@89 | 68 |
|
franta-hg@89 | 69 |
/** Smažeme článek */ |
franta-hg@89 | 70 |
@DELETE |
franta-hg@89 | 71 |
@Path("/{id}") |
franta-hg@89 | 72 |
public void smaz(@PathParam("id") int id) { |
franta-hg@94 | 73 |
Clanek c = new Clanek(); |
franta-hg@94 | 74 |
c.setId(id); |
franta-hg@94 | 75 |
hledac.getClanekEJB().smazClanek(c); |
franta-hg@86 | 76 |
} |
franta-hg@86 | 77 |
} |