/** * Performs an access check against all of the attributes of an entry. The attributes that fail * access are removed from the entry. This method performs the processing needed for the * filterEntry method processing. * * @param container The search or compare container which has all of the information needed to * filter the attributes for this entry. * @param filteredEntry The partially filtered search result entry being returned to the client. */ private void filterEntry(AciLDAPOperationContainer container, Entry filteredEntry) { List<AttributeType> typeList = getAllAttrs(filteredEntry); for (AttributeType attrType : typeList) { if (container.hasAllUserAttributes() && !attrType.isOperational()) { continue; } if (container.hasAllOpAttributes() && attrType.isOperational()) { continue; } container.setCurrentAttributeType(attrType); if (!accessAllowed(container)) { filteredEntry.removeAttribute(attrType); } } }