Mercurial > lada > lada-server
view src/main/java/de/intevation/lada/validation/rules/messung/Date.java @ 647:4da01934e46f
Added new validation rules for messung objects.
author | Raimund Renkert <raimund.renkert@intevation.de> |
---|---|
date | Tue, 05 May 2015 14:09:31 +0200 |
parents | |
children | de47b7193bdb |
line wrap: on
line source
package de.intevation.lada.validation.rules.messung; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.inject.Inject; import de.intevation.lada.model.land.LMessung; import de.intevation.lada.model.land.LProbe; import de.intevation.lada.util.annotation.RepositoryConfig; import de.intevation.lada.util.data.Repository; import de.intevation.lada.util.data.RepositoryType; import de.intevation.lada.util.rest.Response; import de.intevation.lada.validation.Violation; import de.intevation.lada.validation.annotation.ValidationRule; import de.intevation.lada.validation.rules.Rule; @ValidationRule("Messung") public class Date implements Rule { @Inject @RepositoryConfig(type=RepositoryType.RO) private Repository repository; @Override public Violation execute(Object object) { LMessung messung = (LMessung)object; Integer probeId = messung.getProbeId(); Response response = repository.getById(LProbe.class, probeId, "land"); @SuppressWarnings("unchecked") List<LProbe> list = (List<LProbe>) response.getData(); if (list.isEmpty()) { Map<String, Integer> errors = new HashMap<String, Integer>(); errors.put("lprobe", 604); } LProbe probe = list.get(0); if (probe.getProbeentnahmeEnde() == null || probe.getProbeentnahmeEnde().after(messung.getMesszeitpunkt())) { Violation violation = new Violation(); violation.addWarning("messzeitpunkt", 661); return violation; } return null; } }