This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository tutti. See https://gitlab.nuiton.org/codelutin/tutti.git commit f92468b3609cca1faffd0d1f405fe8dcd4063255 Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed May 11 18:23:58 2016 +0200 Autoriser de lier une personne temporaire même si on la trouve plusieurs fois (See #8310) --- .../referential/PersonPersistenceServiceImpl.java | 25 +++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/referential/PersonPersistenceServiceImpl.java b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/referential/PersonPersistenceServiceImpl.java index f4f9935..daf1dba 100644 --- a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/referential/PersonPersistenceServiceImpl.java +++ b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/referential/PersonPersistenceServiceImpl.java @@ -34,6 +34,8 @@ import fr.ifremer.adagio.core.dao.referential.StatusCode; import fr.ifremer.adagio.core.vo.administration.user.PersonVO; import fr.ifremer.tutti.persistence.entities.referential.Person; import fr.ifremer.tutti.persistence.entities.referential.Persons; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import org.hibernate.type.IntegerType; import org.hibernate.type.StringType; import org.nuiton.jaxx.application.ApplicationBusinessException; @@ -54,6 +56,9 @@ import java.util.List; @Service("personPersistenceService") public class PersonPersistenceServiceImpl extends ReferentialPersistenceServiceSupport implements PersonPersistenceService { + /** Logger. */ + private static final Log log = LogFactory.getLog(PersonPersistenceServiceImpl.class); + @Resource(name = "personDao") protected PersonExtendDao personDao; @@ -280,11 +285,29 @@ public class PersonPersistenceServiceImpl extends ReferentialPersistenceServiceS Preconditions.checkNotNull(source.getId()); Preconditions.checkArgument(Persons.isTemporaryId(source.getIdAsInt())); - Object[] row = queryUniqueWithStatus( + Iterator<Object[]> sources =queryListWithStatus( "personByFullName", "personFirstName", StringType.INSTANCE, source.getFirstName(), "personLastName", StringType.INSTANCE, source.getLastName()); + Object[] row = null; + if (sources.hasNext()) { + row = sources.next(); + + if (sources.hasNext()) { + Object[] next = sources.next(); + Person person = loadPerson(next); + if (log.isInfoEnabled()) { + log.info("Il existe une autre personne d'identifiant "+person.getId()+" trouvée en pase pour la personne temporaire "+source.getFirstName()+" - "+source.getLastName()); + } + } + } + +// Object[] row = queryUniqueWithStatus( +// "personByFullName", +// "personFirstName", StringType.INSTANCE, source.getFirstName(), +// "personLastName", StringType.INSTANCE, source.getLastName()); + return row == null ? null : loadPerson(row); } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.