Merged 5.2.N (5.2.2) to HEAD (5.2)

134398 mward: Merged mward/5.2.n-repo-1583-groupmem (5.2.1) to 5.2.N (5.2.1)
      134078 mward: REPO-1583: sketching out some basic code/infrastructure.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@137340 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Andrei Rebegea
2017-06-14 16:56:57 +00:00
parent 5706e129f9
commit bc4b80b5b0
3 changed files with 75 additions and 0 deletions

View File

@@ -792,6 +792,10 @@
<property name="people" ref="People" />
</bean>
<bean class="org.alfresco.rest.api.people.PersonGroupsRelation">
<property name="groups" ref="Groups" />
</bean>
<bean class="org.alfresco.rest.api.tags.TagsEntityResource">
<property name="tags" ref="Tags" />
</bean>

View File

@@ -165,6 +165,8 @@ public class GroupsImpl implements Groups
}
final AuthorityType authorityType = AuthorityType.GROUP;
// TODO: I think this is where we need to do this slightly differently, i.e.
// getAllRootAuthoritiesByUserId(). What about root authorities? Are all group authorities root?
final Set<String> rootAuthorities = getAllRootAuthorities(authorityType);
PagingResults<AuthorityInfo> pagingResult = getAuthoritiesInfo(authorityType, isRootParam, rootAuthorities, sortProp, paging);

View File

@@ -0,0 +1,69 @@
/*
* #%L
* Alfresco Remote API
* %%
* Copyright (C) 2005 - 2016 Alfresco Software Limited
* %%
* This file is part of the Alfresco software.
* If the software was purchased under a paid Alfresco license, the terms of
* the paid license agreement will prevail. Otherwise, the software is
* provided under the following open source license terms:
*
* Alfresco is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Alfresco is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
* #L%
*/
package org.alfresco.rest.api.people;
import org.alfresco.rest.api.Groups;
import org.alfresco.rest.api.model.Group;
import org.alfresco.rest.framework.resource.RelationshipResource;
import org.alfresco.rest.framework.resource.actions.interfaces.RelationshipResourceAction;
import org.alfresco.rest.framework.resource.parameters.CollectionWithPagingInfo;
import org.alfresco.rest.framework.resource.parameters.Parameters;
import org.alfresco.util.ParameterCheck;
import org.springframework.beans.factory.InitializingBean;
/**
* Provide access to the groups of which a person is a member.
* <p>
* For example, list groups for person jbloggs.
*
* @author Matt Ward
*/
@RelationshipResource(
name = "groups",
entityResource = PeopleEntityResource.class,
title = "Person Groups")
public class PersonGroupsRelation implements RelationshipResourceAction.Read<Group>, InitializingBean
{
private Groups groups;
public void setGroups(Groups groups)
{
this.groups = groups;
}
@Override
public void afterPropertiesSet()
{
ParameterCheck.mandatory("groups", groups);
}
@Override
public CollectionWithPagingInfo<Group> readAll(String personId, Parameters params)
{
// TODO: temp, this just gets all the groups, not by person ID...
return groups.getGroups(params);
}
}