Class UpdateUserServlet
java.lang.Object
javax.servlet.GenericServlet
org.apache.sling.api.servlets.SlingSafeMethodsServlet
org.apache.sling.api.servlets.SlingAllMethodsServlet
org.apache.sling.jackrabbit.usermanager.impl.post.AbstractPostServlet
org.apache.sling.jackrabbit.usermanager.impl.post.AbstractAuthorizablePostServlet
org.apache.sling.jackrabbit.usermanager.impl.post.UpdateUserServlet
- All Implemented Interfaces:
Serializable
,javax.servlet.Servlet
,javax.servlet.ServletConfig
,UpdateUser
Sling Post Operation implementation for updating a user in the jackrabbit UserManager.
Rest Service Description
Updates a users properties. Maps on to nodes of resourceType sling/users
like
/rep:system/rep:userManager/rep:users
mapped to a resource url
/system/userManager/user/ieb
. This servlet responds at
/system/userManager/user/ieb.update.html
Methods
- POST
Post Parameters
- *
- Any additional parameters become properties of the user node (optional)
- *@Delete
- Delete the property eg prop3@Delete means prop3 will be deleted (optional)
Response
- 200
- Success, a redirect is sent to the users resource locator. The redirect comes with HTML describing the status.
- 404
- The resource was not found
- 500
- Failure
Example
curl -Fprop1=value2 -Fproperty1=value1 http://localhost:8080/system/userManager/user/ieb.update.html
- See Also:
-
Field Summary
Fields inherited from class org.apache.sling.jackrabbit.usermanager.impl.post.AbstractAuthorizablePostServlet
principalNameFilter, principalNameGenerators, PROP_DATE_FORMAT, RP_NODE_NAME_HINT_VALUE_FROM, RP_NODE_NAME_VALUE_FROM, systemUserManagerPaths
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
protected void
bindPostResponseCreator
(PostResponseCreator creator, Map<String, Object> properties) Overridden since the @Reference annotation is not inherited from the super methodprotected void
protected void
protected void
handleOperation
(SlingHttpServletRequest request, PostResponse response, List<Modification> changes) Extending Servlet should implement this operation to do the workprotected void
unbindPostResponseCreator
(PostResponseCreator creator, Map<String, Object> properties) Unbind a post response creatororg.apache.jackrabbit.api.security.user.User
updateUser
(javax.jcr.Session jcrSession, String name, Map<String, ?> properties, List<Modification> changes) Update a user in the repositoryMethods inherited from class org.apache.sling.jackrabbit.usermanager.impl.post.AbstractAuthorizablePostServlet
bindPrincipalNameFilter, bindPrincipalNameGenerator, collectContent, collectContentMap, concatPath, convertToRequestParameterArray, convertToString, convertToStringArray, getOrGeneratePrincipalName, hasItemPathPrefix, processCreate, processDeletes, requireItemPathPrefix, unbindPrincipalNameFilter, unbindPrincipalNameGenerator, writeContent
Methods inherited from class org.apache.sling.jackrabbit.usermanager.impl.post.AbstractPostServlet
createHtmlResponse, doPost, externalizePath, getItemPath, getRanking, getRedirectUrl, getRedirectUrl, handleOperation, isSetStatus
Methods inherited from class org.apache.sling.api.servlets.SlingAllMethodsServlet
doDelete, doPut, getAllowedRequestMethods, isMethodValid, mayService
Methods inherited from class org.apache.sling.api.servlets.SlingSafeMethodsServlet
doGeneric, doGet, doHead, doOptions, doTrace, getServletInfo, handleMethodNotImplemented, service, service
Methods inherited from class javax.servlet.GenericServlet
destroy, getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletName, init, init, log, log
-
Constructor Details
-
UpdateUserServlet
public UpdateUserServlet()
-
-
Method Details
-
activate
- Overrides:
activate
in classAbstractAuthorizablePostServlet
-
deactivate
protected void deactivate()- Overrides:
deactivate
in classAbstractAuthorizablePostServlet
-
bindSystemUserManagerPaths
- Overrides:
bindSystemUserManagerPaths
in classAbstractAuthorizablePostServlet
-
bindPostResponseCreator
Overridden since the @Reference annotation is not inherited from the super method -
unbindPostResponseCreator
protected void unbindPostResponseCreator(PostResponseCreator creator, Map<String, Object> properties) Description copied from class:AbstractPostServlet
Unbind a post response creator- Overrides:
unbindPostResponseCreator
in classAbstractPostServlet
-
handleOperation
protected void handleOperation(SlingHttpServletRequest request, PostResponse response, List<Modification> changes) throws javax.jcr.RepositoryException Description copied from class:AbstractPostServlet
Extending Servlet should implement this operation to do the work- Specified by:
handleOperation
in classAbstractPostServlet
- Parameters:
request
- the sling http request to processresponse
- the responsechanges
- the changes to report- Throws:
javax.jcr.RepositoryException
- in case of exceptions during the operation
-
updateUser
public org.apache.jackrabbit.api.security.user.User updateUser(javax.jcr.Session jcrSession, String name, Map<String, ?> properties, List<Modification> changes) throws javax.jcr.RepositoryExceptionDescription copied from interface:UpdateUser
Update a user in the repository- Specified by:
updateUser
in interfaceUpdateUser
- Parameters:
jcrSession
- the JCR session of the user updating the username
- The name of the user to update (required)properties
- Extra properties to update on the user. The entry values should be either a String or String[] (optional)changes
- The list of changes for this operation (optional)- Returns:
- the user that was updated or null if not found
- Throws:
javax.jcr.RepositoryException
- if user can't be updated
-