annotate src/main/java/de/intevation/lada/rest/LKommentarService.java @ 56:9f3e902ce778

Added new entity, repository and service for 'LKommentarP'.
author Raimund Renkert <rrenkert@intevation.de>
date Mon, 27 May 2013 15:23:41 +0200
parents
children f2c4d8a5f0d6
rev   line source
56
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
1 package de.intevation.lada.rest;
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
2
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
3 import java.util.ArrayList;
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
4 import java.util.List;
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
5 import java.util.logging.Level;
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
6 import java.util.logging.Logger;
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
7
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
8 import javax.enterprise.context.RequestScoped;
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
9 import javax.inject.Inject;
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
10 import javax.inject.Named;
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
11 import javax.ws.rs.Consumes;
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
12 import javax.ws.rs.GET;
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
13 import javax.ws.rs.POST;
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
14 import javax.ws.rs.Path;
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
15 import javax.ws.rs.PathParam;
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
16 import javax.ws.rs.Produces;
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
17 import javax.ws.rs.core.Context;
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
18 import javax.ws.rs.core.MultivaluedMap;
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
19 import javax.ws.rs.core.UriInfo;
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
20
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
21 import de.intevation.lada.data.LKommentarPRepository;
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
22 import de.intevation.lada.model.LKommentarP;
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
23
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
24 /**
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
25 * This class produces a RESTful service to read the contents of LKommentarP table.
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
26 *
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
27 * @author <a href="mailto:rrenkert@intevation.de">Raimund Renkert</a>
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
28 */
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
29 @Path("/kommentar")
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
30 @RequestScoped
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
31 public class LKommentarService
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
32 {
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
33 /**
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
34 * The Repository.
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
35 */
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
36 @Inject @Named("lkommentarRepository")
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
37 private LKommentarPRepository repository;
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
38
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
39 /**
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
40 * The logger for this class
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
41 */
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
42 @Inject
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
43 private Logger logger;
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
44
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
45 /**
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
46 * Request a single SKommentarP via its id.
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
47 *
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
48 * @param id The mst_id
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
49 * @return JSON Object via REST service.
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
50 */
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
51 @GET
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
52 @Path("/{id}")
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
53 @Produces("text/json")
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
54 public LKommentarP findById(@PathParam("id") String id) {
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
55 return repository.findById(LKommentarP.class, id);
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
56 }
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
57
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
58 /**
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
59 * Request a list of LKommentarP objects filtered by LProbe id.
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
60 *
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
61 * @param info The query parameters
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
62 * @return JSON object via REST service.
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
63 */
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
64 @GET
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
65 @Produces("text/json")
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
66 public List<LKommentarP> filter(@Context UriInfo info) {
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
67 MultivaluedMap<String, String> params = info.getQueryParameters();
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
68 if (params.isEmpty()) {
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
69 return new ArrayList<LKommentarP>(0);
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
70 }
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
71 if (params.containsKey("probe")) {
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
72 String probe = params.getFirst("probe");
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
73 return repository.filter(probe);
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
74 }
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
75 else {
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
76 return new ArrayList<LKommentarP>(0);
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
77 }
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
78 }
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
79
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
80 @POST
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
81 @Path("/create")
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
82 @Consumes("application/json")
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
83 public String create(LKommentarP kommentar) {
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
84 String response = repository.create(kommentar);
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
85 if (response.isEmpty()) {
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
86 return "[{success: true}]";
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
87 }
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
88 else {
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
89 return "[{success: false," +
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
90 " error: " + response + "}]";
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
91 }
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
92 }
9f3e902ce778 Added new entity, repository and service for 'LKommentarP'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
93 }
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)