Subversion Repositories bacoAlunos

Rev

Rev 1306 | Blame | Compare with Previous | Last modification | View Log | RSS feed

package pt.estgp.estgweb.services.announcements;

import org.apache.log4j.Logger;
import pt.estgp.estgweb.domain.Announcement;
import pt.estgp.estgweb.domain.UserSession;
import pt.estgp.estgweb.domain.dao.DaoFactory;
import pt.estgp.estgweb.domain.views.AnnouncementView;
import pt.estgp.estgweb.utils.ConfigProperties;
import pt.utl.ist.berserk.logic.serviceManager.IService;

import java.util.ArrayList;
import java.util.List;

/**
 * @author Jorge Machado
 * @date 4/Mar/2008
 * @time 19:48:46
 * @see pt.estgp.estgweb.services.announcements
 */

public class LoadTargetMaxAnnouncementsService implements IService
{
   private static final 1.5.0/docs/api/java/util/logging/Logger.html">Logger logger = 1.5.0/docs/api/java/util/logging/Logger.html">Logger.getLogger(LoadTargetMaxAnnouncementsService.class);
    private static final int MAX_ANNOUNCEMENTS = ConfigProperties.getIntProperty("announcements.max.visible");

    public List<AnnouncementView> run(1.5.0/docs/api/java/lang/String.html">String subTarget,UserSession userSession)
    {
        List<String> targetRoles = null;
        if(userSession.getUser() != null)
            targetRoles = userSession.getUser().getRolesList();
        boolean internal = true;
        if (userSession.getUser() == null)
            internal = false;
        List<Announcement> announcements = DaoFactory.getAnnouncementDaoImpl().findAnnouncements(MAX_ANNOUNCEMENTS,targetRoles,subTarget,internal);
        if(announcements == null)
            return null;
        List<AnnouncementView> announcementViews = new ArrayList<AnnouncementView>();
        for(Announcement announcement: announcements)
        {
            AnnouncementView announcementView = new AnnouncementView(announcement);
            announcementViews.add(announcementView);
        }
        logger.info("Loading announcement views");
        return announcementViews;
    }
}