[jira] Created: (JCR-1233) Create org.apache.jackrabbit.core.id

11 messages Options
Embed this post
Permalink
JIRA jira@apache.org

[jira] Created: (JCR-1233) Create org.apache.jackrabbit.core.id

Reply Threaded More More options
Print post
Permalink
Create org.apache.jackrabbit.core.id
------------------------------------

                 Key: JCR-1233
                 URL: https://issues.apache.org/jira/browse/JCR-1233
             Project: Jackrabbit
          Issue Type: Improvement
          Components: jackrabbit-core
            Reporter: Jukka Zitting
            Priority: Minor


I'd like to create a separate package for the identifier interfaces and classes in jackrabbit-core. Currently all the identifiers are in org.apache.jackrabbit.core, which makes almost all the other packages have dependencies to o.a.j.core and causes trouble for various package-level code quality and dependency analysis tools.

For now the package would contain the ItemId, NodeId, and PropertyId classes.

--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

JIRA jira@apache.org

[jira] Commented: (JCR-1233) Create org.apache.jackrabbit.core.id

Reply Threaded More More options
Print post
Permalink

    [ https://issues.apache.org/jira/browse/JCR-1233?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12545361 ]

Felix Meschberger commented on JCR-1233:
----------------------------------------

+1

But don't forget the NodeReferencesId.

> Create org.apache.jackrabbit.core.id
> ------------------------------------
>
>                 Key: JCR-1233
>                 URL: https://issues.apache.org/jira/browse/JCR-1233
>             Project: Jackrabbit
>          Issue Type: Improvement
>          Components: jackrabbit-core
>            Reporter: Jukka Zitting
>            Priority: Minor
>
> I'd like to create a separate package for the identifier interfaces and classes in jackrabbit-core. Currently all the identifiers are in org.apache.jackrabbit.core, which makes almost all the other packages have dependencies to o.a.j.core and causes trouble for various package-level code quality and dependency analysis tools.
> For now the package would contain the ItemId, NodeId, and PropertyId classes.

--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

JIRA jira@apache.org

[jira] Commented: (JCR-1233) Create org.apache.jackrabbit.core.id

Reply Threaded More More options
Print post
Permalink
In reply to this post by JIRA jira@apache.org

    [ https://issues.apache.org/jira/browse/JCR-1233?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12575398#action_12575398 ]

Jukka Zitting commented on JCR-1233:
------------------------------------

Any objections to this? Otherwise I'll assume lazy consensus in a few days.


> Create org.apache.jackrabbit.core.id
> ------------------------------------
>
>                 Key: JCR-1233
>                 URL: https://issues.apache.org/jira/browse/JCR-1233
>             Project: Jackrabbit
>          Issue Type: Improvement
>          Components: jackrabbit-core
>            Reporter: Jukka Zitting
>            Priority: Minor
>
> I'd like to create a separate package for the identifier interfaces and classes in jackrabbit-core. Currently all the identifiers are in org.apache.jackrabbit.core, which makes almost all the other packages have dependencies to o.a.j.core and causes trouble for various package-level code quality and dependency analysis tools.
> For now the package would contain the ItemId, NodeId, and PropertyId classes.

--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

JIRA jira@apache.org

[jira] Commented: (JCR-1233) Create org.apache.jackrabbit.core.id

Reply Threaded More More options
Print post
Permalink
In reply to this post by JIRA jira@apache.org

    [ https://issues.apache.org/jira/browse/JCR-1233?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12576162#action_12576162 ]

Marcel Reutegger commented on JCR-1233:
---------------------------------------

This breaks all existing persistence managers implementations. Are we really willing to accept this, just to make jackrabbit look better in code quality tools?

> Create org.apache.jackrabbit.core.id
> ------------------------------------
>
>                 Key: JCR-1233
>                 URL: https://issues.apache.org/jira/browse/JCR-1233
>             Project: Jackrabbit
>          Issue Type: Improvement
>          Components: jackrabbit-core
>            Reporter: Jukka Zitting
>            Priority: Minor
>
> I'd like to create a separate package for the identifier interfaces and classes in jackrabbit-core. Currently all the identifiers are in org.apache.jackrabbit.core, which makes almost all the other packages have dependencies to o.a.j.core and causes trouble for various package-level code quality and dependency analysis tools.
> For now the package would contain the ItemId, NodeId, and PropertyId classes.

--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

JIRA jira@apache.org

[jira] Commented: (JCR-1233) Create org.apache.jackrabbit.core.id

Reply Threaded More More options
Print post
Permalink
In reply to this post by JIRA jira@apache.org

    [ https://issues.apache.org/jira/browse/JCR-1233?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12576165#action_12576165 ]

Jukka Zitting commented on JCR-1233:
------------------------------------

Yes, I'm having second thoughts about this as well now that I looked at it again in more detail.

I'll come up with a proposed patch, but let's delay this until we need to change the PM interface for some other reason.

> Create org.apache.jackrabbit.core.id
> ------------------------------------
>
>                 Key: JCR-1233
>                 URL: https://issues.apache.org/jira/browse/JCR-1233
>             Project: Jackrabbit
>          Issue Type: Improvement
>          Components: jackrabbit-core
>            Reporter: Jukka Zitting
>            Priority: Minor
>
> I'd like to create a separate package for the identifier interfaces and classes in jackrabbit-core. Currently all the identifiers are in org.apache.jackrabbit.core, which makes almost all the other packages have dependencies to o.a.j.core and causes trouble for various package-level code quality and dependency analysis tools.
> For now the package would contain the ItemId, NodeId, and PropertyId classes.

--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

JIRA jira@apache.org

[jira] Commented: (JCR-1233) Create org.apache.jackrabbit.core.id

Reply Threaded More More options
Print post
Permalink
In reply to this post by JIRA jira@apache.org

    [ https://issues.apache.org/jira/browse/JCR-1233?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12576172#action_12576172 ]

Thomas Mueller commented on JCR-1233:
-------------------------------------

Why does it break persistence managers implementations?

> Create org.apache.jackrabbit.core.id
> ------------------------------------
>
>                 Key: JCR-1233
>                 URL: https://issues.apache.org/jira/browse/JCR-1233
>             Project: Jackrabbit
>          Issue Type: Improvement
>          Components: jackrabbit-core
>            Reporter: Jukka Zitting
>            Priority: Minor
>
> I'd like to create a separate package for the identifier interfaces and classes in jackrabbit-core. Currently all the identifiers are in org.apache.jackrabbit.core, which makes almost all the other packages have dependencies to o.a.j.core and causes trouble for various package-level code quality and dependency analysis tools.
> For now the package would contain the ItemId, NodeId, and PropertyId classes.

--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

JIRA jira@apache.org

[jira] Commented: (JCR-1233) Create org.apache.jackrabbit.core.id

Reply Threaded More More options
Print post
Permalink
In reply to this post by JIRA jira@apache.org

    [ https://issues.apache.org/jira/browse/JCR-1233?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12576218#action_12576218 ]

Marcel Reutegger commented on JCR-1233:
---------------------------------------

The various Ids are part of the method signatures of the persistence manager interface.

> Create org.apache.jackrabbit.core.id
> ------------------------------------
>
>                 Key: JCR-1233
>                 URL: https://issues.apache.org/jira/browse/JCR-1233
>             Project: Jackrabbit
>          Issue Type: Improvement
>          Components: jackrabbit-core
>            Reporter: Jukka Zitting
>            Priority: Minor
>
> I'd like to create a separate package for the identifier interfaces and classes in jackrabbit-core. Currently all the identifiers are in org.apache.jackrabbit.core, which makes almost all the other packages have dependencies to o.a.j.core and causes trouble for various package-level code quality and dependency analysis tools.
> For now the package would contain the ItemId, NodeId, and PropertyId classes.

--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

JIRA jira@apache.org

[jira] Commented: (JCR-1233) Create org.apache.jackrabbit.core.id

Reply Threaded More More options
Print post
Permalink
In reply to this post by JIRA jira@apache.org

    [ https://issues.apache.org/jira/browse/JCR-1233?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12576263#action_12576263 ]

Thomas Mueller commented on JCR-1233:
-------------------------------------

So the package name would change.
The persistence managers would have to be recompiled.
As far as I see that is an acceptable change for 1.5 (not for 1.4.x of course).

> Create org.apache.jackrabbit.core.id
> ------------------------------------
>
>                 Key: JCR-1233
>                 URL: https://issues.apache.org/jira/browse/JCR-1233
>             Project: Jackrabbit
>          Issue Type: Improvement
>          Components: jackrabbit-core
>            Reporter: Jukka Zitting
>            Priority: Minor
>
> I'd like to create a separate package for the identifier interfaces and classes in jackrabbit-core. Currently all the identifiers are in org.apache.jackrabbit.core, which makes almost all the other packages have dependencies to o.a.j.core and causes trouble for various package-level code quality and dependency analysis tools.
> For now the package would contain the ItemId, NodeId, and PropertyId classes.

--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

JIRA jira@apache.org

[jira] Commented: (JCR-1233) Create org.apache.jackrabbit.core.id

Reply Threaded More More options
Print post
Permalink
In reply to this post by JIRA jira@apache.org

    [ https://issues.apache.org/jira/browse/JCR-1233?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12577875#action_12577875 ]

Felix Meschberger commented on JCR-1233:
----------------------------------------

Just my €.02 from the perspective of an OSGi user and modularization lover: Having all these classes mixed with internal implementation code prevents proper separation of API and implementation and in fact prevents proper OSGi separation. For example, it would be almost impossible to make the API externally visible and not at the same time make the implementation visible ...

IMHO this is not a matter of  making "jackrabbit look better in code quality tools", it is a matter of good programming style (oh yeah, another one from pandorra's box) supporting separation of concern.

> Create org.apache.jackrabbit.core.id
> ------------------------------------
>
>                 Key: JCR-1233
>                 URL: https://issues.apache.org/jira/browse/JCR-1233
>             Project: Jackrabbit
>          Issue Type: Improvement
>          Components: jackrabbit-core
>            Reporter: Jukka Zitting
>            Priority: Minor
>
> I'd like to create a separate package for the identifier interfaces and classes in jackrabbit-core. Currently all the identifiers are in org.apache.jackrabbit.core, which makes almost all the other packages have dependencies to o.a.j.core and causes trouble for various package-level code quality and dependency analysis tools.
> For now the package would contain the ItemId, NodeId, and PropertyId classes.

--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

JIRA jira@apache.org

[jira] Commented: (JCR-1233) Create org.apache.jackrabbit.core.id

Reply Threaded More More options
Print post
Permalink
In reply to this post by JIRA jira@apache.org

    [ https://issues.apache.org/jira/browse/JCR-1233?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12577900#action_12577900 ]

Jukka Zitting commented on JCR-1233:
------------------------------------

Side note: IMHO for code to look good in code quality tools is or at least should be equivalent to good programming style. If not, then there's something wrong with the tools. :-)

As for why I think moving the Ids to a separate package is especially important for code quality tools: as long as they are in o.a.j.core many tools have trouble identifying circular dependencies and other design issues beyond the obvious o.a.j.core.foo -> o.a.j.core dependencies caused by the Id classes. Creating o.a.j.core.id will not solve those issues, but will at least make them more visible and thus easier to solve.

> Create org.apache.jackrabbit.core.id
> ------------------------------------
>
>                 Key: JCR-1233
>                 URL: https://issues.apache.org/jira/browse/JCR-1233
>             Project: Jackrabbit
>          Issue Type: Improvement
>          Components: jackrabbit-core
>            Reporter: Jukka Zitting
>            Priority: Minor
>
> I'd like to create a separate package for the identifier interfaces and classes in jackrabbit-core. Currently all the identifiers are in org.apache.jackrabbit.core, which makes almost all the other packages have dependencies to o.a.j.core and causes trouble for various package-level code quality and dependency analysis tools.
> For now the package would contain the ItemId, NodeId, and PropertyId classes.

--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

JIRA jira@apache.org

[jira] Resolved: (JCR-1233) Create org.apache.jackrabbit.core.id

Reply Threaded More More options
Print post
Permalink
In reply to this post by JIRA jira@apache.org

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

Jukka Zitting resolved JCR-1233.
--------------------------------

       Resolution: Fixed
    Fix Version/s: 2.0.0
         Assignee: Jukka Zitting

Done in revision 792437. Targeting for Jackrabbit 2.0.


> Create org.apache.jackrabbit.core.id
> ------------------------------------
>
>                 Key: JCR-1233
>                 URL: https://issues.apache.org/jira/browse/JCR-1233
>             Project: Jackrabbit Content Repository
>          Issue Type: Improvement
>          Components: jackrabbit-core
>            Reporter: Jukka Zitting
>            Assignee: Jukka Zitting
>            Priority: Minor
>             Fix For: 2.0.0
>
>
> I'd like to create a separate package for the identifier interfaces and classes in jackrabbit-core. Currently all the identifiers are in org.apache.jackrabbit.core, which makes almost all the other packages have dependencies to o.a.j.core and causes trouble for various package-level code quality and dependency analysis tools.
> For now the package would contain the ItemId, NodeId, and PropertyId classes.

--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.