Merged FILE-FOLDER-API (5.2.0) to HEAD (5.2)

124563 gjames: RA-884: Posting activities for file/folder deleted


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@126566 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Jamal Kaabi-Mofrad
2016-05-10 11:30:19 +00:00
parent 96c682e07d
commit 3d874e3334
7 changed files with 87 additions and 114 deletions

View File

@@ -0,0 +1,80 @@
package org.alfresco.service.cmr.activities;
import org.alfresco.service.cmr.model.FileInfo;
import org.alfresco.service.cmr.repository.NodeRef;
/**
* Basic Activity information for use when posting Activities.
*
* @author Gethin James
*/
public class ActivityInfo
{
private final NodeRef nodeRef;
private final String parentPath;
private final NodeRef parentNodeRef;
private final String siteId;
private final String fileName;
private final boolean isFolder;
private final FileInfo fileInfo;
public ActivityInfo(NodeRef nodeRef, String parentPath, NodeRef parentNodeRef,
String siteId, String fileName, boolean isFolder)
{
super();
this.nodeRef = nodeRef;
this.parentPath = parentPath;
this.parentNodeRef = parentNodeRef;
this.siteId = siteId;
this.fileName = fileName;
this.isFolder = isFolder;
this.fileInfo = null;
}
public ActivityInfo(String parentPath, NodeRef parentNodeRef, String siteId, FileInfo fileInfo)
{
super();
this.nodeRef = fileInfo.getNodeRef();
this.parentPath = parentPath;
this.parentNodeRef = parentNodeRef;
this.siteId = siteId;
this.fileName = fileInfo.getName();
this.isFolder = fileInfo.isFolder();
this.fileInfo = fileInfo;
}
public FileInfo getFileInfo()
{
return fileInfo;
}
public NodeRef getNodeRef()
{
return nodeRef;
}
public String getParentPath()
{
return parentPath;
}
public NodeRef getParentNodeRef()
{
return parentNodeRef;
}
public String getSiteId()
{
return siteId;
}
public String getFileName()
{
return fileName;
}
public boolean isFolder()
{
return isFolder;
}
}

View File

@@ -30,22 +30,4 @@ public interface ActivityPoster
String siteId, NodeRef parentNodeRef, NodeRef nodeRef, String fileName,
String appTool, Client client, FileInfo fileInfo);
/**
* Posts file folder activity only if its part of a Site. If the activity is
* not from a Site then it is ignored.
* @param activityType required
* @param path optional
* @param tenantDomain optional
* @param siteId required
* @param parentNodeRef optional
* @param nodeRef required
* @param fileName required
* @param appTool required
* @param client required
* @param fileInfo optional
*/
void postSiteAwareFileFolderActivity(String activityType, String path, String tenantDomain,
String siteId, NodeRef parentNodeRef, NodeRef nodeRef, String fileName,
String appTool, Client client, FileInfo fileInfo);
}

View File

@@ -1,10 +1,14 @@
package org.alfresco.service.cmr.activities;
import org.alfresco.error.AlfrescoRuntimeException;
import org.alfresco.model.ContentModel;
import org.alfresco.opencmis.ActivityPosterImpl;
import org.alfresco.repo.Client;
import org.alfresco.repo.activities.ActivityType;
import org.alfresco.repo.tenant.TenantService;
import org.alfresco.repo.tenant.TenantUtil;
import org.alfresco.service.cmr.model.FileInfo;
import org.alfresco.service.cmr.model.FileNotFoundException;
import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.cmr.site.SiteInfo;
import org.alfresco.service.cmr.site.SiteService;
@@ -24,7 +28,6 @@ public class FileFolderActivityPosterImpl implements ActivityPoster
{
private static final Logger logger = LoggerFactory.getLogger(FileFolderActivityPosterImpl.class);
private ActivityService activityService;
private SiteService siteService;
@Override
public void postFileFolderActivity(
@@ -59,41 +62,6 @@ public class FileFolderActivityPosterImpl implements ActivityPoster
fileInfo);
}
@Override
public void postSiteAwareFileFolderActivity(String activityType,
String path,
String tenantDomain,
String siteId,
NodeRef parentNodeRef,
NodeRef nodeRef,
String fileName,
String appTool,
Client client,
FileInfo fileInfo)
{
if(siteId == null || siteId.isEmpty())
{
SiteInfo siteInfo = siteService.getSite(nodeRef);
if (siteInfo != null)
{
siteId = siteInfo.getShortName();
}
else
{
//Not a site noderef so return without posting
if (logger.isDebugEnabled())
{
logger.debug("Non-site activity, so ignored " + activityType + " " + nodeRef);
}
return;
}
}
postFileFolderActivity(activityType, path, tenantDomain, siteId, parentNodeRef, nodeRef,
fileName, appTool, client, fileInfo);
}
/**
* Create JSON suitable for create, modify or delete activity posts.
*
@@ -143,11 +111,6 @@ public class FileFolderActivityPosterImpl implements ActivityPoster
return json;
}
public void setSiteService(SiteService siteService)
{
this.siteService = siteService;
}
public void setActivityService(ActivityService activityService)
{
this.activityService = activityService;