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:47:56 UTC

[sling-org-apache-sling-jcr-jackrabbit-accessmanager] 12/19: SLING-940 Applied patch from myself. Adds Javadoc to accessmanager and usermanager servlets.

This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.jcr.jackrabbit.accessmanager-2.0.4
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-jcr-jackrabbit-accessmanager.git

commit 4a672c99078afcbbd2ae430f2e5a372392dc55aa
Author: Ian Boston <ie...@apache.org>
AuthorDate: Thu Jul 16 16:54:39 2009 +0000

    SLING-940
    Applied patch from myself.
    Adds Javadoc to accessmanager and usermanager servlets.
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/bundles/jcr/jackrabbit-accessmanager@794751 13f79535-47bb-0310-9956-ffa450edef68
---
 .../post/AbstractAccessPostServlet.java            | 20 +++---
 .../accessmanager/post/DeleteAcesServlet.java      | 39 +++++++++--
 .../accessmanager/post/GetAclServlet.java          | 75 ++++++++++++++++++++--
 .../accessmanager/post/ModifyAceServlet.java       | 49 ++++++++++++--
 4 files changed, 154 insertions(+), 29 deletions(-)

diff --git a/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/AbstractAccessPostServlet.java b/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/AbstractAccessPostServlet.java
index 1d73c6a..fe9da5b 100644
--- a/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/AbstractAccessPostServlet.java
+++ b/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/AbstractAccessPostServlet.java
@@ -48,7 +48,7 @@ public abstract class AbstractAccessPostServlet extends SlingAllMethodsServlet {
      * default log
      */
     private final Logger log = LoggerFactory.getLogger(getClass());
-    
+   
 	/* (non-Javadoc)
 	 * @see org.apache.sling.api.servlets.SlingAllMethodsServlet#doPost(org.apache.sling.api.SlingHttpServletRequest, org.apache.sling.api.SlingHttpServletResponse)
 	 */
@@ -76,12 +76,12 @@ public abstract class AbstractAccessPostServlet extends SlingAllMethodsServlet {
         Session session = request.getResourceResolver().adaptTo(Session.class);
 
         final List<Modification> changes = new ArrayList<Modification>();
-        
+       
         try {
             handleOperation(request, htmlResponse, changes);
-            
+           
             //TODO: maybe handle SlingAuthorizablePostProcessor handlers here
-            
+           
             // set changes on html response
             for(Modification change : changes) {
                 switch ( change.getType() ) {
@@ -93,7 +93,7 @@ public abstract class AbstractAccessPostServlet extends SlingAllMethodsServlet {
                     case ORDER : htmlResponse.onChange("ordered", change.getSource(), change.getDestination()); break;
                 }
             }
-            
+           
             if (session.hasPendingChanges()) {
                 session.save();
             }
@@ -115,7 +115,7 @@ public abstract class AbstractAccessPostServlet extends SlingAllMethodsServlet {
                     e.getMessage(), e);
             }
         }
-        
+       
         // check for redirect URL if processing succeeded
         if (htmlResponse.isSuccessful()) {
             String redirect = getRedirectUrl(request, htmlResponse);
@@ -131,10 +131,10 @@ public abstract class AbstractAccessPostServlet extends SlingAllMethodsServlet {
 
 	/**
 	 * Extending Servlet should implement this operation to do the work
-	 * 
+	 *
 	 * @param request the sling http request to process
-	 * @param htmlResponse the response 
-	 * @param changes 
+	 * @param htmlResponse the response
+	 * @param changes
 	 */
 	abstract protected void handleOperation(SlingHttpServletRequest request,
 			HtmlResponse htmlResponse, List<Modification> changes) throws RepositoryException;
@@ -250,5 +250,5 @@ public abstract class AbstractAccessPostServlet extends SlingAllMethodsServlet {
 
         return ret.toString();
     }
-    
+   
 }
diff --git a/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/DeleteAcesServlet.java b/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/DeleteAcesServlet.java
index 3c5b28d..4dc695c 100644
--- a/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/DeleteAcesServlet.java
+++ b/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/DeleteAcesServlet.java
@@ -40,14 +40,41 @@ import org.apache.sling.servlets.post.Modification;
 import org.apache.sling.servlets.post.SlingPostConstants;
 
 /**
- * Sling Post Servlet implementation for deleting the ACE for a set of principals on
- * a JCR resource.
- * 
- * @scr.component immediate="true" 
+ * <p>
+ * Sling Post Servlet implementation for deleting the ACE for a set of principals on a JCR
+ * resource.
+ * </p>
+ * <h2>Rest Service Description</h2>
+ * <p>
+ * Delete a set of Ace's from a node, the node is identified as a resource by the request
+ * url &gt;resource&lt;.deleteAce.html
+ * </p>
+ * <h4>Methods</h4>
+ * <ul>
+ * <li>POST</li>
+ * </ul>
+ * <h4>Post Parameters</h4>
+ * <dl>
+ * <dt>:applyTo</dt>
+ * <dd>An array of ace principal names to delete. Note the principal name is the primary
+ * key of the Ace in the Acl</dd>
+ * </dl>
+ *
+ * <h4>Response</h4>
+ * <dl>
+ * <dt>200</dt>
+ * <dd>Success.</dd>
+ * <dt>404</dt>
+ * <dd>The resource was not found.</dd>
+ * <dt>500</dt>
+ * <dd>Failure. HTML explains the failure.</dd>
+ * </dl>
+ *
+ * @scr.component immediate="true"
  * @scr.service interface="javax.servlet.Servlet"
  * @scr.property name="sling.servlet.resourceTypes" value="sling/servlet/default"
- * @scr.property name="sling.servlet.methods" value="POST" 
- * @scr.property name="sling.servlet.selectors" value="deleteAce" 
+ * @scr.property name="sling.servlet.methods" value="POST"
+ * @scr.property name="sling.servlet.selectors" value="deleteAce"
  */
 public class DeleteAcesServlet extends AbstractAccessPostServlet {
 	private static final long serialVersionUID = 3784866802938282971L;
diff --git a/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/GetAclServlet.java b/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/GetAclServlet.java
index 586ec57..855a966 100644
--- a/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/GetAclServlet.java
+++ b/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/GetAclServlet.java
@@ -47,15 +47,76 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 /**
- * Sling GET servlet implementation for dumping the declared ACL of a resource
- * to JSON.
- * 
- * @scr.component immediate="true" 
+ * <p>
+ * Sling GET servlet implementation for dumping the declared ACL of a resource to JSON.
+ * </p>
+ * <h2>Rest Service Description</h2>
+ * <p>
+ * Mapped to the default resourceType. Gets and Acl for a resource. Get of the form
+ * &gt;resource&lt;.acl.json Provided the user has access to the ACL, they get a chunk of
+ * JSON of the form.
+ * </p>
+ * <h4>Methods</h4>
+ * <ul>
+ * <li>GET</li>
+ * </ul>
+ * <h4>Response</h4>
+ * <dl>
+ * <dt>200</dt>
+ * <dd>Success.</dd>
+ * <dt>404</dt>
+ * <dd>The resource was not found.</dd>
+ * <dt>500</dt>
+ * <dd>Failure. HTML explains the failure.</dd>
+ * </dl>
+ * <h4>Example Response</h4>
+ * <code>
+ * <pre>
+ * {
+ * &quot;principalNameA&quot;:
+ *      { &quot;granted&quot; : [
+ *           &quot;permission1&quot;,
+ *           &quot;permission2&quot;,
+ *           &quot;permission3&quot;,
+ *           &quot;permission4&quot; ],
+ *        &quot;denied&quot; : [
+ *           &quot;permission5&quot;,
+ *           &quot;permission6&quot;,
+ *           &quot;permission7&quot;,
+ *           &quot;permission8&quot;]
+ *       },
+ * &quot;principalNameB&quot;:
+ *       { &quot;granted&quot; : [
+ *           &quot;permission1&quot;,
+ *           &quot;permission2&quot;,
+ *           &quot;permission3&quot;,
+ *           &quot;permission4&quot; ],
+ *         &quot;denied&quot; : [
+ *           &quot;permission5&quot;,
+ *           &quot;permission6&quot;,
+ *           &quot;permission7&quot;,
+ *           &quot;permission8&quot;] },
+ * &quot;principalNameC&quot;:
+ *       { &quot;granted&quot; : [
+ *           &quot;permission1&quot;,
+ *           &quot;permission2&quot;,
+ *           &quot;permission3&quot;,
+ *           &quot;permission4&quot; ],
+ *         &quot;denied&quot; : [
+ *           &quot;permission5&quot;,
+ *           &quot;permission6&quot;,
+ *           &quot;permission7&quot;,
+ *           &quot;permission8&quot;] }
+ * }
+ * </pre>
+ * </code>
+ *
+ * @scr.component immediate="true"
  * @scr.service interface="javax.servlet.Servlet"
  * @scr.property name="sling.servlet.resourceTypes" value="sling/servlet/default"
- * @scr.property name="sling.servlet.methods" value="GET" 
- * @scr.property name="sling.servlet.selectors" value="acl" 
- * @scr.property name="sling.servlet.extensions " value="json" 
+ * @scr.property name="sling.servlet.methods" value="GET"
+ * @scr.property name="sling.servlet.selectors" value="acl"
+ * @scr.property name="sling.servlet.extensions " value="json"
  */
 public class GetAclServlet extends SlingAllMethodsServlet {
 	private static final long serialVersionUID = 3391376559396223184L;
diff --git a/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/ModifyAceServlet.java b/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/ModifyAceServlet.java
index b6ed930..4b37e76 100644
--- a/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/ModifyAceServlet.java
+++ b/src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/ModifyAceServlet.java
@@ -43,14 +43,51 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 /**
- * Sling Post Servlet implementation for modifying the ACE for a principal on
- * a JCR resource.
- * 
- * @scr.component immediate="true" 
+ * <p>
+ * Sling Post Servlet implementation for modifying the ACE for a principal on a JCR
+ * resource.
+ * </p>
+ * <h2>Rest Service Description</h2>
+ * <p>
+ * Delete a set of Ace's from a node, the node is identified as a resource by the request
+ * url &gt;resource&lt;.modifyAce.html
+ * </p>
+ * <h4>Methods</h4>
+ * <ul>
+ * <li>POST</li>
+ * </ul>
+ * <h4>Post Parameters</h4>
+ * <dl>
+ * <dt>principalId</dt>
+ * <dd>The principal of the Ace to modify in the ACL specified by the path.</dd>
+ * <dt>privilege@*</dt>
+ * <dd>One of more privileges, either granted or denied, where set the permission in the
+ * stored ACE is modified to match the request. Any permissions that are present in the
+ * stored ACE, but are not in the request are left untouched.</dd>
+ * </dl>
+ *
+ * <h4>Response</h4>
+ * <dl>
+ * <dt>200</dt>
+ * <dd>Success.</dd>
+ * <dt>404</dt>
+ * <dd>The resource was not found.</dd>
+ * <dt>500</dt>
+ * <dd>Failure. HTML explains the failure.</dd>
+ * </dl>
+ *
+ * <h4>Notes</h4>
+ * <p>
+ * The principalId is assumed to refer directly to an Authorizable, that comes direct from
+ * the UserManager. This can be a group or a user, but if its a group, denied permissions
+ * will not be added to the group. The group will only contain granted privileges.
+ * </p>
+ *
+ * @scr.component immediate="true"
  * @scr.service interface="javax.servlet.Servlet"
  * @scr.property name="sling.servlet.resourceTypes" value="sling/servlet/default"
- * @scr.property name="sling.servlet.methods" value="POST" 
- * @scr.property name="sling.servlet.selectors" value="modifyAce" 
+ * @scr.property name="sling.servlet.methods" value="POST"
+ * @scr.property name="sling.servlet.selectors" value="modifyAce"
  */
 public class ModifyAceServlet extends AbstractAccessPostServlet {
 	private static final long serialVersionUID = -9182485466670280437L;

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.