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 }
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)