You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ro...@apache.org on 2017/11/07 09:48:41 UTC
[sling-org-apache-sling-jcr-jackrabbit-usermanager] 12/24:
SLING-1577 - using full property path instead of simple property name in
creation of RequestProperty object
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 <ju...@apache.org>
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
"commits@sling.apache.org" <co...@sling.apache.org>.