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

@@ -29,7 +29,6 @@
<bean id="ffActivitiesPoster" class="org.alfresco.service.cmr.activities.FileFolderActivityPosterImpl"> <bean id="ffActivitiesPoster" class="org.alfresco.service.cmr.activities.FileFolderActivityPosterImpl">
<property name="activityService" ref="activityService" /> <property name="activityService" ref="activityService" />
<property name="siteService" ref="SiteService"/>
</bean> </bean>
<!-- cleans out-of-date feed entries --> <!-- cleans out-of-date feed entries -->

View File

@@ -26,6 +26,7 @@ import org.alfresco.repo.Client.ClientType;
import org.alfresco.repo.activities.ActivityType; import org.alfresco.repo.activities.ActivityType;
import org.alfresco.repo.model.filefolder.HiddenAspect; import org.alfresco.repo.model.filefolder.HiddenAspect;
import org.alfresco.repo.tenant.TenantService; import org.alfresco.repo.tenant.TenantService;
import org.alfresco.service.cmr.activities.ActivityInfo;
import org.alfresco.service.cmr.activities.ActivityPoster; import org.alfresco.service.cmr.activities.ActivityPoster;
import org.alfresco.service.cmr.model.FileFolderService; import org.alfresco.service.cmr.model.FileFolderService;
import org.alfresco.service.cmr.model.FileFolderServiceType; import org.alfresco.service.cmr.model.FileFolderServiceType;
@@ -283,55 +284,4 @@ public class ActivityPosterImpl implements CmisActivityPoster, InitializingBean
} }
} }
public static class ActivityInfo
{
private NodeRef nodeRef;
private String parentPath;
private NodeRef parentNodeRef;
private String siteId;
private String fileName;
private boolean isFolder;
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;
}
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

@@ -53,7 +53,7 @@ import org.alfresco.events.types.ContentEventImpl;
import org.alfresco.events.types.ContentReadRangeEvent; import org.alfresco.events.types.ContentReadRangeEvent;
import org.alfresco.events.types.Event; import org.alfresco.events.types.Event;
import org.alfresco.model.ContentModel; import org.alfresco.model.ContentModel;
import org.alfresco.opencmis.ActivityPosterImpl.ActivityInfo; import org.alfresco.service.cmr.activities.ActivityInfo;
import org.alfresco.opencmis.dictionary.CMISActionEvaluator; import org.alfresco.opencmis.dictionary.CMISActionEvaluator;
import org.alfresco.opencmis.dictionary.CMISAllowedActionEnum; import org.alfresco.opencmis.dictionary.CMISAllowedActionEnum;
import org.alfresco.opencmis.dictionary.CMISDictionaryService; import org.alfresco.opencmis.dictionary.CMISDictionaryService;
@@ -109,7 +109,6 @@ import org.alfresco.service.cmr.dictionary.InvalidAspectException;
import org.alfresco.service.cmr.lock.LockService; import org.alfresco.service.cmr.lock.LockService;
import org.alfresco.service.cmr.model.FileExistsException; import org.alfresco.service.cmr.model.FileExistsException;
import org.alfresco.service.cmr.model.FileFolderService; import org.alfresco.service.cmr.model.FileFolderService;
import org.alfresco.service.cmr.model.FileInfo;
import org.alfresco.service.cmr.model.FileNotFoundException; import org.alfresco.service.cmr.model.FileNotFoundException;
import org.alfresco.service.cmr.rendition.RenditionService; import org.alfresco.service.cmr.rendition.RenditionService;
import org.alfresco.service.cmr.repository.AssociationRef; import org.alfresco.service.cmr.repository.AssociationRef;

View File

@@ -18,7 +18,7 @@
*/ */
package org.alfresco.opencmis; package org.alfresco.opencmis;
import org.alfresco.opencmis.ActivityPosterImpl.ActivityInfo; import org.alfresco.service.cmr.activities.ActivityInfo;
import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.repository.NodeRef;
/** /**

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 siteId, NodeRef parentNodeRef, NodeRef nodeRef, String fileName,
String appTool, Client client, FileInfo fileInfo); 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; package org.alfresco.service.cmr.activities;
import org.alfresco.error.AlfrescoRuntimeException; import org.alfresco.error.AlfrescoRuntimeException;
import org.alfresco.model.ContentModel;
import org.alfresco.opencmis.ActivityPosterImpl;
import org.alfresco.repo.Client; import org.alfresco.repo.Client;
import org.alfresco.repo.activities.ActivityType;
import org.alfresco.repo.tenant.TenantService; import org.alfresco.repo.tenant.TenantService;
import org.alfresco.repo.tenant.TenantUtil; import org.alfresco.repo.tenant.TenantUtil;
import org.alfresco.service.cmr.model.FileInfo; 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.repository.NodeRef;
import org.alfresco.service.cmr.site.SiteInfo; import org.alfresco.service.cmr.site.SiteInfo;
import org.alfresco.service.cmr.site.SiteService; 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 static final Logger logger = LoggerFactory.getLogger(FileFolderActivityPosterImpl.class);
private ActivityService activityService; private ActivityService activityService;
private SiteService siteService;
@Override @Override
public void postFileFolderActivity( public void postFileFolderActivity(
@@ -59,41 +62,6 @@ public class FileFolderActivityPosterImpl implements ActivityPoster
fileInfo); 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. * Create JSON suitable for create, modify or delete activity posts.
* *
@@ -143,11 +111,6 @@ public class FileFolderActivityPosterImpl implements ActivityPoster
return json; return json;
} }
public void setSiteService(SiteService siteService)
{
this.siteService = siteService;
}
public void setActivityService(ActivityService activityService) public void setActivityService(ActivityService activityService)
{ {
this.activityService = activityService; this.activityService = activityService;