Mercurial > lada > lada-server
comparison src/main/java/de/intevation/lada/util/auth/HeaderAuthorization.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 | c481688150e8 |
children | f92c96efa976 |
comparison
equal
deleted
inserted
replaced
1027:9971471d562c | 1028:1c41c7b8f7c2 |
---|---|
17 import javax.persistence.EntityManager; | 17 import javax.persistence.EntityManager; |
18 import javax.servlet.http.HttpServletRequest; | 18 import javax.servlet.http.HttpServletRequest; |
19 | 19 |
20 import org.apache.log4j.Logger; | 20 import org.apache.log4j.Logger; |
21 | 21 |
22 import de.intevation.lada.model.land.LKommentarM; | 22 import de.intevation.lada.model.land.KommentarM; |
23 import de.intevation.lada.model.land.LKommentarP; | 23 import de.intevation.lada.model.land.KommentarP; |
24 import de.intevation.lada.model.land.LMessung; | 24 import de.intevation.lada.model.land.Messung; |
25 import de.intevation.lada.model.land.LMesswert; | 25 import de.intevation.lada.model.land.Messwert; |
26 import de.intevation.lada.model.land.LOrtszuordnung; | 26 import de.intevation.lada.model.land.Ortszuordnung; |
27 import de.intevation.lada.model.land.LProbe; | 27 import de.intevation.lada.model.land.Probe; |
28 import de.intevation.lada.model.land.LStatusProtokoll; | 28 import de.intevation.lada.model.land.StatusProtokoll; |
29 import de.intevation.lada.model.land.LZusatzWert; | 29 import de.intevation.lada.model.land.ZusatzWert; |
30 import de.intevation.lada.model.stamm.Auth; | 30 import de.intevation.lada.model.stammdaten.Auth; |
31 import de.intevation.lada.model.stamm.DatensatzErzeuger; | 31 import de.intevation.lada.model.stammdaten.DatensatzErzeuger; |
32 import de.intevation.lada.model.stamm.LadaUser; | 32 import de.intevation.lada.model.stammdaten.LadaUser; |
33 import de.intevation.lada.model.stamm.MessprogrammKategorie; | 33 import de.intevation.lada.model.stammdaten.MessprogrammKategorie; |
34 import de.intevation.lada.model.stamm.Ort; | 34 import de.intevation.lada.model.stammdaten.Ort; |
35 import de.intevation.lada.model.stamm.Probenehmer; | 35 import de.intevation.lada.model.stammdaten.Probenehmer; |
36 import de.intevation.lada.model.stammdaten.StatusKombi; | |
36 import de.intevation.lada.util.annotation.AuthorizationConfig; | 37 import de.intevation.lada.util.annotation.AuthorizationConfig; |
37 import de.intevation.lada.util.annotation.RepositoryConfig; | 38 import de.intevation.lada.util.annotation.RepositoryConfig; |
38 import de.intevation.lada.util.data.QueryBuilder; | 39 import de.intevation.lada.util.data.QueryBuilder; |
39 import de.intevation.lada.util.data.Repository; | 40 import de.intevation.lada.util.data.Repository; |
40 import de.intevation.lada.util.data.RepositoryType; | 41 import de.intevation.lada.util.data.RepositoryType; |
69 | 70 |
70 @SuppressWarnings("rawtypes") | 71 @SuppressWarnings("rawtypes") |
71 @PostConstruct | 72 @PostConstruct |
72 public void init() { | 73 public void init() { |
73 authorizers = new HashMap<Class, Authorizer>(); | 74 authorizers = new HashMap<Class, Authorizer>(); |
74 authorizers.put(LProbe.class, probeAuthorizer); | 75 authorizers.put(Probe.class, probeAuthorizer); |
75 authorizers.put(LMessung.class, messungAuthorizer); | 76 authorizers.put(Messung.class, messungAuthorizer); |
76 authorizers.put(LOrtszuordnung.class, pIdAuthorizer); | 77 authorizers.put(Ortszuordnung.class, pIdAuthorizer); |
77 authorizers.put(LKommentarP.class, pIdAuthorizer); | 78 authorizers.put(KommentarP.class, pIdAuthorizer); |
78 authorizers.put(LZusatzWert.class, pIdAuthorizer); | 79 authorizers.put(ZusatzWert.class, pIdAuthorizer); |
79 authorizers.put(LKommentarM.class, mIdAuthorizer); | 80 authorizers.put(KommentarM.class, mIdAuthorizer); |
80 authorizers.put(LMesswert.class, mIdAuthorizer); | 81 authorizers.put(Messwert.class, mIdAuthorizer); |
81 authorizers.put(LStatusProtokoll.class, mIdAuthorizer); | 82 authorizers.put(StatusProtokoll.class, mIdAuthorizer); |
82 authorizers.put(Probenehmer.class, netzAuthorizer); | 83 authorizers.put(Probenehmer.class, netzAuthorizer); |
83 authorizers.put(DatensatzErzeuger.class, netzAuthorizer); | 84 authorizers.put(DatensatzErzeuger.class, netzAuthorizer); |
84 authorizers.put(MessprogrammKategorie.class, netzAuthorizer); | 85 authorizers.put(MessprogrammKategorie.class, netzAuthorizer); |
85 authorizers.put(Ort.class, netzAuthorizer); | 86 authorizers.put(Ort.class, netzAuthorizer); |
86 } | 87 } |
198 * @return True if the probe is readonly. | 199 * @return True if the probe is readonly. |
199 */ | 200 */ |
200 @Override | 201 @Override |
201 public boolean isReadOnly(Integer probeId) { | 202 public boolean isReadOnly(Integer probeId) { |
202 EntityManager manager = repository.entityManager("land"); | 203 EntityManager manager = repository.entityManager("land"); |
203 QueryBuilder<LMessung> builder = | 204 QueryBuilder<Messung> builder = |
204 new QueryBuilder<LMessung>( | 205 new QueryBuilder<Messung>( |
205 manager, | 206 manager, |
206 LMessung.class); | 207 Messung.class); |
207 builder.and("probeId", probeId); | 208 builder.and("probeId", probeId); |
208 Response response = repository.filter(builder.getQuery(), "land"); | 209 Response response = repository.filter(builder.getQuery(), "land"); |
209 @SuppressWarnings("unchecked") | 210 @SuppressWarnings("unchecked") |
210 List<LMessung> messungen = (List<LMessung>) response.getData(); | 211 List<Messung> messungen = (List<Messung>) response.getData(); |
211 for (int i = 0; i < messungen.size(); i++) { | 212 for (int i = 0; i < messungen.size(); i++) { |
212 if (messungen.get(i).getStatus() == null) { | 213 if (messungen.get(i).getStatus() == null) { |
213 continue; | 214 continue; |
214 } | 215 } |
215 LStatusProtokoll status = repository.getByIdPlain( | 216 StatusProtokoll status = repository.getByIdPlain( |
216 LStatusProtokoll.class, messungen.get(i).getStatus(), "land"); | 217 StatusProtokoll.class, messungen.get(i).getStatus(), "land"); |
217 if (status.getStatusWert() != 0 && status.getStatusWert() != 4) { | 218 StatusKombi kombi = repository.getByIdPlain( |
219 StatusKombi.class, status.getStatusKombi(), "stamm"); | |
220 if (kombi.getStatusWert().getId() != 0 && | |
221 kombi.getStatusWert().getId() != 4) { | |
218 return true; | 222 return true; |
219 } | 223 } |
220 } | 224 } |
221 return false; | 225 return false; |
222 } | 226 } |