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 "Michael Dürig (JIRA)" <ji...@apache.org> on 2013/09/25 23:51:03 UTC
[jira] [Commented] (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:comment-tabpanel&focusedCommentId=13778131#comment-13778131 ]
Michael Dürig commented on OAK-950:
-----------------------------------
bq. i made this method [getIdentifier()] part of the Tree interface.
Why not implement identifier calculation directly in {{IdentifierManager}} instead? Something like:
{code}
public static String getIdentifier(Tree tree) {
PropertyState property = tree.getProperty(JcrConstants.JCR_UUID);
if (property != null) {
return property.getValue(STRING);
} else if (tree.isRoot()) {
return "/";
} else {
String parentId = getIdentifier(tree.getParent());
return PathUtils.concat(parentId, tree.getName());
}
}
{code}
> 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