Mercurial > lada > lada-server
view src/main/java/de/intevation/lada/auth/DataAuthorization.java @ 235:01148d036b9b
Added new module to authorize operations on objects.
author | Raimund Renkert <rrenkert@intevation.de> |
---|---|
date | Fri, 05 Jul 2013 14:59:27 +0200 |
parents | |
children | 2098db2e8fbd |
line wrap: on
line source
package de.intevation.lada.auth; import java.util.List; import javax.enterprise.context.ApplicationScoped; import javax.inject.Inject; import javax.inject.Named; import de.intevation.lada.data.QueryBuilder; import de.intevation.lada.data.Repository; import de.intevation.lada.model.LMessung; import de.intevation.lada.rest.Response; @ApplicationScoped @Named("dataauthorization") public class DataAuthorization implements Authorization { @Inject @Named("readonlyrepository") private Repository repository; /** * Determine if the LProbe identified by probeId is writable for the user. * * @param probeId The probe id. */ public boolean isReadOnly(String probeId) { QueryBuilder<LMessung> builder = new QueryBuilder<LMessung>( repository.getEntityManager(), LMessung.class); builder.and("probeId", probeId); Response response = repository.filter(builder.getQuery()); @SuppressWarnings("unchecked") List<LMessung> messungen = (List<LMessung>) response.getData(); if (messungen.isEmpty()) { return false; } for(LMessung messung : messungen) { if (messung.isFertig()) { return true; } } return false; } }