You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Julian Sedding (JIRA)" <ji...@apache.org> on 2015/03/06 11:47:38 UTC

[jira] [Updated] (OAK-2586) Support including and excluding paths during upgrade

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

Julian Sedding updated OAK-2586:
--------------------------------
    Attachment: OAK-2586.patch

The attached patch ads a {{FilteringNodeState}} implementation based on an array of include paths and an array of exclude paths. The implementation wraps a {{NodeState}} and overwrites all methods that allow access to child {{NodeState}}s to hide any filtered paths.

In order to have the least impact, {{NodeState}} instances are wrapped only if they are filtered themselves, or if they have filtered descendants.

Additionally, I took the liberty to slightly refactor {{RepositoryUpgrade}} to a more builder-like API. If this is a problem, I am happy to provide a patch without this refactoring.


> Support including and excluding paths during upgrade
> ----------------------------------------------------
>
>                 Key: OAK-2586
>                 URL: https://issues.apache.org/jira/browse/OAK-2586
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: upgrade
>    Affects Versions: 1.1.6
>            Reporter: Julian Sedding
>              Labels: patch
>         Attachments: OAK-2586.patch
>
>
> When upgrading a Jackrabbit 2 to an Oak repository it can be desirable to constrain which paths/sub-trees should be copied from the source repository. Not least because this can (drastically) reduce the amount of content that needs to be traversed, copied and indexed.
> I suggest to allow filtering the content visible from the source repository by wrapping the JackrabbitNodeState instance and hiding selected paths.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)