From bc839bdcdc5ffa88f06ee530da8b318f76eb1b69 Mon Sep 17 00:00:00 2001 From: Jamie Allison Date: Thu, 30 Aug 2012 14:12:27 +0000 Subject: [PATCH] Discussion forum summary dashlet git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@41057 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../discussion/DiscussionServiceImplTest.java | 8 +++++ .../repo/discussion/TopicInfoImpl.java | 32 +++++++++++++++++++ .../service/cmr/discussion/TopicInfo.java | 5 +++ 3 files changed, 45 insertions(+) diff --git a/source/java/org/alfresco/repo/discussion/DiscussionServiceImplTest.java b/source/java/org/alfresco/repo/discussion/DiscussionServiceImplTest.java index d81ba644dc..ccccc01272 100644 --- a/source/java/org/alfresco/repo/discussion/DiscussionServiceImplTest.java +++ b/source/java/org/alfresco/repo/discussion/DiscussionServiceImplTest.java @@ -21,6 +21,7 @@ package org.alfresco.repo.discussion; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNotSame; import static org.junit.Assert.assertTrue; import java.util.ArrayList; @@ -383,6 +384,7 @@ public class DiscussionServiceImplTest @Test public void createUpdateDeleteEntries() throws Exception { TopicInfo siteTopic; + TopicInfo siteTopic2; TopicInfo nodeTopic; PostInfo post; PostInfo reply; @@ -397,6 +399,8 @@ public class DiscussionServiceImplTest testNodesToTidy.add(siteTopic.getNodeRef()); testNodesToTidy.add(nodeTopic.getNodeRef()); + // Create a second object with the same topic as siteTopic to test equals. + siteTopic2 = DISCUSSION_SERVICE.getForNodeRef(siteTopic.getNodeRef()).getFirst(); // Check them assertEquals("Site Title", siteTopic.getTitle()); @@ -407,6 +411,10 @@ public class DiscussionServiceImplTest assertEquals(TEST_USER, nodeTopic.getCreator()); assertEquals(0, nodeTopic.getTags().size()); + // Check that the overridden equals is correct. + assertEquals(siteTopic, siteTopic2); + // Ensure they are not pointing to the same object. + assertNotSame(siteTopic, siteTopic2); // Change them siteTopic.setTitle("Site Changed"); diff --git a/source/java/org/alfresco/repo/discussion/TopicInfoImpl.java b/source/java/org/alfresco/repo/discussion/TopicInfoImpl.java index f952b8c7f9..9a1cc4d212 100644 --- a/source/java/org/alfresco/repo/discussion/TopicInfoImpl.java +++ b/source/java/org/alfresco/repo/discussion/TopicInfoImpl.java @@ -41,6 +41,7 @@ public class TopicInfoImpl implements TopicInfo private String modifier; private Date createdAt; private Date modifiedAt; + private String shortSiteName; private List tags = new ArrayList(); /** @@ -144,4 +145,35 @@ public class TopicInfoImpl implements TopicInfo { this.tags = tags; } + + @Override + public int hashCode() + { + return nodeRef.hashCode(); + } + + @Override + public boolean equals(Object obj) + { + if (obj instanceof TopicInfoImpl) + { + TopicInfoImpl tii = (TopicInfoImpl) obj; + if(nodeRef.equals(tii.nodeRef)) + { + return true; + } + } + return false; + } + + @Override + public String getShortSiteName() + { + return shortSiteName; + } + + public void setShortSiteName(String shortSiteName) + { + this.shortSiteName = shortSiteName; + } } diff --git a/source/java/org/alfresco/service/cmr/discussion/TopicInfo.java b/source/java/org/alfresco/service/cmr/discussion/TopicInfo.java index 987e0f2a75..516674b064 100644 --- a/source/java/org/alfresco/service/cmr/discussion/TopicInfo.java +++ b/source/java/org/alfresco/service/cmr/discussion/TopicInfo.java @@ -87,4 +87,9 @@ public interface TopicInfo extends Serializable, PermissionCheckValue * @return the Tags associated with the topic */ List getTags(); + + /** + * @return the site this topic is associated with + */ + String getShortSiteName(); }