org.cloudfoundry.identity.uaa.scim.endpoints
Class ScimUserEndpoints

java.lang.Object
  extended by org.cloudfoundry.identity.uaa.scim.endpoints.ScimUserEndpoints
All Implemented Interfaces:
org.springframework.beans.factory.InitializingBean

@Controller
@ManagedResource
public class ScimUserEndpoints
extends Object
implements org.springframework.beans.factory.InitializingBean

User provisioning and query endpoints. Implements the core API from the Simple Cloud Identity Management (SCIM) group. Exposes basic CRUD and query features for user accounts in a backend database.

Author:
Luke Taylor, Dave Syer
See Also:
SCIM specs

Constructor Summary
ScimUserEndpoints()
           
 
Method Summary
 void afterPropertiesSet()
           
 ScimUser createUser(ScimUser user)
           
 ScimUser deleteUser(String userId, String etag)
           
 SearchResults<?> findUsers(String attributesCommaSeparated, String filter, String sortBy, String sortOrder, int startIndex, int count)
           
 Map<String,AtomicInteger> getErrorCounts()
           
 int getTotalUsers()
           
 ScimUser getUser(String userId)
           
 int getUserDeletes()
           
 int getUserUpdates()
           
 org.springframework.web.servlet.View handleException(Exception t, javax.servlet.http.HttpServletRequest request)
           
 void setApprovalStore(ApprovalStore approvalStore)
           
 void setMessageConverters(org.springframework.http.converter.HttpMessageConverter<?>[] messageConverters)
          Set the message body converters to use.
 void setScimGroupMembershipManager(ScimGroupMembershipManager membershipManager)
           
 void setScimUserProvisioning(ScimUserProvisioning dao)
           
 void setStatuses(Map<Class<? extends Exception>,org.springframework.http.HttpStatus> statuses)
          Map from exception type to Http status.
 ScimUser updateUser(ScimUser user, String userId, String etag)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ScimUserEndpoints

public ScimUserEndpoints()
Method Detail

setMessageConverters

public void setMessageConverters(org.springframework.http.converter.HttpMessageConverter<?>[] messageConverters)
Set the message body converters to use.

These converters are used to convert from and to HTTP requests and responses.


setStatuses

public void setStatuses(Map<Class<? extends Exception>,org.springframework.http.HttpStatus> statuses)
Map from exception type to Http status.

Parameters:
statuses - the statuses to set

getTotalUsers

@ManagedMetric(metricType=COUNTER,
               displayName="Total Users")
public int getTotalUsers()

getUserUpdates

@ManagedMetric(metricType=COUNTER,
               displayName="User Account Update Count (Since Startup)")
public int getUserUpdates()

getUserDeletes

@ManagedMetric(metricType=COUNTER,
               displayName="User Account Delete Count (Since Startup)")
public int getUserDeletes()

getErrorCounts

@ManagedMetric(displayName="Error Counts")
public Map<String,AtomicInteger> getErrorCounts()

getUser

@RequestMapping(value="/Users/{userId}",
                method=GET)
@ResponseBody
public ScimUser getUser(@PathVariable
                                                    String userId)

createUser

@RequestMapping(value="/Users",
                method=POST)
@ResponseStatus(value=CREATED)
@ResponseBody
public ScimUser createUser(@RequestBody
                                                                      ScimUser user)

updateUser

@RequestMapping(value="/Users/{userId}",
                method=PUT)
@ResponseBody
public ScimUser updateUser(@RequestBody
                                                       ScimUser user,
                                                       @PathVariable
                                                       String userId,
                                                       @RequestHeader(value="If-Match",required=false,defaultValue="NaN")
                                                       String etag)

deleteUser

@RequestMapping(value="/Users/{userId}",
                method=DELETE)
@ResponseBody
public ScimUser deleteUser(@PathVariable
                                                       String userId,
                                                       @RequestHeader(value="If-Match",required=false)
                                                       String etag)

findUsers

@RequestMapping(value="/Users",
                method=GET)
@ResponseBody
public SearchResults<?> findUsers(@RequestParam(value="attributes",required=false)
                                                              String attributesCommaSeparated,
                                                              @RequestParam(required=false,defaultValue="id pr")
                                                              String filter,
                                                              @RequestParam(required=false)
                                                              String sortBy,
                                                              @RequestParam(required=false,defaultValue="ascending")
                                                              String sortOrder,
                                                              @RequestParam(required=false,defaultValue="1")
                                                              int startIndex,
                                                              @RequestParam(required=false,defaultValue="100")
                                                              int count)

handleException

@ExceptionHandler
public org.springframework.web.servlet.View handleException(Exception t,
                                                                             javax.servlet.http.HttpServletRequest request)
                                                     throws ScimException
Throws:
ScimException

setScimUserProvisioning

public void setScimUserProvisioning(ScimUserProvisioning dao)

setScimGroupMembershipManager

public void setScimGroupMembershipManager(ScimGroupMembershipManager membershipManager)

setApprovalStore

public void setApprovalStore(ApprovalStore approvalStore)

afterPropertiesSet

public void afterPropertiesSet()
                        throws Exception
Specified by:
afterPropertiesSet in interface org.springframework.beans.factory.InitializingBean
Throws:
Exception


Copyright © 2013. All rights reserved.