diff --git a/config/alfresco/quickshare-services-context.xml b/config/alfresco/quickshare-services-context.xml index 70b2bb5e5c..1c39150e87 100644 --- a/config/alfresco/quickshare-services-context.xml +++ b/config/alfresco/quickshare-services-context.xml @@ -62,6 +62,7 @@ + diff --git a/source/java/org/alfresco/repo/quickshare/QuickShareServiceImpl.java b/source/java/org/alfresco/repo/quickshare/QuickShareServiceImpl.java index d13df9c759..e1882a41ab 100644 --- a/source/java/org/alfresco/repo/quickshare/QuickShareServiceImpl.java +++ b/source/java/org/alfresco/repo/quickshare/QuickShareServiceImpl.java @@ -20,16 +20,21 @@ package org.alfresco.repo.quickshare; import java.io.Serializable; import java.util.ArrayList; +import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; +import org.alfresco.events.types.ActivityEvent; +import org.alfresco.events.types.Event; import org.alfresco.model.ContentModel; import org.alfresco.model.QuickShareModel; import org.alfresco.repo.copy.CopyBehaviourCallback; import org.alfresco.repo.copy.CopyDetails; import org.alfresco.repo.copy.CopyServicePolicies; import org.alfresco.repo.copy.DoNothingCopyBehaviourCallback; +import org.alfresco.repo.events.EventPreparator; +import org.alfresco.repo.events.EventPublisher; import org.alfresco.repo.node.NodeServicePolicies; import org.alfresco.repo.policy.JavaBehaviour; import org.alfresco.repo.policy.PolicyComponent; @@ -59,6 +64,7 @@ import org.alfresco.service.namespace.NamespaceService; import org.alfresco.service.namespace.QName; import org.alfresco.util.EqualsHelper; import org.alfresco.util.Pair; +import org.alfresco.util.FileFilterMode.Client; import org.apache.commons.codec.binary.Base64; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -90,6 +96,7 @@ public class QuickShareServiceImpl implements QuickShareService, NodeServicePoli private PolicyComponent policyComponent; private TenantService tenantService; private ThumbnailService thumbnailService; + private EventPublisher eventPublisher; /** * Enable or disable this service. @@ -163,6 +170,14 @@ public class QuickShareServiceImpl implements QuickShareService, NodeServicePoli this.thumbnailService = thumbnailService; } + /** + * Set the eventPublisher + */ + public void setEventPublisher(EventPublisher eventPublisher) + { + this.eventPublisher = eventPublisher; + } + /** * The initialise method. Register our policies. */ @@ -188,7 +203,7 @@ public class QuickShareServiceImpl implements QuickShareService, NodeServicePoli checkEnabled(); //Check the node is the correct type - QName typeQName = nodeService.getType(nodeRef); + final QName typeQName = nodeService.getType(nodeRef); if (isSharable(typeQName) == false) { throw new InvalidNodeRefException(nodeRef); @@ -228,6 +243,19 @@ public class QuickShareServiceImpl implements QuickShareService, NodeServicePoli } }); + final StringBuffer sb = new StringBuffer(); + sb.append("{").append("\"sharedId\":\"").append(sharedId).append("\"").append("}"); + + eventPublisher.publishEvent(new EventPreparator(){ + @Override + public Event prepareEvent(String user, String networkId, String transactionId) + { + return new ActivityEvent("quickshare", transactionId, networkId, new Date().getTime(), + user, nodeRef.toString(), + null, typeQName.toString(), Client.webclient, sb.toString()); + } + }); + if (logger.isInfoEnabled()) { logger.info("QuickShare - shared content: "+sharedId+" ["+nodeRef+"]"); @@ -531,4 +559,5 @@ public class QuickShareServiceImpl implements QuickShareService, NodeServicePoli }, tenantDomain); } + }