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