package pt.estgp.estgweb.services.blogs;
import pt.utl.ist.berserk.logic.serviceManager.IService;
import pt.estgp.estgweb.services.common.*;
import pt.estgp.estgweb.services.common.impl.DefaultSearchResults;
import pt.estgp.estgweb.services.common.impl.DefaultResult;
import pt.estgp.estgweb.services.common.impl.DefaultToDo;
import pt.estgp.estgweb.domain.*;
import pt.estgp.estgweb.domain.dao.DaoFactory;
import pt.estgp.estgweb.Globals;
import org.apache.log4j.Logger;
import java.util.List;
import java.util.ArrayList;
import jomm.utils.MyCalendar;
/*
* @author Goncalo Luiz gedl [AT] rnl [DOT] ist [DOT] utl [DOT] pt
*
*
* Created at 17/Out/2003 , 23:45:24
*
*/
/**
* @author Jorge Machado
* <p/>
* <p/>
* Created at 17/Out/2003 , 23:45:24
*/
public class BlogPostsCommonServices
extends SingleSearchResults
implements IService, IModuleCommonServices
{
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(BlogPostsCommonServices.
class);
public int countSearch
(1.5.0/docs/api/java/lang/String.html">String search, SearchTypeEnum searchType, UserSession userSession
)
{
return 0;
}
public ISearchResults search
(1.5.0/docs/api/java/lang/String.html">String search, SearchTypeEnum searchType,
int page,
int maxResults, UserSession userSession
)
{
return search
(null, search, searchType, page, maxResults, userSession
);
}
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
)
{
DefaultSearchResults searchResults =
new DefaultSearchResults
();
searchResults.
setModule(ModuleEnum.
BlogPosts);
List
<String
> roles
;
if (userSession ==
null || userSession.
getUser() ==
null ||
((UserImpl
) userSession.
getUser()).
getRolesList() ==
null ||
((UserImpl
) userSession.
getUser()).
getRolesList().
size() == 0
)
{
roles =
new ArrayList
<String
>();
roles.
add(Globals.
ALL_ROLE);
}
else
roles = userSession.
getUser().
getRolesList();
boolean internal =
true;
if (userSession.
getUser() ==
null)
internal =
false;
searchResults.
setTotalResults(DaoFactory.
getBlogPostDaoImpl().
countBlogPosts(search, searchType, roles,
null, internal
));
if (searchResults.
getTotalResults() > 0
)
{
List
<BlogPost
> blogPosts = DaoFactory.
getBlogPostDaoImpl().
searchBlogPosts(search, searchType, maxResults, page, roles, internal
);
if (blogPosts ==
null)
return searchResults
;
for (BlogPost blogPost : blogPosts
)
{
DefaultResult defaultResult =
new DefaultResult
();
defaultResult.
setTitle(blogPost.
getTitle());
defaultResult.
setSubTitle(null);
defaultResult.
setSubTitleKey(true);
defaultResult.
setText(blogPost.
getText());
defaultResult.
setDate(new java.
text.
1.5.0/docs/api/java/text/SimpleDateFormat.html">SimpleDateFormat("yyyy.MM.dd").
format(blogPost.
getUpdateDate()));
if(blogPost.
getOwner() !=
null)
defaultResult.
setCreator(blogPost.
getOwner().
getName());
MyCalendar myCalendar =
new MyCalendar
();
if (myCalendar.
getMonth() != blogPost.
getMonth() || myCalendar.
getYear() != blogPost.
getYear())
{
if(blogPost.
getBlog() instanceof CourseUnitBlog
)
defaultResult.
setUrl("/user/startLoadBlogMonthFromCourseUnit.do?month=" + blogPost.
getMonth() +
"&year=" + blogPost.
getYear() +
"&id=" + blogPost.
getBlog().
getId() +
"#post" + blogPost.
getId());
else if (from ==
null)
defaultResult.
setUrl("/startLoadBlogMonth.do?month=" + blogPost.
getMonth() +
"&year=" + blogPost.
getYear() +
"&id=" + blogPost.
getBlog().
getId() +
"#post" + blogPost.
getId());
else
defaultResult.
setUrl("/user/startLoadBlogMonthFrom" + from +
".do?month=" + blogPost.
getMonth() +
"&year=" + blogPost.
getYear() +
"&id=" + blogPost.
getBlog().
getId() +
"#post" + blogPost.
getId());
}
else
{
if (from ==
null)
defaultResult.
setUrl("/startLoadBlog.do?id=" + blogPost.
getBlog().
getId() +
"#post" + blogPost.
getId());
else
defaultResult.
setUrl("/user/startLoadBlogFrom" + from +
".do?id=" + blogPost.
getBlog().
getId() +
"#post" + blogPost.
getId());
}
searchResults.
addResult(defaultResult
);
}
}
return searchResults
;
}
public int countToDo
(UserSession userSession
)
{
return 0;
}
public IToDoCat getToDo
(UserSession userSession
)
{
return null;
}
public List
<IToDo
> getAllToDos
(UserSession userSession
)
{
return null;
}/*This method is invoked from object creation*/
public void adviseNew
(DomainObject object
)
{
//To change body of implemented methods use File | Settings | File Templates.
}
public void adviseUpdate
(DomainObject object
)
{
//To change body of implemented methods use File | Settings | File Templates.
}
}