This is an automated email from the git hooks/post-receive script. New commit to branch feature/7739 in repository tutti. See https://gitlab.nuiton.org/codelutin/tutti.git commit 8213590b504ef520445329575bffcc31d131a449 Author: Tony CHEMIT <chemit@codelutin.com> Date: Tue Jul 19 12:18:58 2016 +0200 Transformation en référence de référentiel plutôt que de conserver les entitées --- ...rectionalReferentialSynchronizeLocalServiceTopia.java | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/UnidirectionalReferentialSynchronizeLocalServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/UnidirectionalReferentialSynchronizeLocalServiceTopia.java index 36b8049..bf8456a 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/UnidirectionalReferentialSynchronizeLocalServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/UnidirectionalReferentialSynchronizeLocalServiceTopia.java @@ -5,6 +5,7 @@ import fr.ird.observe.entities.Entities; import fr.ird.observe.entities.referentiel.ObserveReferentialEntity; import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.binder.BinderEngine; +import fr.ird.observe.services.binder.referential.ReferentialBinderSupport; import fr.ird.observe.services.dto.referential.ReferentialDto; import fr.ird.observe.services.dto.referential.ReferentialReference; import org.apache.commons.logging.Log; @@ -18,7 +19,6 @@ import org.nuiton.topia.persistence.support.TopiaSqlWork; import java.sql.Connection; import java.sql.SQLException; import java.sql.Statement; -import java.util.HashSet; import java.util.LinkedHashSet; import java.util.List; import java.util.Map; @@ -79,7 +79,8 @@ public class UnidirectionalReferentialSynchronizeLocalServiceTopia extends Obser ObserveEntityEnum entityEnum = ObserveEntityEnum.valueOf(referentialName); Class entityType = entityEnum.getContract(); - return getLocalSourceReferentialToDelete0(entityType, ids); + Class dtoType = BinderEngine.get().getReferentialDtoType(entityType); + return getLocalSourceReferentialToDelete0(entityType, dtoType, ids); } @@ -177,10 +178,17 @@ public class UnidirectionalReferentialSynchronizeLocalServiceTopia extends Obser } - private <E extends ObserveReferentialEntity> Set<E> getLocalSourceReferentialToDelete0(Class<E> entityType, Set<String> ids) { + private <E extends ObserveReferentialEntity, R extends ReferentialDto> Set<ReferentialReference<R>> getLocalSourceReferentialToDelete0(Class<E> entityType,Class<R> dtoType, Set<String> ids) { TopiaDao<E> dao = getTopiaPersistenceContext().getDao(entityType); - return new HashSet<>(dao.forTopiaIdIn(ids).findAll()); + List<E> entities = dao.forTopiaIdIn(ids).findAll(); + ReferentialBinderSupport<E, R> referentialBinder = BinderEngine.get().getReferentialBinder(dtoType); + Set<ReferentialReference<R>> result = new LinkedHashSet<>(); + for (E entity : entities) { + ReferentialReference<R> rReferentialReference = referentialBinder.toReferentialReference(getReferentialLocale(), entity); + result.add(rReferentialReference); + } + return result; } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.