Samples JDK
TicketsResource.java
1 package com.freemindcafe.apache.cxf.jaxrs.sample6;
2 
3 import java.util.ArrayList;
4 import java.util.HashMap;
5 import java.util.List;
6 import java.util.Map;
7 import java.util.stream.Collectors;
8 
9 import javax.ws.rs.GET;
10 import javax.ws.rs.Path;
11 import javax.ws.rs.PathParam;
12 import javax.ws.rs.Produces;
13 import javax.ws.rs.core.MediaType;
14 
15 import org.apache.commons.io.IOUtils;
16 
17 
18 public class TicketsResource {
19 
20  private Map<Long, Ticket> tickets = new HashMap<Long, Ticket>();
21 
22  public TicketsResource() throws Exception{
23  Ticket ticket1 = new Ticket();
24  Ticket ticket2 = new Ticket();
25 
26  ticket1.setId(1L);
27  ticket1.setAssignee("nikhil");
28  ticket1.setDescription("desc");
29  ticket1.setXml(IOUtils.toString(this.getClass().getResourceAsStream("ticket1.xml")));
30 
31  ticket2.setId(2L);
32  ticket2.setAssignee("subhash");
33  ticket2.setDescription("desc");
34  ticket2.setXml(IOUtils.toString(this.getClass().getResourceAsStream("ticket2.xml")));
35 
36  tickets.put(1L, ticket1);
37  tickets.put(2L, ticket2);
38 
39  }
40 
41 
42  @GET
43  @Path("/asContainer")
44  @Produces(MediaType.APPLICATION_JSON)
45  public TicketsContainer getTicketsAsContainer(){
47  tc.setTickets(tickets.values().stream().collect(Collectors.toList()));
48  return tc;
49  }
50 
51  @GET
52  @Path("/")
53  @Produces(MediaType.APPLICATION_JSON)
54  public List<Ticket> getTickets(){
55  return tickets.values().stream().collect(Collectors.toList());
56  }
57 
58  @GET
59  @Path("/{ticketId}")
60  public Ticket getTicket(@PathParam("ticketId") Long ticketId){
61  System.out.println(ticketId);
62  System.out.println(tickets.get(ticketId));
63  return tickets.get(ticketId);
64  }
65 
66  @GET
67  @Path("/{ticketId}/asXml")
68  @Produces(MediaType.APPLICATION_XML)
69  public Ticket getTicketAsXml(@PathParam("ticketId") Long ticketId){
70  System.out.println(ticketId);
71  System.out.println(tickets.get(ticketId));
72  return tickets.get(ticketId);
73  }
74 
75  @GET
76  @Path("/{ticketId}/asJson")
77  @Produces(MediaType.APPLICATION_JSON)
78  public Ticket getTicketAsJson(@PathParam("ticketId") Long ticketId){
79  System.out.println(ticketId);
80  System.out.println(tickets.get(ticketId));
81  return tickets.get(ticketId);
82  }
83 
84 
85  @GET
86  @Path("/{ticketId}/xml")
87  public String getTicketXml(@PathParam("ticketId") Long ticketId){
88  System.out.println(ticketId);
89  System.out.println(tickets.get(ticketId).getXml());
90  return tickets.get(ticketId).getXml();
91  }
92 
93  @GET
94  @Path("/{ticketId}/xml/asXml")
95  @Produces(MediaType.APPLICATION_XML)
96  public String getTicketXmlAsXml(@PathParam("ticketId") Long ticketId){
97  return tickets.get(ticketId).getXml();
98  }
99 
100  @GET
101  @Path("/{ticketId}/xml/asJson")
102  @Produces(MediaType.APPLICATION_JSON)
103  public String getTicketXmlAsJson(@PathParam("ticketId") Long ticketId){
104  return tickets.get(ticketId).getXml();
105  }
106 
107 }