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 | } |