Mercurial > lada > lada-server
annotate src/main/java/de/intevation/rest/LProbeRESTService.java @ 18:8e68113716ad
Added first working version of the standalone configuration file with a
configured postgres datasource.
author | Torsten Irländer <torsten.irlaender@intevation.de> |
---|---|
date | Fri, 26 Apr 2013 13:15:08 +0200 |
parents | 4ed66a87c0c4 |
children | 7a9e22e7e8af |
rev | line source |
---|---|
8
1016bcc08bb3
Added stub for REST service for Proben
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
1 package de.intevation.rest; |
1016bcc08bb3
Added stub for REST service for Proben
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
2 |
15
624611a29348
Provide GET method to load a list of proben.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
8
diff
changeset
|
3 import java.util.List; |
17
4ed66a87c0c4
Added missing import.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
15
diff
changeset
|
4 import java.util.logging.Logger; |
15
624611a29348
Provide GET method to load a list of proben.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
8
diff
changeset
|
5 |
8
1016bcc08bb3
Added stub for REST service for Proben
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
6 import javax.enterprise.context.RequestScoped; |
1016bcc08bb3
Added stub for REST service for Proben
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
7 import javax.inject.Inject; |
1016bcc08bb3
Added stub for REST service for Proben
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
8 import javax.ws.rs.GET; |
1016bcc08bb3
Added stub for REST service for Proben
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
9 import javax.ws.rs.Path; |
1016bcc08bb3
Added stub for REST service for Proben
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
10 import javax.ws.rs.Produces; |
1016bcc08bb3
Added stub for REST service for Proben
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
11 |
15
624611a29348
Provide GET method to load a list of proben.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
8
diff
changeset
|
12 import de.intevation.data.LProbeRepository; |
624611a29348
Provide GET method to load a list of proben.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
8
diff
changeset
|
13 import de.intevation.model.LProbe; |
624611a29348
Provide GET method to load a list of proben.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
8
diff
changeset
|
14 |
8
1016bcc08bb3
Added stub for REST service for Proben
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
15 /** |
1016bcc08bb3
Added stub for REST service for Proben
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
16 * JAX-RS Example |
1016bcc08bb3
Added stub for REST service for Proben
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
17 * |
1016bcc08bb3
Added stub for REST service for Proben
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
18 * This class produces a RESTful service to read the contents of the members table. |
1016bcc08bb3
Added stub for REST service for Proben
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
19 */ |
1016bcc08bb3
Added stub for REST service for Proben
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
20 |
1016bcc08bb3
Added stub for REST service for Proben
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
21 @Path("/proben") |
1016bcc08bb3
Added stub for REST service for Proben
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
22 @RequestScoped |
1016bcc08bb3
Added stub for REST service for Proben
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
23 public class LProbeRESTService { |
1016bcc08bb3
Added stub for REST service for Proben
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
24 |
15
624611a29348
Provide GET method to load a list of proben.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
8
diff
changeset
|
25 @Inject |
624611a29348
Provide GET method to load a list of proben.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
8
diff
changeset
|
26 private LProbeRepository repository; |
624611a29348
Provide GET method to load a list of proben.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
8
diff
changeset
|
27 |
624611a29348
Provide GET method to load a list of proben.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
8
diff
changeset
|
28 @Inject |
624611a29348
Provide GET method to load a list of proben.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
8
diff
changeset
|
29 private Logger log; |
8
1016bcc08bb3
Added stub for REST service for Proben
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
30 |
1016bcc08bb3
Added stub for REST service for Proben
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
31 @GET |
1016bcc08bb3
Added stub for REST service for Proben
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
32 @Produces("text/plain") |
1016bcc08bb3
Added stub for REST service for Proben
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
33 public String listAllMembers() { |
15
624611a29348
Provide GET method to load a list of proben.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
8
diff
changeset
|
34 final List<LProbe> result = repository.findAll(); |
624611a29348
Provide GET method to load a list of proben.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
8
diff
changeset
|
35 System.out.println(result); |
8
1016bcc08bb3
Added stub for REST service for Proben
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
36 return "Probenliste"; |
1016bcc08bb3
Added stub for REST service for Proben
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
37 } |
1016bcc08bb3
Added stub for REST service for Proben
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
38 |
1016bcc08bb3
Added stub for REST service for Proben
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
39 @GET |
1016bcc08bb3
Added stub for REST service for Proben
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
40 @Path("/{id:[0-9][0-9]*}") |
1016bcc08bb3
Added stub for REST service for Proben
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
41 @Produces("text/plain") |
1016bcc08bb3
Added stub for REST service for Proben
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
42 public String loadById() { |
1016bcc08bb3
Added stub for REST service for Proben
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
43 return "Eine Probe!"; |
1016bcc08bb3
Added stub for REST service for Proben
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
44 } |
1016bcc08bb3
Added stub for REST service for Proben
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
45 |
1016bcc08bb3
Added stub for REST service for Proben
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
46 //@GET |
1016bcc08bb3
Added stub for REST service for Proben
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
47 //@Produces("text/xml") |
1016bcc08bb3
Added stub for REST service for Proben
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
48 //public List<Member> listAllMembers() { |
15
624611a29348
Provide GET method to load a list of proben.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
8
diff
changeset
|
49 // // Us @SupressWarnings to force IDE to ignore warnings about "genericizing" the results of |
8
1016bcc08bb3
Added stub for REST service for Proben
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
50 // // this query |
1016bcc08bb3
Added stub for REST service for Proben
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
51 // @SuppressWarnings("unchecked") |
1016bcc08bb3
Added stub for REST service for Proben
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
52 // // We recommend centralizing inline queries such as this one into @NamedQuery annotations on |
1016bcc08bb3
Added stub for REST service for Proben
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
53 // // the @Entity class |
1016bcc08bb3
Added stub for REST service for Proben
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
54 // // as described in the named query blueprint: |
1016bcc08bb3
Added stub for REST service for Proben
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
55 // // https://blueprints.dev.java.net/bpcatalog/ee5/persistence/namedquery.html |
1016bcc08bb3
Added stub for REST service for Proben
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
56 // final List<Member> results = em.createQuery("select m from Member m order by m.name").getResultList(); |
1016bcc08bb3
Added stub for REST service for Proben
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
57 // return results; |
1016bcc08bb3
Added stub for REST service for Proben
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
58 //} |
1016bcc08bb3
Added stub for REST service for Proben
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
59 |
1016bcc08bb3
Added stub for REST service for Proben
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
60 //@GET |
1016bcc08bb3
Added stub for REST service for Proben
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
61 //@Path("/{id:[0-9][0-9]*}") |
1016bcc08bb3
Added stub for REST service for Proben
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
62 //@Produces("text/xml") |
1016bcc08bb3
Added stub for REST service for Proben
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
63 //public Member lookupMemberById(@PathParam("id") long id) { |
1016bcc08bb3
Added stub for REST service for Proben
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
64 // return em.find(Member.class, id); |
1016bcc08bb3
Added stub for REST service for Proben
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
65 //} |
1016bcc08bb3
Added stub for REST service for Proben
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
66 } |