Search in sources :

Example 1 with GetChildByIdMethod

use of org.alfresco.repo.virtual.ref.GetChildByIdMethod in project alfresco-repository by Alfresco.

the class VirtualStoreImpl method createChildReferences.

private List<Reference> createChildReferences(Reference parent, VirtualFolderDefinition structure) throws ProtocolMethodException {
    List<VirtualFolderDefinition> structureChildren = structure.getChildren();
    List<Reference> childReferences = new LinkedList<Reference>();
    for (VirtualFolderDefinition child : structureChildren) {
        childReferences.add(parent.execute(new GetChildByIdMethod(child.getId())));
    }
    return childReferences;
}
Also used : PermissionReference(org.alfresco.repo.security.permissions.PermissionReference) Reference(org.alfresco.repo.virtual.ref.Reference) VirtualFolderDefinition(org.alfresco.repo.virtual.template.VirtualFolderDefinition) LinkedList(java.util.LinkedList) GetChildByIdMethod(org.alfresco.repo.virtual.ref.GetChildByIdMethod)

Example 2 with GetChildByIdMethod

use of org.alfresco.repo.virtual.ref.GetChildByIdMethod in project alfresco-repository by Alfresco.

the class VirtualStoreImpl method getChildByName.

@Override
public Reference getChildByName(Reference reference, QName assocTypeQName, String childName) throws VirtualizationException {
    VirtualFolderDefinition structure = resolveVirtualFolderDefinition(reference);
    VirtualFolderDefinition theChild = structure.findChildByName(childName);
    if (theChild != null) {
        return reference.execute(new GetChildByIdMethod(theChild.getId()));
    } else {
        final VirtualQuery query = structure.getQuery();
        if (query != null) {
            PropertyValueConstraint constraint = new PropertyValueConstraint(new FilesFoldersConstraint(BasicConstraint.INSTANCE, true, true), ContentModel.PROP_NAME, childName, environment.getNamespacePrefixResolver());
            PagingResults<Reference> result = query.perform(environment, constraint, null, reference);
            List<Reference> page = result.getPage();
            return page == null || page.isEmpty() ? null : page.get(0);
        } else {
            return null;
        }
    }
}
Also used : VirtualQuery(org.alfresco.repo.virtual.template.VirtualQuery) FilesFoldersConstraint(org.alfresco.repo.virtual.template.FilesFoldersConstraint) PermissionReference(org.alfresco.repo.security.permissions.PermissionReference) Reference(org.alfresco.repo.virtual.ref.Reference) NamePatternPropertyValueConstraint(org.alfresco.repo.virtual.template.NamePatternPropertyValueConstraint) PropertyValueConstraint(org.alfresco.repo.virtual.template.PropertyValueConstraint) VirtualFolderDefinition(org.alfresco.repo.virtual.template.VirtualFolderDefinition) GetChildByIdMethod(org.alfresco.repo.virtual.ref.GetChildByIdMethod)

Aggregations

PermissionReference (org.alfresco.repo.security.permissions.PermissionReference)2 GetChildByIdMethod (org.alfresco.repo.virtual.ref.GetChildByIdMethod)2 Reference (org.alfresco.repo.virtual.ref.Reference)2 VirtualFolderDefinition (org.alfresco.repo.virtual.template.VirtualFolderDefinition)2 LinkedList (java.util.LinkedList)1 FilesFoldersConstraint (org.alfresco.repo.virtual.template.FilesFoldersConstraint)1 NamePatternPropertyValueConstraint (org.alfresco.repo.virtual.template.NamePatternPropertyValueConstraint)1 PropertyValueConstraint (org.alfresco.repo.virtual.template.PropertyValueConstraint)1 VirtualQuery (org.alfresco.repo.virtual.template.VirtualQuery)1