All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.jlot.mailing.service.DeveloperNotificationMailingServiceImpl Maven / Gradle / Ivy

There is a newer version: 1.2
Show newest version
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