Issue Details (XML | Word | Printable)

Key: DIRSERVER-677
Type: Improvement Improvement
Status: Closed Closed
Resolution: Fixed
Priority: Trivial Trivial
Assignee: Alex Karasulu
Reporter: Alex Karasulu
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
Directory ApacheDS

Refactor interceptors so only one SearchRequestFilteringEnumeration is used

Created: 20/Jul/06 04:11 AM   Updated: 19/Aug/08 08:33 PM
Return to search
Component/s: core
Affects Version/s: 1.0-RC3, 1.0-RC2, 1.0-RC1, pre-1.0
Fix Version/s: 2.0.0

Time Tracking:
Not Specified

Resolution Date: 19/Aug/08 08:33 PM


 Description  « Hide
We need to clean up the number of nested (wrappings of) SearchResultFilteringEnumerations. It's best if we relocate the code that wraps Partition specific Enumerations with this into the Nexus. There we can add Filters to a single SearchResultFilteringEnumeration. Right now a few interceptors wrap 3 layers of SearchResultFilteringEnumerations. Here are the offending interceptors:

(1) DefaultAuthorizationService
(2) SubentryService
(3) CollectiveAttributeService

Creating a new SearchResultFilteringEnumeration everytime costs us about 2% total of processing time in search operations. We could save a total of 4% and improve the code.

Regarding addFilter usage
------------------------------------------

Note that some interceptors, these 3, need to add filters at searh construction time rather than at interceptor service init time. These services can use the addFilter() interface of the SearchResultFilteringEnumeration but this interface must make sure the first prefetched entry is evaluated otherwise the first entry will be returned even if your filter rejects it.

 All   Comments   Work Log   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Emmanuel Lecharny made changes - 23/Mar/07 11:10 AM
Field Original Value New Value
Fix Version/s 1.5.1 [ 12310792 ]
Emmanuel Lecharny made changes - 25/Aug/07 09:33 PM
Fix Version/s 1.5.1 [ 12310792 ]
Fix Version/s 1.5.2 [ 12310793 ]
Emmanuel Lecharny made changes - 02/Apr/08 10:53 PM
Fix Version/s 1.5.2 [ 12310793 ]
Fix Version/s 2.0.0 [ 12312396 ]
Alex Karasulu made changes - 19/Aug/08 08:33 PM
Assignee Alex Karasulu [ akarasulu ]
Alex Karasulu made changes - 19/Aug/08 08:33 PM
Status Open [ 1 ] Closed [ 6 ]
Resolution Fixed [ 1 ]