Subversion Repositories bacoAlunos

Rev

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
}