View Javadoc
1   package org.woehlke.jakartaee.petclinic.owner;
2   
3   import jakarta.ejb.EJB;
4   import jakarta.ejb.Stateless;
5   import jakarta.ws.rs.GET;
6   import jakarta.ws.rs.Path;
7   import jakarta.ws.rs.PathParam;
8   import jakarta.ws.rs.Produces;
9   import jakarta.ws.rs.core.MediaType;
10  import jakarta.xml.bind.JAXBException;
11  import lombok.extern.java.Log;
12  import org.woehlke.jakartaee.petclinic.owner.api.OwnerDto;
13  import org.woehlke.jakartaee.petclinic.owner.api.OwnerListDto;
14  import org.woehlke.jakartaee.petclinic.owner.db.OwnerService;
15  import org.woehlke.jakartaee.petclinic.owner.api.OwnerEndpointUtil;
16  import org.woehlke.jakartaee.petclinic.pet.Pet;
17  import org.woehlke.jakartaee.petclinic.pet.api.PetEndpointUtil;
18  
19  import java.io.Serializable;
20  import java.util.List;
21  
22  /**
23   *
24   */
25  @Log
26  @Path("/owner")
27  @Stateless
28  public class OwnerEndpoint implements Serializable {
29  
30      private static final long serialVersionUID = 532726561254887897L;
31  
32      @EJB
33      private OwnerService ownerService;
34  
35      @EJB
36      private OwnerEndpointUtil ownerEndpointUtil;
37  
38      @GET
39      @Path("/list")
40      @Produces(MediaType.APPLICATION_JSON)
41      public OwnerListDto getList() {
42          log.info("getList");
43          return ownerEndpointUtil.dtoListFactory(ownerService.getAll());
44      }
45  
46      @GET
47      @Path("/{id}")
48      @Produces(MediaType.APPLICATION_JSON)
49      public OwnerDto getEntity(@PathParam("id") Long id) {
50          log.info("getEntity");
51          Owner owner = ownerService.findById(id);
52          OwnerDto dto = ownerEndpointUtil.dtoFactory(owner);
53          return dto;
54      }
55  
56      @GET
57      @Path("/list+json")
58      @Produces(MediaType.APPLICATION_JSON)
59      public OwnerListDto getListAsJson() {
60          log.info("getList");
61          return ownerEndpointUtil.dtoListFactory(ownerService.getAll());
62      }
63  
64      @GET
65      @Path("/{id}+json")
66      @Produces(MediaType.APPLICATION_JSON)
67      public OwnerDto getEntityAsJson(@PathParam("id") Long id) {
68          log.info("getEntity");
69          return ownerEndpointUtil.dtoFactory(ownerService.findById(id));
70      }
71  
72      @GET
73      @Path("/list+xml")
74      @Produces(MediaType.APPLICATION_XML)
75      public OwnerListDto getListAsXml() throws JAXBException {
76          log.info("getListAsXml");
77          return ownerEndpointUtil.dtoListFactory(ownerService.getAll());
78      }
79  
80      @GET
81      @Path("/{id}+xml")
82      @Produces(MediaType.APPLICATION_XML)
83      public OwnerDto getEntityAsXml(@PathParam("id") Long id) throws JAXBException {
84          log.info("getEntityAsXml");
85          return ownerEndpointUtil.dtoFactory(ownerService.findById(id));
86      }
87  
88  }