Subversion Repositories bacoAlunos

Rev

Rev 1310 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
146 jmachado 1
package pt.estgp.estgweb.services.announcements;
2
 
1312 jmachado 3
import org.apache.log4j.Logger;
871 jmachado 4
import pt.estgp.estgweb.Globals;
1312 jmachado 5
import pt.estgp.estgweb.domain.Announcement;
146 jmachado 6
import pt.estgp.estgweb.domain.UserSession;
7
import pt.estgp.estgweb.domain.dao.DaoFactory;
1312 jmachado 8
import pt.estgp.estgweb.domain.views.AnnouncementView;
9
import pt.estgp.estgweb.utils.ConfigProperties;
10
import pt.utl.ist.berserk.logic.serviceManager.IService;
146 jmachado 11
 
1312 jmachado 12
import java.util.ArrayList;
146 jmachado 13
import java.util.List;
14
 
15
/**
16
 * @author Jorge Machado
17
 * @date 4/Mar/2008
18
 * @time 19:48:46
19
 * @see pt.estgp.estgweb.services.announcements
20
 */
21
public class LoadTypeMaxAnnouncementsService implements IService
22
{
23
   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(LoadTypeMaxAnnouncementsService.class);
24
    private static final int MAX_ANNOUNCEMENTS = ConfigProperties.getIntProperty("announcements.max.visible");
871 jmachado 25
    private static final int MAX_ANNOUNCEMENTS_NEWS = ConfigProperties.getIntProperty("announcements.max.news.visible");
146 jmachado 26
 
27
    public List<AnnouncementView> run(1.5.0/docs/api/java/lang/String.html">String type, 1.5.0/docs/api/java/lang/String.html">String subTarget, UserSession userSession)
28
    {
29
        List<String> targetRoles = null;
30
        if(userSession.getUser() != null)
31
            targetRoles = userSession.getUser().getRolesList();
32
        boolean internal = true;
33
        if (userSession.getUser() == null)
34
            internal = false;
871 jmachado 35
        int max = MAX_ANNOUNCEMENTS;
36
        if(type != null && type.equals(Globals.ANNOUNCEMENT_TYPE_NEWS))
37
            max = MAX_ANNOUNCEMENTS_NEWS;
38
        List<Announcement> announcements = DaoFactory.getAnnouncementDaoImpl().findAnnouncements(max,targetRoles,type,subTarget,internal);
146 jmachado 39
        if(announcements == null)
40
            return null;
41
        List<AnnouncementView> announcementViews = new ArrayList<AnnouncementView>();
42
        for(Announcement announcement: announcements)
43
        {
44
            AnnouncementView announcementView = new AnnouncementView(announcement);
45
            announcementViews.add(announcementView);
46
        }
47
        logger.info("Loading announcement views");
48
        return announcementViews;
49
    }
1312 jmachado 50
 
51
    public List<AnnouncementView> load(1.5.0/docs/api/java/lang/String.html">String type, 1.5.0/docs/api/java/lang/String.html">String subTarget, int count, UserSession userSession)
52
    {
53
        List<String> targetRoles = null;
54
        if(userSession.getUser() != null)
55
            targetRoles = userSession.getUser().getRolesList();
56
        boolean internal = true;
57
        if (userSession.getUser() == null)
58
            internal = false;
59
 
60
        List<Announcement> announcements = DaoFactory.getAnnouncementDaoImpl().findAnnouncements(count,targetRoles,type,subTarget,internal);
61
        if(announcements == null)
62
            return null;
63
        List<AnnouncementView> announcementViews = new ArrayList<AnnouncementView>();
64
        for(Announcement announcement: announcements)
65
        {
66
            AnnouncementView announcementView = new AnnouncementView(announcement);
67
            announcementViews.add(announcementView);
68
        }
69
        logger.info("Loading announcement views");
70
        return announcementViews;
71
    }
146 jmachado 72
}