comparison src/main/java/de/intevation/lada/util/auth/ProbeAuthorizer.java @ 1028:1c41c7b8f7c2 schema-update

Updated server application to new database model. THIS IS STILL WIP!!!
author Raimund Renkert <raimund.renkert@intevation.de>
date Fri, 08 Jul 2016 15:32:36 +0200
parents f5b4784d9173
children
comparison
equal deleted inserted replaced
1027:9971471d562c 1028:1c41c7b8f7c2
8 package de.intevation.lada.util.auth; 8 package de.intevation.lada.util.auth;
9 9
10 import java.util.ArrayList; 10 import java.util.ArrayList;
11 import java.util.List; 11 import java.util.List;
12 12
13 import de.intevation.lada.model.land.LProbe; 13 import de.intevation.lada.model.land.Probe;
14 import de.intevation.lada.model.stammdaten.MessStelle;
14 import de.intevation.lada.util.rest.RequestMethod; 15 import de.intevation.lada.util.rest.RequestMethod;
15 import de.intevation.lada.util.rest.Response; 16 import de.intevation.lada.util.rest.Response;
16 17
17 public class ProbeAuthorizer extends BaseAuthorizer { 18 public class ProbeAuthorizer extends BaseAuthorizer {
18 19
21 Object data, 22 Object data,
22 RequestMethod method, 23 RequestMethod method,
23 UserInfo userInfo, 24 UserInfo userInfo,
24 Class<T> clazz 25 Class<T> clazz
25 ) { 26 ) {
26 LProbe probe = (LProbe)data; 27 Probe probe = (Probe)data;
27 if (method == RequestMethod.PUT || 28 if (method == RequestMethod.PUT ||
28 method == RequestMethod.DELETE) { 29 method == RequestMethod.DELETE) {
29 return !isProbeReadOnly(probe.getId()); 30 return !isProbeReadOnly(probe.getId());
30 } 31 }
31 return getAuthorization(userInfo, probe); 32 return getAuthorization(userInfo, probe);
37 Response data, 38 Response data,
38 UserInfo userInfo, 39 UserInfo userInfo,
39 Class<T> clazz 40 Class<T> clazz
40 ) { 41 ) {
41 if (data.getData() instanceof List<?>) { 42 if (data.getData() instanceof List<?>) {
42 List<LProbe> proben = new ArrayList<LProbe>(); 43 List<Probe> proben = new ArrayList<Probe>();
43 for (LProbe probe :(List<LProbe>)data.getData()) { 44 for (Probe probe :(List<Probe>)data.getData()) {
44 proben.add(setAuthData(userInfo, probe)); 45 proben.add(setAuthData(userInfo, probe));
45 } 46 }
46 data.setData(proben); 47 data.setData(proben);
47 } 48 }
48 else if (data.getData() instanceof LProbe) { 49 else if (data.getData() instanceof Probe) {
49 LProbe probe = (LProbe)data.getData(); 50 Probe probe = (Probe)data.getData();
50 data.setData(setAuthData(userInfo, probe)); 51 data.setData(setAuthData(userInfo, probe));
51 } 52 }
52 return data; 53 return data;
53 } 54 }
54 55
57 * 58 *
58 * @param userInfo The user information. 59 * @param userInfo The user information.
59 * @param probe The probe object. 60 * @param probe The probe object.
60 * @return The probe. 61 * @return The probe.
61 */ 62 */
62 private LProbe setAuthData(UserInfo userInfo, LProbe probe) { 63 private Probe setAuthData(UserInfo userInfo, Probe probe) {
63 if (!userInfo.getNetzbetreiber().contains(probe.getNetzbetreiberId())) { 64 MessStelle mst = repository.getByIdPlain(MessStelle.class, probe.getMstId(), "stamm");
65 if (!userInfo.getNetzbetreiber().contains(mst.getNetzbetreiberId())) {
64 probe.setOwner(false); 66 probe.setOwner(false);
65 probe.setReadonly(true); 67 probe.setReadonly(true);
66 return probe; 68 return probe;
67 } 69 }
68 if (userInfo.belongsTo(probe.getMstId(), probe.getLaborMstId())) { 70 if (userInfo.belongsTo(probe.getMstId(), probe.getLaborMstId())) {
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)