This is an automated email from the ASF dual-hosted git repository. rombert pushed a commit to annotated tag org.apache.sling.jcr.jackrabbit.usermanager-2.1.0 in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-jcr-jackrabbit-usermanager.git
commit 0a4869d31a49dec4268c8bfdf625c270b5c808e2 Author: Justin Edelson <[email protected]> AuthorDate: Mon Jun 28 19:43:11 2010 +0000 SLING-1577 - using full property path instead of simple property name in creation of RequestProperty object git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/bundles/jcr/jackrabbit-usermanager@958690 13f79535-47bb-0310-9956-ffa450edef68 --- .../impl/post/AbstractAuthorizablePostServlet.java | 19 +++++++++++-------- .../usermanager/impl/post/CreateGroupServlet.java | 6 +++--- .../usermanager/impl/post/CreateUserServlet.java | 6 +++--- .../usermanager/impl/post/UpdateGroupServlet.java | 6 +++++- .../usermanager/impl/post/UpdateUserServlet.java | 6 +++++- 5 files changed, 27 insertions(+), 16 deletions(-) diff --git a/src/main/java/org/apache/sling/jackrabbit/usermanager/impl/post/AbstractAuthorizablePostServlet.java b/src/main/java/org/apache/sling/jackrabbit/usermanager/impl/post/AbstractAuthorizablePostServlet.java index ba6b288..fccf282 100644 --- a/src/main/java/org/apache/sling/jackrabbit/usermanager/impl/post/AbstractAuthorizablePostServlet.java +++ b/src/main/java/org/apache/sling/jackrabbit/usermanager/impl/post/AbstractAuthorizablePostServlet.java @@ -287,7 +287,8 @@ public abstract class AbstractAuthorizablePostServlet extends * @throws ServletException if an internal error occurs */ protected Map<String, RequestProperty> collectContent( - SlingHttpServletRequest request, HtmlResponse response) { + SlingHttpServletRequest request, HtmlResponse response, + String authorizablePath) { boolean requireItemPrefix = requireItemPathPrefix(request); @@ -321,6 +322,8 @@ public abstract class AbstractAuthorizablePostServlet extends // be used. continue; // skip it. } + + propPath = authorizablePath + "/" + propPath; // @TypeHint example // <input type="text" name="./age" /> @@ -421,23 +424,23 @@ public abstract class AbstractAuthorizablePostServlet extends * <code>props</code>. * * @param props The map of already seen request properties. - * @param paramName The absolute path of the property including the + * @param paramPath The absolute path of the property including the * <code>suffix</code> to be looked up. * @param suffix The (optional) suffix to remove from the * <code>paramName</code> before looking it up. * @return The {@link RequestProperty} for the <code>paramName</code>. */ private RequestProperty getOrCreateRequestProperty( - Map<String, RequestProperty> props, String paramName, String suffix) { - if (suffix != null && paramName.endsWith(suffix)) { - paramName = paramName.substring(0, paramName.length() + Map<String, RequestProperty> props, String paramPath, String suffix) { + if (suffix != null && paramPath.endsWith(suffix)) { + paramPath = paramPath.substring(0, paramPath.length() - suffix.length()); } - RequestProperty prop = props.get(paramName); + RequestProperty prop = props.get(paramPath); if (prop == null) { - prop = new RequestProperty(paramName); - props.put(paramName, prop); + prop = new RequestProperty(paramPath); + props.put(paramPath, prop); } return prop; diff --git a/src/main/java/org/apache/sling/jackrabbit/usermanager/impl/post/CreateGroupServlet.java b/src/main/java/org/apache/sling/jackrabbit/usermanager/impl/post/CreateGroupServlet.java index cc87d05..5a63b07 100644 --- a/src/main/java/org/apache/sling/jackrabbit/usermanager/impl/post/CreateGroupServlet.java +++ b/src/main/java/org/apache/sling/jackrabbit/usermanager/impl/post/CreateGroupServlet.java @@ -114,9 +114,6 @@ public class CreateGroupServlet extends AbstractGroupPostServlet { "A principal already exists with the requested name: " + principalName); } else { - Map<String, RequestProperty> reqProperties = collectContent( - request, response); - Group group = userManager.createGroup(new Principal() { public String getName() { return principalName; @@ -125,6 +122,9 @@ public class CreateGroupServlet extends AbstractGroupPostServlet { String groupPath = AuthorizableResourceProvider.SYSTEM_USER_MANAGER_GROUP_PREFIX + group.getID(); + + Map<String, RequestProperty> reqProperties = collectContent( + request, response, groupPath); response.setPath(groupPath); response.setLocation(externalizePath(request, groupPath)); response.setParentLocation(externalizePath(request, diff --git a/src/main/java/org/apache/sling/jackrabbit/usermanager/impl/post/CreateUserServlet.java b/src/main/java/org/apache/sling/jackrabbit/usermanager/impl/post/CreateUserServlet.java index f591e5b..f983d15 100644 --- a/src/main/java/org/apache/sling/jackrabbit/usermanager/impl/post/CreateUserServlet.java +++ b/src/main/java/org/apache/sling/jackrabbit/usermanager/impl/post/CreateUserServlet.java @@ -219,13 +219,13 @@ public class CreateUserServlet extends AbstractUserPostServlet { "A principal already exists with the requested name: " + principalName); } else { - Map<String, RequestProperty> reqProperties = collectContent( - request, response); - User user = userManager.createUser(principalName, digestPassword(pwd)); String userPath = AuthorizableResourceProvider.SYSTEM_USER_MANAGER_USER_PREFIX + user.getID(); + + Map<String, RequestProperty> reqProperties = collectContent( + request, response, userPath); response.setPath(userPath); response.setLocation(externalizePath(request, userPath)); diff --git a/src/main/java/org/apache/sling/jackrabbit/usermanager/impl/post/UpdateGroupServlet.java b/src/main/java/org/apache/sling/jackrabbit/usermanager/impl/post/UpdateGroupServlet.java index 42a7971..c4ed8f2 100644 --- a/src/main/java/org/apache/sling/jackrabbit/usermanager/impl/post/UpdateGroupServlet.java +++ b/src/main/java/org/apache/sling/jackrabbit/usermanager/impl/post/UpdateGroupServlet.java @@ -28,6 +28,7 @@ import org.apache.sling.api.resource.Resource; import org.apache.sling.api.resource.ResourceNotFoundException; import org.apache.sling.api.servlets.HtmlResponse; import org.apache.sling.jackrabbit.usermanager.impl.helper.RequestProperty; +import org.apache.sling.jackrabbit.usermanager.impl.resource.AuthorizableResourceProvider; import org.apache.sling.servlets.post.Modification; /** @@ -105,9 +106,12 @@ public class UpdateGroupServlet extends AbstractGroupPostServlet { if (session == null) { throw new RepositoryException("JCR Session not found"); } + + String groupPath = AuthorizableResourceProvider.SYSTEM_USER_MANAGER_GROUP_PREFIX + + authorizable.getID(); Map<String, RequestProperty> reqProperties = collectContent(request, - htmlResponse); + htmlResponse, groupPath); try { // cleanup any old content (@Delete parameters) processDeletes(authorizable, reqProperties, changes); diff --git a/src/main/java/org/apache/sling/jackrabbit/usermanager/impl/post/UpdateUserServlet.java b/src/main/java/org/apache/sling/jackrabbit/usermanager/impl/post/UpdateUserServlet.java index 3d60769..a65dfbd 100644 --- a/src/main/java/org/apache/sling/jackrabbit/usermanager/impl/post/UpdateUserServlet.java +++ b/src/main/java/org/apache/sling/jackrabbit/usermanager/impl/post/UpdateUserServlet.java @@ -28,6 +28,7 @@ import org.apache.sling.api.resource.Resource; import org.apache.sling.api.resource.ResourceNotFoundException; import org.apache.sling.api.servlets.HtmlResponse; import org.apache.sling.jackrabbit.usermanager.impl.helper.RequestProperty; +import org.apache.sling.jackrabbit.usermanager.impl.resource.AuthorizableResourceProvider; import org.apache.sling.servlets.post.Modification; /** @@ -106,9 +107,12 @@ public class UpdateUserServlet extends AbstractUserPostServlet { if (session == null) { throw new RepositoryException("JCR Session not found"); } + + String userPath = AuthorizableResourceProvider.SYSTEM_USER_MANAGER_GROUP_PREFIX + + authorizable.getID(); Map<String, RequestProperty> reqProperties = collectContent(request, - htmlResponse); + htmlResponse, userPath); try { // cleanup any old content (@Delete parameters) processDeletes(authorizable, reqProperties, changes); -- To stop receiving notification emails like this one, please contact "[email protected]" <[email protected]>.
