Rev 1306 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
35 | fvelez | 1 | package pt.estgp.estgweb.services.announcements; |
2 | |||
3 | import pt.utl.ist.berserk.logic.serviceManager.IService; |
||
4 | import pt.utl.ist.berserk.logic.serviceManager.IServiceManager; |
||
5 | import pt.utl.ist.berserk.logic.serviceManager.ServiceManager; |
||
6 | import org.apache.log4j.Logger; |
||
7 | import pt.estgp.estgweb.domain.Announcement; |
||
8 | import pt.estgp.estgweb.domain.UserSession; |
||
9 | import pt.estgp.estgweb.domain.dao.DaoFactory; |
||
10 | import pt.estgp.estgweb.domain.views.AnnouncementView; |
||
11 | import pt.estgp.estgweb.utils.ConfigProperties; |
||
12 | import pt.estgp.estgweb.Globals; |
||
13 | |||
14 | import java.util.ArrayList; |
||
15 | import java.util.List; |
||
16 | |||
17 | /** |
||
18 | * Created by IntelliJ IDEA. |
||
19 | * User: Fabio |
||
20 | * Date: 28/Mar/2008 |
||
21 | * Time: 11:42:28 |
||
22 | * To change this template use File | Settings | File Templates. |
||
23 | */ |
||
24 | public class LoadRoleTypeMaxAnnouncementsService implements IService |
||
25 | { |
||
26 | 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(LoadRoleTypeMaxAnnouncementsService.class); |
||
27 | private static final int MAX_ANNOUNCEMENTS = ConfigProperties.getIntProperty("announcements.max.visible"); |
||
28 | |||
137 | jmachado | 29 | public List<AnnouncementView> run(1.5.0/docs/api/java/lang/String.html">String roles,1.5.0/docs/api/java/lang/String.html">String typeNews,1.5.0/docs/api/java/lang/String.html">String subTarget,UserSession sess) |
35 | fvelez | 30 | { |
38 | fvelez | 31 | List<String> targetRoles = new ArrayList<String>(); |
32 | if (roles.contains(",")) |
||
33 | { |
||
34 | 1.5.0/docs/api/java/lang/String.html">String[] rolesRequestSplited = roles.split(","); |
||
35 | for (1.5.0/docs/api/java/lang/String.html">String role : rolesRequestSplited) |
||
36 | { |
||
37 | targetRoles.add(role); |
||
38 | } |
||
39 | } |
||
40 | else |
||
41 | { |
||
42 | targetRoles.add(roles); |
||
43 | } |
||
137 | jmachado | 44 | boolean internal = true; |
45 | if(sess.getUser() == null) |
||
46 | internal = false; |
||
47 | |||
48 | List<Announcement> announcements = DaoFactory.getAnnouncementDaoImpl().findAnnouncements(MAX_ANNOUNCEMENTS,targetRoles,typeNews,subTarget,internal); |
||
35 | fvelez | 49 | if(announcements == null) |
50 | return null; |
||
51 | List<AnnouncementView> announcementViews = new ArrayList<AnnouncementView>(); |
||
52 | for(Announcement announcement: announcements) |
||
53 | { |
||
54 | AnnouncementView announcementView = new AnnouncementView(announcement); |
||
55 | announcementViews.add(announcementView); |
||
56 | } |
||
57 | logger.info("Loading announcement views"); |
||
58 | return announcementViews; |
||
59 | } |
||
60 | |||
40 | fvelez | 61 | //tens de ter cuidado com o nome que metes no servico, tavas a meter LoadRoleTypeMaxAnnouncements e no XML estava LoadRoleTypeMaxAnnouncementsService, o nome nao tem de ser igual a classe mas convem, por norma eu tenho tirado a palavra service do nome do servico |
35 | fvelez | 62 | //ou seja esta LoadRoleTypeMaxAnnouncements para a classe LoadRoleTypeMaxAnnouncementsService logo no sm.execute tem de estar LoadRoleTypeMaxAnnouncements |
165 | jmachado | 63 | //mudei a propriedade logresults.file build.properties para logresults.file=${data.dir}/estgweb.logresults assim ja nao da o erro do logresults |
60 | calha | 64 | //adicionei as libs jsp-api.jar da pasta tomcat/common/lib para nao te falhar os imports nas TAGS aqui no Intellij |
35 | fvelez | 65 | //adiciona sempre todos os jars da common aqui no Intellij faltava-te o activation.jar do jaxb e era preciso para o MimeTypeGuesser |
66 | public static void main(1.5.0/docs/api/java/lang/String.html">String[] args) throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable { |
||
67 | IServiceManager sm = ServiceManager.getInstance(); |
||
68 | 1.5.0/docs/api/java/lang/String.html">String[] names = new 1.5.0/docs/api/java/lang/String.html">String[]{}; |
||
36 | fvelez | 69 | 5+0%2Fdocs%2Fapi+Object">Object[] arguments = new 5+0%2Fdocs%2Fapi+Object">Object[]{"student", Globals.ANNOUNCEMENT_TYPE_BOTTOM_FLASH_NEWS}; |
35 | fvelez | 70 | List<AnnouncementView> announcementViews = (List<AnnouncementView>) sm.execute("testecookie", "LoadRoleTypeMaxAnnouncements",arguments,names); |
36 | fvelez | 71 | 1.5.0/docs/api/java/lang/System.html">System.out.println("-->"+announcementViews.size()); |
35 | fvelez | 72 | |
73 | |||
74 | } |
||
75 | } |