Mercurial > lada > lada-server
comparison src/main/java/de/intevation/lada/rest/stamm/OrtService.java @ 1266:e4cb532fde82
Filter orte by netzbetreiber.
author | Raimund Renkert <raimund.renkert@intevation.de> |
---|---|
date | Fri, 27 Jan 2017 15:14:53 +0100 |
parents | 9dfb52db6a0f |
children |
comparison
equal
deleted
inserted
replaced
1265:a1323ef2c330 | 1266:e4cb532fde82 |
---|---|
32 import de.intevation.lada.model.stammdaten.Ort; | 32 import de.intevation.lada.model.stammdaten.Ort; |
33 import de.intevation.lada.util.annotation.AuthorizationConfig; | 33 import de.intevation.lada.util.annotation.AuthorizationConfig; |
34 import de.intevation.lada.util.annotation.RepositoryConfig; | 34 import de.intevation.lada.util.annotation.RepositoryConfig; |
35 import de.intevation.lada.util.auth.Authorization; | 35 import de.intevation.lada.util.auth.Authorization; |
36 import de.intevation.lada.util.auth.AuthorizationType; | 36 import de.intevation.lada.util.auth.AuthorizationType; |
37 import de.intevation.lada.util.auth.UserInfo; | |
37 import de.intevation.lada.util.data.QueryBuilder; | 38 import de.intevation.lada.util.data.QueryBuilder; |
38 import de.intevation.lada.util.data.Repository; | 39 import de.intevation.lada.util.data.Repository; |
39 import de.intevation.lada.util.data.RepositoryType; | 40 import de.intevation.lada.util.data.RepositoryType; |
40 import de.intevation.lada.util.rest.RequestMethod; | 41 import de.intevation.lada.util.rest.RequestMethod; |
41 import de.intevation.lada.util.rest.Response; | 42 import de.intevation.lada.util.rest.Response; |
178 } | 179 } |
179 | 180 |
180 orte = repository.filterPlain(builder.getQuery(), "stamm"); | 181 orte = repository.filterPlain(builder.getQuery(), "stamm"); |
181 } | 182 } |
182 else { | 183 else { |
183 orte = repository.getAllPlain(Ort.class, "stamm"); | 184 UserInfo user = authorization.getInfo(request); |
185 QueryBuilder<Ort> builder = | |
186 new QueryBuilder<Ort>( | |
187 repository.entityManager("stamm"), | |
188 Ort.class | |
189 ); | |
190 for (String nb : user.getNetzbetreiber()) { | |
191 builder.or("netzbetreiberId", nb); | |
192 } | |
193 orte = repository.filterPlain(builder.getQuery(), "stamm"); | |
184 } | 194 } |
185 | 195 |
186 int size = orte.size(); | 196 int size = orte.size(); |
187 if (params.containsKey("start") && params.containsKey("limit")) { | 197 if (params.containsKey("start") && params.containsKey("limit")) { |
188 int start = Integer.valueOf(params.getFirst("start")); | 198 int start = Integer.valueOf(params.getFirst("start")); |