diff --git a/source/java/org/alfresco/repo/web/scripts/discussion/DiscussionRestApiTest.java b/source/java/org/alfresco/repo/web/scripts/discussion/DiscussionRestApiTest.java index 6dbaf058fa..289dfd42b4 100644 --- a/source/java/org/alfresco/repo/web/scripts/discussion/DiscussionRestApiTest.java +++ b/source/java/org/alfresco/repo/web/scripts/discussion/DiscussionRestApiTest.java @@ -1008,26 +1008,26 @@ public class DiscussionRestApiTest extends BaseWebScriptTest // Check for recent (new) - // We should get all the topics + // We should get all the topics, with the newest one first (rather than last as with others) result = getPosts("new?numdays=2", Status.STATUS_OK); assertEquals(2, result.getInt("total")); assertEquals(2, result.getInt("itemCount")); assertEquals(2, result.getJSONArray("items").length()); - assertEquals("SiteTitle1", result.getJSONArray("items").getJSONObject(0).getString("title")); - assertEquals("SiteTitle2", result.getJSONArray("items").getJSONObject(1).getString("title")); - assertEquals(2, result.getJSONArray("items").getJSONObject(0).getInt("replyCount")); - assertEquals(3, result.getJSONArray("items").getJSONObject(1).getInt("replyCount")); + assertEquals("SiteTitle2", result.getJSONArray("items").getJSONObject(0).getString("title")); + assertEquals("SiteTitle1", result.getJSONArray("items").getJSONObject(1).getString("title")); + assertEquals(3, result.getJSONArray("items").getJSONObject(0).getInt("replyCount")); + assertEquals(2, result.getJSONArray("items").getJSONObject(1).getInt("replyCount")); result = getPosts(FORUM_NODE, "new?numdays=2", Status.STATUS_OK); assertEquals(3, result.getInt("total")); assertEquals(3, result.getInt("itemCount")); assertEquals(3, result.getJSONArray("items").length()); - assertEquals("NodeTitle1", result.getJSONArray("items").getJSONObject(0).getString("title")); + assertEquals("NodeTitle3", result.getJSONArray("items").getJSONObject(0).getString("title")); assertEquals("NodeTitle2", result.getJSONArray("items").getJSONObject(1).getString("title")); - assertEquals("NodeTitle3", result.getJSONArray("items").getJSONObject(2).getString("title")); - assertEquals(1, result.getJSONArray("items").getJSONObject(0).getInt("replyCount")); + assertEquals("NodeTitle1", result.getJSONArray("items").getJSONObject(2).getString("title")); + assertEquals(0, result.getJSONArray("items").getJSONObject(0).getInt("replyCount")); assertEquals(0, result.getJSONArray("items").getJSONObject(1).getInt("replyCount")); - assertEquals(0, result.getJSONArray("items").getJSONObject(2).getInt("replyCount")); + assertEquals(1, result.getJSONArray("items").getJSONObject(2).getInt("replyCount")); // Check for hot @@ -1093,10 +1093,10 @@ public class DiscussionRestApiTest extends BaseWebScriptTest assertEquals(2, result.getInt("total")); assertEquals(2, result.getInt("itemCount")); assertEquals(2, result.getJSONArray("items").length()); - assertEquals("NodeTitle3", result.getJSONArray("items").getJSONObject(0).getString("title")); - assertEquals("NodeTitle1", result.getJSONArray("items").getJSONObject(1).getString("title")); - assertEquals(0, result.getJSONArray("items").getJSONObject(0).getInt("replyCount")); - assertEquals(1, result.getJSONArray("items").getJSONObject(1).getInt("replyCount")); + assertEquals("NodeTitle1", result.getJSONArray("items").getJSONObject(0).getString("title")); + assertEquals("NodeTitle3", result.getJSONArray("items").getJSONObject(1).getString("title")); + assertEquals(1, result.getJSONArray("items").getJSONObject(0).getInt("replyCount")); + assertEquals(0, result.getJSONArray("items").getJSONObject(1).getInt("replyCount")); result = getPosts(FORUM_NODE, "new?numdays=2", Status.STATUS_OK); assertEquals(1, result.getInt("total")); diff --git a/source/java/org/alfresco/repo/web/scripts/discussion/ForumTopicsGet.java b/source/java/org/alfresco/repo/web/scripts/discussion/ForumTopicsGet.java index 2f6eb0db26..cac538f920 100644 --- a/source/java/org/alfresco/repo/web/scripts/discussion/ForumTopicsGet.java +++ b/source/java/org/alfresco/repo/web/scripts/discussion/ForumTopicsGet.java @@ -61,6 +61,7 @@ public class ForumTopicsGet extends AbstractDiscussionWebScript } // Get the topics + boolean oldestTopicsFirst = true; PagingResults topics = null; PagingRequest paging = buildPagingRequest(req); if(tagSearch) @@ -68,22 +69,22 @@ public class ForumTopicsGet extends AbstractDiscussionWebScript // Tag based is a search rather than a listing if(site != null) { - topics = discussionService.findTopics(site.getShortName(), null, tag, paging); + topics = discussionService.findTopics(site.getShortName(), null, tag, oldestTopicsFirst, paging); } else { - topics = discussionService.findTopics(nodeRef, null, tag, paging); + topics = discussionService.findTopics(nodeRef, null, tag, oldestTopicsFirst, paging); } } else { if(site != null) { - topics = discussionService.listTopics(site.getShortName(), paging); + topics = discussionService.listTopics(site.getShortName(), oldestTopicsFirst, paging); } else { - topics = discussionService.listTopics(nodeRef, buildPagingRequest(req)); + topics = discussionService.listTopics(nodeRef, oldestTopicsFirst, buildPagingRequest(req)); } } diff --git a/source/java/org/alfresco/repo/web/scripts/discussion/ForumTopicsMineGet.java b/source/java/org/alfresco/repo/web/scripts/discussion/ForumTopicsMineGet.java index f4ba693e48..ba553ecab7 100644 --- a/source/java/org/alfresco/repo/web/scripts/discussion/ForumTopicsMineGet.java +++ b/source/java/org/alfresco/repo/web/scripts/discussion/ForumTopicsMineGet.java @@ -56,16 +56,16 @@ public class ForumTopicsMineGet extends AbstractDiscussionWebScript // Grab the current user to list for String username = AuthenticationUtil.getFullyAuthenticatedUser(); - // Get the topics for the user + // Get the topics for the user, oldest first PagingResults topics = null; PagingRequest paging = buildPagingRequest(req); if(site != null) { - topics = discussionService.listTopics(site.getShortName(), username, paging); + topics = discussionService.listTopics(site.getShortName(), username, true, paging); } else { - topics = discussionService.listTopics(nodeRef, username, paging); + topics = discussionService.listTopics(nodeRef, username, true, paging); } diff --git a/source/java/org/alfresco/repo/web/scripts/discussion/ForumTopicsRecentGet.java b/source/java/org/alfresco/repo/web/scripts/discussion/ForumTopicsRecentGet.java index d2ed946e91..5ecf0495c4 100644 --- a/source/java/org/alfresco/repo/web/scripts/discussion/ForumTopicsRecentGet.java +++ b/source/java/org/alfresco/repo/web/scripts/discussion/ForumTopicsRecentGet.java @@ -68,16 +68,16 @@ public class ForumTopicsRecentGet extends AbstractDiscussionWebScript Date from = new Date(now.getTime() - numDays*ONE_DAY_MS); Date to = new Date(now.getTime() + ONE_DAY_MS); - // Get the topics for the user + // Get the recent topics, newest first PagingResults topics = null; PagingRequest paging = buildPagingRequest(req); if(site != null) { - topics = discussionService.listTopics(site.getShortName(), from, to, paging); + topics = discussionService.listTopics(site.getShortName(), from, to, false, paging); } else { - topics = discussionService.listTopics(nodeRef, from, to, paging); + topics = discussionService.listTopics(nodeRef, from, to, false, paging); }