This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository tutti. See http://git.codelutin.com/tutti.git commit 8679f9c2dc89e1e15cd1edde92f3c3f34e155f1a Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Dec 26 15:18:45 2015 +0100 Amélioration du code de mise à jour --- .../observe/ObserveTopiaPersistenceContext.java | 33 ++++++++++++++++------ .../ird/observe/services/ObserveServiceTopia.java | 17 ++--------- 2 files changed, 27 insertions(+), 23 deletions(-) diff --git a/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaPersistenceContext.java b/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaPersistenceContext.java index 1eb669b..70330ca 100644 --- a/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaPersistenceContext.java +++ b/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaPersistenceContext.java @@ -25,6 +25,9 @@ package fr.ird.observe; import com.google.common.base.Preconditions; import fr.ird.observe.entities.LastUpdateDate; import fr.ird.observe.entities.LastUpdateDateTopiaDao; +import fr.ird.observe.entities.ObserveEntity; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import org.nuiton.topia.persistence.TopiaDao; import org.nuiton.topia.persistence.TopiaEntity; import org.nuiton.topia.persistence.internal.AbstractTopiaPersistenceContextConstructorParameter; @@ -33,30 +36,44 @@ import java.util.Date; public class ObserveTopiaPersistenceContext extends AbstractObserveTopiaPersistenceContext { + /** Logger. */ + private static final Log log = LogFactory.getLog(ObserveTopiaPersistenceContext.class); + public ObserveTopiaPersistenceContext(AbstractTopiaPersistenceContextConstructorParameter parameter) { super(parameter); } - public Date getLastUpdateDate(Class entityType) { + public <E extends ObserveEntity> Date getLastUpdateDate(Class<E> entityType) { LastUpdateDateTopiaDao dao = getDao(LastUpdateDate.class, LastUpdateDateTopiaDao.class); LastUpdateDate lastUpdateDate = dao.findUniqueByType(entityType.getName()); + if (log.isInfoEnabled()) { + log.info("getLastUpdateDate: " + lastUpdateDate.getLastUpdateDate() + " for entity type: " + entityType.getName()); + } return lastUpdateDate.getLastUpdateDate(); } - public <E extends TopiaEntity> void updateLastUpdateDate(Class<E> entityType, Date date) { + public <E extends ObserveEntity> void updateLastUpdateDate(E entity, Date date) { - LastUpdateDateTopiaDao dao = getDao(LastUpdateDate.class, LastUpdateDateTopiaDao.class); - LastUpdateDate lastUpdateDate = dao.findUniqueByType(entityType.getName()); - lastUpdateDate.setLastUpdateDate(date); + entity.setLastUpdateDate(date); + + // on met à jour l'entité (cela permet de récupérer son topiaId si l'objet est créé) + getDao(entity).update(entity); + + Class<E> type = getType(entity); + updateLastUpdateDate(type, date); } - public <E extends TopiaEntity> void updateLastUpdateDate(E entityType, Date date) { + public <E extends ObserveEntity> void updateLastUpdateDate(Class<E> entityType, Date date) { - Class<E> type = getType(entityType); - updateLastUpdateDate(type, date); + LastUpdateDateTopiaDao dao = getDao(LastUpdateDate.class, LastUpdateDateTopiaDao.class); + LastUpdateDate lastUpdateDate = dao.findUniqueByType(entityType.getName()); + if (log.isInfoEnabled()) { + log.info("Change LastUpdateDate: " + date + " for entity type: " + entityType.getName()); + } + lastUpdateDate.setLastUpdateDate(date); } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceTopia.java index 822db49..e81b0c6 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceTopia.java @@ -172,15 +172,8 @@ public abstract class ObserveServiceTopia implements ObserveService { protected <E extends ObserveEntity> SaveResultDto saveEntity(E entity) { Date lastUpdateDate = now(); - entity.setLastUpdateDate(lastUpdateDate); - ObserveTopiaPersistenceContext persistenceContext = getTopiaPersistenceContext(); - - // on met à jour l'entité (cela permet de récupérer son topiaId si l'objet est créé) - TopiaDao<E> dao = persistenceContext.getDao(entity); - dao.update(entity); - - persistenceContext.updateLastUpdateDate(entity, lastUpdateDate); + getTopiaPersistenceContext().updateLastUpdateDate(entity, lastUpdateDate); return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); @@ -190,15 +183,9 @@ public abstract class ObserveServiceTopia implements ObserveService { Date lastUpdateDate = now(); - parenEntity.setLastUpdateDate(lastUpdateDate); - entity.setLastUpdateDate(lastUpdateDate); - ObserveTopiaPersistenceContext persistenceContext = getTopiaPersistenceContext(); - // on met à jour l'entité (cela permet de récupérer son topiaId si l'objet est créé) - TopiaDao<E> dao = persistenceContext.getDao(entity); - dao.update(entity); - + persistenceContext.updateLastUpdateDate(parenEntity, lastUpdateDate); persistenceContext.updateLastUpdateDate(entity, lastUpdateDate); return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.