Rev 1306 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
90 | jmachado | 1 | package pt.estgp.estgweb.services.blogs; |
2 | |||
3 | import pt.utl.ist.berserk.logic.serviceManager.IService; |
||
156 | jmachado | 4 | import pt.estgp.estgweb.services.common.*; |
205 | jmachado | 5 | import pt.estgp.estgweb.services.common.impl.DefaultToDo; |
6 | import pt.estgp.estgweb.services.common.impl.DefaultSearchResults; |
||
7 | import pt.estgp.estgweb.services.common.impl.DefaultResult; |
||
90 | jmachado | 8 | import pt.estgp.estgweb.services.announcements.AnnouncementsCommonServices; |
205 | jmachado | 9 | import pt.estgp.estgweb.domain.*; |
10 | import pt.estgp.estgweb.domain.dao.DaoFactory; |
||
11 | import pt.estgp.estgweb.Globals; |
||
90 | jmachado | 12 | import org.apache.log4j.Logger; |
13 | |||
156 | jmachado | 14 | import java.util.List; |
205 | jmachado | 15 | import java.util.ArrayList; |
156 | jmachado | 16 | |
214 | jmachado | 17 | import jomm.utils.MyCalendar; |
18 | |||
90 | jmachado | 19 | /* |
20 | * @author Goncalo Luiz gedl [AT] rnl [DOT] ist [DOT] utl [DOT] pt |
||
21 | * |
||
22 | * |
||
23 | * Created at 17/Out/2003 , 23:45:24 |
||
24 | * |
||
25 | */ |
||
26 | /** |
||
27 | * @author Jorge Machado |
||
28 | * |
||
29 | * |
||
30 | * Created at 17/Out/2003 , 23:45:24 |
||
31 | * |
||
32 | */ |
||
457 | jmachado | 33 | public class BlogsCommonServices extends SingleSearchResults implements IService, IModuleCommonServices |
90 | jmachado | 34 | { |
35 | 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(BlogsCommonServices.class); |
||
36 | |||
37 | |||
38 | public int countSearch(1.5.0/docs/api/java/lang/String.html">String search, SearchTypeEnum searchType, UserSession userSession) { |
||
39 | return 0; //To change body of implemented methods use File | Settings | File Templates. |
||
40 | } |
||
41 | |||
205 | jmachado | 42 | public ISearchResults search(1.5.0/docs/api/java/lang/String.html">String search, SearchTypeEnum searchType, int page, int maxResults, UserSession userSession) |
43 | { |
||
44 | return search(null,search, searchType,page,maxResults,userSession); |
||
90 | jmachado | 45 | } |
46 | |||
205 | jmachado | 47 | 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) |
48 | { |
||
49 | DefaultSearchResults searchResults = new DefaultSearchResults(); |
||
50 | searchResults.setModule(ModuleEnum.Blogs); |
||
51 | List<String> roles; |
||
52 | if (userSession == null || userSession.getUser() == null || ((UserImpl) userSession.getUser()).getRolesList() == null || ((UserImpl) userSession.getUser()).getRolesList().size() == 0) |
||
53 | { |
||
54 | roles = new ArrayList<String>(); |
||
55 | roles.add(Globals.ALL_ROLE); |
||
56 | } |
||
57 | else |
||
58 | roles = ((UserImpl) userSession.getUser()).getRolesList(); |
||
59 | |||
60 | boolean internal = true; |
||
61 | if (userSession.getUser() == null) |
||
62 | internal = false; |
||
63 | searchResults.setTotalResults(DaoFactory.getBlogDaoImpl().countBlogs(search, searchType, roles, null,internal)); |
||
64 | if (searchResults.getTotalResults() > 0) |
||
65 | { |
||
66 | List<Blog> blogs = DaoFactory.getBlogDaoImpl().searchBlogs(search, searchType, maxResults, page, roles,internal); |
||
67 | if (blogs == null) |
||
68 | return searchResults; |
||
69 | for (Blog blog : blogs) |
||
70 | { |
||
71 | DefaultResult defaultResult = new DefaultResult(); |
||
72 | defaultResult.setTitle(blog.getTitle()); |
||
73 | defaultResult.setSubTitle(null); |
||
74 | defaultResult.setSubTitleKey(true); |
||
75 | defaultResult.setText(blog.getDescription()); |
||
470 | jmachado | 76 | defaultResult.setDate(new java.text.1.5.0/docs/api/java/text/SimpleDateFormat.html">SimpleDateFormat("yyyy.MM.dd").format(blog.getUpdateDate())); |
77 | if(blog.getOwner() != null) |
||
78 | defaultResult.setCreator(blog.getOwner().getName()); |
||
214 | jmachado | 79 | if(blog instanceof CourseUnitBlog) |
80 | defaultResult.setUrl("/user/startLoadBlogFromCourseUnit.do?id=" + blog.getId()); |
||
81 | else if(from == null) |
||
205 | jmachado | 82 | defaultResult.setUrl("/startLoadBlog.do?id=" + blog.getId()); |
83 | else |
||
84 | defaultResult.setUrl("/user/startLoadBlogFrom" + from + ".do?id=" + blog.getId()); |
||
85 | searchResults.addResult(defaultResult); |
||
86 | } |
||
87 | } |
||
88 | return searchResults; |
||
165 | jmachado | 89 | } |
90 | |||
205 | jmachado | 91 | |
90 | jmachado | 92 | public int countToDo(UserSession userSession) { |
93 | return 0; //To change body of implemented methods use File | Settings | File Templates. |
||
94 | } |
||
95 | |||
96 | public IToDoCat getToDo(UserSession userSession) { |
||
97 | return null; //To change body of implemented methods use File | Settings | File Templates. |
||
98 | } |
||
156 | jmachado | 99 | |
100 | public List<IToDo> getAllToDos(UserSession userSession) |
||
101 | { |
||
205 | jmachado | 102 | List<IToDo> todos = new ArrayList<IToDo>(); |
214 | jmachado | 103 | if(userSession.getUser() != null && userSession.getUser().isSuperuserOrAdmin()) |
205 | jmachado | 104 | { |
105 | List<Blog> invalidBlogs = DaoFactory.getBlogDaoImpl().loadInvalidBlogs(); |
||
106 | for(Blog b: invalidBlogs) |
||
107 | { |
||
108 | 1.5.0/docs/api/java/lang/String.html">String username = null; |
||
109 | if(b.getOwner() instanceof UserImpl) |
||
110 | username = ((UserImpl)b.getOwner()).getUsername(); |
||
111 | DefaultToDo defaultToDo = new DefaultToDo(b.getTitle(),b.getTargetRoles(),username, "blog.validate.blog.todo","/user/startLoadBlogFromHome.do?id=" + b.getId()); |
||
214 | jmachado | 112 | if(b instanceof CourseUnitBlog) |
113 | defaultToDo.setUrl("/user/startLoadBlogFromCourseUnit.do?id=" + b.getId()); |
||
205 | jmachado | 114 | todos.add(defaultToDo); |
115 | } |
||
116 | } |
||
117 | |||
118 | List<BlogPost> invalidBlogsPosts = DaoFactory.getBlogPostDaoImpl().loadInvalidBlogPostsFromOwnedBlogs(userSession.getUser().getId()); |
||
119 | for(BlogPost b: invalidBlogsPosts) |
||
120 | { |
||
121 | 1.5.0/docs/api/java/lang/String.html">String username = null; |
||
122 | if(b.getOwner() instanceof UserImpl) |
||
123 | username = ((UserImpl)b.getOwner()).getUsername(); |
||
214 | jmachado | 124 | |
125 | 1.5.0/docs/api/java/lang/String.html">String url; |
||
126 | if(new MyCalendar().getMonth() == b.getMonth()) |
||
127 | { |
||
128 | if(b.getBlog() instanceof CourseUnitBlog) |
||
129 | url = "/user/startLoadBlogFromCourseUnit.do?id=" + b.getBlog().getId() + "#post" + b.getId(); |
||
130 | else |
||
131 | url = "/user/startLoadBlogFromHome.do?id=" + b.getBlog().getId() + "#post" + b.getId(); |
||
132 | } |
||
133 | else |
||
134 | { |
||
135 | if(b.getBlog() instanceof CourseUnitBlog) |
||
136 | url = "/user/startLoadBlogMonthFromCourseUnit.do?id=" + b.getBlog().getId() + "&month=" + b.getMonth() + "&year=" + b.getYear() + "#post" + b.getId(); |
||
137 | else |
||
138 | url = "/user/startLoadBlogMonthFromHome.do?id=" + b.getBlog().getId() + "&month=" + b.getMonth() + "&year=" + b.getYear() + "#post" + b.getId(); |
||
139 | } |
||
140 | |||
141 | DefaultToDo defaultToDo = new DefaultToDo(b.getTitle(),null,username, "blog.validate.post.todo",url); |
||
142 | |||
205 | jmachado | 143 | todos.add(defaultToDo); |
144 | } |
||
145 | return todos; |
||
163 | jmachado | 146 | }/*This method is invoked from object creation*/ |
147 | public void adviseNew(DomainObject object) |
||
148 | { |
||
149 | //To change body of implemented methods use File | Settings | File Templates. |
||
156 | jmachado | 150 | } |
163 | jmachado | 151 | |
152 | public void adviseUpdate(DomainObject object) |
||
153 | { |
||
154 | //To change body of implemented methods use File | Settings | File Templates. |
||
155 | } |
||
90 | jmachado | 156 | } |