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
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
}