ALF-10413 Have BlogPostInfo used more, and implement more methods on it

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31185 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Nick Burch
2011-10-12 18:03:28 +00:00
parent f522dbad81
commit a8bd2bd7ce
8 changed files with 97 additions and 56 deletions

View File

@@ -19,7 +19,6 @@
package org.alfresco.repo.blog; package org.alfresco.repo.blog;
import org.alfresco.model.ContentModel; import org.alfresco.model.ContentModel;
import org.alfresco.repo.security.permissions.PermissionCheckValue;
import org.alfresco.service.cmr.blog.BlogPostInfo; import org.alfresco.service.cmr.blog.BlogPostInfo;
import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.repository.NodeRef;
@@ -32,11 +31,14 @@ import org.alfresco.service.cmr.repository.NodeRef;
public class BlogPostInfoImpl implements BlogPostInfo public class BlogPostInfoImpl implements BlogPostInfo
{ {
private final NodeRef nodeRef; private final NodeRef nodeRef;
private final NodeRef containerNodeRef;
private final String systemName; private final String systemName;
private String title;
public BlogPostInfoImpl(NodeRef nodeRef, String systemName) public BlogPostInfoImpl(NodeRef nodeRef, NodeRef containerNodeRef, String systemName)
{ {
this.nodeRef = nodeRef; this.nodeRef = nodeRef;
this.containerNodeRef = containerNodeRef;
this.systemName = systemName; this.systemName = systemName;
} }
@@ -52,8 +54,7 @@ import org.alfresco.service.cmr.repository.NodeRef;
@Override @Override
public NodeRef getContainerNodeRef() public NodeRef getContainerNodeRef()
{ {
//return containerNodeRef; // TODO return containerNodeRef;
return null;
} }
/** /**
@@ -69,9 +70,17 @@ import org.alfresco.service.cmr.repository.NodeRef;
/** /**
* @return the Title of the blog post. * @return the Title of the blog post.
*/ */
@Override
public String getTitle() public String getTitle()
{ {
// TODO return title;
return null; }
/**
* Set the Title of the blog post.
*/
@Override
public void setTitle(String title)
{
this.title = title;
} }
} }

View File

@@ -31,6 +31,7 @@ import org.alfresco.query.CannedQueryResults;
import org.alfresco.query.EmptyPagingResults; import org.alfresco.query.EmptyPagingResults;
import org.alfresco.query.PagingRequest; import org.alfresco.query.PagingRequest;
import org.alfresco.query.PagingResults; import org.alfresco.query.PagingResults;
import org.alfresco.repo.blog.cannedqueries.BlogEntity;
import org.alfresco.repo.blog.cannedqueries.DraftsAndPublishedBlogPostsCannedQuery; import org.alfresco.repo.blog.cannedqueries.DraftsAndPublishedBlogPostsCannedQuery;
import org.alfresco.repo.blog.cannedqueries.DraftsAndPublishedBlogPostsCannedQueryFactory; import org.alfresco.repo.blog.cannedqueries.DraftsAndPublishedBlogPostsCannedQueryFactory;
import org.alfresco.repo.blog.cannedqueries.GetBlogPostsCannedQuery; import org.alfresco.repo.blog.cannedqueries.GetBlogPostsCannedQuery;
@@ -188,12 +189,14 @@ public class BlogServiceImpl implements BlogService
*/ */
private BlogPostInfo buildBlogPost(NodeRef nodeRef, NodeRef parentNodeRef, String postName) private BlogPostInfo buildBlogPost(NodeRef nodeRef, NodeRef parentNodeRef, String postName)
{ {
BlogPostInfoImpl post = new BlogPostInfoImpl(nodeRef, postName); BlogPostInfoImpl post = new BlogPostInfoImpl(nodeRef, parentNodeRef, postName);
// Grab all the properties, we need the bulk of them anyway // Grab all the properties, we need the bulk of them anyway
Map<QName,Serializable> props = nodeService.getProperties(nodeRef); Map<QName,Serializable> props = nodeService.getProperties(nodeRef);
// TODO Populate them // Populate them
post.setTitle((String)props.get(ContentModel.PROP_TITLE));
// TODO Populate the rest
// Finally set tags // Finally set tags
// TODO // TODO
@@ -252,7 +255,7 @@ public class BlogServiceImpl implements BlogService
setOrUpdateReleasedAndUpdatedDates(postNode.getChildRef()); setOrUpdateReleasedAndUpdatedDates(postNode.getChildRef());
} }
return new BlogPostInfoImpl(postNode.getChildRef(), nodeName); return new BlogPostInfoImpl(postNode.getChildRef(), blogContainerNode, nodeName);
} }
@Override @Override
@@ -263,7 +266,7 @@ public class BlogServiceImpl implements BlogService
} }
// TODO Implement, once BlogPostInfo is finished // TODO Implement, once BlogPostInfo is finished
return null; throw new UnsupportedOperationException("Not yet implemented");
} }
@Override @Override
@@ -362,8 +365,8 @@ public class BlogServiceImpl implements BlogService
GetBlogPostsCannedQuery cq = (GetBlogPostsCannedQuery)draftPostsCannedQueryFactory.getGetDraftsCannedQuery(blogContainerNode, username, pagingReq); GetBlogPostsCannedQuery cq = (GetBlogPostsCannedQuery)draftPostsCannedQueryFactory.getGetDraftsCannedQuery(blogContainerNode, username, pagingReq);
// execute canned query // execute canned query
CannedQueryResults<BlogPostInfo> results = cq.execute(); CannedQueryResults<BlogEntity> results = cq.execute();
return results; return wrap(results, blogContainerNode);
} }
@Override @Override
@@ -392,8 +395,8 @@ public class BlogServiceImpl implements BlogService
GetBlogPostsCannedQuery cq = (GetBlogPostsCannedQuery)publishedExternallyPostsCannedQueryFactory.getGetPublishedExternallyCannedQuery(blogContainerNode, pagingReq); GetBlogPostsCannedQuery cq = (GetBlogPostsCannedQuery)publishedExternallyPostsCannedQueryFactory.getGetPublishedExternallyCannedQuery(blogContainerNode, pagingReq);
// execute canned query // execute canned query
CannedQueryResults<BlogPostInfo> results = cq.execute(); CannedQueryResults<BlogEntity> results = cq.execute();
return results; return wrap(results, blogContainerNode);
} }
@Override @Override
@@ -422,8 +425,8 @@ public class BlogServiceImpl implements BlogService
GetBlogPostsCannedQuery cq = (GetBlogPostsCannedQuery)publishedPostsCannedQueryFactory.getGetPublishedCannedQuery(blogContainerNode, fromDate, toDate, byUser, pagingReq); GetBlogPostsCannedQuery cq = (GetBlogPostsCannedQuery)publishedPostsCannedQueryFactory.getGetPublishedCannedQuery(blogContainerNode, fromDate, toDate, byUser, pagingReq);
// execute canned query // execute canned query
CannedQueryResults<BlogPostInfo> results = cq.execute(); CannedQueryResults<BlogEntity> results = cq.execute();
return results; return wrap(results, blogContainerNode);
} }
/** /**
@@ -441,8 +444,8 @@ public class BlogServiceImpl implements BlogService
DraftsAndPublishedBlogPostsCannedQuery cq = (DraftsAndPublishedBlogPostsCannedQuery)draftsAndPublishedBlogPostsCannedQueryFactory.getCannedQuery(blogContainerNode, createdFrom, createdTo, currentUser, pagingReq); DraftsAndPublishedBlogPostsCannedQuery cq = (DraftsAndPublishedBlogPostsCannedQuery)draftsAndPublishedBlogPostsCannedQueryFactory.getCannedQuery(blogContainerNode, createdFrom, createdTo, currentUser, pagingReq);
// execute canned query // execute canned query
CannedQueryResults<BlogPostInfo> results = cq.execute(); CannedQueryResults<BlogEntity> results = cq.execute();
return results; return wrap(results, blogContainerNode);
} }
private String getUniqueChildName(NodeRef parentNode, String prefix) private String getUniqueChildName(NodeRef parentNode, String prefix)
@@ -498,7 +501,9 @@ public class BlogServiceImpl implements BlogService
} }
@Override @Override
public PagingResults<BlogPostInfo> findBlogPosts(NodeRef blogContainerNode, RangedDateProperty dateRange, String tag, PagingRequest pagingReq) public PagingResults<BlogPostInfo> findBlogPosts(
final NodeRef blogContainerNode, final RangedDateProperty dateRange,
final String tag, final PagingRequest pagingReq)
{ {
StringBuilder luceneQuery = new StringBuilder(); StringBuilder luceneQuery = new StringBuilder();
luceneQuery.append("+TYPE:\"").append(ContentModel.TYPE_CONTENT).append("\" ") luceneQuery.append("+TYPE:\"").append(ContentModel.TYPE_CONTENT).append("\" ")
@@ -538,7 +543,8 @@ public class BlogServiceImpl implements BlogService
List<BlogPostInfo> blogPostInfos = new ArrayList<BlogPostInfo>(nodeRefs.size()); List<BlogPostInfo> blogPostInfos = new ArrayList<BlogPostInfo>(nodeRefs.size());
for (NodeRef nodeRef : nodeRefs) for (NodeRef nodeRef : nodeRefs)
{ {
blogPostInfos.add(new BlogPostInfoImpl(nodeRef, (String)nodeService.getProperty(nodeRef, ContentModel.PROP_NAME))); String postName = (String)nodeService.getProperty(nodeRef, ContentModel.PROP_NAME);
blogPostInfos.add(new BlogPostInfoImpl(nodeRef, blogContainerNode, postName));
} }
return blogPostInfos; return blogPostInfos;
} }
@@ -573,6 +579,43 @@ public class BlogServiceImpl implements BlogService
return results; return results;
} }
private PagingResults<BlogPostInfo> wrap(final CannedQueryResults<BlogEntity> results, final NodeRef containerNodeRef)
{
// TODO Pre-load all the nodes via the NodeDAO cache
// Wrap
return new PagingResults<BlogPostInfo>() {
@Override
public String getQueryExecutionId() {
return results.getQueryExecutionId();
}
@Override
public Pair<Integer, Integer> getTotalResultCount() {
return results.getTotalResultCount();
}
@Override
public boolean hasMoreItems() {
return results.hasMoreItems();
}
@Override
public List<BlogPostInfo> getPage() {
List<BlogEntity> entities = results.getPage();
List<BlogPostInfo> posts = new ArrayList<BlogPostInfo>(entities.size());
for (BlogEntity entity : entities)
{
posts.add(new BlogPostInfoImpl(
entity.getNodeRef(), containerNodeRef, entity.getName()
));
}
return posts;
}
};
}
/** /**
* This method creates a Lucene query fragment which constrains the specified dateProperty to a range * This method creates a Lucene query fragment which constrains the specified dateProperty to a range

View File

@@ -35,7 +35,7 @@ import org.alfresco.util.Pair;
* @author Neil Mc Erlean, janv * @author Neil Mc Erlean, janv
* @since 4.0 * @since 4.0
*/ */
public abstract class AbstractBlogPostsCannedQueryFactory extends AbstractQNameAwareCannedQueryFactory<BlogPostInfo> public abstract class AbstractBlogPostsCannedQueryFactory extends AbstractQNameAwareCannedQueryFactory<BlogEntity>
{ {
protected CannedQuerySortDetails createCQSortDetails(QName sortProp, SortOrder sortOrder) protected CannedQuerySortDetails createCQSortDetails(QName sortProp, SortOrder sortOrder)
{ {

View File

@@ -27,12 +27,10 @@ import java.util.List;
import org.alfresco.query.CannedQuery; import org.alfresco.query.CannedQuery;
import org.alfresco.query.CannedQueryParameters; import org.alfresco.query.CannedQueryParameters;
import org.alfresco.query.CannedQuerySortDetails.SortOrder; import org.alfresco.query.CannedQuerySortDetails.SortOrder;
import org.alfresco.repo.blog.BlogPostInfoImpl;
import org.alfresco.repo.blog.cannedqueries.AbstractBlogPostsCannedQueryFactory.BlogEntityComparator; import org.alfresco.repo.blog.cannedqueries.AbstractBlogPostsCannedQueryFactory.BlogEntityComparator;
import org.alfresco.repo.domain.query.CannedQueryDAO; import org.alfresco.repo.domain.query.CannedQueryDAO;
import org.alfresco.repo.security.permissions.impl.acegi.AbstractCannedQueryPermissions; import org.alfresco.repo.security.permissions.impl.acegi.AbstractCannedQueryPermissions;
import org.alfresco.repo.security.permissions.impl.acegi.MethodSecurityBean; import org.alfresco.repo.security.permissions.impl.acegi.MethodSecurityBean;
import org.alfresco.service.cmr.blog.BlogPostInfo;
import org.alfresco.service.cmr.blog.BlogService; import org.alfresco.service.cmr.blog.BlogService;
import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.cmr.repository.datatype.DefaultTypeConverter; import org.alfresco.service.cmr.repository.datatype.DefaultTypeConverter;
@@ -49,7 +47,7 @@ import org.apache.commons.logging.LogFactory;
* *
* @see BlogService#getMyDraftsAndAllPublished(NodeRef, Date, Date, String, org.alfresco.query.PagingRequest) * @see BlogService#getMyDraftsAndAllPublished(NodeRef, Date, Date, String, org.alfresco.query.PagingRequest)
*/ */
public class DraftsAndPublishedBlogPostsCannedQuery extends AbstractCannedQueryPermissions<BlogPostInfo> public class DraftsAndPublishedBlogPostsCannedQuery extends AbstractCannedQueryPermissions<BlogEntity>
{ {
private Log logger = LogFactory.getLog(getClass()); private Log logger = LogFactory.getLog(getClass());
@@ -60,7 +58,7 @@ public class DraftsAndPublishedBlogPostsCannedQuery extends AbstractCannedQueryP
public DraftsAndPublishedBlogPostsCannedQuery( public DraftsAndPublishedBlogPostsCannedQuery(
CannedQueryDAO cannedQueryDAO, CannedQueryDAO cannedQueryDAO,
MethodSecurityBean<BlogPostInfo> methodSecurity, MethodSecurityBean<BlogEntity> methodSecurity,
CannedQueryParameters params) CannedQueryParameters params)
{ {
super(params, methodSecurity); super(params, methodSecurity);
@@ -68,7 +66,7 @@ public class DraftsAndPublishedBlogPostsCannedQuery extends AbstractCannedQueryP
} }
@Override @Override
protected List<BlogPostInfo> queryAndFilter(CannedQueryParameters parameters) protected List<BlogEntity> queryAndFilter(CannedQueryParameters parameters)
{ {
Long start = (logger.isDebugEnabled() ? System.currentTimeMillis() : null); Long start = (logger.isDebugEnabled() ? System.currentTimeMillis() : null);
@@ -154,18 +152,12 @@ public class DraftsAndPublishedBlogPostsCannedQuery extends AbstractCannedQueryP
} }
} }
List<BlogPostInfo> blogPostInfos = new ArrayList<BlogPostInfo>(filtered.size());
for (BlogEntity result : filtered)
{
blogPostInfos.add(new BlogPostInfoImpl(result.getNodeRef(), result.getName()));
}
if (start != null) if (start != null)
{ {
logger.debug("Base query: "+blogPostInfos.size()+" in "+(System.currentTimeMillis()-start)+" msecs"); logger.debug("Base query: "+filtered.size()+" in "+(System.currentTimeMillis()-start)+" msecs");
} }
return blogPostInfos; return filtered;
} }
@Override @Override

View File

@@ -29,7 +29,6 @@ import org.alfresco.query.CannedQueryPageDetails;
import org.alfresco.query.CannedQueryParameters; import org.alfresco.query.CannedQueryParameters;
import org.alfresco.query.CannedQuerySortDetails; import org.alfresco.query.CannedQuerySortDetails;
import org.alfresco.query.PagingRequest; import org.alfresco.query.PagingRequest;
import org.alfresco.service.cmr.blog.BlogPostInfo;
import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.namespace.QName; import org.alfresco.service.namespace.QName;
import org.alfresco.util.Pair; import org.alfresco.util.Pair;
@@ -44,16 +43,16 @@ import org.alfresco.util.ParameterCheck;
public class DraftsAndPublishedBlogPostsCannedQueryFactory extends AbstractBlogPostsCannedQueryFactory public class DraftsAndPublishedBlogPostsCannedQueryFactory extends AbstractBlogPostsCannedQueryFactory
{ {
@Override @Override
public CannedQuery<BlogPostInfo> getCannedQuery(CannedQueryParameters parameters) public CannedQuery<BlogEntity> getCannedQuery(CannedQueryParameters parameters)
{ {
final DraftsAndPublishedBlogPostsCannedQuery cq = new DraftsAndPublishedBlogPostsCannedQuery( final DraftsAndPublishedBlogPostsCannedQuery cq = new DraftsAndPublishedBlogPostsCannedQuery(
cannedQueryDAO, cannedQueryDAO,
methodSecurity, methodSecurity,
parameters); parameters);
return (CannedQuery<BlogPostInfo>) cq; return (CannedQuery<BlogEntity>) cq;
} }
public CannedQuery<BlogPostInfo> getCannedQuery(NodeRef blogContainerNode, Date fromDate, Date toDate, String byUser, PagingRequest pagingReq) public CannedQuery<BlogEntity> getCannedQuery(NodeRef blogContainerNode, Date fromDate, Date toDate, String byUser, PagingRequest pagingReq)
{ {
ParameterCheck.mandatory("blogContainerNode", blogContainerNode); ParameterCheck.mandatory("blogContainerNode", blogContainerNode);
ParameterCheck.mandatory("pagingReq", pagingReq); ParameterCheck.mandatory("pagingReq", pagingReq);

View File

@@ -27,13 +27,11 @@ import java.util.List;
import org.alfresco.query.CannedQuery; import org.alfresco.query.CannedQuery;
import org.alfresco.query.CannedQueryParameters; import org.alfresco.query.CannedQueryParameters;
import org.alfresco.query.CannedQuerySortDetails.SortOrder; import org.alfresco.query.CannedQuerySortDetails.SortOrder;
import org.alfresco.repo.blog.BlogPostInfoImpl;
import org.alfresco.repo.blog.cannedqueries.AbstractBlogPostsCannedQueryFactory.BlogEntityComparator; import org.alfresco.repo.blog.cannedqueries.AbstractBlogPostsCannedQueryFactory.BlogEntityComparator;
import org.alfresco.repo.domain.node.AuditablePropertiesEntity; import org.alfresco.repo.domain.node.AuditablePropertiesEntity;
import org.alfresco.repo.domain.query.CannedQueryDAO; import org.alfresco.repo.domain.query.CannedQueryDAO;
import org.alfresco.repo.security.permissions.impl.acegi.AbstractCannedQueryPermissions; import org.alfresco.repo.security.permissions.impl.acegi.AbstractCannedQueryPermissions;
import org.alfresco.repo.security.permissions.impl.acegi.MethodSecurityBean; import org.alfresco.repo.security.permissions.impl.acegi.MethodSecurityBean;
import org.alfresco.service.cmr.blog.BlogPostInfo;
import org.alfresco.service.cmr.blog.BlogService; import org.alfresco.service.cmr.blog.BlogService;
import org.alfresco.service.cmr.repository.datatype.DefaultTypeConverter; import org.alfresco.service.cmr.repository.datatype.DefaultTypeConverter;
import org.alfresco.service.namespace.QName; import org.alfresco.service.namespace.QName;
@@ -48,7 +46,7 @@ import org.apache.commons.logging.LogFactory;
* @author Neil Mc Erlean, janv * @author Neil Mc Erlean, janv
* @since 4.0 * @since 4.0
*/ */
public class GetBlogPostsCannedQuery extends AbstractCannedQueryPermissions<BlogPostInfo> public class GetBlogPostsCannedQuery extends AbstractCannedQueryPermissions<BlogEntity>
{ {
private Log logger = LogFactory.getLog(getClass()); private Log logger = LogFactory.getLog(getClass());
@@ -59,7 +57,7 @@ public class GetBlogPostsCannedQuery extends AbstractCannedQueryPermissions<Blog
public GetBlogPostsCannedQuery( public GetBlogPostsCannedQuery(
CannedQueryDAO cannedQueryDAO, CannedQueryDAO cannedQueryDAO,
MethodSecurityBean<BlogPostInfo> methodSecurity, MethodSecurityBean<BlogEntity> methodSecurity,
CannedQueryParameters params) CannedQueryParameters params)
{ {
super(params, methodSecurity); super(params, methodSecurity);
@@ -67,7 +65,7 @@ public class GetBlogPostsCannedQuery extends AbstractCannedQueryPermissions<Blog
} }
@Override @Override
protected List<BlogPostInfo> queryAndFilter(CannedQueryParameters parameters) protected List<BlogEntity> queryAndFilter(CannedQueryParameters parameters)
{ {
Long start = (logger.isDebugEnabled() ? System.currentTimeMillis() : null); Long start = (logger.isDebugEnabled() ? System.currentTimeMillis() : null);
@@ -151,18 +149,12 @@ public class GetBlogPostsCannedQuery extends AbstractCannedQueryPermissions<Blog
Collections.sort(filtered, comparator); Collections.sort(filtered, comparator);
} }
List<BlogPostInfo> blogPostInfos = new ArrayList<BlogPostInfo>(filtered.size());
for (BlogEntity result : filtered)
{
blogPostInfos.add(new BlogPostInfoImpl(result.getNodeRef(), result.getName()));
}
if (start != null) if (start != null)
{ {
logger.debug("Base query: "+blogPostInfos.size()+" in "+(System.currentTimeMillis()-start)+" msecs"); logger.debug("Base query: "+filtered.size()+" in "+(System.currentTimeMillis()-start)+" msecs");
} }
return blogPostInfos; return filtered;
} }
@Override @Override

View File

@@ -46,14 +46,14 @@ import org.alfresco.util.ParameterCheck;
public class GetBlogPostsCannedQueryFactory extends AbstractBlogPostsCannedQueryFactory public class GetBlogPostsCannedQueryFactory extends AbstractBlogPostsCannedQueryFactory
{ {
@Override @Override
public CannedQuery<BlogPostInfo> getCannedQuery(CannedQueryParameters parameters) public CannedQuery<BlogEntity> getCannedQuery(CannedQueryParameters parameters)
{ {
final GetBlogPostsCannedQuery cq = new GetBlogPostsCannedQuery(cannedQueryDAO, methodSecurity, parameters); final GetBlogPostsCannedQuery cq = new GetBlogPostsCannedQuery(cannedQueryDAO, methodSecurity, parameters);
return (CannedQuery<BlogPostInfo>) cq; return (CannedQuery<BlogEntity>) cq;
} }
public CannedQuery<BlogPostInfo> getGetDraftsCannedQuery(NodeRef blogContainerNode, String username, PagingRequest pagingReq) public CannedQuery<BlogEntity> getGetDraftsCannedQuery(NodeRef blogContainerNode, String username, PagingRequest pagingReq)
{ {
ParameterCheck.mandatory("blogContainerNode", blogContainerNode); ParameterCheck.mandatory("blogContainerNode", blogContainerNode);
ParameterCheck.mandatory("pagingReq", pagingReq); ParameterCheck.mandatory("pagingReq", pagingReq);
@@ -81,7 +81,7 @@ public class GetBlogPostsCannedQueryFactory extends AbstractBlogPostsCannedQuery
return getCannedQuery(params); return getCannedQuery(params);
} }
public CannedQuery<BlogPostInfo> getGetPublishedExternallyCannedQuery(NodeRef blogContainerNode, PagingRequest pagingReq) public CannedQuery<BlogEntity> getGetPublishedExternallyCannedQuery(NodeRef blogContainerNode, PagingRequest pagingReq)
{ {
ParameterCheck.mandatory("blogContainerNode", blogContainerNode); ParameterCheck.mandatory("blogContainerNode", blogContainerNode);
ParameterCheck.mandatory("pagingReq", pagingReq); ParameterCheck.mandatory("pagingReq", pagingReq);
@@ -118,7 +118,7 @@ public class GetBlogPostsCannedQueryFactory extends AbstractBlogPostsCannedQuery
return getCannedQuery(params); return getCannedQuery(params);
} }
public CannedQuery<BlogPostInfo> getGetPublishedCannedQuery(NodeRef blogContainerNode, Date fromDate, Date toDate, String byUser, PagingRequest pagingReq) public CannedQuery<BlogEntity> getGetPublishedCannedQuery(NodeRef blogContainerNode, Date fromDate, Date toDate, String byUser, PagingRequest pagingReq)
{ {
ParameterCheck.mandatory("blogContainerNode", blogContainerNode); ParameterCheck.mandatory("blogContainerNode", blogContainerNode);
ParameterCheck.mandatory("pagingReq", pagingReq); ParameterCheck.mandatory("pagingReq", pagingReq);

View File

@@ -52,5 +52,11 @@ import org.alfresco.service.cmr.repository.NodeRef;
*/ */
String getTitle(); String getTitle();
/**
* Sets the Title of the blog post.
*/
void setTitle(String title);
// TODO Remaining fields // TODO Remaining fields
// TODO Tags
} }