From 12e0a9327efbc5cf89cba6debd69f9c7e0c759e4 Mon Sep 17 00:00:00 2001 From: Jamal Kaabi-Mofrad Date: Tue, 7 Jan 2014 23:16:16 +0000 Subject: [PATCH] Fix for CLOUD-2248: Disabling Activity Feeds for a specific site doesn't work. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@59475 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- config/alfresco/script-services-context.xml | 3 ++ .../repo/activities/script/Activity.java | 28 ++++++++++++++++--- 2 files changed, 27 insertions(+), 4 deletions(-) diff --git a/config/alfresco/script-services-context.xml b/config/alfresco/script-services-context.xml index 9d1b9dd8f8..bc414e6d21 100644 --- a/config/alfresco/script-services-context.xml +++ b/config/alfresco/script-services-context.xml @@ -225,6 +225,9 @@ + + + diff --git a/source/java/org/alfresco/repo/activities/script/Activity.java b/source/java/org/alfresco/repo/activities/script/Activity.java index f4cca0dbe4..11686ad589 100644 --- a/source/java/org/alfresco/repo/activities/script/Activity.java +++ b/source/java/org/alfresco/repo/activities/script/Activity.java @@ -21,6 +21,7 @@ package org.alfresco.repo.activities.script; import java.util.List; import org.alfresco.repo.jscript.BaseScopableProcessorExtension; +import org.alfresco.repo.tenant.TenantService; import org.alfresco.service.cmr.activities.ActivityService; import org.alfresco.service.cmr.activities.FeedControl; import org.alfresco.service.cmr.repository.NodeRef; @@ -35,6 +36,7 @@ import org.mozilla.javascript.Scriptable; public final class Activity extends BaseScopableProcessorExtension { private ActivityService activityService; + private TenantService tenantService; /** * Set the activity service @@ -46,6 +48,15 @@ public final class Activity extends BaseScopableProcessorExtension this.activityService = activityService; } + /** + * Set the tenant service + * + * @param tenantService the tenant service + */ + public void setTenantService(TenantService tenantService) + { + this.tenantService = tenantService; + } /* * Post Activity @@ -127,9 +138,12 @@ public final class Activity extends BaseScopableProcessorExtension { List feedControls = activityService.getFeedControls(); Object[] results = new Object[feedControls.size()]; - for (int i=0; i < feedControls.size(); i++) + + int i = 0; + for(FeedControl fc : feedControls) { - results[i] = feedControls.get(i); + results[i] = new FeedControl(this.tenantService.getBaseName(fc.getSiteId()), fc.getAppToolId()); + i++; } return Context.getCurrentContext().newArray(getScope(), results); } @@ -142,7 +156,7 @@ public final class Activity extends BaseScopableProcessorExtension */ public void setFeedControl(String siteId, String appToolId) { - activityService.setFeedControl(new FeedControl(siteId, appToolId)); + activityService.setFeedControl(new FeedControl(getTenantSpecificSiteId(siteId), appToolId)); } /** @@ -153,6 +167,12 @@ public final class Activity extends BaseScopableProcessorExtension */ public void unsetFeedControl(String siteId, String appToolId) { - activityService.unsetFeedControl(new FeedControl(siteId, appToolId)); + activityService.unsetFeedControl(new FeedControl(getTenantSpecificSiteId(siteId), appToolId)); } + + // CLOUD-2248 + private String getTenantSpecificSiteId(String siteId) + { + return this.tenantService.getName(siteId); + } }