mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-10-08 14:51:49 +00:00
Merged HEAD (5.1) to 5.1.N (5.1.1)
117484 bhorje: CM-690 extensions git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/DEV/5.1.N/root@117568 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -40,6 +40,8 @@ import org.alfresco.query.PagingRequest;
|
||||
import org.alfresco.query.PagingResults;
|
||||
import org.alfresco.repo.copy.AbstractBaseCopyService;
|
||||
import org.alfresco.repo.model.filefolder.HiddenAspect.Visibility;
|
||||
import org.alfresco.repo.model.filefolder.traitextender.FileFolderServiceExtension;
|
||||
import org.alfresco.repo.model.filefolder.traitextender.FileFolderServiceTrait;
|
||||
import org.alfresco.repo.node.getchildren.GetChildrenCannedQuery;
|
||||
import org.alfresco.repo.policy.BehaviourFilter;
|
||||
import org.alfresco.repo.search.QueryParameterDefImpl;
|
||||
@@ -72,6 +74,11 @@ import org.alfresco.service.cmr.search.QueryParameterDefinition;
|
||||
import org.alfresco.service.cmr.search.SearchService;
|
||||
import org.alfresco.service.namespace.NamespaceService;
|
||||
import org.alfresco.service.namespace.QName;
|
||||
import org.alfresco.traitextender.AJProxyTrait;
|
||||
import org.alfresco.traitextender.Extend;
|
||||
import org.alfresco.traitextender.ExtendedTrait;
|
||||
import org.alfresco.traitextender.Extensible;
|
||||
import org.alfresco.traitextender.Trait;
|
||||
import org.alfresco.util.FileFilterMode;
|
||||
import org.alfresco.util.FileFilterMode.Client;
|
||||
import org.alfresco.util.GUID;
|
||||
@@ -88,7 +95,7 @@ import org.springframework.extensions.surf.util.I18NUtil;
|
||||
*
|
||||
* @author Derek Hulley
|
||||
*/
|
||||
public class FileFolderServiceImpl extends AbstractBaseCopyService implements FileFolderService
|
||||
public class FileFolderServiceImpl extends AbstractBaseCopyService implements FileFolderService, Extensible
|
||||
{
|
||||
private static final String CANNED_QUERY_FILEFOLDER_LIST = "fileFolderGetChildrenCannedQueryFactory";
|
||||
|
||||
@@ -143,6 +150,8 @@ public class FileFolderServiceImpl extends AbstractBaseCopyService implements Fi
|
||||
|
||||
// default cutoff - applies to list "all" methods
|
||||
private int defaultListMaxResults = 5000;
|
||||
|
||||
private final ExtendedTrait<FileFolderServiceTrait> fileFolderTrait;
|
||||
|
||||
/**
|
||||
* Default constructor
|
||||
@@ -150,6 +159,8 @@ public class FileFolderServiceImpl extends AbstractBaseCopyService implements Fi
|
||||
public FileFolderServiceImpl()
|
||||
{
|
||||
super();
|
||||
|
||||
fileFolderTrait=new ExtendedTrait<FileFolderServiceTrait>(AJProxyTrait.create(createFileFolderTrait(),FileFolderServiceTrait.class));
|
||||
}
|
||||
|
||||
public void setNamespaceService(NamespaceService namespaceService)
|
||||
@@ -350,6 +361,7 @@ public class FileFolderServiceImpl extends AbstractBaseCopyService implements Fi
|
||||
}
|
||||
|
||||
@Override
|
||||
@Extend(traitAPI=FileFolderServiceTrait.class,extensionAPI=FileFolderServiceExtension.class)
|
||||
public List<FileInfo> list(NodeRef contextNodeRef)
|
||||
{
|
||||
// execute the query
|
||||
@@ -443,6 +455,7 @@ public class FileFolderServiceImpl extends AbstractBaseCopyService implements Fi
|
||||
}
|
||||
|
||||
@Override
|
||||
@Extend(traitAPI=FileFolderServiceTrait.class,extensionAPI=FileFolderServiceExtension.class)
|
||||
public PagingResults<FileInfo> list(NodeRef contextNodeRef, boolean files, boolean folders, String pattern, Set<QName> ignoreQNames, List<Pair<QName, Boolean>> sortProps, PagingRequest pagingRequest)
|
||||
{
|
||||
ParameterCheck.mandatory("contextNodeRef", contextNodeRef);
|
||||
@@ -459,6 +472,7 @@ public class FileFolderServiceImpl extends AbstractBaseCopyService implements Fi
|
||||
|
||||
|
||||
@Override
|
||||
@Extend(traitAPI=FileFolderServiceTrait.class,extensionAPI=FileFolderServiceExtension.class)
|
||||
public PagingResults<FileInfo> list(NodeRef rootNodeRef, Set<QName> searchTypeQNames, Set<QName> ignoreAspectQNames, List<Pair<QName, Boolean>> sortProps, PagingRequest pagingRequest)
|
||||
{
|
||||
CannedQueryResults<NodeRef> results = listImpl(rootNodeRef, null, searchTypeQNames, ignoreAspectQNames, sortProps, pagingRequest);
|
||||
@@ -616,6 +630,7 @@ public class FileFolderServiceImpl extends AbstractBaseCopyService implements Fi
|
||||
* @see #search(NodeRef, String, boolean, boolean, boolean)
|
||||
*/
|
||||
@Override
|
||||
@Extend(traitAPI=FileFolderServiceTrait.class,extensionAPI=FileFolderServiceExtension.class)
|
||||
public List<FileInfo> search(NodeRef contextNodeRef, String namePattern, boolean includeSubFolders)
|
||||
{
|
||||
return search(contextNodeRef, namePattern, true, true, includeSubFolders);
|
||||
@@ -627,6 +642,7 @@ public class FileFolderServiceImpl extends AbstractBaseCopyService implements Fi
|
||||
* Full search with all options
|
||||
*/
|
||||
@Override
|
||||
@Extend(traitAPI=FileFolderServiceTrait.class,extensionAPI=FileFolderServiceExtension.class)
|
||||
public List<FileInfo> search(
|
||||
NodeRef contextNodeRef,
|
||||
String namePattern,
|
||||
@@ -955,6 +971,7 @@ public class FileFolderServiceImpl extends AbstractBaseCopyService implements Fi
|
||||
* @see #move(NodeRef, NodeRef, String)
|
||||
*/
|
||||
@Override
|
||||
@Extend(traitAPI=FileFolderServiceTrait.class,extensionAPI=FileFolderServiceExtension.class)
|
||||
public FileInfo rename(NodeRef sourceNodeRef, String newName) throws FileExistsException, FileNotFoundException
|
||||
{
|
||||
return moveOrCopy(sourceNodeRef, null, null, newName, true);
|
||||
@@ -1670,5 +1687,103 @@ public class FileFolderServiceImpl extends AbstractBaseCopyService implements Fi
|
||||
{
|
||||
return hiddenAspect.getVisibility(FileFilterMode.getClient(), nodeRef) != Visibility.Visible;
|
||||
}
|
||||
|
||||
@Override
|
||||
public <M extends Trait> ExtendedTrait<M> getTrait(Class<? extends M> traitAPI)
|
||||
{
|
||||
return (ExtendedTrait<M>) fileFolderTrait;
|
||||
}
|
||||
|
||||
private FileFolderServiceTrait createFileFolderTrait()
|
||||
{
|
||||
return new FileFolderServiceTraitImpl(this);
|
||||
}
|
||||
|
||||
public static class FileFolderServiceTraitImpl implements FileFolderServiceTrait
|
||||
{
|
||||
private FileFolderServiceImpl thisService;
|
||||
|
||||
public FileFolderServiceTraitImpl(FileFolderServiceImpl fileFolderServiceImpl)
|
||||
{
|
||||
thisService = fileFolderServiceImpl;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Pair<Set<QName>, Set<QName>> buildSearchTypesAndIgnoreAspects(boolean files, boolean folders,
|
||||
Set<QName> ignoreQNameTypes)
|
||||
{
|
||||
return thisService.buildSearchTypesAndIgnoreAspects(files,
|
||||
folders,
|
||||
ignoreQNameTypes);
|
||||
}
|
||||
|
||||
@Override
|
||||
public FileInfo createFileInfo(NodeRef nodeRef, QName typeQName, boolean isFolder, boolean isHidden,
|
||||
Map<QName, Serializable> properties)
|
||||
{
|
||||
return new FileInfoImpl(nodeRef,
|
||||
typeQName,
|
||||
isFolder,
|
||||
isHidden,
|
||||
properties);
|
||||
}
|
||||
|
||||
@Override
|
||||
public FileFolderServiceType getType(QName typeQName)
|
||||
{
|
||||
return thisService.getType(typeQName);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<FileInfo> list(final NodeRef contextNodeRef)
|
||||
{
|
||||
|
||||
return thisService.list(contextNodeRef);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PagingResults<FileInfo> list(final NodeRef contextNodeRef, final boolean files, final boolean folders,
|
||||
final String pattern, final Set<QName> ignoreQNames, final List<Pair<QName, Boolean>> sortProps,
|
||||
final PagingRequest pagingRequest)
|
||||
{
|
||||
return thisService.list(contextNodeRef,
|
||||
files,
|
||||
folders,
|
||||
pattern,
|
||||
ignoreQNames,
|
||||
sortProps,
|
||||
pagingRequest);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PagingResults<FileInfo> list(final NodeRef rootNodeRef, final Set<QName> searchTypeQNames,
|
||||
final Set<QName> ignoreAspectQNames, final List<Pair<QName, Boolean>> sortProps,
|
||||
final PagingRequest pagingRequest)
|
||||
{
|
||||
return thisService.list(rootNodeRef,
|
||||
searchTypeQNames,
|
||||
ignoreAspectQNames,
|
||||
sortProps,
|
||||
pagingRequest);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<FileInfo> search(final NodeRef contextNodeRef, final String namePattern, final boolean fileSearch,
|
||||
final boolean folderSearch, final boolean includeSubFolders)
|
||||
{
|
||||
return thisService.search(contextNodeRef,
|
||||
namePattern,
|
||||
fileSearch,
|
||||
folderSearch,
|
||||
includeSubFolders);
|
||||
}
|
||||
|
||||
@Override
|
||||
public FileInfo rename(final NodeRef sourceNodeRef, final String newName) throws FileExistsException, FileNotFoundException
|
||||
{
|
||||
|
||||
return thisService.rename(sourceNodeRef, newName);
|
||||
|
||||
}
|
||||
};
|
||||
}
|
||||
|
Reference in New Issue
Block a user