mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-14 17:58:59 +00:00
Merged HEAD-BUG-FIX (5.0/Cloud) to HEAD (5.0/Cloud)
82375: Merged WAT2 (5.0/Cloud) to HEAD-BUG-FIX (5.0/Cloud) 76480: Re-worked download activity posting following Kev's changes git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@83218 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -32,15 +32,10 @@ import java.util.regex.Pattern;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.alfresco.events.types.ContentEvent;
|
||||
import org.alfresco.events.types.ContentEventImpl;
|
||||
import org.alfresco.events.types.ContentReadRangeEvent;
|
||||
import org.alfresco.events.types.Event;
|
||||
import org.alfresco.jlan.util.IPAddress;
|
||||
import org.alfresco.model.ContentModel;
|
||||
import org.alfresco.repo.Client;
|
||||
import org.alfresco.repo.Client.ClientType;
|
||||
import org.alfresco.repo.events.EventPreparator;
|
||||
import org.alfresco.repo.events.EventPublisher;
|
||||
import org.alfresco.repo.lock.LockUtils;
|
||||
import org.alfresco.repo.model.filefolder.HiddenAspect;
|
||||
@@ -48,6 +43,7 @@ import org.alfresco.repo.policy.BehaviourFilter;
|
||||
import org.alfresco.repo.tenant.TenantService;
|
||||
import org.alfresco.service.ServiceRegistry;
|
||||
import org.alfresco.service.cmr.action.ActionService;
|
||||
import org.alfresco.service.cmr.activities.ActivityPoster;
|
||||
import org.alfresco.service.cmr.dictionary.DictionaryService;
|
||||
import org.alfresco.service.cmr.lock.LockService;
|
||||
import org.alfresco.service.cmr.model.FileFolderService;
|
||||
@@ -112,6 +108,7 @@ public class WebDAVHelper
|
||||
private TenantService m_tenantService;
|
||||
private HiddenAspect m_hiddenAspect;
|
||||
private EventPublisher eventPublisher;
|
||||
private ActivityPoster poster;
|
||||
|
||||
// pattern is tested against full path after it has been lower cased.
|
||||
private Pattern m_renameShufflePattern = Pattern.compile("(.*/\\..*)|(.*[a-f0-9]{8}+$)|(.*\\.tmp$)|(.*\\.wbk$)|(.*\\.bak$)|(.*\\~$)|(.*backup.*\\.do[ct]{1}[x]?[m]?$)|(.*\\.sb\\-\\w{8}\\-\\w{6}$)");
|
||||
@@ -335,6 +332,15 @@ public class WebDAVHelper
|
||||
this.eventPublisher = eventPublisher;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param poster
|
||||
*/
|
||||
public void setPoster(ActivityPoster poster)
|
||||
{
|
||||
this.poster = poster;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param dictionaryService the dictionary service
|
||||
*/
|
||||
@@ -1091,25 +1097,30 @@ public class WebDAVHelper
|
||||
protected void publishReadEvent(final FileInfo realNodeInfo, final String mimetype, final Long size, final String contentEncoding, final String range)
|
||||
{
|
||||
|
||||
eventPublisher.publishEvent(new EventPreparator(){
|
||||
@Override
|
||||
public Event prepareEvent(String user, String networkId, String transactionId)
|
||||
{
|
||||
// SiteService siteService = getServiceRegistry().getSiteService();
|
||||
// final String siteId = siteService.getSiteShortName(realNodeInfo.getNodeRef());
|
||||
|
||||
if (StringUtils.hasText(range))
|
||||
{
|
||||
return new ContentReadRangeEvent(user, networkId, transactionId, realNodeInfo.getNodeRef().getId(),
|
||||
null, realNodeInfo.getType().toString(), Client.asType(ClientType.webdav), realNodeInfo.getName(), mimetype, size, contentEncoding, range);
|
||||
}
|
||||
else
|
||||
{
|
||||
return new ContentEventImpl(ContentEvent.DOWNLOAD, user, networkId, transactionId, realNodeInfo.getNodeRef().getId(),
|
||||
null, realNodeInfo.getType().toString(), Client.asType(ClientType.webdav), realNodeInfo.getName(), mimetype, size, contentEncoding);
|
||||
}
|
||||
}
|
||||
});
|
||||
if (!StringUtils.hasText(range))
|
||||
{
|
||||
//Its not a range request
|
||||
SiteService siteService = getServiceRegistry().getSiteService();
|
||||
final String siteId = siteService.getSiteShortName(realNodeInfo.getNodeRef());
|
||||
|
||||
poster.postFileFolderActivity(ActivityPoster.DOWNLOADED, null, m_tenantService.getCurrentUserDomain(),
|
||||
siteId, null, realNodeInfo.getNodeRef(), realNodeInfo.getName(),
|
||||
"webdav", Client.asType(ClientType.webdav), null);
|
||||
}
|
||||
|
||||
// eventPublisher.publishEvent(new EventPreparator(){
|
||||
// @Override
|
||||
// public Event prepareEvent(String user, String networkId, String transactionId)
|
||||
// {
|
||||
//
|
||||
//
|
||||
// if (StringUtils.hasText(range))
|
||||
// {
|
||||
// return new ContentReadRangeEvent(user, networkId, transactionId, realNodeInfo.getNodeRef().getId(),
|
||||
// siteId, realNodeInfo.getType().toString(), Client.asType(ClientType.webdav), realNodeInfo.getName(), mimetype, size, contentEncoding, range);
|
||||
// }
|
||||
// }
|
||||
// });
|
||||
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user