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 "angela (JIRA)" <ji...@apache.org> on 2013/09/25 21:30:02 UTC

[jira] [Updated] (OAK-950) Remove org.apache.jackrabbit.oak.core from package-export

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

angela updated OAK-950:
-----------------------

    Attachment: OAK-950.patch

initial proposal on how to address this (except for the SolrBaseTest).

- move IdManager to a new plugins package
- move obs-part using Immutable* to plugins/observation

since IdManager used the package private method AbstractTree#getIdentifier and i didn't want to move all the AbstractTree, i made this method part of the Tree interface. that's a simplistic approach to get a patch and i am sure this will cause some discussion, because it tends to render the IdManager superfluous :-)

so, please review it and comment.
to me the fact that we have to export the internal core-package indicates that we have problem that should be discussed and - hopefully - addressed before we officially release oak.
                
> Remove org.apache.jackrabbit.oak.core from package-export
> ---------------------------------------------------------
>
>                 Key: OAK-950
>                 URL: https://issues.apache.org/jira/browse/OAK-950
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>          Components: core
>            Reporter: angela
>         Attachments: OAK-950.patch
>
>
> IMO the package org.apache.jackrabbit.oak.core is the implementation of the
> oak api and should therefore only be used internally. exporting that package
> in the maven-bundle-plugin configuration is from my point of view a major bug.
> if it's needed it indicates that the package contains classes that are misplaced.
> a quick search showed that the following references to the core package are present:
> oak-solr:
> - AbstractRoot used by 
>   > SolrBaseTest
> oak-jcr:
> - IdentifierManager used by 
>   > NodeImpl, 
>   > NodeDelegate, 
>   > SessionDelegate, 
>   > ChangeProcessor,
>   > ImporterImpl
> - ImmutableRoot used by
>   > ChangeProcessor
> - ImmutableTree used by
>   > ChangeProcessor
> to me that indicates that the IdentifierManager should be moved to package
> space that is really public (API, SPI or plugins). 
> as far as the ChangeProcessor is concerned it seems that this was itself a
> candidate for being moved from oak-jcr to oak-core.
> and finally the SolrTest: i think the test should be refactored to obtain the root from a regular OAK repository setup instead of relying on an specific implementation.

--
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