You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-dev@jackrabbit.apache.org by "angela (JIRA)" <ji...@apache.org> on 2012/07/19 11:23:34 UTC

[jira] [Created] (OAK-191) ChangeExtractor uses interfaces from oak.spi.state

angela created OAK-191:
--------------------------

             Summary: ChangeExtractor uses interfaces from oak.spi.state
                 Key: OAK-191
                 URL: https://issues.apache.org/jira/browse/OAK-191
             Project: Jackrabbit Oak
          Issue Type: Bug
          Components: core
            Reporter: angela


from my understanding the oak-api should not rely on interfaces/classes
defined by the oak.spi package space.

while looking at the different Tree implementations and the usage of
NodeState (defined in the spi) i realized that the ChangeExtractor makes in
fact use of the org.apache.jackrabbit.oak.spi.state.NodeStateDiff which in
turn has a dependency to NodeState from the same package. That way the
NodeState interface gets exposed with the oak-api which looks a rather
awkward to me.

i think this should be reconsidered. and maybe we also have to take
a second look at the distinction between oak-api and oak-spi.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (OAK-191) ChangeExtractor uses interfaces from oak.spi.state

Posted by "Michael Dürig (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/OAK-191?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13421365#comment-13421365 ] 

Michael Dürig commented on OAK-191:
-----------------------------------

The reason for putting it that way was to reuse the existing functionality around {{NodeStateDiff}} for determining differences of immutable trees (i.e. {{NodeState}}s. I'm in favour of adding another abstraction here as soon as we have a driver for determining its shape. 
                
> ChangeExtractor uses interfaces from oak.spi.state
> --------------------------------------------------
>
>                 Key: OAK-191
>                 URL: https://issues.apache.org/jira/browse/OAK-191
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>          Components: core
>            Reporter: angela
>
> from my understanding the oak-api should not rely on interfaces/classes
> defined by the oak.spi package space.
> while looking at the different Tree implementations and the usage of
> NodeState (defined in the spi) i realized that the ChangeExtractor makes in
> fact use of the org.apache.jackrabbit.oak.spi.state.NodeStateDiff which in
> turn has a dependency to NodeState from the same package. That way the
> NodeState interface gets exposed with the oak-api which looks a rather
> awkward to me.
> i think this should be reconsidered. and maybe we also have to take
> a second look at the distinction between oak-api and oak-spi.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

[jira] [Commented] (OAK-191) ChangeExtractor uses interfaces from oak.spi.state

Posted by "angela (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/OAK-191?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13421375#comment-13421375 ] 

angela commented on OAK-191:
----------------------------

reusing existing functionality is perfectly fine. what bothers me is that we expose SPI interfaces
in the API since as from my understanding that's a different level and those levels should probably
not be mixed.

i don't care too much how we address this. but the trivial solution to just move NodeState and
NodeStateDiff to oak-api looks a bit awkward to me (specifically as we already have Tree).
                
> ChangeExtractor uses interfaces from oak.spi.state
> --------------------------------------------------
>
>                 Key: OAK-191
>                 URL: https://issues.apache.org/jira/browse/OAK-191
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>          Components: core
>            Reporter: angela
>
> from my understanding the oak-api should not rely on interfaces/classes
> defined by the oak.spi package space.
> while looking at the different Tree implementations and the usage of
> NodeState (defined in the spi) i realized that the ChangeExtractor makes in
> fact use of the org.apache.jackrabbit.oak.spi.state.NodeStateDiff which in
> turn has a dependency to NodeState from the same package. That way the
> NodeState interface gets exposed with the oak-api which looks a rather
> awkward to me.
> i think this should be reconsidered. and maybe we also have to take
> a second look at the distinction between oak-api and oak-spi.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira