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