package fr.openwide.maven.artifact.notifier.core.business.audit.service; import java.util.Date; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import fr.openwide.maven.artifact.notifier.core.business.audit.model.AuditSummary; import fr.openwide.maven.artifact.notifier.core.business.user.model.User; import fr.openwide.maven.artifact.notifier.core.business.user.service.IUserService; @Service("auditService") public class AuditServiceImpl implements IAuditService { @Autowired private IUserService userService; private Date getNow() { return new Date(); } private User getAuthor() { return userService.getAuthenticatedUser(); } @Override public void refreshAuditSummaryForCreate(AuditSummary auditSummary) { Date now = getNow(); User author = getAuthor(); // Si un créateur a déjà été spécifié, on ne l'écrase pas if (auditSummary.getCreationAuthor() == null) { auditSummary.setCreationAuthor(author); } if (auditSummary.getLastEditAuthor() == null) { auditSummary.setLastEditAuthor(author); } auditSummary.setCreationDate(now); auditSummary.setLastEditDate(now); } @Override public void refreshAuditSummaryForUpdate(AuditSummary auditSummary) { Date now = getNow(); User author = getAuthor(); auditSummary.setLastEditAuthor(author); auditSummary.setLastEditDate(now); } }