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:27:48 2010 +0200 (2010-04-06)
changeset 92 12268fc31114
parent 90 0967d5e3b470
child 93 ac53dcce11a9
permissions -rw-r--r--
REST: načítání seznamu článků z EJB a DB.
     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 = new Clanek();
    45 	c.setId(id);
    46 	c.setNadpis("Nadpis článku");
    47 	c.setText("nějaký pěkný text");
    48 	return new ClanekXML(c);
    49     }
    50 
    51     /**
    52      * Vložíme nový článek
    53      * @return ID založeného článku
    54      */
    55     @POST
    56     @Consumes(MIME_XML)
    57     @Produces(MIME_TEXT)
    58     public int zaloz() {
    59 	return 0;
    60     }
    61 
    62     /** Aktualizujeme článek */
    63     @PUT
    64     @Consumes(MIME_XML)
    65     @Path("/{id}")
    66     public void uloz(@PathParam("id") int id) {
    67     }
    68 
    69     /** Smažeme článek */
    70     @DELETE
    71     @Path("/{id}")
    72     public void smaz(@PathParam("id") int id) {
    73     }
    74 }