Mercurial > lada > lada-server
annotate src/main/java/de/intevation/lada/rest/LProbeService.java @ 182:a2e04ab2cd44
Use the new filter and query builder and have authentication for LProbeInfo objects.
author | Raimund Renkert <rrenkert@intevation.de> |
---|---|
date | Thu, 27 Jun 2013 15:03:18 +0200 |
parents | 1613ab50d6d0 |
children | bc8e6d6f5eb1 |
rev | line source |
---|---|
29
c5930d01e0ab
Package renaming and code cosmetics.
Raimund Renkert <rrenkert@intevation.de>
parents:
24
diff
changeset
|
1 package de.intevation.lada.rest; |
8
1016bcc08bb3
Added stub for REST service for Proben
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
2 |
182
a2e04ab2cd44
Use the new filter and query builder and have authentication for LProbeInfo objects.
Raimund Renkert <rrenkert@intevation.de>
parents:
169
diff
changeset
|
3 import java.util.ArrayList; |
131
4e181a4aaab0
Refactored the entity repositories.
Raimund Renkert <rrenkert@intevation.de>
parents:
107
diff
changeset
|
4 import java.util.HashMap; |
182
a2e04ab2cd44
Use the new filter and query builder and have authentication for LProbeInfo objects.
Raimund Renkert <rrenkert@intevation.de>
parents:
169
diff
changeset
|
5 import java.util.List; |
66
54ff6ded05b2
New service to create a LProbe.
Raimund Renkert <rrenkert@intevation.de>
parents:
62
diff
changeset
|
6 import java.util.Map; |
17
4ed66a87c0c4
Added missing import.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
15
diff
changeset
|
7 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
|
8 |
182
a2e04ab2cd44
Use the new filter and query builder and have authentication for LProbeInfo objects.
Raimund Renkert <rrenkert@intevation.de>
parents:
169
diff
changeset
|
9 import javax.annotation.Resource; |
8
1016bcc08bb3
Added stub for REST service for Proben
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
10 import javax.enterprise.context.RequestScoped; |
1016bcc08bb3
Added stub for REST service for Proben
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
11 import javax.inject.Inject; |
131
4e181a4aaab0
Refactored the entity repositories.
Raimund Renkert <rrenkert@intevation.de>
parents:
107
diff
changeset
|
12 import javax.inject.Named; |
66
54ff6ded05b2
New service to create a LProbe.
Raimund Renkert <rrenkert@intevation.de>
parents:
62
diff
changeset
|
13 import javax.ws.rs.Consumes; |
8
1016bcc08bb3
Added stub for REST service for Proben
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
14 import javax.ws.rs.GET; |
182
a2e04ab2cd44
Use the new filter and query builder and have authentication for LProbeInfo objects.
Raimund Renkert <rrenkert@intevation.de>
parents:
169
diff
changeset
|
15 import javax.ws.rs.HeaderParam; |
66
54ff6ded05b2
New service to create a LProbe.
Raimund Renkert <rrenkert@intevation.de>
parents:
62
diff
changeset
|
16 import javax.ws.rs.POST; |
73
354deea8e738
Fixed generating return value for Create and Update.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
70
diff
changeset
|
17 import javax.ws.rs.PUT; |
8
1016bcc08bb3
Added stub for REST service for Proben
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
18 import javax.ws.rs.Path; |
35
f425150ea2b5
New filter option in LProbe GET request.
Raimund Renkert <rrenkert@intevation.de>
parents:
29
diff
changeset
|
19 import javax.ws.rs.PathParam; |
8
1016bcc08bb3
Added stub for REST service for Proben
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
20 import javax.ws.rs.Produces; |
35
f425150ea2b5
New filter option in LProbe GET request.
Raimund Renkert <rrenkert@intevation.de>
parents:
29
diff
changeset
|
21 import javax.ws.rs.core.Context; |
182
a2e04ab2cd44
Use the new filter and query builder and have authentication for LProbeInfo objects.
Raimund Renkert <rrenkert@intevation.de>
parents:
169
diff
changeset
|
22 import javax.ws.rs.core.HttpHeaders; |
35
f425150ea2b5
New filter option in LProbe GET request.
Raimund Renkert <rrenkert@intevation.de>
parents:
29
diff
changeset
|
23 import javax.ws.rs.core.MultivaluedMap; |
f425150ea2b5
New filter option in LProbe GET request.
Raimund Renkert <rrenkert@intevation.de>
parents:
29
diff
changeset
|
24 import javax.ws.rs.core.UriInfo; |
182
a2e04ab2cd44
Use the new filter and query builder and have authentication for LProbeInfo objects.
Raimund Renkert <rrenkert@intevation.de>
parents:
169
diff
changeset
|
25 import javax.xml.ws.WebServiceContext; |
a2e04ab2cd44
Use the new filter and query builder and have authentication for LProbeInfo objects.
Raimund Renkert <rrenkert@intevation.de>
parents:
169
diff
changeset
|
26 import javax.xml.ws.handler.MessageContext; |
8
1016bcc08bb3
Added stub for REST service for Proben
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
27 |
182
a2e04ab2cd44
Use the new filter and query builder and have authentication for LProbeInfo objects.
Raimund Renkert <rrenkert@intevation.de>
parents:
169
diff
changeset
|
28 import de.intevation.lada.authentication.Authentication; |
a2e04ab2cd44
Use the new filter and query builder and have authentication for LProbeInfo objects.
Raimund Renkert <rrenkert@intevation.de>
parents:
169
diff
changeset
|
29 import de.intevation.lada.authentication.AuthenticationException; |
a2e04ab2cd44
Use the new filter and query builder and have authentication for LProbeInfo objects.
Raimund Renkert <rrenkert@intevation.de>
parents:
169
diff
changeset
|
30 import de.intevation.lada.authentication.AuthenticationResponse; |
a2e04ab2cd44
Use the new filter and query builder and have authentication for LProbeInfo objects.
Raimund Renkert <rrenkert@intevation.de>
parents:
169
diff
changeset
|
31 import de.intevation.lada.authentication.LdapAuthentication; |
a2e04ab2cd44
Use the new filter and query builder and have authentication for LProbeInfo objects.
Raimund Renkert <rrenkert@intevation.de>
parents:
169
diff
changeset
|
32 import de.intevation.lada.data.QueryBuilder; |
131
4e181a4aaab0
Refactored the entity repositories.
Raimund Renkert <rrenkert@intevation.de>
parents:
107
diff
changeset
|
33 import de.intevation.lada.data.Repository; |
29
c5930d01e0ab
Package renaming and code cosmetics.
Raimund Renkert <rrenkert@intevation.de>
parents:
24
diff
changeset
|
34 import de.intevation.lada.model.LProbe; |
139
fda177c59d1f
Updated service and repository to use the extended LProbeInfo object.
Raimund Renkert <rrenkert@intevation.de>
parents:
131
diff
changeset
|
35 import de.intevation.lada.model.LProbeInfo; |
15
624611a29348
Provide GET method to load a list of proben.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
8
diff
changeset
|
36 |
8
1016bcc08bb3
Added stub for REST service for Proben
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
37 /** |
77
8af2a920f974
Formatting.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
75
diff
changeset
|
38 * This class produces a RESTful service to read the contents of LProbe table. |
8af2a920f974
Formatting.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
75
diff
changeset
|
39 * |
8af2a920f974
Formatting.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
75
diff
changeset
|
40 * @author <a href="mailto:rrenkert@intevation.de">Raimund Renkert</a> |
8af2a920f974
Formatting.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
75
diff
changeset
|
41 */ |
8
1016bcc08bb3
Added stub for REST service for Proben
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
42 @Path("/proben") |
1016bcc08bb3
Added stub for REST service for Proben
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
43 @RequestScoped |
45
a5ee8d69c0b4
Renamed existing rest services and make use of the generic repository.
Raimund Renkert <rrenkert@intevation.de>
parents:
39
diff
changeset
|
44 public class LProbeService { |
8
1016bcc08bb3
Added stub for REST service for Proben
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
45 |
39 | 46 /** |
47 * The Repository for LProbe. | |
48 */ | |
29
c5930d01e0ab
Package renaming and code cosmetics.
Raimund Renkert <rrenkert@intevation.de>
parents:
24
diff
changeset
|
49 @Inject |
131
4e181a4aaab0
Refactored the entity repositories.
Raimund Renkert <rrenkert@intevation.de>
parents:
107
diff
changeset
|
50 @Named("lproberepository") |
4e181a4aaab0
Refactored the entity repositories.
Raimund Renkert <rrenkert@intevation.de>
parents:
107
diff
changeset
|
51 private Repository repository; |
8
1016bcc08bb3
Added stub for REST service for Proben
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
52 |
39 | 53 /** |
54 * The logger for this class. | |
55 */ | |
29
c5930d01e0ab
Package renaming and code cosmetics.
Raimund Renkert <rrenkert@intevation.de>
parents:
24
diff
changeset
|
56 @Inject |
c5930d01e0ab
Package renaming and code cosmetics.
Raimund Renkert <rrenkert@intevation.de>
parents:
24
diff
changeset
|
57 private Logger log; |
8
1016bcc08bb3
Added stub for REST service for Proben
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
58 |
182
a2e04ab2cd44
Use the new filter and query builder and have authentication for LProbeInfo objects.
Raimund Renkert <rrenkert@intevation.de>
parents:
169
diff
changeset
|
59 @Inject |
a2e04ab2cd44
Use the new filter and query builder and have authentication for LProbeInfo objects.
Raimund Renkert <rrenkert@intevation.de>
parents:
169
diff
changeset
|
60 @Named("ldapauth") |
a2e04ab2cd44
Use the new filter and query builder and have authentication for LProbeInfo objects.
Raimund Renkert <rrenkert@intevation.de>
parents:
169
diff
changeset
|
61 private Authentication authentication; |
39 | 62 /** |
63 * Request a LProbe via its id. | |
64 * | |
65 * @param id The LProbe id | |
66 * @return JSON Object via REST service. | |
67 */ | |
29
c5930d01e0ab
Package renaming and code cosmetics.
Raimund Renkert <rrenkert@intevation.de>
parents:
24
diff
changeset
|
68 @GET |
36
8155d2ed5cb8
Use String for lprobe id.
Raimund Renkert <rrenkert@intevation.de>
parents:
35
diff
changeset
|
69 @Path("/{id}") |
8155d2ed5cb8
Use String for lprobe id.
Raimund Renkert <rrenkert@intevation.de>
parents:
35
diff
changeset
|
70 @Produces("text/json") |
75
b43b76fc0525
Added Response class to wrap the returned data into a response object which
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
74
diff
changeset
|
71 public Response findById(@PathParam("id") String id) { |
139
fda177c59d1f
Updated service and repository to use the extended LProbeInfo object.
Raimund Renkert <rrenkert@intevation.de>
parents:
131
diff
changeset
|
72 return repository.findById(LProbeInfo.class, id); |
29
c5930d01e0ab
Package renaming and code cosmetics.
Raimund Renkert <rrenkert@intevation.de>
parents:
24
diff
changeset
|
73 } |
c5930d01e0ab
Package renaming and code cosmetics.
Raimund Renkert <rrenkert@intevation.de>
parents:
24
diff
changeset
|
74 |
80
75d42f8063f8
Formatting
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
77
diff
changeset
|
75 /** |
39 | 76 * Request LProbe via a filter. |
77 * | |
78 * Query parameters are used for the filter in form of key-value pairs. | |
79 * This filter can take the three parameters | |
80 * mst=$MSTID (String) | |
81 * uwb=$UWBID (String) | |
82 * begin=$PROBEENTNAHMEBEGIN (Timestamp) | |
83 * | |
84 * @param info The URL query parameters. | |
85 * @return JSON Object via Rest service. | |
86 */ | |
29
c5930d01e0ab
Package renaming and code cosmetics.
Raimund Renkert <rrenkert@intevation.de>
parents:
24
diff
changeset
|
87 @GET |
35
f425150ea2b5
New filter option in LProbe GET request.
Raimund Renkert <rrenkert@intevation.de>
parents:
29
diff
changeset
|
88 @Produces("text/json") |
182
a2e04ab2cd44
Use the new filter and query builder and have authentication for LProbeInfo objects.
Raimund Renkert <rrenkert@intevation.de>
parents:
169
diff
changeset
|
89 public Response filter( |
a2e04ab2cd44
Use the new filter and query builder and have authentication for LProbeInfo objects.
Raimund Renkert <rrenkert@intevation.de>
parents:
169
diff
changeset
|
90 @Context UriInfo info, |
a2e04ab2cd44
Use the new filter and query builder and have authentication for LProbeInfo objects.
Raimund Renkert <rrenkert@intevation.de>
parents:
169
diff
changeset
|
91 @Context HttpHeaders header |
a2e04ab2cd44
Use the new filter and query builder and have authentication for LProbeInfo objects.
Raimund Renkert <rrenkert@intevation.de>
parents:
169
diff
changeset
|
92 ) { |
a2e04ab2cd44
Use the new filter and query builder and have authentication for LProbeInfo objects.
Raimund Renkert <rrenkert@intevation.de>
parents:
169
diff
changeset
|
93 try { |
a2e04ab2cd44
Use the new filter and query builder and have authentication for LProbeInfo objects.
Raimund Renkert <rrenkert@intevation.de>
parents:
169
diff
changeset
|
94 AuthenticationResponse auth = |
a2e04ab2cd44
Use the new filter and query builder and have authentication for LProbeInfo objects.
Raimund Renkert <rrenkert@intevation.de>
parents:
169
diff
changeset
|
95 authentication.authorizedGroups(header); |
a2e04ab2cd44
Use the new filter and query builder and have authentication for LProbeInfo objects.
Raimund Renkert <rrenkert@intevation.de>
parents:
169
diff
changeset
|
96 QueryBuilder<LProbeInfo> builder = |
a2e04ab2cd44
Use the new filter and query builder and have authentication for LProbeInfo objects.
Raimund Renkert <rrenkert@intevation.de>
parents:
169
diff
changeset
|
97 new QueryBuilder<LProbeInfo>( |
a2e04ab2cd44
Use the new filter and query builder and have authentication for LProbeInfo objects.
Raimund Renkert <rrenkert@intevation.de>
parents:
169
diff
changeset
|
98 repository.getEntityManager(), |
a2e04ab2cd44
Use the new filter and query builder and have authentication for LProbeInfo objects.
Raimund Renkert <rrenkert@intevation.de>
parents:
169
diff
changeset
|
99 LProbeInfo.class); |
a2e04ab2cd44
Use the new filter and query builder and have authentication for LProbeInfo objects.
Raimund Renkert <rrenkert@intevation.de>
parents:
169
diff
changeset
|
100 builder.or("netzbetreiberId", auth.getNetzbetreiber()); |
a2e04ab2cd44
Use the new filter and query builder and have authentication for LProbeInfo objects.
Raimund Renkert <rrenkert@intevation.de>
parents:
169
diff
changeset
|
101 MultivaluedMap<String, String> params = info.getQueryParameters(); |
a2e04ab2cd44
Use the new filter and query builder and have authentication for LProbeInfo objects.
Raimund Renkert <rrenkert@intevation.de>
parents:
169
diff
changeset
|
102 if (params.isEmpty()) { |
a2e04ab2cd44
Use the new filter and query builder and have authentication for LProbeInfo objects.
Raimund Renkert <rrenkert@intevation.de>
parents:
169
diff
changeset
|
103 return repository.filter(builder.getQuery()); |
a2e04ab2cd44
Use the new filter and query builder and have authentication for LProbeInfo objects.
Raimund Renkert <rrenkert@intevation.de>
parents:
169
diff
changeset
|
104 } |
a2e04ab2cd44
Use the new filter and query builder and have authentication for LProbeInfo objects.
Raimund Renkert <rrenkert@intevation.de>
parents:
169
diff
changeset
|
105 QueryBuilder<LProbeInfo> mstBuilder = builder.getEmptyBuilder(); |
a2e04ab2cd44
Use the new filter and query builder and have authentication for LProbeInfo objects.
Raimund Renkert <rrenkert@intevation.de>
parents:
169
diff
changeset
|
106 if (params.keySet().contains("mst")) { |
a2e04ab2cd44
Use the new filter and query builder and have authentication for LProbeInfo objects.
Raimund Renkert <rrenkert@intevation.de>
parents:
169
diff
changeset
|
107 String[] paramValues = params.getFirst("mst").split(","); |
a2e04ab2cd44
Use the new filter and query builder and have authentication for LProbeInfo objects.
Raimund Renkert <rrenkert@intevation.de>
parents:
169
diff
changeset
|
108 for (String pv: paramValues) { |
a2e04ab2cd44
Use the new filter and query builder and have authentication for LProbeInfo objects.
Raimund Renkert <rrenkert@intevation.de>
parents:
169
diff
changeset
|
109 mstBuilder.or("mstId", pv); |
a2e04ab2cd44
Use the new filter and query builder and have authentication for LProbeInfo objects.
Raimund Renkert <rrenkert@intevation.de>
parents:
169
diff
changeset
|
110 } |
a2e04ab2cd44
Use the new filter and query builder and have authentication for LProbeInfo objects.
Raimund Renkert <rrenkert@intevation.de>
parents:
169
diff
changeset
|
111 builder.and(mstBuilder); |
a2e04ab2cd44
Use the new filter and query builder and have authentication for LProbeInfo objects.
Raimund Renkert <rrenkert@intevation.de>
parents:
169
diff
changeset
|
112 } |
a2e04ab2cd44
Use the new filter and query builder and have authentication for LProbeInfo objects.
Raimund Renkert <rrenkert@intevation.de>
parents:
169
diff
changeset
|
113 QueryBuilder<LProbeInfo> umwBuilder = builder.getEmptyBuilder(); |
a2e04ab2cd44
Use the new filter and query builder and have authentication for LProbeInfo objects.
Raimund Renkert <rrenkert@intevation.de>
parents:
169
diff
changeset
|
114 if (params.keySet().contains("uwb")) { |
a2e04ab2cd44
Use the new filter and query builder and have authentication for LProbeInfo objects.
Raimund Renkert <rrenkert@intevation.de>
parents:
169
diff
changeset
|
115 String[] paramValues = params.getFirst("uwb").split(","); |
a2e04ab2cd44
Use the new filter and query builder and have authentication for LProbeInfo objects.
Raimund Renkert <rrenkert@intevation.de>
parents:
169
diff
changeset
|
116 for (String pv: paramValues) { |
a2e04ab2cd44
Use the new filter and query builder and have authentication for LProbeInfo objects.
Raimund Renkert <rrenkert@intevation.de>
parents:
169
diff
changeset
|
117 umwBuilder.or("umwId", pv); |
a2e04ab2cd44
Use the new filter and query builder and have authentication for LProbeInfo objects.
Raimund Renkert <rrenkert@intevation.de>
parents:
169
diff
changeset
|
118 } |
a2e04ab2cd44
Use the new filter and query builder and have authentication for LProbeInfo objects.
Raimund Renkert <rrenkert@intevation.de>
parents:
169
diff
changeset
|
119 builder.and(umwBuilder); |
a2e04ab2cd44
Use the new filter and query builder and have authentication for LProbeInfo objects.
Raimund Renkert <rrenkert@intevation.de>
parents:
169
diff
changeset
|
120 } |
a2e04ab2cd44
Use the new filter and query builder and have authentication for LProbeInfo objects.
Raimund Renkert <rrenkert@intevation.de>
parents:
169
diff
changeset
|
121 QueryBuilder<LProbeInfo> beginBuilder = builder.getEmptyBuilder(); |
a2e04ab2cd44
Use the new filter and query builder and have authentication for LProbeInfo objects.
Raimund Renkert <rrenkert@intevation.de>
parents:
169
diff
changeset
|
122 if (params.keySet().contains("bedin")) { |
a2e04ab2cd44
Use the new filter and query builder and have authentication for LProbeInfo objects.
Raimund Renkert <rrenkert@intevation.de>
parents:
169
diff
changeset
|
123 String[] paramValues = params.getFirst("begin").split(","); |
a2e04ab2cd44
Use the new filter and query builder and have authentication for LProbeInfo objects.
Raimund Renkert <rrenkert@intevation.de>
parents:
169
diff
changeset
|
124 for (String pv: paramValues) { |
a2e04ab2cd44
Use the new filter and query builder and have authentication for LProbeInfo objects.
Raimund Renkert <rrenkert@intevation.de>
parents:
169
diff
changeset
|
125 beginBuilder.or("probeentnahmeBegin", pv); |
a2e04ab2cd44
Use the new filter and query builder and have authentication for LProbeInfo objects.
Raimund Renkert <rrenkert@intevation.de>
parents:
169
diff
changeset
|
126 } |
a2e04ab2cd44
Use the new filter and query builder and have authentication for LProbeInfo objects.
Raimund Renkert <rrenkert@intevation.de>
parents:
169
diff
changeset
|
127 builder.and(beginBuilder); |
a2e04ab2cd44
Use the new filter and query builder and have authentication for LProbeInfo objects.
Raimund Renkert <rrenkert@intevation.de>
parents:
169
diff
changeset
|
128 } |
a2e04ab2cd44
Use the new filter and query builder and have authentication for LProbeInfo objects.
Raimund Renkert <rrenkert@intevation.de>
parents:
169
diff
changeset
|
129 builder.distinct(); |
a2e04ab2cd44
Use the new filter and query builder and have authentication for LProbeInfo objects.
Raimund Renkert <rrenkert@intevation.de>
parents:
169
diff
changeset
|
130 return repository.filter(builder.getQuery()); |
35
f425150ea2b5
New filter option in LProbe GET request.
Raimund Renkert <rrenkert@intevation.de>
parents:
29
diff
changeset
|
131 } |
182
a2e04ab2cd44
Use the new filter and query builder and have authentication for LProbeInfo objects.
Raimund Renkert <rrenkert@intevation.de>
parents:
169
diff
changeset
|
132 catch(AuthenticationException ae) { |
a2e04ab2cd44
Use the new filter and query builder and have authentication for LProbeInfo objects.
Raimund Renkert <rrenkert@intevation.de>
parents:
169
diff
changeset
|
133 return new Response(false, 699, new ArrayList<LProbe>()); |
35
f425150ea2b5
New filter option in LProbe GET request.
Raimund Renkert <rrenkert@intevation.de>
parents:
29
diff
changeset
|
134 } |
29
c5930d01e0ab
Package renaming and code cosmetics.
Raimund Renkert <rrenkert@intevation.de>
parents:
24
diff
changeset
|
135 } |
62
0b3f58cbbd75
Added comment on expected return values.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
55
diff
changeset
|
136 |
73
354deea8e738
Fixed generating return value for Create and Update.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
70
diff
changeset
|
137 @PUT |
354deea8e738
Fixed generating return value for Create and Update.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
70
diff
changeset
|
138 @Path("/{id}") |
354deea8e738
Fixed generating return value for Create and Update.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
70
diff
changeset
|
139 @Produces("text/json") |
354deea8e738
Fixed generating return value for Create and Update.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
70
diff
changeset
|
140 @Consumes("application/json") |
169
1613ab50d6d0
LProbeService uses LProbeInfo objects to deserialize JSON and extracts a LProbe object.
Raimund Renkert <rrenkert@intevation.de>
parents:
139
diff
changeset
|
141 public Response update(LProbeInfo probe) { |
104
ba35b1f642ec
Call update method of repository.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
100
diff
changeset
|
142 return repository.update(probe); |
73
354deea8e738
Fixed generating return value for Create and Update.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
70
diff
changeset
|
143 } |
354deea8e738
Fixed generating return value for Create and Update.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
70
diff
changeset
|
144 |
66
54ff6ded05b2
New service to create a LProbe.
Raimund Renkert <rrenkert@intevation.de>
parents:
62
diff
changeset
|
145 @POST |
54ff6ded05b2
New service to create a LProbe.
Raimund Renkert <rrenkert@intevation.de>
parents:
62
diff
changeset
|
146 @Produces("text/json") |
54ff6ded05b2
New service to create a LProbe.
Raimund Renkert <rrenkert@intevation.de>
parents:
62
diff
changeset
|
147 @Consumes("application/json") |
169
1613ab50d6d0
LProbeService uses LProbeInfo objects to deserialize JSON and extracts a LProbe object.
Raimund Renkert <rrenkert@intevation.de>
parents:
139
diff
changeset
|
148 public Response create(LProbeInfo probe) { |
1613ab50d6d0
LProbeService uses LProbeInfo objects to deserialize JSON and extracts a LProbe object.
Raimund Renkert <rrenkert@intevation.de>
parents:
139
diff
changeset
|
149 LProbe p = probe.toLProbe(); |
1613ab50d6d0
LProbeService uses LProbeInfo objects to deserialize JSON and extracts a LProbe object.
Raimund Renkert <rrenkert@intevation.de>
parents:
139
diff
changeset
|
150 return repository.create(p); |
66
54ff6ded05b2
New service to create a LProbe.
Raimund Renkert <rrenkert@intevation.de>
parents:
62
diff
changeset
|
151 } |
8
1016bcc08bb3
Added stub for REST service for Proben
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
152 } |