Mercurial > lada > lada-server
annotate src/main/java/de/intevation/lada/rest/stamm/OrtService.java @ 1237:e49c006b9076
Handle errors in OrtFactory and pass them to the client.
author | Tom Gottfried <tom@intevation.de> |
---|---|
date | Tue, 13 Dec 2016 20:06:57 +0100 |
parents | 32e27cb8cfef |
children | 75692dc7077f |
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 |
843
670f58112734
Allow paging for editable stammdaten and set readonly attribute.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
837
diff
changeset
|
10 import java.util.List; |
1214
6e6134bf1d6d
Avoid fetching the whole table from DB if we don't need it at all.
Tom Gottfried <tom@intevation.de>
parents:
1213
diff
changeset
|
11 import java.util.ArrayList; |
843
670f58112734
Allow paging for editable stammdaten and set readonly attribute.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
837
diff
changeset
|
12 |
836
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
13 import javax.enterprise.context.RequestScoped; |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
14 import javax.inject.Inject; |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
15 import javax.servlet.http.HttpServletRequest; |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
16 import javax.ws.rs.DELETE; |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
17 import javax.ws.rs.GET; |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
18 import javax.ws.rs.POST; |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
19 import javax.ws.rs.PUT; |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
20 import javax.ws.rs.Path; |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
21 import javax.ws.rs.PathParam; |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
22 import javax.ws.rs.Produces; |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
23 import javax.ws.rs.core.Context; |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
24 import javax.ws.rs.core.HttpHeaders; |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
25 import javax.ws.rs.core.MediaType; |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
26 import javax.ws.rs.core.MultivaluedMap; |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
27 import javax.ws.rs.core.UriInfo; |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
28 |
1237
e49c006b9076
Handle errors in OrtFactory and pass them to the client.
Tom Gottfried <tom@intevation.de>
parents:
1231
diff
changeset
|
29 import de.intevation.lada.importer.ReportItem; |
1213
aed3332cfacc
An Ort always has a location which is created from respective input.
Tom Gottfried <tom@intevation.de>
parents:
1097
diff
changeset
|
30 import de.intevation.lada.factory.OrtFactory; |
1097
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
956
diff
changeset
|
31 import de.intevation.lada.model.stammdaten.Filter; |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
956
diff
changeset
|
32 import de.intevation.lada.model.stammdaten.Ort; |
836
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
33 import de.intevation.lada.util.annotation.AuthorizationConfig; |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
34 import de.intevation.lada.util.annotation.RepositoryConfig; |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
35 import de.intevation.lada.util.auth.Authorization; |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
36 import de.intevation.lada.util.auth.AuthorizationType; |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
37 import de.intevation.lada.util.data.QueryBuilder; |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
38 import de.intevation.lada.util.data.Repository; |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
39 import de.intevation.lada.util.data.RepositoryType; |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
40 import de.intevation.lada.util.rest.RequestMethod; |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
41 import de.intevation.lada.util.rest.Response; |
1227
a0968660a4c5
Use reusable validation rule instead of in-service implementation.
Tom Gottfried <tom@intevation.de>
parents:
1214
diff
changeset
|
42 import de.intevation.lada.validation.Validator; |
a0968660a4c5
Use reusable validation rule instead of in-service implementation.
Tom Gottfried <tom@intevation.de>
parents:
1214
diff
changeset
|
43 import de.intevation.lada.validation.Violation; |
a0968660a4c5
Use reusable validation rule instead of in-service implementation.
Tom Gottfried <tom@intevation.de>
parents:
1214
diff
changeset
|
44 import de.intevation.lada.validation.annotation.ValidationConfig; |
836
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
45 |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
46 /** |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
47 * REST service for SOrt objects. |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
48 * <p> |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
49 * 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
|
50 * 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
|
51 * <pre> |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
52 * <code> |
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 * "success": [boolean]; |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
55 * "message": [string], |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
56 * "data":[{ |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
57 * "id": [number], |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
58 * "beschreibung": [string], |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
59 * "bezeichnung": [string], |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
60 * "hoeheLand": [number], |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
61 * "koordXExtern": [string], |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
62 * "koordYExtern": [string], |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
63 * "latitude": [number], |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
64 * "letzteAenderung": [timestamp], |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
65 * "longitude": [number], |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
66 * "nutsCode": [string], |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
67 * "unscharf": [string], |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
68 * "koordinatenartId": [number], |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
69 * "netzbetreiberId": [number], |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
70 * "staatId": [number], |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
71 * "verwaltungseinheitId": [string], |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
72 * "otyp": [string] |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
73 * }], |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
74 * "errors": [object], |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
75 * "warnings": [object], |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
76 * "readonly": [boolean], |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
77 * "totalCount": [number] |
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 * </code> |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
80 * </pre> |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
81 * |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
82 * @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
|
83 */ |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
84 @Path("rest/ort") |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
85 @RequestScoped |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
86 public class OrtService { |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
87 |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
88 /** |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
89 * The data repository granting read/write access. |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
90 */ |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
91 @Inject |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
92 @RepositoryConfig(type=RepositoryType.RW) |
919
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
93 private Repository repository; |
836
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 @Inject |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
96 @AuthorizationConfig(type=AuthorizationType.HEADER) |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
97 private Authorization authorization; |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
98 |
1213
aed3332cfacc
An Ort always has a location which is created from respective input.
Tom Gottfried <tom@intevation.de>
parents:
1097
diff
changeset
|
99 @Inject |
aed3332cfacc
An Ort always has a location which is created from respective input.
Tom Gottfried <tom@intevation.de>
parents:
1097
diff
changeset
|
100 private OrtFactory ortFactory; |
aed3332cfacc
An Ort always has a location which is created from respective input.
Tom Gottfried <tom@intevation.de>
parents:
1097
diff
changeset
|
101 |
1227
a0968660a4c5
Use reusable validation rule instead of in-service implementation.
Tom Gottfried <tom@intevation.de>
parents:
1214
diff
changeset
|
102 @Inject |
a0968660a4c5
Use reusable validation rule instead of in-service implementation.
Tom Gottfried <tom@intevation.de>
parents:
1214
diff
changeset
|
103 @ValidationConfig(type="Ort") |
a0968660a4c5
Use reusable validation rule instead of in-service implementation.
Tom Gottfried <tom@intevation.de>
parents:
1214
diff
changeset
|
104 private Validator validator; |
a0968660a4c5
Use reusable validation rule instead of in-service implementation.
Tom Gottfried <tom@intevation.de>
parents:
1214
diff
changeset
|
105 |
836
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
106 /** |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
107 * Get all SOrt objects. |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
108 * <p> |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
109 * The requested objects can be filtered using a URL parameter named |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
110 * ortId. |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
111 * <p> |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
112 * Example: http://example.com/location?ortId=[ID] |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
113 * |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
114 * @return Response object containing all (filtered) SOrt objects. |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
115 */ |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
116 @GET |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
117 @Path("/") |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
118 @Produces(MediaType.APPLICATION_JSON) |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
119 public Response get( |
843
670f58112734
Allow paging for editable stammdaten and set readonly attribute.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
837
diff
changeset
|
120 @Context HttpServletRequest request, |
836
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
121 @Context UriInfo info |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
122 ) { |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
123 MultivaluedMap<String, String> params = info.getQueryParameters(); |
919
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
124 if (params.containsKey("ortId")) { |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
125 Integer id; |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
126 try { |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
127 id = Integer.valueOf(params.getFirst("qid")); |
843
670f58112734
Allow paging for editable stammdaten and set readonly attribute.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
837
diff
changeset
|
128 } |
919
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
129 catch (NumberFormatException e) { |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
130 return new Response(false, 603, "Not a valid filter id"); |
843
670f58112734
Allow paging for editable stammdaten and set readonly attribute.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
837
diff
changeset
|
131 } |
919
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
132 |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
133 Ort o = repository.getByIdPlain(Ort.class, id, "stamm"); |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
134 o.setReadonly( |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
135 !authorization.isAuthorized( |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
136 request, |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
137 o, |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
138 RequestMethod.POST, |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
139 Ort.class)); |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
140 return new Response(true, 200, o); |
836
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
141 } |
1214
6e6134bf1d6d
Avoid fetching the whole table from DB if we don't need it at all.
Tom Gottfried <tom@intevation.de>
parents:
1213
diff
changeset
|
142 |
6e6134bf1d6d
Avoid fetching the whole table from DB if we don't need it at all.
Tom Gottfried <tom@intevation.de>
parents:
1213
diff
changeset
|
143 List<Ort> orte = new ArrayList<Ort>(); |
919
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
144 if (params.containsKey("qid")) { |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
145 Integer id = null; |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
146 try { |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
147 id = Integer.valueOf(params.getFirst("qid")); |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
148 } |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
149 catch (NumberFormatException e) { |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
150 return new Response(false, 603, "Not a valid filter id"); |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
151 } |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
152 QueryBuilder<Filter> fBuilder = new QueryBuilder<Filter>( |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
153 repository.entityManager("stamm"), |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
154 Filter.class |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
155 ); |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
156 fBuilder.and("query", id); |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
157 List<Filter> filters = repository.filterPlain(fBuilder.getQuery(), "stamm"); |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
158 QueryBuilder<Ort> builder = |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
159 new QueryBuilder<Ort>( |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
160 repository.entityManager("stamm"), |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
161 Ort.class |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
162 ); |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
163 for (Filter filter: filters) { |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
164 String param = params.get(filter.getDataIndex()).get(0); |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
165 if (param == null || param.isEmpty()) { |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
166 continue; |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
167 } |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
168 if (filter.getMultiselect()) { |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
169 param = param.trim(); |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
170 String[] parts = param.split(","); |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
171 for (String part: parts) { |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
172 builder.or(filter.getDataIndex(), part); |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
173 } |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
174 } |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
175 else { |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
176 builder.or(filter.getDataIndex(), param); |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
177 } |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
178 } |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
179 |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
180 orte = repository.filterPlain(builder.getQuery(), "stamm"); |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
181 } |
1214
6e6134bf1d6d
Avoid fetching the whole table from DB if we don't need it at all.
Tom Gottfried <tom@intevation.de>
parents:
1213
diff
changeset
|
182 else { |
6e6134bf1d6d
Avoid fetching the whole table from DB if we don't need it at all.
Tom Gottfried <tom@intevation.de>
parents:
1213
diff
changeset
|
183 orte = repository.getAllPlain(Ort.class, "stamm"); |
6e6134bf1d6d
Avoid fetching the whole table from DB if we don't need it at all.
Tom Gottfried <tom@intevation.de>
parents:
1213
diff
changeset
|
184 } |
919
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
185 |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
186 int size = orte.size(); |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
187 if (params.containsKey("start") && params.containsKey("limit")) { |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
188 int start = Integer.valueOf(params.getFirst("start")); |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
189 int limit = Integer.valueOf(params.getFirst("limit")); |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
190 int end = limit + start; |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
191 if (limit == 0) { |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
192 end = orte.size(); |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
193 } |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
194 else if (start + limit > orte.size()) { |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
195 end = orte.size(); |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
196 } |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
197 orte = orte.subList(start, end); |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
198 } |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
199 for (Ort o : orte) { |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
200 o.setReadonly( |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
201 !authorization.isAuthorized( |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
202 request, |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
203 o, |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
204 RequestMethod.POST, |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
205 Ort.class)); |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
206 } |
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
207 return new Response(true, 200, orte, size); |
836
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
208 } |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
209 |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
210 /** |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
211 * Get a single SOrt object by id. |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
212 * <p> |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
213 * 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
|
214 * <p> |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
215 * Example: http://example.com/location/{id} |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
216 * |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
217 * @return Response object containing a single SOrt. |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
218 */ |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
219 @GET |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
220 @Path("/{id}") |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
221 @Produces(MediaType.APPLICATION_JSON) |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
222 public Response getById( |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
223 @Context HttpHeaders headers, |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
224 @PathParam("id") String id |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
225 ) { |
919
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
226 return repository.getById( |
836
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
227 Ort.class, |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
228 Integer.valueOf(id), |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
229 "stamm"); |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
230 } |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
231 |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
232 /** |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
233 * Create a SOrt object. |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
234 * <p> |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
235 * The new object is embedded in the post data as JSON formatted string. |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
236 * <p> |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
237 * <pre> |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
238 * <code> |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
239 * { |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
240 * "bezeichnung": [string], |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
241 * "beschreibung": [string], |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
242 * "unscharf": [string], |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
243 * "nutsCode": [string], |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
244 * "koordXExtern": [string], |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
245 * "koordYExtern": [string], |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
246 * "hoeheLand": [string], |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
247 * "longitude": [number], |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
248 * "latitude": [number], |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
249 * "staatId": [number], |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
250 * "verwaltungseinheitId": [string], |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
251 * "otyp": [string], |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
252 * "letzteAenderung": [date] |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
253 * } |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
254 * </code> |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
255 * </pre> |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
256 * @return A response object containing the created SOrt. |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
257 */ |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
258 @POST |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
259 @Path("/") |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
260 @Produces(MediaType.APPLICATION_JSON) |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
261 public Response create( |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
262 @Context HttpServletRequest request, |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
263 Ort ort |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
264 ) { |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
265 if (!authorization.isAuthorized( |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
266 request, |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
267 ort, |
837
9dd9a3de7a61
Fixed request methods.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
836
diff
changeset
|
268 RequestMethod.POST, |
836
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
269 Ort.class) |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
270 ) { |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
271 return new Response(false, 699, ort); |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
272 } |
919
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
273 |
1227
a0968660a4c5
Use reusable validation rule instead of in-service implementation.
Tom Gottfried <tom@intevation.de>
parents:
1214
diff
changeset
|
274 Violation violation = validator.validate(ort); |
a0968660a4c5
Use reusable validation rule instead of in-service implementation.
Tom Gottfried <tom@intevation.de>
parents:
1214
diff
changeset
|
275 if (violation.hasErrors()) { |
a0968660a4c5
Use reusable validation rule instead of in-service implementation.
Tom Gottfried <tom@intevation.de>
parents:
1214
diff
changeset
|
276 Response response = new Response(false, 604, ort); |
a0968660a4c5
Use reusable validation rule instead of in-service implementation.
Tom Gottfried <tom@intevation.de>
parents:
1214
diff
changeset
|
277 response.setErrors(violation.getErrors()); |
a0968660a4c5
Use reusable validation rule instead of in-service implementation.
Tom Gottfried <tom@intevation.de>
parents:
1214
diff
changeset
|
278 response.setWarnings(violation.getWarnings()); |
a0968660a4c5
Use reusable validation rule instead of in-service implementation.
Tom Gottfried <tom@intevation.de>
parents:
1214
diff
changeset
|
279 return response; |
919
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
280 } |
1227
a0968660a4c5
Use reusable validation rule instead of in-service implementation.
Tom Gottfried <tom@intevation.de>
parents:
1214
diff
changeset
|
281 |
a0968660a4c5
Use reusable validation rule instead of in-service implementation.
Tom Gottfried <tom@intevation.de>
parents:
1214
diff
changeset
|
282 ortFactory.transformCoordinates(ort); |
1237
e49c006b9076
Handle errors in OrtFactory and pass them to the client.
Tom Gottfried <tom@intevation.de>
parents:
1231
diff
changeset
|
283 if (ortFactory.hasErrors()) { |
e49c006b9076
Handle errors in OrtFactory and pass them to the client.
Tom Gottfried <tom@intevation.de>
parents:
1231
diff
changeset
|
284 Violation factoryErrs = new Violation(); |
e49c006b9076
Handle errors in OrtFactory and pass them to the client.
Tom Gottfried <tom@intevation.de>
parents:
1231
diff
changeset
|
285 for (ReportItem err : ortFactory.getErrors()) { |
e49c006b9076
Handle errors in OrtFactory and pass them to the client.
Tom Gottfried <tom@intevation.de>
parents:
1231
diff
changeset
|
286 factoryErrs.addError(err.getKey(), err.getCode()); |
e49c006b9076
Handle errors in OrtFactory and pass them to the client.
Tom Gottfried <tom@intevation.de>
parents:
1231
diff
changeset
|
287 } |
e49c006b9076
Handle errors in OrtFactory and pass them to the client.
Tom Gottfried <tom@intevation.de>
parents:
1231
diff
changeset
|
288 Response response = new Response(false, 604, ort); |
e49c006b9076
Handle errors in OrtFactory and pass them to the client.
Tom Gottfried <tom@intevation.de>
parents:
1231
diff
changeset
|
289 response.setErrors(factoryErrs.getErrors()); |
e49c006b9076
Handle errors in OrtFactory and pass them to the client.
Tom Gottfried <tom@intevation.de>
parents:
1231
diff
changeset
|
290 return response; |
e49c006b9076
Handle errors in OrtFactory and pass them to the client.
Tom Gottfried <tom@intevation.de>
parents:
1231
diff
changeset
|
291 } |
1227
a0968660a4c5
Use reusable validation rule instead of in-service implementation.
Tom Gottfried <tom@intevation.de>
parents:
1214
diff
changeset
|
292 Response response = repository.create(ort, "stamm"); |
a0968660a4c5
Use reusable validation rule instead of in-service implementation.
Tom Gottfried <tom@intevation.de>
parents:
1214
diff
changeset
|
293 if(violation.hasWarnings()) { |
a0968660a4c5
Use reusable validation rule instead of in-service implementation.
Tom Gottfried <tom@intevation.de>
parents:
1214
diff
changeset
|
294 response.setWarnings(violation.getWarnings()); |
a0968660a4c5
Use reusable validation rule instead of in-service implementation.
Tom Gottfried <tom@intevation.de>
parents:
1214
diff
changeset
|
295 } |
a0968660a4c5
Use reusable validation rule instead of in-service implementation.
Tom Gottfried <tom@intevation.de>
parents:
1214
diff
changeset
|
296 |
a0968660a4c5
Use reusable validation rule instead of in-service implementation.
Tom Gottfried <tom@intevation.de>
parents:
1214
diff
changeset
|
297 return response; |
836
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
298 } |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
299 |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
300 /** |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
301 * Update an existing SOrt object. |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
302 * <p> |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
303 * The object to update should come as JSON formatted string. |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
304 * <pre> |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
305 * <code> |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
306 * { |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
307 * "id": [number], |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
308 * "bezeichnung": [string], |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
309 * "beschreibung": [string], |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
310 * "unscharf": [string], |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
311 * "nutsCode": [string], |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
312 * "koordXExtern": [string], |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
313 * "koordYExtern": [string], |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
314 * "hoeheLand": [number], |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
315 * "longitude": [number], |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
316 * "latitude": [number], |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
317 * "staatId": [number], |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
318 * "verwaltungseinheitId": [string], |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
319 * "otyp": [string], |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
320 * "letzteAenderung": [date] |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
321 * } |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
322 * </code> |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
323 * </pre> |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
324 * |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
325 * @return Response object containing the updated SOrt object. |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
326 */ |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
327 @PUT |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
328 @Path("/{id}") |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
329 @Produces(MediaType.APPLICATION_JSON) |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
330 public Response update( |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
331 @Context HttpServletRequest request, |
1097
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
956
diff
changeset
|
332 @PathParam("id") String id, |
836
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
333 Ort ort |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
334 ) { |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
335 if (!authorization.isAuthorized( |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
336 request, |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
337 ort, |
837
9dd9a3de7a61
Fixed request methods.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
836
diff
changeset
|
338 RequestMethod.PUT, |
836
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
339 Ort.class) |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
340 ) { |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
341 return new Response(false, 699, ort); |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
342 } |
919
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
343 |
1231
32e27cb8cfef
Use validation rule on update as well.
Tom Gottfried <tom@intevation.de>
parents:
1227
diff
changeset
|
344 Violation violation = validator.validate(ort); |
32e27cb8cfef
Use validation rule on update as well.
Tom Gottfried <tom@intevation.de>
parents:
1227
diff
changeset
|
345 if (violation.hasErrors()) { |
32e27cb8cfef
Use validation rule on update as well.
Tom Gottfried <tom@intevation.de>
parents:
1227
diff
changeset
|
346 Response response = new Response(false, 604, ort); |
32e27cb8cfef
Use validation rule on update as well.
Tom Gottfried <tom@intevation.de>
parents:
1227
diff
changeset
|
347 response.setErrors(violation.getErrors()); |
32e27cb8cfef
Use validation rule on update as well.
Tom Gottfried <tom@intevation.de>
parents:
1227
diff
changeset
|
348 response.setWarnings(violation.getWarnings()); |
32e27cb8cfef
Use validation rule on update as well.
Tom Gottfried <tom@intevation.de>
parents:
1227
diff
changeset
|
349 return response; |
919
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
350 } |
1231
32e27cb8cfef
Use validation rule on update as well.
Tom Gottfried <tom@intevation.de>
parents:
1227
diff
changeset
|
351 |
32e27cb8cfef
Use validation rule on update as well.
Tom Gottfried <tom@intevation.de>
parents:
1227
diff
changeset
|
352 ortFactory.transformCoordinates(ort); |
1237
e49c006b9076
Handle errors in OrtFactory and pass them to the client.
Tom Gottfried <tom@intevation.de>
parents:
1231
diff
changeset
|
353 if (ortFactory.hasErrors()) { |
e49c006b9076
Handle errors in OrtFactory and pass them to the client.
Tom Gottfried <tom@intevation.de>
parents:
1231
diff
changeset
|
354 Violation factoryErrs = new Violation(); |
e49c006b9076
Handle errors in OrtFactory and pass them to the client.
Tom Gottfried <tom@intevation.de>
parents:
1231
diff
changeset
|
355 for (ReportItem err : ortFactory.getErrors()) { |
e49c006b9076
Handle errors in OrtFactory and pass them to the client.
Tom Gottfried <tom@intevation.de>
parents:
1231
diff
changeset
|
356 factoryErrs.addError(err.getKey(), err.getCode()); |
e49c006b9076
Handle errors in OrtFactory and pass them to the client.
Tom Gottfried <tom@intevation.de>
parents:
1231
diff
changeset
|
357 } |
e49c006b9076
Handle errors in OrtFactory and pass them to the client.
Tom Gottfried <tom@intevation.de>
parents:
1231
diff
changeset
|
358 Response response = new Response(false, 604, ort); |
e49c006b9076
Handle errors in OrtFactory and pass them to the client.
Tom Gottfried <tom@intevation.de>
parents:
1231
diff
changeset
|
359 response.setErrors(factoryErrs.getErrors()); |
e49c006b9076
Handle errors in OrtFactory and pass them to the client.
Tom Gottfried <tom@intevation.de>
parents:
1231
diff
changeset
|
360 return response; |
e49c006b9076
Handle errors in OrtFactory and pass them to the client.
Tom Gottfried <tom@intevation.de>
parents:
1231
diff
changeset
|
361 } |
1231
32e27cb8cfef
Use validation rule on update as well.
Tom Gottfried <tom@intevation.de>
parents:
1227
diff
changeset
|
362 Response response = repository.update(ort, "stamm"); |
32e27cb8cfef
Use validation rule on update as well.
Tom Gottfried <tom@intevation.de>
parents:
1227
diff
changeset
|
363 if(violation.hasWarnings()) { |
32e27cb8cfef
Use validation rule on update as well.
Tom Gottfried <tom@intevation.de>
parents:
1227
diff
changeset
|
364 response.setWarnings(violation.getWarnings()); |
32e27cb8cfef
Use validation rule on update as well.
Tom Gottfried <tom@intevation.de>
parents:
1227
diff
changeset
|
365 } |
32e27cb8cfef
Use validation rule on update as well.
Tom Gottfried <tom@intevation.de>
parents:
1227
diff
changeset
|
366 |
32e27cb8cfef
Use validation rule on update as well.
Tom Gottfried <tom@intevation.de>
parents:
1227
diff
changeset
|
367 return response; |
836
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
368 } |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
369 |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
370 /** |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
371 * Delete an existing SOrt object by id. |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
372 * <p> |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
373 * 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
|
374 * <p> |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
375 * Example: http://example.com/location/{id} |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
376 * |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
377 * @return Response object. |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
378 */ |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
379 @DELETE |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
380 @Path("/{id}") |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
381 @Produces(MediaType.APPLICATION_JSON) |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
382 public Response delete( |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
383 @Context HttpServletRequest request, |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
384 @PathParam("id") String id |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
385 ) { |
956
539eb174bf23
Avoid NPE if requested object does not exist.
Tom Gottfried <tom@intevation.de>
parents:
919
diff
changeset
|
386 Response response = |
539eb174bf23
Avoid NPE if requested object does not exist.
Tom Gottfried <tom@intevation.de>
parents:
919
diff
changeset
|
387 repository.getById(Ort.class, Integer.valueOf(id), "stamm"); |
539eb174bf23
Avoid NPE if requested object does not exist.
Tom Gottfried <tom@intevation.de>
parents:
919
diff
changeset
|
388 if (!response.getSuccess()) { |
539eb174bf23
Avoid NPE if requested object does not exist.
Tom Gottfried <tom@intevation.de>
parents:
919
diff
changeset
|
389 return response; |
539eb174bf23
Avoid NPE if requested object does not exist.
Tom Gottfried <tom@intevation.de>
parents:
919
diff
changeset
|
390 } |
539eb174bf23
Avoid NPE if requested object does not exist.
Tom Gottfried <tom@intevation.de>
parents:
919
diff
changeset
|
391 Ort ort = (Ort)response.getData(); |
836
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
392 if (!authorization.isAuthorized( |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
393 request, |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
394 ort, |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
395 RequestMethod.DELETE, |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
396 Ort.class) |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
397 ) { |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
398 return new Response(false, 699, ort); |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
399 } |
956
539eb174bf23
Avoid NPE if requested object does not exist.
Tom Gottfried <tom@intevation.de>
parents:
919
diff
changeset
|
400 |
919
e5a9c27047a4
Updated stammdaten services: allow multiselect filters and check duplicates
Raimund Renkert <raimund.renkert@intevation.de>
parents:
853
diff
changeset
|
401 return repository.delete(ort, "stamm"); |
836
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
402 } |
313bd1d227f1
Added services for stammdaten and updated models.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
403 } |