# HG changeset patch # User Raimund Renkert # Date 1370001765 -7200 # Node ID 8078fde8b02b77871a79299a87c7a2123ebb46f0 # Parent 132eca870434ec2cd5b37ea1ddd125e7991578f9 Persist a new LProbe using the LProbeValidator. diff -r 132eca870434 -r 8078fde8b02b src/main/java/de/intevation/lada/manage/LProbeManager.java --- a/src/main/java/de/intevation/lada/manage/LProbeManager.java Fri May 31 14:00:25 2013 +0200 +++ b/src/main/java/de/intevation/lada/manage/LProbeManager.java Fri May 31 14:02:45 2013 +0200 @@ -1,14 +1,20 @@ package de.intevation.lada.manage; +import java.util.Map; import java.util.logging.Logger; import javax.ejb.Stateless; import javax.ejb.TransactionAttribute; import javax.ejb.TransactionAttributeType; import javax.inject.Inject; +import javax.inject.Named; +import javax.persistence.EntityExistsException; import javax.persistence.EntityManager; +import javax.persistence.TransactionRequiredException; import de.intevation.lada.model.LProbe; +import de.intevation.lada.validation.ValidationException; +import de.intevation.lada.validation.Validator; @Stateless public class LProbeManager { @@ -19,10 +25,34 @@ @Inject private EntityManager em; + @Inject + @Named("lprobevalidator") + private Validator validator; + + /** + * Delete a LProbe object by id. + * + * @param id + * @throws Exception + */ @TransactionAttribute(TransactionAttributeType.REQUIRED) public void delete(String id) throws Exception { LProbe probe = em.find(LProbe.class, id); log.info("Deleting " + probe.getProbeId()); em.remove(probe); } + + @TransactionAttribute(TransactionAttributeType.REQUIRED) + public void create(LProbe probe) + throws EntityExistsException, + IllegalArgumentException, + TransactionRequiredException, + ValidationException { + validator.validate(probe); + em.persist(probe); + } + + public Map getWarnings() { + return validator.getWarnings(); + } } \ No newline at end of file