diff --git a/source/java/org/alfresco/repo/blog/BlogPostInfo.java b/source/java/org/alfresco/repo/blog/BlogPostInfo.java
deleted file mode 100644
index b297407eed..0000000000
--- a/source/java/org/alfresco/repo/blog/BlogPostInfo.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Copyright (C) 2005-2011 Alfresco Software Limited.
- *
- * This file is part of Alfresco
- *
- * Alfresco is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * Alfresco is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with Alfresco. If not, see .
- */
-package org.alfresco.repo.blog;
-
-import org.alfresco.model.ContentModel;
-import org.alfresco.service.cmr.repository.NodeRef;
-
-/**
- * A simple data object for storage of blog-related data.
- *
- * @author Neil Mc Erlean
- * @since 4.0
- */
-public interface BlogPostInfo
-{
- /**
- * Gets the NodeRef representing this blog-post.
- */
- public NodeRef getNodeRef();
-
- /**
- * Gets the {@link ContentModel#PROP_NAME cm:name} of the blog post.
- * @return
- */
- public String getName();
-}
diff --git a/source/java/org/alfresco/repo/blog/BlogPostInfoImpl.java b/source/java/org/alfresco/repo/blog/BlogPostInfoImpl.java
deleted file mode 100644
index 1ee3d79676..0000000000
--- a/source/java/org/alfresco/repo/blog/BlogPostInfoImpl.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * Copyright (C) 2005-2011 Alfresco Software Limited.
- *
- * This file is part of Alfresco
- *
- * Alfresco is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * Alfresco is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with Alfresco. If not, see .
- */
-package org.alfresco.repo.blog;
-
-import java.io.Serializable;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.alfresco.model.ContentModel;
-import org.alfresco.service.cmr.repository.NodeRef;
-import org.alfresco.service.namespace.QName;
-
-/**
- * A simple data object responsible for holding information relevant to blog post NodeRefs.
- *
- * @author Neil Mc Erlean
- * @since 4.0
- */
-public class BlogPostInfoImpl implements BlogPostInfo
-{
- private NodeRef nodeRef;
- private Map properties = new HashMap();
-
- BlogPostInfoImpl(NodeRef nodeRef, Map properties)
- {
- this.nodeRef = nodeRef;
- this.properties = properties;
- }
-
- /**
- * @see #getNodeRef()
- * @see NodeRef#equals(Object)
- */
- @Override
- public boolean equals(Object obj)
- {
- if (obj == null)
- {
- return false;
- }
- else if (this == obj)
- {
- return true;
- }
- else if (obj instanceof BlogPostInfoImpl == false)
- {
- return false;
- }
- BlogPostInfoImpl that = (BlogPostInfoImpl) obj;
- return (this.getNodeRef().equals(that.getNodeRef()));
- }
-
- /**
- * @see #getNodeRef()
- * @see NodeRef#hashCode()
- */
- @Override
- public int hashCode()
- {
- return getNodeRef().hashCode();
- }
-
- @Override
- public String toString()
- {
- StringBuilder sb = new StringBuilder(80);
- sb.append(BlogPostInfo.class.getSimpleName())
- .append("[name=").append(getName())
- .append(", nodeRef=").append(nodeRef);
- sb.append("]");
- return sb.toString();
- }
-
- @Override
- public NodeRef getNodeRef()
- {
- return nodeRef;
- }
-
- @Override
- public String getName()
- {
- return (String) properties.get(ContentModel.PROP_NAME);
- }
-}
diff --git a/source/java/org/alfresco/repo/blog/BlogService.java b/source/java/org/alfresco/repo/blog/BlogService.java
index 0175916e0f..b4a9621196 100644
--- a/source/java/org/alfresco/repo/blog/BlogService.java
+++ b/source/java/org/alfresco/repo/blog/BlogService.java
@@ -20,6 +20,7 @@ package org.alfresco.repo.blog;
import java.util.Date;
+import org.alfresco.model.ContentModel;
import org.alfresco.query.PagingRequest;
import org.alfresco.query.PagingResults;
import org.alfresco.service.cmr.repository.ChildAssociationRef;
@@ -119,4 +120,38 @@ public interface BlogService
* @return true if it is a draft post, else false.
*/
boolean isDraftBlogPost(NodeRef blogPostNode);
+
+ /**
+ * A simple data object for storage of blog-related data.
+ *
+ * @author Neil Mc Erlean
+ * @since 4.0
+ */
+ public class BlogPostInfo
+ {
+ private final NodeRef nodeRef;
+ private final String name;
+
+ public BlogPostInfo(NodeRef nodeRef, String name)
+ {
+ this.nodeRef = nodeRef;
+ this.name = name;
+ }
+ /**
+ * Gets the NodeRef representing this blog-post.
+ */
+ public NodeRef getNodeRef()
+ {
+ return nodeRef;
+ }
+
+ /**
+ * Gets the {@link ContentModel#PROP_NAME cm:name} of the blog post.
+ * @return
+ */
+ public String getName()
+ {
+ return name;
+ }
+ }
}
diff --git a/source/java/org/alfresco/repo/blog/BlogServiceImpl.java b/source/java/org/alfresco/repo/blog/BlogServiceImpl.java
index 98d47cc2c2..65f24b89cb 100644
--- a/source/java/org/alfresco/repo/blog/BlogServiceImpl.java
+++ b/source/java/org/alfresco/repo/blog/BlogServiceImpl.java
@@ -19,7 +19,6 @@
package org.alfresco.repo.blog;
import java.io.Serializable;
-import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
@@ -192,28 +191,36 @@ public class BlogServiceImpl implements BlogService
/**
* This method creates a paged result set based on the supplied {@link PagingRequest} and {@link CannedQueryResults}.
*/
- private PagingResults createPagedResults(PagingRequest pagingReq, CannedQueryResults results)
+ private PagingResults createPagedResults(PagingRequest pagingReq, final CannedQueryResults results)
{
- List nodeRefs = null;
- if (results.getPageCount() > 0)
+ return new PagingResults()
{
- nodeRefs = results.getPages().get(0);
- }
- else
- {
- nodeRefs = Collections.emptyList();
- }
-
- // set total count
- Pair totalCount = null;
- if (pagingReq.getRequestTotalCountMax() > 0)
- {
- totalCount = results.getTotalResultCount();
- }
-
- boolean hasMoreItems = results.hasMoreItems();
-
- return new PagingBlogPostInfoResultsImpl(nodeRefs, hasMoreItems, totalCount, results.getQueryExecutionId(), true);
+ @Override
+ public String getQueryExecutionId()
+ {
+ return results.getQueryExecutionId();
+ }
+ @Override
+ public List getPage()
+ {
+ return results.getPage();
+ }
+ @Override
+ public boolean hasMoreItems()
+ {
+ return results.hasMoreItems();
+ }
+ @Override
+ public Pair getTotalResultCount()
+ {
+ return results.getTotalResultCount();
+ }
+ @Override
+ public boolean permissionsApplied()
+ {
+ return results.permissionsApplied();
+ }
+ };
}
/*
diff --git a/source/java/org/alfresco/repo/blog/BlogServiceImplTest.java b/source/java/org/alfresco/repo/blog/BlogServiceImplTest.java
index e8f0e8a5e2..a4196b2cf8 100644
--- a/source/java/org/alfresco/repo/blog/BlogServiceImplTest.java
+++ b/source/java/org/alfresco/repo/blog/BlogServiceImplTest.java
@@ -31,6 +31,7 @@ import java.util.List;
import org.alfresco.model.ContentModel;
import org.alfresco.query.PagingRequest;
import org.alfresco.query.PagingResults;
+import org.alfresco.repo.blog.BlogService.BlogPostInfo;
import org.alfresco.repo.policy.BehaviourFilter;
import org.alfresco.repo.security.authentication.AuthenticationUtil;
import org.alfresco.repo.site.SiteModel;
diff --git a/source/java/org/alfresco/repo/blog/DraftsAndPublishedBlogPostsCannedQuery.java b/source/java/org/alfresco/repo/blog/DraftsAndPublishedBlogPostsCannedQuery.java
index 00a0b68a53..6272c7e64e 100644
--- a/source/java/org/alfresco/repo/blog/DraftsAndPublishedBlogPostsCannedQuery.java
+++ b/source/java/org/alfresco/repo/blog/DraftsAndPublishedBlogPostsCannedQuery.java
@@ -29,6 +29,7 @@ import org.alfresco.model.ContentModel;
import org.alfresco.query.CannedQuery;
import org.alfresco.query.CannedQueryParameters;
import org.alfresco.query.CannedQuerySortDetails.SortOrder;
+import org.alfresco.repo.blog.BlogService.BlogPostInfo;
import org.alfresco.repo.security.permissions.impl.acegi.AbstractCannedQueryPermissions;
import org.alfresco.repo.security.permissions.impl.acegi.MethodSecurityInterceptor;
import org.alfresco.service.cmr.repository.ChildAssociationRef;
@@ -125,7 +126,7 @@ public class DraftsAndPublishedBlogPostsCannedQuery extends AbstractCannedQueryP
if (nextNodeIsAcceptable)
{
- filteredNodeRefs.add(new BlogPostInfoImpl(nextBlogNode, rawNodeService.getProperties(nextBlogNode)));
+ filteredNodeRefs.add(new BlogPostInfo(nextBlogNode, (String)rawNodeService.getProperty(nextBlogNode, ContentModel.PROP_NAME)));
}
}
diff --git a/source/java/org/alfresco/repo/blog/DraftsAndPublishedBlogPostsCannedQueryFactory.java b/source/java/org/alfresco/repo/blog/DraftsAndPublishedBlogPostsCannedQueryFactory.java
index 982cad8e12..d3fb11ff66 100644
--- a/source/java/org/alfresco/repo/blog/DraftsAndPublishedBlogPostsCannedQueryFactory.java
+++ b/source/java/org/alfresco/repo/blog/DraftsAndPublishedBlogPostsCannedQueryFactory.java
@@ -31,6 +31,7 @@ import org.alfresco.query.CannedQueryParameters;
import org.alfresco.query.CannedQuerySortDetails;
import org.alfresco.query.PagingRequest;
import org.alfresco.query.CannedQuerySortDetails.SortOrder;
+import org.alfresco.repo.blog.BlogService.BlogPostInfo;
import org.alfresco.repo.security.authentication.AuthenticationUtil;
import org.alfresco.repo.security.permissions.impl.acegi.MethodSecurityInterceptor;
import org.alfresco.service.cmr.repository.NodeRef;
diff --git a/source/java/org/alfresco/repo/blog/GetBlogPostsCannedQuery.java b/source/java/org/alfresco/repo/blog/GetBlogPostsCannedQuery.java
index 48b1c8f781..f6881d7a63 100644
--- a/source/java/org/alfresco/repo/blog/GetBlogPostsCannedQuery.java
+++ b/source/java/org/alfresco/repo/blog/GetBlogPostsCannedQuery.java
@@ -29,6 +29,7 @@ import org.alfresco.model.ContentModel;
import org.alfresco.query.CannedQuery;
import org.alfresco.query.CannedQueryParameters;
import org.alfresco.query.CannedQuerySortDetails.SortOrder;
+import org.alfresco.repo.blog.BlogService.BlogPostInfo;
import org.alfresco.repo.security.permissions.impl.acegi.AbstractCannedQueryPermissions;
import org.alfresco.repo.security.permissions.impl.acegi.MethodSecurityInterceptor;
import org.alfresco.service.cmr.repository.ChildAssociationRef;
@@ -134,7 +135,7 @@ public class GetBlogPostsCannedQuery extends AbstractCannedQueryPermissions.
- */
-package org.alfresco.repo.blog;
-
-import org.alfresco.query.PagingResults;
-
-/**
- * @since 4.0
- */
-public interface PagingBlogPostInfoResults extends PagingResults
-{
-}
diff --git a/source/java/org/alfresco/repo/blog/PagingBlogPostInfoResultsImpl.java b/source/java/org/alfresco/repo/blog/PagingBlogPostInfoResultsImpl.java
deleted file mode 100644
index 1616e99cf3..0000000000
--- a/source/java/org/alfresco/repo/blog/PagingBlogPostInfoResultsImpl.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Copyright (C) 2005-2011 Alfresco Software Limited.
- *
- * This file is part of Alfresco
- *
- * Alfresco is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * Alfresco is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with Alfresco. If not, see .
- */
-package org.alfresco.repo.blog;
-
-import java.util.List;
-
-import org.alfresco.query.PermissionedResults;
-import org.alfresco.util.Pair;
-
-/**
- * A simple results holder object for data relating to {@link BlogPostInfo blog-posts}, as
- * returned by the {@link BlogService}
- *
- * @since 4.0
- * @author Neil Mc Erlean.
- */
-class PagingBlogPostInfoResultsImpl implements PagingBlogPostInfoResults, PermissionedResults
-{
- private List blogPosts;
-
- private boolean hasMoreItems;
- private Pair totalResultCount;
- private String queryExecutionId;
- private boolean permissionsApplied;
-
- public PagingBlogPostInfoResultsImpl(List nodeInfos, boolean hasMoreItems, Pair totalResultCount, String queryExecutionId, boolean permissionsApplied)
- {
- this.blogPosts = nodeInfos;
- this.hasMoreItems = hasMoreItems;
- this.totalResultCount = totalResultCount;
- this.queryExecutionId = queryExecutionId;
- this.permissionsApplied = permissionsApplied;
- }
-
- @Override
- public List getPage()
- {
- return blogPosts;
- }
-
- @Override
- public boolean hasMoreItems()
- {
- return hasMoreItems;
- }
-
- @Override
- public Pair getTotalResultCount()
- {
- return totalResultCount;
- }
-
- @Override
- public String getQueryExecutionId()
- {
- return queryExecutionId;
- }
-
- @Override
- public boolean permissionsApplied()
- {
- return permissionsApplied;
- }
-}
diff --git a/source/java/org/alfresco/repo/blog/PropertyBasedComparator.java b/source/java/org/alfresco/repo/blog/PropertyBasedComparator.java
index 7908a45731..c9ec9b9f80 100644
--- a/source/java/org/alfresco/repo/blog/PropertyBasedComparator.java
+++ b/source/java/org/alfresco/repo/blog/PropertyBasedComparator.java
@@ -20,6 +20,7 @@ package org.alfresco.repo.blog;
import java.util.Comparator;
+import org.alfresco.repo.blog.BlogService.BlogPostInfo;
import org.alfresco.service.cmr.repository.NodeService;
import org.alfresco.service.namespace.QName;
diff --git a/source/java/org/alfresco/repo/blog/cannedqueries/BlogPostInfoImpl.java b/source/java/org/alfresco/repo/blog/cannedqueries/BlogPostInfoImpl.java
deleted file mode 100644
index 4122da6a0d..0000000000
--- a/source/java/org/alfresco/repo/blog/cannedqueries/BlogPostInfoImpl.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * Copyright (C) 2005-2011 Alfresco Software Limited.
- *
- * This file is part of Alfresco
- *
- * Alfresco is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * Alfresco is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with Alfresco. If not, see .
- */
-package org.alfresco.repo.blog.cannedqueries;
-
-import java.io.Serializable;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.alfresco.model.ContentModel;
-import org.alfresco.repo.blog.BlogPostInfo;
-import org.alfresco.service.cmr.repository.NodeRef;
-import org.alfresco.service.namespace.QName;
-
-/**
- * A simple data object responsible for holding information relevant to blog post NodeRefs.
- *
- * @author Neil Mc Erlean
- * @since 4.0
- */
-public class BlogPostInfoImpl implements BlogPostInfo
-{
- private NodeRef nodeRef;
- private Map properties = new HashMap();
-
- BlogPostInfoImpl(NodeRef nodeRef, Map properties)
- {
- this.nodeRef = nodeRef;
- this.properties = properties;
- }
-
- /**
- * @see #getNodeRef()
- * @see NodeRef#equals(Object)
- */
- @Override
- public boolean equals(Object obj)
- {
- if (obj == null)
- {
- return false;
- }
- else if (this == obj)
- {
- return true;
- }
- else if (obj instanceof BlogPostInfoImpl == false)
- {
- return false;
- }
- BlogPostInfoImpl that = (BlogPostInfoImpl) obj;
- return (this.getNodeRef().equals(that.getNodeRef()));
- }
-
- /**
- * @see #getNodeRef()
- * @see NodeRef#hashCode()
- */
- @Override
- public int hashCode()
- {
- return getNodeRef().hashCode();
- }
-
- @Override
- public String toString()
- {
- StringBuilder sb = new StringBuilder(80);
- sb.append(BlogPostInfo.class.getSimpleName())
- .append("[name=").append(getName())
- .append(", nodeRef=").append(nodeRef);
- sb.append("]");
- return sb.toString();
- }
-
- @Override
- public NodeRef getNodeRef()
- {
- return nodeRef;
- }
-
- @Override
- public String getName()
- {
- return (String) properties.get(ContentModel.PROP_NAME);
- }
-}
diff --git a/source/java/org/alfresco/repo/blog/cannedqueries/DraftsAndPublishedBlogPostsCannedQuery.java b/source/java/org/alfresco/repo/blog/cannedqueries/DraftsAndPublishedBlogPostsCannedQuery.java
index b3b02a98c6..e56e40424a 100644
--- a/source/java/org/alfresco/repo/blog/cannedqueries/DraftsAndPublishedBlogPostsCannedQuery.java
+++ b/source/java/org/alfresco/repo/blog/cannedqueries/DraftsAndPublishedBlogPostsCannedQuery.java
@@ -29,8 +29,8 @@ import org.alfresco.model.ContentModel;
import org.alfresco.query.CannedQuery;
import org.alfresco.query.CannedQueryParameters;
import org.alfresco.query.CannedQuerySortDetails.SortOrder;
-import org.alfresco.repo.blog.BlogPostInfo;
import org.alfresco.repo.blog.BlogService;
+import org.alfresco.repo.blog.BlogService.BlogPostInfo;
import org.alfresco.repo.security.permissions.impl.acegi.AbstractCannedQueryPermissions;
import org.alfresco.repo.security.permissions.impl.acegi.MethodSecurityInterceptor;
import org.alfresco.service.cmr.repository.ChildAssociationRef;
@@ -127,7 +127,7 @@ public class DraftsAndPublishedBlogPostsCannedQuery extends AbstractCannedQueryP
if (nextNodeIsAcceptable)
{
- filteredNodeRefs.add(new BlogPostInfoImpl(nextBlogNode, rawNodeService.getProperties(nextBlogNode)));
+ filteredNodeRefs.add(new BlogPostInfo(nextBlogNode, (String)rawNodeService.getProperty(nextBlogNode, ContentModel.PROP_NAME)));
}
}
diff --git a/source/java/org/alfresco/repo/blog/cannedqueries/DraftsAndPublishedBlogPostsCannedQueryFactory.java b/source/java/org/alfresco/repo/blog/cannedqueries/DraftsAndPublishedBlogPostsCannedQueryFactory.java
index 517ddb59da..804737d477 100644
--- a/source/java/org/alfresco/repo/blog/cannedqueries/DraftsAndPublishedBlogPostsCannedQueryFactory.java
+++ b/source/java/org/alfresco/repo/blog/cannedqueries/DraftsAndPublishedBlogPostsCannedQueryFactory.java
@@ -31,7 +31,7 @@ import org.alfresco.query.CannedQueryParameters;
import org.alfresco.query.CannedQuerySortDetails;
import org.alfresco.query.PagingRequest;
import org.alfresco.query.CannedQuerySortDetails.SortOrder;
-import org.alfresco.repo.blog.BlogPostInfo;
+import org.alfresco.repo.blog.BlogService.BlogPostInfo;
import org.alfresco.repo.security.authentication.AuthenticationUtil;
import org.alfresco.repo.security.permissions.impl.acegi.MethodSecurityInterceptor;
import org.alfresco.service.cmr.repository.NodeRef;
diff --git a/source/java/org/alfresco/repo/blog/cannedqueries/GetBlogPostsCannedQuery.java b/source/java/org/alfresco/repo/blog/cannedqueries/GetBlogPostsCannedQuery.java
index af6e3c2dd5..ddbf3b2d36 100644
--- a/source/java/org/alfresco/repo/blog/cannedqueries/GetBlogPostsCannedQuery.java
+++ b/source/java/org/alfresco/repo/blog/cannedqueries/GetBlogPostsCannedQuery.java
@@ -29,8 +29,8 @@ import org.alfresco.model.ContentModel;
import org.alfresco.query.CannedQuery;
import org.alfresco.query.CannedQueryParameters;
import org.alfresco.query.CannedQuerySortDetails.SortOrder;
-import org.alfresco.repo.blog.BlogPostInfo;
import org.alfresco.repo.blog.BlogService;
+import org.alfresco.repo.blog.BlogService.BlogPostInfo;
import org.alfresco.repo.security.permissions.impl.acegi.AbstractCannedQueryPermissions;
import org.alfresco.repo.security.permissions.impl.acegi.MethodSecurityInterceptor;
import org.alfresco.service.cmr.repository.ChildAssociationRef;
@@ -136,7 +136,7 @@ public class GetBlogPostsCannedQuery extends AbstractCannedQueryPermissions