
org.jlot.mailing.service.DeveloperNotificationMailingServiceImpl Maven / Gradle / Ivy
package org.jlot.mailing.service;
import java.util.List;
import java.util.Set;
import javax.inject.Inject;
import org.jlot.core.dto.LocalizationDTO;
import org.jlot.core.dto.ProjectDTO;
import org.jlot.core.dto.UserDTO;
import org.jlot.core.dto.VersionDTO;
import org.jlot.core.service.api.ProjectPermissionService;
import org.jlot.core.service.api.ProjectService;
import org.jlot.core.service.api.VersionService;
import org.jlot.mailing.sender.DeveloperNotificationMailSender;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@Service
public class DeveloperNotificationMailingServiceImpl implements DeveloperNotificationMailingService
{
@Inject
private DeveloperNotificationMailSender developerNotificationMailSender;
@Inject
private ProjectService projectService;
@Inject
private VersionService versionService;
@Inject
private ProjectPermissionService projectPermissionService;
@Override
@Transactional(readOnly = true)
public void executeNotificationJob ( String projectName, List listChangedLocalizations )
{
Set setUserDTOs = projectPermissionService.getUser(projectName);
for (UserDTO userDTO : setUserDTOs)
{
sendNewNotification(userDTO, projectName, listChangedLocalizations);
}
}
private void sendNewNotification ( UserDTO userDTO, String projectName, List listChangedLocalizations )
{
ProjectDTO projectDTO = projectService.getProject(projectName);
VersionDTO versionDTO = versionService.getCurrentVersion(projectName);
developerNotificationMailSender.sendMail(userDTO, projectDTO, versionDTO, listChangedLocalizations);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy