annotate src/main/java/de/intevation/lada/rest/SDatenbasisService.java @ 47:c9cfb34983f0

New REST service for 'Datenbasis Stammdaten'.
author Raimund Renkert <rrenkert@intevation.de>
date Fri, 24 May 2013 11:55:41 +0200
parents
children 5abec5413d65
rev   line source
47
c9cfb34983f0 New REST service for 'Datenbasis Stammdaten'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
1 package de.intevation.lada.rest;
c9cfb34983f0 New REST service for 'Datenbasis Stammdaten'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
2
c9cfb34983f0 New REST service for 'Datenbasis Stammdaten'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
3 import java.util.List;
c9cfb34983f0 New REST service for 'Datenbasis Stammdaten'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
4 import java.util.logging.Logger;
c9cfb34983f0 New REST service for 'Datenbasis Stammdaten'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
5
c9cfb34983f0 New REST service for 'Datenbasis Stammdaten'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
6 import javax.faces.bean.RequestScoped;
c9cfb34983f0 New REST service for 'Datenbasis Stammdaten'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
7 import javax.inject.Inject;
c9cfb34983f0 New REST service for 'Datenbasis Stammdaten'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
8 import javax.inject.Named;
c9cfb34983f0 New REST service for 'Datenbasis Stammdaten'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
9 import javax.ws.rs.GET;
c9cfb34983f0 New REST service for 'Datenbasis Stammdaten'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
10 import javax.ws.rs.Path;
c9cfb34983f0 New REST service for 'Datenbasis Stammdaten'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
11 import javax.ws.rs.PathParam;
c9cfb34983f0 New REST service for 'Datenbasis Stammdaten'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
12 import javax.ws.rs.Produces;
c9cfb34983f0 New REST service for 'Datenbasis Stammdaten'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
13
c9cfb34983f0 New REST service for 'Datenbasis Stammdaten'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
14 import de.intevation.lada.data.Repository;
c9cfb34983f0 New REST service for 'Datenbasis Stammdaten'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
15 import de.intevation.lada.model.SDatenbasis;
c9cfb34983f0 New REST service for 'Datenbasis Stammdaten'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
16
c9cfb34983f0 New REST service for 'Datenbasis Stammdaten'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
17 /**
c9cfb34983f0 New REST service for 'Datenbasis Stammdaten'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
18 * This class produces a RESTful service to read the contents of SDatenbasis table.
c9cfb34983f0 New REST service for 'Datenbasis Stammdaten'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
19 *
c9cfb34983f0 New REST service for 'Datenbasis Stammdaten'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
20 * @author <a href="mailto:rrenkert@intevation.de">Raimund Renkert</a>
c9cfb34983f0 New REST service for 'Datenbasis Stammdaten'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
21 */
c9cfb34983f0 New REST service for 'Datenbasis Stammdaten'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
22 @Path("/datenbasis")
c9cfb34983f0 New REST service for 'Datenbasis Stammdaten'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
23 @RequestScoped
c9cfb34983f0 New REST service for 'Datenbasis Stammdaten'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
24 public class SDatenbasisService
c9cfb34983f0 New REST service for 'Datenbasis Stammdaten'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
25 {
c9cfb34983f0 New REST service for 'Datenbasis Stammdaten'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
26 /**
c9cfb34983f0 New REST service for 'Datenbasis Stammdaten'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
27 * The Repository for SDatenbasis.
c9cfb34983f0 New REST service for 'Datenbasis Stammdaten'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
28 */
c9cfb34983f0 New REST service for 'Datenbasis Stammdaten'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
29 @Inject @Named
c9cfb34983f0 New REST service for 'Datenbasis Stammdaten'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
30 private Repository repository;
c9cfb34983f0 New REST service for 'Datenbasis Stammdaten'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
31
c9cfb34983f0 New REST service for 'Datenbasis Stammdaten'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
32 /**
c9cfb34983f0 New REST service for 'Datenbasis Stammdaten'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
33 * The logger for this class
c9cfb34983f0 New REST service for 'Datenbasis Stammdaten'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
34 */
c9cfb34983f0 New REST service for 'Datenbasis Stammdaten'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
35 @Inject
c9cfb34983f0 New REST service for 'Datenbasis Stammdaten'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
36 private Logger logger;
c9cfb34983f0 New REST service for 'Datenbasis Stammdaten'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
37
c9cfb34983f0 New REST service for 'Datenbasis Stammdaten'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
38 /**
c9cfb34983f0 New REST service for 'Datenbasis Stammdaten'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
39 * Request all SDatenbasis objects.
c9cfb34983f0 New REST service for 'Datenbasis Stammdaten'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
40 *
c9cfb34983f0 New REST service for 'Datenbasis Stammdaten'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
41 * @return JSON Object via Rest service
c9cfb34983f0 New REST service for 'Datenbasis Stammdaten'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
42 */
c9cfb34983f0 New REST service for 'Datenbasis Stammdaten'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
43 @GET
c9cfb34983f0 New REST service for 'Datenbasis Stammdaten'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
44 @Produces("text/json")
c9cfb34983f0 New REST service for 'Datenbasis Stammdaten'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
45 public List<SDatenbasis> findAll() {
c9cfb34983f0 New REST service for 'Datenbasis Stammdaten'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
46 List<SDatenbasis> result = repository.findAll(SDatenbasis.class);
c9cfb34983f0 New REST service for 'Datenbasis Stammdaten'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
47 return result;
c9cfb34983f0 New REST service for 'Datenbasis Stammdaten'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
48 }
c9cfb34983f0 New REST service for 'Datenbasis Stammdaten'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
49
c9cfb34983f0 New REST service for 'Datenbasis Stammdaten'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
50 /**
c9cfb34983f0 New REST service for 'Datenbasis Stammdaten'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
51 * Request a single SDatenbasis via its id.
c9cfb34983f0 New REST service for 'Datenbasis Stammdaten'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
52 *
c9cfb34983f0 New REST service for 'Datenbasis Stammdaten'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
53 * @param id The mst_id
c9cfb34983f0 New REST service for 'Datenbasis Stammdaten'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
54 * @return JSON Object via REST service.
c9cfb34983f0 New REST service for 'Datenbasis Stammdaten'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
55 */
c9cfb34983f0 New REST service for 'Datenbasis Stammdaten'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
56 @GET
c9cfb34983f0 New REST service for 'Datenbasis Stammdaten'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
57 @Path("/{id}")
c9cfb34983f0 New REST service for 'Datenbasis Stammdaten'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
58 @Produces("text/json")
c9cfb34983f0 New REST service for 'Datenbasis Stammdaten'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
59 public SDatenbasis findById(@PathParam("id") String id) {
c9cfb34983f0 New REST service for 'Datenbasis Stammdaten'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
60 return repository.findById(SDatenbasis.class, id);
c9cfb34983f0 New REST service for 'Datenbasis Stammdaten'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
61 }
c9cfb34983f0 New REST service for 'Datenbasis Stammdaten'.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
62 }
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)