Files
alfresco-community-repo/rm-server/source/java/org/alfresco/repo/quickshare/ExtendedQuickShareServiceImpl.java

43 lines
1.4 KiB
Java

package org.alfresco.repo.quickshare;
import org.alfresco.module.org_alfresco_module_rm.classification.ClassificationLevelManager;
import org.alfresco.module.org_alfresco_module_rm.classification.model.ClassifiedContentModel;
import org.alfresco.service.cmr.quickshare.QuickShareDTO;
import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.cmr.repository.NodeService;
/**
* Extend the QuickShareService to check that content isn't classified before sharing it.
*
* @author David Webster
*/
public class ExtendedQuickShareServiceImpl extends QuickShareServiceImpl
{
private NodeService nodeService;
/**
* Set node service locally as inherited instance is private.
*
* @param nodeService the nodeService used to check node props and aspects
*/
@Override
public void setNodeService(NodeService nodeService)
{
this.nodeService = nodeService;
super.setNodeService(nodeService);
}
@Override
public QuickShareDTO shareContent(final NodeRef nodeRef)
{
if (!nodeService.hasAspect(nodeRef, ClassifiedContentModel.ASPECT_CLASSIFIED) || nodeService.getProperty(nodeRef, ClassifiedContentModel.PROP_CURRENT_CLASSIFICATION)
.equals(ClassificationLevelManager.UNCLASSIFIED_ID))
{
return super.shareContent(nodeRef);
}
else
{
throw new IllegalStateException("Unable to share classified content");
}
}
}