[ 
https://issues.apache.org/jira/browse/LUCENE-5204?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Adrien Grand updated LUCENE-5204:
---------------------------------

    Attachment: LUCENE-5204.patch

Here is a patch:
 - the LockFactory-related methods are now abstract in Directory, impls have 
been moved to BaseDirectory, which is the base class for all concrete 
implementations (RAMDirectory, FSDirectories, etc.).
 - FilterDirectory extends Directory and implements all methods that don't have 
a default implementation in Directory.
 - BaseDirectoryWrapper, RateLimitedDirectoryWrapper and 
TrackingDirectoryWrapper now extend FilterDirectory, only overriding what's 
necessary.

                
> Make Directory easier to wrap
> -----------------------------
>
>                 Key: LUCENE-5204
>                 URL: https://issues.apache.org/jira/browse/LUCENE-5204
>             Project: Lucene - Core
>          Issue Type: Improvement
>            Reporter: Adrien Grand
>            Assignee: Adrien Grand
>            Priority: Minor
>         Attachments: LUCENE-5204.patch
>
>
> We have a few DirectoryWrapper implementations such as 
> RateLimitedDirectoryWrapper and MockDirectoryWrapper. However, the Directory 
> class is not straightforward to wrap since it already has logic for getting 
> and setting the lock factory, so wrappers need to decide whether they should 
> forward lock handling to the delegate or handle it themselves.
> I would like to move the locking logic out of the Directory class and to have 
> a base {{FilterDirectory}} that could be extended by other directory wrapper 
> impls.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to