diff --git a/source/java/org/alfresco/repo/activities/feed/FeedTaskProcessor.java b/source/java/org/alfresco/repo/activities/feed/FeedTaskProcessor.java index d234ad931a..5e4800fec8 100644 --- a/source/java/org/alfresco/repo/activities/feed/FeedTaskProcessor.java +++ b/source/java/org/alfresco/repo/activities/feed/FeedTaskProcessor.java @@ -37,7 +37,6 @@ import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; -import java.util.TreeMap; import org.alfresco.repo.activities.post.lookup.PostLookup; import org.alfresco.repo.domain.activities.ActivityFeedDAO; @@ -134,7 +133,7 @@ public abstract class FeedTaskProcessor } catch(JSONException je) { - logger.error("Skipping activity post " + activityPost.getId() + " due to invalid activity data: " + je); + logger.error("Skipping activity post " + activityPost.getId() + " due to invalid activity data: ", je); updatePostStatus(activityPost.getId(), ActivityPostEntity.STATUS.ERROR); continue; } @@ -195,7 +194,7 @@ public abstract class FeedTaskProcessor } catch (Exception e) { - logger.error("Skipping activity post " + activityPost.getId() + " since failed to get recipients: " + e); + logger.error("Skipping activity post " + activityPost.getId() + " since failed to get recipients: ", e); updatePostStatus(activityPost.getId(), ActivityPostEntity.STATUS.ERROR); continue; } diff --git a/source/test-java/org/alfresco/repo/subscriptions/SubscriptionServiceActivitiesTest.java b/source/test-java/org/alfresco/repo/subscriptions/SubscriptionServiceActivitiesTest.java index 06a818b857..c5b87e8764 100644 --- a/source/test-java/org/alfresco/repo/subscriptions/SubscriptionServiceActivitiesTest.java +++ b/source/test-java/org/alfresco/repo/subscriptions/SubscriptionServiceActivitiesTest.java @@ -155,6 +155,7 @@ public class SubscriptionServiceActivitiesTest { // We put the scheduler in standby mode BeforeClass. Now we must restore it. QUARTZ_SCHEDULER.start(); + AuthenticationUtil.clearCurrentSecurityContext(); } @Before public void createTestSites() throws Exception @@ -171,6 +172,7 @@ public class SubscriptionServiceActivitiesTest modSite2 = testSites.createSite("sitePreset", "mod2" + guid, "", "", SiteVisibility.MODERATED, ADMIN); log.debug("Created some test sites..."); + AuthenticationUtil.clearCurrentSecurityContext(); // test site cleanup is handled automatically by the JUnit Rule. } diff --git a/source/test-java/org/alfresco/util/test/junitrules/TemporarySites.java b/source/test-java/org/alfresco/util/test/junitrules/TemporarySites.java index 8019a74236..1d872bd2d3 100644 --- a/source/test-java/org/alfresco/util/test/junitrules/TemporarySites.java +++ b/source/test-java/org/alfresco/util/test/junitrules/TemporarySites.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005-2012 + * Copyright (C) 2005-2013 Alfresco Software Limited. * * This file is part of Alfresco @@ -20,9 +20,12 @@ package org.alfresco.util.test.junitrules; import java.util.ArrayList; +import java.util.Date; import java.util.List; import org.alfresco.model.ContentModel; +import org.alfresco.repo.domain.activities.ActivityPostDAO; +import org.alfresco.repo.domain.activities.ActivityPostEntity; import org.alfresco.repo.security.authentication.AuthenticationUtil; import org.alfresco.repo.security.authentication.AuthenticationUtil.RunAsWork; import org.alfresco.repo.site.SiteModel; @@ -70,6 +73,7 @@ public class TemporarySites extends AbstractPersonRule { final RetryingTransactionHelper transactionHelper = (RetryingTransactionHelper) appContextRule.getApplicationContext().getBean("retryingTransactionHelper"); final SiteService siteService = appContextRule.getApplicationContext().getBean("siteService", SiteService.class); + final ActivityPostDAO postDAO = appContextRule.getApplicationContext().getBean("postDAO", ActivityPostDAO.class); // Run as admin to ensure all sites can be deleted irrespective of which user created them. AuthenticationUtil.runAs(new RunAsWork() @@ -96,6 +100,15 @@ public class TemporarySites extends AbstractPersonRule deletePerson(username); } + // Clean all the post feeds + int deletedCnt = 0; + Date keepDate = new Date(System.currentTimeMillis() + (120 * 1000L)); + for (ActivityPostEntity.STATUS status : ActivityPostEntity.STATUS.values()) + { + deletedCnt += postDAO.deletePosts(keepDate, status); + } + log.debug("Deleted " + deletedCnt + " post feeds."); + return null; } });