Subversion Repositories bacoAlunos

Rev

Rev 1791 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1791 Rev 1814
1
package pt.estgp.estgweb.services.announcements;
1
package pt.estgp.estgweb.services.announcements;
2
 
2
 
3
import jomm.dao.impl.AbstractDao;
3
import jomm.dao.impl.AbstractDao;
4
import org.apache.log4j.Logger;
4
import org.apache.log4j.Logger;
5
import pt.estgp.estgweb.Globals;
5
import pt.estgp.estgweb.utils.Globals;
6
import pt.estgp.estgweb.domain.*;
6
import pt.estgp.estgweb.domain.*;
7
import pt.estgp.estgweb.domain.dao.DaoFactory;
7
import pt.estgp.estgweb.domain.dao.DaoFactory;
8
import pt.estgp.estgweb.services.common.*;
8
import pt.estgp.estgweb.services.common.*;
9
import pt.estgp.estgweb.services.common.impl.DefaultResult;
9
import pt.estgp.estgweb.services.common.impl.DefaultResult;
10
import pt.estgp.estgweb.services.common.impl.DefaultSearchResults;
10
import pt.estgp.estgweb.services.common.impl.DefaultSearchResults;
11
import pt.estgp.estgweb.services.common.impl.DefaultToDo;
11
import pt.estgp.estgweb.services.common.impl.DefaultToDo;
12
import pt.utl.ist.berserk.logic.serviceManager.IService;
12
import pt.utl.ist.berserk.logic.serviceManager.IService;
13
 
13
 
14
import java.util.ArrayList;
14
import java.util.ArrayList;
15
import java.util.List;
15
import java.util.List;
16
 
16
 
17
/**
17
/**
18
 * @author Jorge Machado
18
 * @author Jorge Machado
19
 * @date 25/Apr/2008
19
 * @date 25/Apr/2008
20
 * @time 18:01:54
20
 * @time 18:01:54
21
 * @see pt.estgp.estgweb.web
21
 * @see pt.estgp.estgweb.web
22
 */
22
 */
23
public class AnnouncementsCommonServices extends SingleSearchResults implements IService, IModuleCommonServices
23
public class AnnouncementsCommonServices extends SingleSearchResults implements IService, IModuleCommonServices
24
{
24
{
25
 
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(AnnouncementsCommonServices.class);
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(AnnouncementsCommonServices.class);
27
 
27
 
28
    /**
28
    /**
29
     * TESTE
29
     * TESTE
30
     * @param search 1
30
     * @param search 1
31
     * @param searchType 2
31
     * @param searchType 2
32
     * @param userSession 3
32
     * @param userSession 3
33
     * @return
33
     * @return
34
     */
34
     */
35
    public int countSearch(1.5.0/docs/api/java/lang/String.html">String search, SearchTypeEnum searchType, UserSession userSession)
35
    public int countSearch(1.5.0/docs/api/java/lang/String.html">String search, SearchTypeEnum searchType, UserSession userSession)
36
    {
36
    {
37
        return 0;  // todo To change body of implemented methods use File | Settings | File Templates.
37
        return 0;  // todo To change body of implemented methods use File | Settings | File Templates.
38
    }
38
    }
39
 
39
 
40
    public ISearchResults search(1.5.0/docs/api/java/lang/String.html">String search, SearchTypeEnum searchType, int page, int maxResults, UserSession userSession)
40
    public ISearchResults search(1.5.0/docs/api/java/lang/String.html">String search, SearchTypeEnum searchType, int page, int maxResults, UserSession userSession)
41
    {
41
    {
42
        return search(null,search, searchType,page,maxResults,userSession);
42
        return search(null,search, searchType,page,maxResults,userSession);
43
    }
43
    }
44
 
44
 
45
    public ISearchResults search(1.5.0/docs/api/java/lang/String.html">String from, 1.5.0/docs/api/java/lang/String.html">String search, SearchTypeEnum searchType, int page, int maxResults, UserSession userSession)
45
    public ISearchResults search(1.5.0/docs/api/java/lang/String.html">String from, 1.5.0/docs/api/java/lang/String.html">String search, SearchTypeEnum searchType, int page, int maxResults, UserSession userSession)
46
    {
46
    {
47
        DefaultSearchResults searchResults = new DefaultSearchResults();
47
        DefaultSearchResults searchResults = new DefaultSearchResults();
48
        searchResults.setModule(ModuleEnum.Announcements);
48
        searchResults.setModule(ModuleEnum.Announcements);
49
        List<String> roles;
49
        List<String> roles;
50
        if (userSession == null || userSession.getUser() == null || ((UserImpl) userSession.getUser()).getRolesList() == null || ((UserImpl) userSession.getUser()).getRolesList().size() == 0)
50
        if (userSession == null || userSession.getUser() == null || ((UserImpl) userSession.getUser()).getRolesList() == null || ((UserImpl) userSession.getUser()).getRolesList().size() == 0)
51
        {
51
        {
52
            roles = new ArrayList<String>();
52
            roles = new ArrayList<String>();
53
            roles.add(Globals.ALL_ROLE);
53
            roles.add(Globals.ALL_ROLE);
54
        }
54
        }
55
        else
55
        else
56
            roles = ((UserImpl) userSession.getUser()).getRolesList();
56
            roles = ((UserImpl) userSession.getUser()).getRolesList();
57
 
57
 
58
        boolean internal = true;
58
        boolean internal = true;
59
        if (userSession.getUser() == null)
59
        if (userSession.getUser() == null)
60
            internal = false;
60
            internal = false;
61
        searchResults.setTotalResults(DaoFactory.getAnnouncementDaoImpl().countAnnouncements(search, searchType, roles, null,internal));
61
        searchResults.setTotalResults(DaoFactory.getAnnouncementDaoImpl().countAnnouncements(search, searchType, roles, null,internal));
62
        if (searchResults.getTotalResults() > 0)
62
        if (searchResults.getTotalResults() > 0)
63
        {
63
        {
64
            List<Announcement> announcements = DaoFactory.getAnnouncementDaoImpl().searchAnnouncements(search, searchType, maxResults, page, roles, null,internal);
64
            List<Announcement> announcements = DaoFactory.getAnnouncementDaoImpl().searchAnnouncements(search, searchType, maxResults, page, roles, null,internal);
65
            if (announcements == null)
65
            if (announcements == null)
66
                return searchResults;
66
                return searchResults;
67
            for (Announcement a : announcements)
67
            for (Announcement a : announcements)
68
            {
68
            {
69
                DefaultResult defaultResult = new DefaultResult();
69
                DefaultResult defaultResult = new DefaultResult();
70
                defaultResult.setTitle(a.getTitle());
70
                defaultResult.setTitle(a.getTitle());
71
                defaultResult.setSubTitle("announcements.type." + a.getType());
71
                defaultResult.setSubTitle("announcements.type." + a.getType());
72
                defaultResult.setDate(new java.text.1.5.0/docs/api/java/text/SimpleDateFormat.html">SimpleDateFormat("yyyy.MM.dd").format(a.getUpdateDate()));
72
                defaultResult.setDate(new java.text.1.5.0/docs/api/java/text/SimpleDateFormat.html">SimpleDateFormat("yyyy.MM.dd").format(a.getUpdateDate()));
73
                if(a.getOwner() != null)
73
                if(a.getOwner() != null)
74
                    defaultResult.setCreator(a.getOwner().getName());
74
                    defaultResult.setCreator(a.getOwner().getName());
75
                defaultResult.setSubTitleKey(true);
75
                defaultResult.setSubTitleKey(true);
76
                defaultResult.setText(a.getText());
76
                defaultResult.setText(a.getText());
77
                if(from == null)
77
                if(from == null)
78
                    defaultResult.setUrl("/startLoadAnnouncement.do?id=" + a.getId());
78
                    defaultResult.setUrl("/startLoadAnnouncement.do?id=" + a.getId());
79
                else
79
                else
80
                    defaultResult.setUrl("/user/startLoadAnnouncementFrom" + from + ".do?id=" + a.getId() + "&dispatch=load");
80
                    defaultResult.setUrl("/user/startLoadAnnouncementFrom" + from + ".do?id=" + a.getId() + "&dispatch=load");
81
                searchResults.addResult(defaultResult);
81
                searchResults.addResult(defaultResult);
82
            }
82
            }
83
        }
83
        }
84
        return searchResults;
84
        return searchResults;
85
    }
85
    }
86
 
86
 
87
 
87
 
88
 
88
 
89
    public int countToDo(UserSession userSession)
89
    public int countToDo(UserSession userSession)
90
    {
90
    {
91
        return 0;  //todo To change body of implemented methods use File | Settings | File Templates.
91
        return 0;  //todo To change body of implemented methods use File | Settings | File Templates.
92
    }
92
    }
93
 
93
 
94
    /**
94
    /**
95
     * Not implemented
95
     * Not implemented
96
     * @param userSession
96
     * @param userSession
97
     * @return
97
     * @return
98
     */
98
     */
99
    public IToDoCat getToDo(UserSession userSession)
99
    public IToDoCat getToDo(UserSession userSession)
100
    {
100
    {
101
        return null;
101
        return null;
102
    }
102
    }
103
 
103
 
104
    public List<IToDo> getAllToDos(UserSession userSession)
104
    public List<IToDo> getAllToDos(UserSession userSession)
105
    {
105
    {
106
        List<IToDo> todos = new ArrayList<IToDo>();
106
        List<IToDo> todos = new ArrayList<IToDo>();
107
        if(userSession.getUser().hasRole(Globals.ANNOUNCEMENTS_VALIDATOR_ROLES))
107
        if(userSession.getUser().hasRole(Globals.ANNOUNCEMENTS_VALIDATOR_ROLES))
108
        {
108
        {
109
            List<Announcement> invalidAnnouncements = DaoFactory.getAnnouncementDaoImpl().loadInvalidAnnouncements();
109
            List<Announcement> invalidAnnouncements = DaoFactory.getAnnouncementDaoImpl().loadInvalidAnnouncements();
110
            for(Announcement a: invalidAnnouncements)
110
            for(Announcement a: invalidAnnouncements)
111
            {
111
            {
112
                DefaultToDo defaultToDo = new DefaultToDo(a.getTitle(),a.getTargetRoles(),((UserImpl)a.getOwner()).getUsername(), "announcements.type." + a.getType(),"/user/startEditAnnouncementFromHome.do?id=" + a.getId());
112
                DefaultToDo defaultToDo = new DefaultToDo(a.getTitle(),a.getTargetRoles(),((UserImpl)a.getOwner()).getUsername(), "announcements.type." + a.getType(),"/user/startEditAnnouncementFromHome.do?id=" + a.getId());
113
                todos.add(defaultToDo);
113
                todos.add(defaultToDo);
114
            }
114
            }
115
        }
115
        }
116
        return todos;
116
        return todos;
117
    }
117
    }
118
 
118
 
119
    /*This method is invoked from object creation*/
119
    /*This method is invoked from object creation*/
120
    public void adviseNew(DomainObject object)
120
    public void adviseNew(DomainObject object)
121
    {
121
    {
122
        //To change body of implemented methods use File | Settings | File Templates.
122
        //To change body of implemented methods use File | Settings | File Templates.
123
    }
123
    }
124
 
124
 
125
    public void adviseUpdate(DomainObject object)
125
    public void adviseUpdate(DomainObject object)
126
    {
126
    {
127
        //To change body of implemented methods use File | Settings | File Templates.
127
        //To change body of implemented methods use File | Settings | File Templates.
128
    }
128
    }
129
 
129
 
130
    public static void main(1.5.0/docs/api/java/lang/String.html">String[] args)
130
    public static void main(1.5.0/docs/api/java/lang/String.html">String[] args)
131
    {
131
    {
132
        AbstractDao.getCurrentSession().beginTransaction();
132
        AbstractDao.getCurrentSession().beginTransaction();
133
        UserSession sess = new UserSessionImpl();
133
        UserSession sess = new UserSessionImpl();
134
        sess.setUser(new UserImpl());
134
        sess.setUser(new UserImpl());
135
        sess.getUser().setRoles("all");
135
        sess.getUser().setRoles("all");
136
        ISearchResults searchResults = new AnnouncementsCommonServices().search("teste", SearchTypeEnum.AllWords, 0, 10, sess);
136
        ISearchResults searchResults = new AnnouncementsCommonServices().search("teste", SearchTypeEnum.AllWords, 0, 10, sess);
137
        for (IResult result : searchResults.getResults())
137
        for (IResult result : searchResults.getResults())
138
        {
138
        {
139
            1.5.0/docs/api/java/lang/System.html">System.out.println("title:" + result.getTitle());
139
            1.5.0/docs/api/java/lang/System.html">System.out.println("title:" + result.getTitle());
140
            1.5.0/docs/api/java/lang/System.html">System.out.println("subTitle:" + result.getSubTitle());
140
            1.5.0/docs/api/java/lang/System.html">System.out.println("subTitle:" + result.getSubTitle());
141
            1.5.0/docs/api/java/lang/System.html">System.out.println("text:" + result.getText());
141
            1.5.0/docs/api/java/lang/System.html">System.out.println("text:" + result.getText());
142
            1.5.0/docs/api/java/lang/System.html">System.out.println("url" + result.getUrl());
142
            1.5.0/docs/api/java/lang/System.html">System.out.println("url" + result.getUrl());
143
            1.5.0/docs/api/java/lang/System.html">System.out.println("bestFragments" + result.getBestFragments());
143
            1.5.0/docs/api/java/lang/System.html">System.out.println("bestFragments" + result.getBestFragments());
144
        }
144
        }
145
        AbstractDao.commit();
145
        AbstractDao.commit();
146
    }
146
    }
147
}
147
}
148
 
148