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 |