This is an automated email from the git hooks/post-receive script. New commit to branch feature/7017 in repository observe. See http://git.codelutin.com/observe.git commit 4762be6a1c9e874e1391706fe83b738e07ac27e9 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Thu Apr 30 16:49:58 2015 +0200 deplacement du traitement après enregistrement dans les services. --- .../services/data/seine/NonTargetCatchService.java | 5 +++- .../data/seine/NonTargetCatchServiceImpl.java | 29 +++++++++++++++++++++- .../table/impl/seine/NonTargetCatchUIHandler.java | 29 ++++------------------ 3 files changed, 37 insertions(+), 26 deletions(-) diff --git a/observe-services/src/main/java/fr/ird/observe/services/data/seine/NonTargetCatchService.java b/observe-services/src/main/java/fr/ird/observe/services/data/seine/NonTargetCatchService.java index 538d153..f83dbd8 100644 --- a/observe-services/src/main/java/fr/ird/observe/services/data/seine/NonTargetCatchService.java +++ b/observe-services/src/main/java/fr/ird/observe/services/data/seine/NonTargetCatchService.java @@ -1,12 +1,15 @@ package fr.ird.observe.services.data.seine; import fr.ird.observe.entities.seine.NonTargetCatch; +import fr.ird.observe.entities.seine.NonTargetLength; import fr.ird.observe.entities.seine.SetSeine; import fr.ird.observe.services.Commit; import fr.ird.observe.services.NoTransaction; import fr.ird.observe.services.ObserveService; import org.nuiton.topia.persistence.util.EntityListUpdator; +import java.util.List; + /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ @@ -15,7 +18,7 @@ public interface NonTargetCatchService extends ObserveService { SetSeine loadForEdit(String setId); @Commit - void save(SetSeine parent); + void save(SetSeine parent, List<NonTargetLength> tailleToDelete); @NoTransaction EntityListUpdator<SetSeine, NonTargetCatch> getListUpdator(); diff --git a/observe-services/src/main/java/fr/ird/observe/services/data/seine/NonTargetCatchServiceImpl.java b/observe-services/src/main/java/fr/ird/observe/services/data/seine/NonTargetCatchServiceImpl.java index 3166ffa..91bf7d2 100644 --- a/observe-services/src/main/java/fr/ird/observe/services/data/seine/NonTargetCatchServiceImpl.java +++ b/observe-services/src/main/java/fr/ird/observe/services/data/seine/NonTargetCatchServiceImpl.java @@ -2,18 +2,26 @@ package fr.ird.observe.services.data.seine; import fr.ird.observe.BinderService; import fr.ird.observe.entities.seine.NonTargetCatch; +import fr.ird.observe.entities.seine.NonTargetLength; +import fr.ird.observe.entities.seine.NonTargetSample; import fr.ird.observe.entities.seine.SetSeine; import fr.ird.observe.services.AbstractObserveService; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.nuiton.topia.TopiaException; import org.nuiton.topia.persistence.util.EntityListUpdator; import org.nuiton.topia.persistence.util.TopiaEntityBinder; import java.util.Collection; +import java.util.List; /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ public class NonTargetCatchServiceImpl extends AbstractObserveService implements NonTargetCatchService { + private static final Log log = LogFactory.getLog(NonTargetCatchServiceImpl.class); + @Override public SetSeine loadForEdit(String setId) { @@ -41,7 +49,7 @@ public class NonTargetCatchServiceImpl extends AbstractObserveService implements } @Override - public void save(SetSeine parent) { + public void save(SetSeine parent, final List<NonTargetLength> tailleToDelete) { TopiaEntityBinder<SetSeine> parentBinder = getBinder(SetSeine.class, BinderService.EDIT_NON_TARGET_CATCH); TopiaEntityBinder<NonTargetCatch> childbinder = getBinder(NonTargetCatch.class, BinderService.EDIT); @@ -63,6 +71,25 @@ public class NonTargetCatchServiceImpl extends AbstractObserveService implements } parent.setNonTargetDiscarded(hasRejet); } + + @Override + public void onUpdateFinalize(SetSeine parent, Collection<NonTargetCatch> oldChilds) throws TopiaException { + + if (tailleToDelete != null && !tailleToDelete.isEmpty()) { + + // on a demande la suppression de taille obsoletes + + if (log.isInfoEnabled()) { + log.info("Will remove " + tailleToDelete.size() + + " obsolete nonTargetSample(s)."); + } + + NonTargetSample echantillon = parent.getNonTargetSample().get(0); + + // on supprime les echantillons obsoletes + echantillon.getNonTargetLength().removeAll(tailleToDelete); + } + } }); } diff --git a/observe-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUIHandler.java b/observe-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUIHandler.java index 968330f..300f200 100644 --- a/observe-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUIHandler.java +++ b/observe-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUIHandler.java @@ -37,7 +37,6 @@ import fr.ird.observe.entities.referentiel.seine.ReasonForDiscard; import fr.ird.observe.entities.referentiel.seine.SpeciesFate; import fr.ird.observe.entities.seine.NonTargetCatch; import fr.ird.observe.entities.seine.NonTargetLength; -import fr.ird.observe.entities.seine.NonTargetSample; import fr.ird.observe.entities.seine.SetSeine; import fr.ird.observe.services.data.TripService; import fr.ird.observe.services.data.seine.NonTargetCatchService; @@ -51,7 +50,6 @@ import jaxx.runtime.context.JAXXContextEntryDef; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.decorator.Decorator; -import org.nuiton.topia.TopiaContext; import org.nuiton.topia.persistence.util.TopiaEntityBinder; import javax.swing.JComponent; @@ -409,6 +407,7 @@ public class NonTargetCatchUIHandler extends ContentTableUIHandler<SetSeine, Non @Override protected boolean doSave(SetSeine bean) { try { + return super.doSave(bean); } finally { @@ -481,7 +480,10 @@ public class NonTargetCatchUIHandler extends ContentTableUIHandler<SetSeine, Non @Override protected void doPersist(SetSeine editBean) { - getService(NonTargetCatchService.class).save(editBean); + List<NonTargetLength> tailleToDelete = + ALL_TAILLES_TO_DELETE_ENTRY.getContextValue(getUi()); + + getService(NonTargetCatchService.class).save(editBean, tailleToDelete); } @@ -491,25 +493,4 @@ public class NonTargetCatchUIHandler extends ContentTableUIHandler<SetSeine, Non saveUI2(refresh); } - @Override - protected void onUpdateFinalize(TopiaContext tx, SetSeine bean, Collection<NonTargetCatch> oldChilds) { - - List<NonTargetLength> tailleToDelete = - ALL_TAILLES_TO_DELETE_ENTRY.getContextValue(getUi()); - - if (tailleToDelete != null && !tailleToDelete.isEmpty()) { - - // on a demande la suppression de taille obsoletes - - if (log.isInfoEnabled()) { - log.info("Will remove " + tailleToDelete.size() + - " obsolete nonTargetSample(s)."); - } - - NonTargetSample echantillon = bean.getNonTargetSample().get(0); - - // on supprime les echantillons obsoletes - echantillon.getNonTargetLength().removeAll(tailleToDelete); - } - } } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.