public class MembershipEntityProvider
extends org.sakaiproject.entitybroker.util.AbstractEntityProvider
implements org.sakaiproject.entitybroker.entityprovider.CoreEntityProvider, org.sakaiproject.entitybroker.entityprovider.capabilities.RESTful, org.sakaiproject.entitybroker.entityprovider.capabilities.ActionsExecutable
| Modifier and Type | Class and Description |
|---|---|
static class |
MembershipEntityProvider.SiteGroup
This contains the site and optionally group for a given reference
|
| Modifier and Type | Field and Description |
|---|---|
static String |
PREFIX |
developerHelperServiceSEARCH_LOCATION_REFERENCE, SEARCH_TAGS, SEARCH_USER_REFERENCEALL_KNOWN_FORMATS, ATOM, ATOM_EXTENSIONS, ATOM_MIME_TYPE, FORM, FORM_EXTENSIONS, FORM_MIME_TYPE, HTML, HTML_EXTENSIONS, HTML_MIME_TYPE, JSON, JSON_EXTENSIONS, JSON_MIME_TYPE, JSONP, JSONP_EXTENSIONS, JSONP_MIME_TYPE, RSS, RSS_EXTENSIONS, RSS_MIME_TYPE, TXT, TXT_EXTENSIONS, TXT_MIME_TYPE, UTF_8, XML, XML_EXTENSIONS, XML_MIME_TYPE| Constructor and Description |
|---|
MembershipEntityProvider() |
| Modifier and Type | Method and Description |
|---|---|
protected void |
addUsersToGroup(org.sakaiproject.site.api.Site site,
org.sakaiproject.site.api.Group group,
List<String> userIds)
This adds the users to the group provided in the site provided
|
protected String[] |
checkForBatch(Map<String,Object> params,
String userId)
Look for a batch membership operation
|
Map<String,String> |
createBatchMemberships(org.sakaiproject.entitybroker.EntityView view,
Map<String,Object> params,
String locationReference)
Add members to a site.
|
String |
createEntity(org.sakaiproject.entitybroker.EntityReference ref,
Object entity,
Map<String,Object> params) |
void |
deleteEntity(org.sakaiproject.entitybroker.EntityReference ref,
Map<String,Object> params) |
boolean |
entityExists(String id) |
MembershipEntityProvider.SiteGroup |
findLocationByReference(String locationReference)
Find a site (and optionally group) by reference
|
List<org.sakaiproject.entitybroker.entityprovider.extension.EntityData> |
getEntities(org.sakaiproject.entitybroker.EntityReference ref,
org.sakaiproject.entitybroker.entityprovider.search.Search search)
Gets the list of all memberships for the current user if no params provided, otherwise gets
memberships in a specified location or for a specified user
|
Object |
getEntity(org.sakaiproject.entitybroker.EntityReference ref) |
String |
getEntityPrefix() |
List<org.sakaiproject.entitybroker.entityprovider.extension.EntityData> |
getGroupMemberships(org.sakaiproject.entitybroker.EntityView view,
Map<String,Object> params) |
String[] |
getHandledInputFormats() |
String[] |
getHandledOutputFormats() |
protected List<String> |
getListFromValue(Object paramValue) |
EntityMember |
getMember(String userId,
String locationReference) |
List<EntityMember> |
getMembers(String locationReference) |
Object |
getSampleEntity() |
protected org.sakaiproject.site.api.Site |
getSiteById(String siteId) |
org.sakaiproject.entitybroker.entityprovider.extension.ActionReturn |
handleSiteMemberships(org.sakaiproject.entitybroker.EntityView view,
Map<String,Object> params)
Handle the special needs of UX site membership settings, either getting the current list of
site memberships via a GET request, or creating a new batch of site memberships via a POST
request.
|
void |
init() |
protected boolean |
isAllowedAccessMembers(org.sakaiproject.site.api.Site site,
org.sakaiproject.site.api.Group g) |
boolean |
joinCurrentUserToSite(org.sakaiproject.entitybroker.EntityView view,
Map<String,Object> params)
join/site/siteId or join/siteId Handle the special case of joining a site, using normal
create will not work
|
protected String |
makeRoleId(String currentRoleId,
org.sakaiproject.site.api.Site site) |
protected void |
saveGroupMembership(org.sakaiproject.site.api.Site site,
org.sakaiproject.site.api.Group group) |
protected void |
saveSiteMembership(org.sakaiproject.site.api.Site site) |
void |
setEmailService(org.sakaiproject.email.api.EmailService emailService) |
void |
setPrivacyManager(org.sakaiproject.api.privacy.PrivacyManager privacyManager) |
void |
setSecurityService(org.sakaiproject.authz.api.SecurityService securityService) |
void |
setSiteService(org.sakaiproject.site.api.SiteService siteService) |
void |
setUserEntityProvider(UserEntityProvider userEntityProvider) |
boolean |
unjoinCurrentUserFromSite(org.sakaiproject.entitybroker.EntityView view,
Map<String,Object> params)
unjoin/site/siteId or unjoin/siteId Handle the special case of un-joining a site, using
normal delete will not work
|
void |
updateEntity(org.sakaiproject.entitybroker.EntityReference ref,
Object entity,
Map<String,Object> params) |
public static String PREFIX
public void setSiteService(org.sakaiproject.site.api.SiteService siteService)
public void setUserEntityProvider(UserEntityProvider userEntityProvider)
public void setEmailService(org.sakaiproject.email.api.EmailService emailService)
public void setPrivacyManager(org.sakaiproject.api.privacy.PrivacyManager privacyManager)
public void setSecurityService(org.sakaiproject.authz.api.SecurityService securityService)
public String getEntityPrefix()
getEntityPrefix in interface org.sakaiproject.entitybroker.entityprovider.EntityProviderpublic void init()
public boolean joinCurrentUserToSite(org.sakaiproject.entitybroker.EntityView view,
Map<String,Object> params)
public boolean unjoinCurrentUserFromSite(org.sakaiproject.entitybroker.EntityView view,
Map<String,Object> params)
public org.sakaiproject.entitybroker.entityprovider.extension.ActionReturn handleSiteMemberships(org.sakaiproject.entitybroker.EntityView view,
Map<String,Object> params)
public Map<String,String> createBatchMemberships(org.sakaiproject.entitybroker.EntityView view, Map<String,Object> params, String locationReference)
view - params - request parameters including a list of userSearchValueslocationReference - public List<org.sakaiproject.entitybroker.entityprovider.extension.EntityData> getGroupMemberships(org.sakaiproject.entitybroker.EntityView view, Map<String,Object> params)
public boolean entityExists(String id)
entityExists in interface org.sakaiproject.entitybroker.entityprovider.CoreEntityProviderpublic Object getEntity(org.sakaiproject.entitybroker.EntityReference ref)
getEntity in interface org.sakaiproject.entitybroker.entityprovider.capabilities.Resolvablepublic List<org.sakaiproject.entitybroker.entityprovider.extension.EntityData> getEntities(org.sakaiproject.entitybroker.EntityReference ref, org.sakaiproject.entitybroker.entityprovider.search.Search search)
getEntities in interface org.sakaiproject.entitybroker.entityprovider.capabilities.CollectionResolvablepublic String createEntity(org.sakaiproject.entitybroker.EntityReference ref, Object entity, Map<String,Object> params)
createEntity in interface org.sakaiproject.entitybroker.entityprovider.capabilities.Createablepublic Object getSampleEntity()
getSampleEntity in interface org.sakaiproject.entitybroker.entityprovider.capabilities.Sampleablepublic void updateEntity(org.sakaiproject.entitybroker.EntityReference ref,
Object entity,
Map<String,Object> params)
updateEntity in interface org.sakaiproject.entitybroker.entityprovider.capabilities.Updateablepublic void deleteEntity(org.sakaiproject.entitybroker.EntityReference ref,
Map<String,Object> params)
deleteEntity in interface org.sakaiproject.entitybroker.entityprovider.capabilities.Deleteablepublic String[] getHandledOutputFormats()
getHandledOutputFormats in interface org.sakaiproject.entitybroker.entityprovider.capabilities.Outputablepublic String[] getHandledInputFormats()
getHandledInputFormats in interface org.sakaiproject.entitybroker.entityprovider.capabilities.Inputablepublic EntityMember getMember(String userId, String locationReference)
public List<EntityMember> getMembers(String locationReference)
locationReference - a site ref with an optional group ref (can look like this:
/site/siteid/group/groupId)public MembershipEntityProvider.SiteGroup findLocationByReference(String locationReference)
locationReference - IllegalArgumentException - if they cannot be found for this refprotected String[] checkForBatch(Map<String,Object> params, String userId)
params - userId - protected void saveGroupMembership(org.sakaiproject.site.api.Site site,
org.sakaiproject.site.api.Group group)
site - group - protected void saveSiteMembership(org.sakaiproject.site.api.Site site)
site - protected org.sakaiproject.site.api.Site getSiteById(String siteId)
protected boolean isAllowedAccessMembers(org.sakaiproject.site.api.Site site,
org.sakaiproject.site.api.Group g)
site - the site to check perms inSecurityException - if not allowedprotected void addUsersToGroup(org.sakaiproject.site.api.Site site,
org.sakaiproject.site.api.Group group,
List<String> userIds)
site - The site which the group belongsgroup - The group to add the users touserIds - The list of Uuids to use
NOTE: not used?Copyright © 2007-2015 Sakai Project. All Rights Reserved.