REST: fungují všechny metody. 11. díl
authorFrantišek Kučera <franta-hg@frantovo.cz>
Tue, 06 Apr 2010 02:38:47 +0200
changeset 969f6225d83611
parent 95 ec671fc8fb9c
child 97 8fce6d532576
REST: fungují všechny metody.
java/nekurak.net-ejb/src/java/cz/frantovo/nekurak/dao/ClanekDAO.java
java/nekurak.net-ejb/src/java/cz/frantovo/nekurak/ejb/ClanekEJB.java
java/nekurak.net-lib/src/cz/frantovo/nekurak/ejb/ClanekRemote.java
java/nekurak.net-lib/src/cz/frantovo/nekurak/xml/ClanekXML.java
java/nekurak.net-rest/src/java/cz/frantovo/nekurak/rest/ClankyREST.java
     1.1 --- a/java/nekurak.net-ejb/src/java/cz/frantovo/nekurak/dao/ClanekDAO.java	Tue Apr 06 01:02:49 2010 +0200
     1.2 +++ b/java/nekurak.net-ejb/src/java/cz/frantovo/nekurak/dao/ClanekDAO.java	Tue Apr 06 02:38:47 2010 +0200
     1.3 @@ -4,7 +4,6 @@
     1.4  import java.util.Collection;
     1.5  import javax.ejb.LocalBean;
     1.6  import javax.ejb.Stateless;
     1.7 -import javax.jms.Session;
     1.8  import javax.persistence.EntityManager;
     1.9  import javax.persistence.PersistenceContext;
    1.10  import javax.persistence.Query;
    1.11 @@ -29,11 +28,13 @@
    1.12  	return dotaz.getResultList();
    1.13      }
    1.14  
    1.15 -    public void zalozClanek(Clanek clanek) {
    1.16 +    public int zalozClanek(Clanek clanek) {
    1.17  	em.persist(clanek);
    1.18 +	return clanek.getId();
    1.19      }
    1.20  
    1.21      public void upravClanek(Clanek clanek) {
    1.22 +	System.out.println("XXXXXXX: upravuji článek: " + clanek.getId());
    1.23  	em.merge(clanek);
    1.24      }
    1.25  
     2.1 --- a/java/nekurak.net-ejb/src/java/cz/frantovo/nekurak/ejb/ClanekEJB.java	Tue Apr 06 01:02:49 2010 +0200
     2.2 +++ b/java/nekurak.net-ejb/src/java/cz/frantovo/nekurak/ejb/ClanekEJB.java	Tue Apr 06 02:38:47 2010 +0200
     2.3 @@ -26,8 +26,8 @@
     2.4      }
     2.5  
     2.6      @RolesAllowed("redaktor")
     2.7 -    public void zalozClanek(Clanek clanek) {
     2.8 -	clanekDAO.zalozClanek(clanek);
     2.9 +    public int zalozClanek(Clanek clanek) {
    2.10 +	return clanekDAO.zalozClanek(clanek);
    2.11      }
    2.12  
    2.13      @RolesAllowed("redaktor")
     3.1 --- a/java/nekurak.net-lib/src/cz/frantovo/nekurak/ejb/ClanekRemote.java	Tue Apr 06 01:02:49 2010 +0200
     3.2 +++ b/java/nekurak.net-lib/src/cz/frantovo/nekurak/ejb/ClanekRemote.java	Tue Apr 06 02:38:47 2010 +0200
     3.3 @@ -13,7 +13,7 @@
     3.4  
     3.5      public Clanek getClanek(int id);
     3.6  
     3.7 -    public void zalozClanek(Clanek clanek);
     3.8 +    public int zalozClanek(Clanek clanek);
     3.9  
    3.10      public void upravClanek(Clanek clanek);
    3.11  
     4.1 --- a/java/nekurak.net-lib/src/cz/frantovo/nekurak/xml/ClanekXML.java	Tue Apr 06 01:02:49 2010 +0200
     4.2 +++ b/java/nekurak.net-lib/src/cz/frantovo/nekurak/xml/ClanekXML.java	Tue Apr 06 02:38:47 2010 +0200
     4.3 @@ -14,6 +14,7 @@
     4.4      private Clanek clanek;
     4.5  
     4.6      public ClanekXML() {
     4.7 +	clanek = new Clanek();
     4.8      }
     4.9  
    4.10      public ClanekXML(Clanek clanek) {
    4.11 @@ -46,4 +47,9 @@
    4.12      public void setText(String text) {
    4.13  	clanek.setText(text);
    4.14      }
    4.15 +
    4.16 +    public Clanek getClanek() {
    4.17 +	return clanek;
    4.18 +    }
    4.19 +
    4.20  }
     5.1 --- a/java/nekurak.net-rest/src/java/cz/frantovo/nekurak/rest/ClankyREST.java	Tue Apr 06 01:02:49 2010 +0200
     5.2 +++ b/java/nekurak.net-rest/src/java/cz/frantovo/nekurak/rest/ClankyREST.java	Tue Apr 06 02:38:47 2010 +0200
     5.3 @@ -17,7 +17,7 @@
     5.4  @Path("clanek")
     5.5  public class ClankyREST {
     5.6  
     5.7 -    private static final String MIME_XML = "application/xml";
     5.8 +    private static final String MIME_XML = "text/xml";
     5.9      private static final String MIME_TEXT = "text/plain";
    5.10      private HledacSluzby hledac = new HledacSluzby();
    5.11  
    5.12 @@ -47,20 +47,23 @@
    5.13  
    5.14      /**
    5.15       * Vložíme nový článek
    5.16 -     * @return ID založeného článku
    5.17 +     * @return ID založeného článku (návratový typ musí být String – ne int)
    5.18       */
    5.19      @POST
    5.20      @Consumes(MIME_XML)
    5.21      @Produces(MIME_TEXT)
    5.22 -    public int zaloz() {
    5.23 -	return 0;
    5.24 +    public String zaloz(ClanekXML xml) {
    5.25 +	int id = hledac.getClanekEJB().zalozClanek(xml.getClanek());
    5.26 +	return id + "\n";
    5.27      }
    5.28  
    5.29      /** Aktualizujeme článek */
    5.30      @PUT
    5.31      @Consumes(MIME_XML)
    5.32      @Path("/{id}")
    5.33 -    public void uloz(@PathParam("id") int id) {
    5.34 +    public void uprav(@PathParam("id") int id, ClanekXML xml) {
    5.35 +	xml.setId(id);
    5.36 +	hledac.getClanekEJB().upravClanek(xml.getClanek());
    5.37      }
    5.38  
    5.39      /** Smažeme článek */