mike-jumper commented on a change in pull request #550:
URL: https://github.com/apache/guacamole-client/pull/550#discussion_r460610448



##########
File path: 
extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/group/UserGroupService.java
##########
@@ -208,13 +208,21 @@ private ExprNode getGroupSearchFilter() throws 
GuacamoleException {
             }
         }
 
+        // Gather all attributes relevant for a group
+        ArrayList<String> groupAttributes = new ArrayList<String>();

Review comment:
       1. The size of the required backing array can be anticipated here. This 
will work as-is, but unnecessarily relies on automatic array resizing or 
sufficiently-large defaults.
   2. Unless code consuming this relies on the object being an `ArrayList`, the 
type declared for the variable should be kept minimal, presumably 
`List<String>` or `Collection<String>`.

##########
File path: 
extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/ObjectQueryService.java
##########
@@ -197,6 +197,10 @@ public ExprNode generateQuery(ExprNode filter,
      * @param searchHop
      *     The current level of referral depth for this search, used for
      *     limiting the maximum depth to which referrals can go.
+     * 
+     * @param relevantAttributes
+     *     The attribute(s) relevant to return for this search,
+        *     if all available should be returned pass null as value.

Review comment:
       1. Please correct the alignment here. It looks like a tab character may 
have snuck in.
   2. Documentation should describe the nature/meaning of things, rather than 
commanding the developer to do a specific thing under specific circumstances. 
The first half of the documentation for this parameter looks good, but the 
latter half switches over from descriptive to imperative. I think we should 
maintain the established descriptive phrasing (for example: "or null if all 
attributes should be returned").

##########
File path: 
extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/group/UserGroupService.java
##########
@@ -208,13 +208,21 @@ private ExprNode getGroupSearchFilter() throws 
GuacamoleException {
             }
         }
 
+        // Gather all attributes relevant for a group
+        ArrayList<String> groupAttributes = new ArrayList<String>();
+        groupAttributes.add(confService.getMemberAttribute());
+        confService.getGroupNameAttributes().forEach(
+                       attribute -> groupAttributes.add(attribute)
+                       );

Review comment:
       Why not `addAll()`?
   
   And what if one of the attribute names within 
`confService.getGroupNameAttributes()` is equal to 
`confService.getMemberAttribute()`? Will the duplicate attribute cause any 
problems for the search?




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to