Mercurial > lada > lada-server
annotate src/main/java/de/intevation/lada/rest/stamm/MessprogrammKategorieService.java @ 836:313bd1d227f1
Added services for stammdaten and updated models.
author | Raimund Renkert <raimund.renkert@intevation.de> |
---|---|
date | Fri, 08 Jan 2016 12:10:09 +0100 |
parents | |
children | 670f58112734 |
rev | line source |
---|---|
836
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
1 /* Copyright (C) 2013 by Bundesamt fuer Strahlenschutz |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
2 * Software engineering by Intevation GmbH |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
3 * |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
4 * This file is Free Software under the GNU GPL (v>=3) |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
5 * and comes with ABSOLUTELY NO WARRANTY! Check out |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
6 * the documentation coming with IMIS-Labordaten-Application for details. |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
7 */ |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
8 package de.intevation.lada.rest.stamm; |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
9 |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
10 import javax.enterprise.context.RequestScoped; |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
11 import javax.inject.Inject; |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
12 import javax.servlet.http.HttpServletRequest; |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
13 import javax.ws.rs.DELETE; |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
14 import javax.ws.rs.GET; |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
15 import javax.ws.rs.POST; |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
16 import javax.ws.rs.PUT; |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
17 import javax.ws.rs.Path; |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
18 import javax.ws.rs.PathParam; |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
19 import javax.ws.rs.Produces; |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
20 import javax.ws.rs.core.Context; |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
21 import javax.ws.rs.core.HttpHeaders; |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
22 import javax.ws.rs.core.MediaType; |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
23 import javax.ws.rs.core.UriInfo; |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
24 |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
25 import de.intevation.lada.model.stamm.DatensatzErzeuger; |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
26 import de.intevation.lada.model.stamm.MessprogrammKategorie; |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
27 import de.intevation.lada.util.annotation.AuthorizationConfig; |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
28 import de.intevation.lada.util.annotation.RepositoryConfig; |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
29 import de.intevation.lada.util.auth.Authorization; |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
30 import de.intevation.lada.util.auth.AuthorizationType; |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
31 import de.intevation.lada.util.data.Repository; |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
32 import de.intevation.lada.util.data.RepositoryType; |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
33 import de.intevation.lada.util.rest.RequestMethod; |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
34 import de.intevation.lada.util.rest.Response; |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
35 |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
36 /** |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
37 * REST service for DatensatzErzeuger objects. |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
38 * <p> |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
39 * The services produce data in the application/json media type. |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
40 * A typical response holds information about the action performed and the data. |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
41 * <pre> |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
42 * <code> |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
43 * { |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
44 * "success": [boolean]; |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
45 * "message": [string], |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
46 * "data":[{ |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
47 * "id": [number], |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
48 * "bezeichnung": [string], |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
49 * "daErzeugerId": [string], |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
50 * "letzteAenderung": [timestamp], |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
51 * "mstId": [string], |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
52 * "netzbetreiberId": [string] |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
53 * }], |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
54 * "errors": [object], |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
55 * "warnings": [object], |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
56 * "readonly": [boolean], |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
57 * "totalCount": [number] |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
58 * } |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
59 * </code> |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
60 * </pre> |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
61 * |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
62 * @author <a href="mailto:rrenkert@intevation.de">Raimund Renkert</a> |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
63 */ |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
64 @Path("rest/messprogrammkategorie") |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
65 @RequestScoped |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
66 public class MessprogrammKategorieService { |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
67 |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
68 /** |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
69 * The data repository granting read access. |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
70 */ |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
71 @Inject |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
72 @RepositoryConfig(type=RepositoryType.RW) |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
73 private Repository repository; |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
74 |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
75 @Inject |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
76 @AuthorizationConfig(type=AuthorizationType.HEADER) |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
77 private Authorization authorization; |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
78 |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
79 /** |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
80 * Get all Datenbasis objects. |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
81 * <p> |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
82 * Example: http://example.com/messprogrammkategorie |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
83 * |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
84 * @return Response object containing all objects. |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
85 */ |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
86 @GET |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
87 @Path("/") |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
88 @Produces(MediaType.APPLICATION_JSON) |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
89 public Response get( |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
90 @Context HttpHeaders headers, |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
91 @Context UriInfo info |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
92 ) { |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
93 return repository.getAll(MessprogrammKategorie.class, "stamm"); |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
94 } |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
95 |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
96 /** |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
97 * Get a single object by id. |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
98 * <p> |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
99 * The id is appended to the URL as a path parameter. |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
100 * <p> |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
101 * Example: http://example.com/messprogrammkategorie/{id} |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
102 * |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
103 * @return Response object containing a single object. |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
104 */ |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
105 @GET |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
106 @Path("/{id}") |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
107 @Produces(MediaType.APPLICATION_JSON) |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
108 public Response getById( |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
109 @Context HttpHeaders headers, |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
110 @PathParam("id") String id |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
111 ) { |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
112 return repository.getById( |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
113 MessprogrammKategorie.class, |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
114 Integer.valueOf(id), |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
115 "stamm"); |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
116 } |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
117 |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
118 @POST |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
119 @Path("/") |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
120 @Produces(MediaType.APPLICATION_JSON) |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
121 public Response create( |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
122 @Context HttpServletRequest request, |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
123 MessprogrammKategorie kategorie |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
124 ) { |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
125 if (!authorization.isAuthorized( |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
126 request, |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
127 kategorie, |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
128 RequestMethod.POST, |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
129 MessprogrammKategorie.class) |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
130 ) { |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
131 return new Response(false, 699, kategorie); |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
132 } |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
133 |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
134 return repository.create(kategorie, "stamm"); |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
135 } |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
136 |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
137 @PUT |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
138 @Path("/{id}") |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
139 @Produces(MediaType.APPLICATION_JSON) |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
140 public Response update( |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
141 @Context HttpServletRequest request, |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
142 MessprogrammKategorie kategorie |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
143 ) { |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
144 if (!authorization.isAuthorized( |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
145 request, |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
146 kategorie, |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
147 RequestMethod.PUT, |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
148 MessprogrammKategorie.class) |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
149 ) { |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
150 return new Response(false, 699, kategorie); |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
151 } |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
152 |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
153 return repository.update(kategorie, "stamm"); |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
154 } |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
155 |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
156 @DELETE |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
157 @Path("/{id}") |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
158 @Produces(MediaType.APPLICATION_JSON) |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
159 public Response delete( |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
160 @Context HttpServletRequest request, |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
161 @PathParam("id") String id |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
162 ) { |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
163 MessprogrammKategorie kategorie = repository.getByIdPlain( |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
164 MessprogrammKategorie.class, Integer.valueOf(id), "stamm"); |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
165 if (kategorie == null || |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
166 !authorization.isAuthorized( |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
167 request, |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
168 kategorie, |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
169 RequestMethod.DELETE, |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
170 MessprogrammKategorie.class |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
171 ) |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
172 ) { |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
173 return new Response(false, 699, null); |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
174 } |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
175 return repository.delete(kategorie, "stamm"); |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
176 } |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
177 } |