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

org.jlot.mailing.cron.DeveloperNotificationMailJob Maven / Gradle / Ivy

There is a newer version: 1.2
Show newest version
package org.jlot.mailing.cron;

import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;

import javax.inject.Inject;

import org.jlot.core.cron.AbstractDailyNightlyCronJob;
import org.jlot.core.dto.LocalizationDTO;
import org.jlot.core.service.api.LocalizationService;
import org.jlot.mailing.service.DeveloperNotificationMailingService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

@Service
@Transactional(readOnly = true)
public class DeveloperNotificationMailJob extends AbstractDailyNightlyCronJob
{
	@Inject
	private DeveloperNotificationMailingService	developerNotificationMailingService;
	@Inject
	private LocalizationService					localizationService;

	@Override
	protected void runJob ( String projectName )
	{
		List listChangedLocalizations = getChangedLocalizations(projectName);
		if (listChangedLocalizations.size() != 0)
		{
			developerNotificationMailingService.executeNotificationJob(projectName, listChangedLocalizations);

		}
	}

	public List getChangedLocalizations ( String projectName )
	{
		List listLocalizations = localizationService.getLocalizations(projectName);
		List listChangedLocalizations = new ArrayList();
		for (LocalizationDTO localization : listLocalizations)
		{
			Calendar nowCalendar = Calendar.getInstance();
			nowCalendar.add(Calendar.DAY_OF_WEEK, -1);
			Date nowDate = nowCalendar.getTime();
			if (localization.getLastChangesDate().after(nowDate))
			{
				listChangedLocalizations.add(localization);
			}
		}
		return listChangedLocalizations;
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy