Mercurial > lada > lada-server
view src/main/java/de/intevation/lada/validation/rules/status/StatusKombination.java @ 780:ec231b0c343d
Added validator and first rule for status.
author | Raimund Renkert <raimund.renkert@intevation.de> |
---|---|
date | Fri, 13 Nov 2015 13:42:25 +0100 |
parents | |
children | 9a2dcb355d89 |
line wrap: on
line source
/* Copyright (C) 2013 by Bundesamt fuer Strahlenschutz * Software engineering by Intevation GmbH * * This file is Free Software under the GNU GPL (v>=3) * and comes with ABSOLUTELY NO WARRANTY! Check out * the documentation coming with IMIS-Labordaten-Application for details. */ package de.intevation.lada.validation.rules.status; import java.util.List; import javax.inject.Inject; import de.intevation.lada.model.land.LStatusProtokoll; import de.intevation.lada.model.stamm.StatusKombi; import de.intevation.lada.util.annotation.RepositoryConfig; import de.intevation.lada.util.data.QueryBuilder; import de.intevation.lada.util.data.Repository; import de.intevation.lada.util.data.RepositoryType; import de.intevation.lada.validation.Violation; import de.intevation.lada.validation.annotation.ValidationRule; import de.intevation.lada.validation.rules.Rule; /** * Validation rule for status. * * @author <a href="mailto:rrenkert@intevation.de">Raimund Renkert</a> */ @ValidationRule("Status") public class StatusKombination implements Rule { @Inject @RepositoryConfig(type=RepositoryType.RO) private Repository repository; @Override public Violation execute(Object object) { LStatusProtokoll status = (LStatusProtokoll)object; QueryBuilder<StatusKombi> kombi = new QueryBuilder<StatusKombi>( repository.entityManager("stamm"), StatusKombi.class); kombi.and("stufeId", status.getStatusStufe()); kombi.and("wertId", status.getStatusWert()); List<StatusKombi> result = repository.filterPlain(kombi.getQuery(), "stamm"); if (result.isEmpty()) { Violation violation = new Violation(); violation.addError("status", 632); } return null; } }