comparison src/main/java/de/intevation/lada/util/auth/ProbeIdAuthorizer.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
10 import java.lang.reflect.InvocationTargetException; 10 import java.lang.reflect.InvocationTargetException;
11 import java.lang.reflect.Method; 11 import java.lang.reflect.Method;
12 import java.util.ArrayList; 12 import java.util.ArrayList;
13 import java.util.List; 13 import java.util.List;
14 14
15 import de.intevation.lada.model.land.LProbe; 15 import de.intevation.lada.model.land.Probe;
16 import de.intevation.lada.model.stammdaten.MessStelle;
16 import de.intevation.lada.util.rest.RequestMethod; 17 import de.intevation.lada.util.rest.RequestMethod;
17 import de.intevation.lada.util.rest.Response; 18 import de.intevation.lada.util.rest.Response;
18 19
19 public class ProbeIdAuthorizer extends BaseAuthorizer { 20 public class ProbeIdAuthorizer extends BaseAuthorizer {
20 21
38 IllegalArgumentException | 39 IllegalArgumentException |
39 InvocationTargetException e 40 InvocationTargetException e
40 ) { 41 ) {
41 return false; 42 return false;
42 } 43 }
43 LProbe probe = 44 Probe probe =
44 repository.getByIdPlain(LProbe.class, id, "land"); 45 repository.getByIdPlain(Probe.class, id, "land");
45 return !isProbeReadOnly(id) && getAuthorization(userInfo, probe); 46 return !isProbeReadOnly(id) && getAuthorization(userInfo, probe);
46 } 47 }
47 48
48 @SuppressWarnings("unchecked") 49 @SuppressWarnings("unchecked")
49 @Override 50 @Override
85 id = (Integer) getProbeId.invoke(data); 86 id = (Integer) getProbeId.invoke(data);
86 } 87 }
87 else { 88 else {
88 return null; 89 return null;
89 } 90 }
90 LProbe probe = 91 Probe probe =
91 (LProbe)repository.getById(LProbe.class, id, "land").getData(); 92 (Probe)repository.getById(Probe.class, id, "land").getData();
92 93
93 boolean readOnly = true; 94 boolean readOnly = true;
94 boolean owner = false; 95 boolean owner = false;
96 MessStelle mst = repository.getByIdPlain(MessStelle.class, probe.getMstId(), "stamm");
95 if (!userInfo.getNetzbetreiber().contains( 97 if (!userInfo.getNetzbetreiber().contains(
96 probe.getNetzbetreiberId())) { 98 mst.getNetzbetreiberId())) {
97 owner = false; 99 owner = false;
98 readOnly = true; 100 readOnly = true;
99 } 101 }
100 else { 102 else {
101 if (userInfo.belongsTo(probe.getMstId(), probe.getLaborMstId())) { 103 if (userInfo.belongsTo(probe.getMstId(), probe.getLaborMstId())) {
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)