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