Mercurial > lada > lada-server
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 } |