You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "angela (JIRA)" <ji...@apache.org> on 2007/10/09 16:55:51 UTC

[jira] Created: (JCR-1169) Distribution of commons classes

Distribution of commons classes
-------------------------------

                 Key: JCR-1169
                 URL: https://issues.apache.org/jira/browse/JCR-1169
             Project: Jackrabbit
          Issue Type: Improvement
            Reporter: angela


jukka started a discussion regarding distribution of commons classes a while ago:

http://www.mail-archive.com/dev@jackrabbit.apache.org/msg06698.html



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


[jira] Commented: (JCR-1169) Distribution of commons classes

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

angela commented on JCR-1169:
-----------------------------

the new distribution of the commons classes is committed with rev. 586059.

please note, that up to know jackrabbit-core has not be touched and therefore still uses the deprecated jcr-commons classes that have been transfered to the spi-commons.

since jackrabbit-core should be adapted in order to reflect the changes made along with this 
issue, i'll leave it open and attach a patch as soon as i'm done (hopefully beginning next week).

> Distribution of commons classes
> -------------------------------
>
>                 Key: JCR-1169
>                 URL: https://issues.apache.org/jira/browse/JCR-1169
>             Project: Jackrabbit
>          Issue Type: Improvement
>            Reporter: angela
>            Assignee: angela
>         Attachments: jcr-commons.patch, spi-commons.patch, spi-commons_2.patch
>
>
> jukka started a discussion regarding distribution of commons classes a while ago:
> http://www.mail-archive.com/dev@jackrabbit.apache.org/msg06698.html

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


[jira] Updated: (JCR-1169) Distribution of commons classes

Posted by "Jukka Zitting (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/JCR-1169?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jukka Zitting updated JCR-1169:
-------------------------------

      Component/s: SPI
                   jackrabbit-core
    Fix Version/s: 1.4

> Distribution of commons classes
> -------------------------------
>
>                 Key: JCR-1169
>                 URL: https://issues.apache.org/jira/browse/JCR-1169
>             Project: Jackrabbit
>          Issue Type: Improvement
>          Components: jackrabbit-core, SPI
>            Reporter: angela
>            Assignee: angela
>             Fix For: 1.4
>
>         Attachments: core_2007_10_22.patch, jcr-commons.patch, spi-commons.patch, spi-commons_2.patch
>
>
> jukka started a discussion regarding distribution of commons classes a while ago:
> http://www.mail-archive.com/dev@jackrabbit.apache.org/msg06698.html

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


[jira] Commented: (JCR-1169) Distribution of commons classes

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

angela commented on JCR-1169:
-----------------------------

tobi suggested not to hide the Name/Path parsing in the NameResolver and PathResolver but instead
provide separate classes that take both Resolver and the Factory in order to validate the jcrName/jcrPath
and return the Name/Path objects.

the default implementation of the Resolver would then rather use that Builder/Format classes than
implementing the parsing itself.

i will integrate that suggestion in the spi-commons and upload an improved patch.

angela



> Distribution of commons classes
> -------------------------------
>
>                 Key: JCR-1169
>                 URL: https://issues.apache.org/jira/browse/JCR-1169
>             Project: Jackrabbit
>          Issue Type: Improvement
>            Reporter: angela
>         Attachments: jcr-commons.patch, spi-commons.patch
>
>
> jukka started a discussion regarding distribution of commons classes a while ago:
> http://www.mail-archive.com/dev@jackrabbit.apache.org/msg06698.html

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


[jira] Commented: (JCR-1169) Distribution of commons classes

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

angela commented on JCR-1169:
-----------------------------

any objects regarding the changes to be made to jackrabbit-core?

since QName/NamespaceResolver is omnipresent throughout jackrabbit-core, i'd like to apply the changes
soon in order to avoid a lot of conflicts with ongoing improvements and bug fixing.

> Distribution of commons classes
> -------------------------------
>
>                 Key: JCR-1169
>                 URL: https://issues.apache.org/jira/browse/JCR-1169
>             Project: Jackrabbit
>          Issue Type: Improvement
>          Components: jackrabbit-core, SPI
>            Reporter: angela
>            Assignee: angela
>             Fix For: 1.4
>
>         Attachments: core_2007_10_22.patch, jcr-commons.patch, spi-commons.patch, spi-commons_2.patch
>
>
> jukka started a discussion regarding distribution of commons classes a while ago:
> http://www.mail-archive.com/dev@jackrabbit.apache.org/msg06698.html

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


[jira] Commented: (JCR-1169) Distribution of commons classes

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

angela commented on JCR-1169:
-----------------------------

if nobody objects within the next couple of days, i assume that we are having lazy consensus on this issue
and will commit the changes.

in the mean time i will take a closer look at the various main projects and the contribs.
as long as jackrabbit-core still uses the deprecated QName/Path/*Resolver classes everything (except the spi
contribs) is expected to work fine.

still i think we should refactor jackrabbit-core not to use the deprecated classes anymore. I already started doing so
while waiting for feedback and will provide a patch. In any case this which will affect those contribs, that have a dependency on jackrabbit-core.

from what i have seen at a first glance these are:

- jackrabbit-jcr-import-export-tool
- jcrlog

all other contribution either don't depend on the core OR depend on a older version of the core. in those cases
i guess there is nothing we have to do.

> Distribution of commons classes
> -------------------------------
>
>                 Key: JCR-1169
>                 URL: https://issues.apache.org/jira/browse/JCR-1169
>             Project: Jackrabbit
>          Issue Type: Improvement
>            Reporter: angela
>         Attachments: jcr-commons.patch, spi-commons.patch, spi-commons_2.patch
>
>
> jukka started a discussion regarding distribution of commons classes a while ago:
> http://www.mail-archive.com/dev@jackrabbit.apache.org/msg06698.html

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


[jira] Updated: (JCR-1169) Distribution of commons classes

Posted by "angela (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/JCR-1169?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

angela updated JCR-1169:
------------------------

    Attachment: spi-commons.patch

> Distribution of commons classes
> -------------------------------
>
>                 Key: JCR-1169
>                 URL: https://issues.apache.org/jira/browse/JCR-1169
>             Project: Jackrabbit
>          Issue Type: Improvement
>            Reporter: angela
>         Attachments: jcr-commons.patch, spi-commons.patch
>
>
> jukka started a discussion regarding distribution of commons classes a while ago:
> http://www.mail-archive.com/dev@jackrabbit.apache.org/msg06698.html

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


[jira] Commented: (JCR-1169) Distribution of commons classes

Posted by "Julian Reschke (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JCR-1169?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12537321 ] 

Julian Reschke commented on JCR-1169:
-------------------------------------

Please go ahead. The sooner the changes are in, the more time we have to do fine-tuning before 1.4.


> Distribution of commons classes
> -------------------------------
>
>                 Key: JCR-1169
>                 URL: https://issues.apache.org/jira/browse/JCR-1169
>             Project: Jackrabbit
>          Issue Type: Improvement
>          Components: jackrabbit-core, SPI
>            Reporter: angela
>            Assignee: angela
>             Fix For: 1.4
>
>         Attachments: core_2007_10_22.patch, jcr-commons.patch, spi-commons.patch, spi-commons_2.patch
>
>
> jukka started a discussion regarding distribution of commons classes a while ago:
> http://www.mail-archive.com/dev@jackrabbit.apache.org/msg06698.html

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


[jira] Updated: (JCR-1169) Distribution of commons classes

Posted by "angela (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/JCR-1169?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

angela updated JCR-1169:
------------------------

    Attachment: core_2007_10_22.patch

Patch for jackrabbit-core replacing the usage of deprecated jcr-commons classes by
spi-commons.

Note, that i tried to minimize the number of lines changed instead of optimizing and passing *Resolver and *Factory classes around.

Please comment.



> Distribution of commons classes
> -------------------------------
>
>                 Key: JCR-1169
>                 URL: https://issues.apache.org/jira/browse/JCR-1169
>             Project: Jackrabbit
>          Issue Type: Improvement
>            Reporter: angela
>            Assignee: angela
>         Attachments: core_2007_10_22.patch, jcr-commons.patch, spi-commons.patch, spi-commons_2.patch
>
>
> jukka started a discussion regarding distribution of commons classes a while ago:
> http://www.mail-archive.com/dev@jackrabbit.apache.org/msg06698.html

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


[jira] Commented: (JCR-1169) Distribution of commons classes

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

angela commented on JCR-1169:
-----------------------------

my proposal (see also JCR-996 for the related issue defining Name/Path interfaces):

----------------------------------------------------------
jackrabbit-jcr-commons
----------------------------------------------------------

- modify without breaking existing dependencies to it.

- therefore rather deprecate than move classes related to
  internal functionality of a JCR impl.
  this mainly affects classes used for namespace handling and
  name/path conversion:

  > org.apache.jackrabbit.name.*.java
  > org.apache.jackrabbit.util.name.*.java

- in addition the following 'utility' classes:

  > org.apache.jackrabbit.util.PathMap
  > org.apache.jackrabbit.util.Locked
  > org.apache.jackrabbit.BaseException

- eventually deprecated methods that define param/return
  values to be any of the classes mentioned above

  > o.a.j.value.NameValue.valueOf(QName, NamespaceResolver)
  > o.a.j.util.ISO9075.encode(QName)
  > o.a.j.util.ISO9075.decode(QName)

- move the alternative ValueFactory implementation that
  does not require a reference value to be a UUID from
  jackrabbit-spi-commons to the o.a.j.value package.


----------------------------------------------------------
jackrabbit-spi-commons
----------------------------------------------------------

- copy classes that have been deprecated in jcr-commons
  to different packages in the spi-commons.
  e.g.

  > namespace handling      -> o.a.j.namespace
  > name/path conversion    -> o.a.j.conversion
  > creation Name/Path      -> o.a.j.name
  > o.a.j.util.PathMap      -> o.a.j.name (?)
  > o.a.j.util.Locked       -> o.a.j.lock (?)

- replace usages of QName/Path within the conversion
  and utility classes with Name/Path interfaces

- provide default factories for both Name and Path based
  on the current QName and Path classes.

- get rid of duplicate conversion functionality provided
  both by *Resolver interfaces and by *Format classes.
  i would opt for using the *Resolver interfaces.

- add o.a.j.name.NameConstants for the various predefined
  and widely used names.

- since the proposed Name/Path interfaces do currently
  not make usage of the BaseException but rather use
  RepositoryException, i would in addition suggest to
  make the various internal exceptions extend RepositoryExc.

> Distribution of commons classes
> -------------------------------
>
>                 Key: JCR-1169
>                 URL: https://issues.apache.org/jira/browse/JCR-1169
>             Project: Jackrabbit
>          Issue Type: Improvement
>            Reporter: angela
>
> jukka started a discussion regarding distribution of commons classes a while ago:
> http://www.mail-archive.com/dev@jackrabbit.apache.org/msg06698.html

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


[jira] Resolved: (JCR-1169) Distribution of commons classes

Posted by "angela (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/JCR-1169?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

angela resolved JCR-1169.
-------------------------

    Resolution: Fixed

committed changes to jackrabbit-core (see patch) with minor adjustments due to recent changes
made to the query packages.

completed with revision: 590014  


> Distribution of commons classes
> -------------------------------
>
>                 Key: JCR-1169
>                 URL: https://issues.apache.org/jira/browse/JCR-1169
>             Project: Jackrabbit
>          Issue Type: Improvement
>          Components: jackrabbit-core, SPI
>            Reporter: angela
>            Assignee: angela
>             Fix For: 1.4
>
>         Attachments: core_2007_10_22.patch, jcr-commons.patch, spi-commons.patch, spi-commons_2.patch
>
>
> jukka started a discussion regarding distribution of commons classes a while ago:
> http://www.mail-archive.com/dev@jackrabbit.apache.org/msg06698.html

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


[jira] Commented: (JCR-1169) Distribution of commons classes

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

angela commented on JCR-1169:
-----------------------------

> I wouldn't be too concerned

yes, but i know how it feels running after changes in the core. that is really embarrassing :)

after all...
i think the 'version' entry in the pom.xml (or project.xml) gives pretty much a hint, whether
a contrib is being used.



> Distribution of commons classes
> -------------------------------
>
>                 Key: JCR-1169
>                 URL: https://issues.apache.org/jira/browse/JCR-1169
>             Project: Jackrabbit
>          Issue Type: Improvement
>            Reporter: angela
>         Attachments: jcr-commons.patch, spi-commons.patch, spi-commons_2.patch
>
>
> jukka started a discussion regarding distribution of commons classes a while ago:
> http://www.mail-archive.com/dev@jackrabbit.apache.org/msg06698.html

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


[jira] Commented: (JCR-1169) Distribution of commons classes

Posted by "Jukka Zitting (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JCR-1169?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12536624 ] 

Jukka Zitting commented on JCR-1169:
------------------------------------

+1 I like the direction we're going with this.

I guess the main counter-argument to the patch would be the introduction of the spi and spi-commons dependencies in jackrabbit-core. I'm in favor of introducing those dependencies already now, in time for 1.4.

PS. Could we put everything in jackrabbit-spi-commons into org.apache.jackrabbit.spi.commons subpackages? With the current layout it's not obvious which component contains a class like org.apache.jackrabbit.name.NameConstants.

> Distribution of commons classes
> -------------------------------
>
>                 Key: JCR-1169
>                 URL: https://issues.apache.org/jira/browse/JCR-1169
>             Project: Jackrabbit
>          Issue Type: Improvement
>            Reporter: angela
>            Assignee: angela
>         Attachments: core_2007_10_22.patch, jcr-commons.patch, spi-commons.patch, spi-commons_2.patch
>
>
> jukka started a discussion regarding distribution of commons classes a while ago:
> http://www.mail-archive.com/dev@jackrabbit.apache.org/msg06698.html

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


[jira] Commented: (JCR-1169) Distribution of commons classes

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

angela commented on JCR-1169:
-----------------------------

> Could we put everything in jackrabbit-spi-commons into org.apache.jackrabbit.spi.commons

fine with me.
however, i would first refactor the core and rearrange the packages afterwards (i.e. let the develoment
environment adjust the import statements).

> Distribution of commons classes
> -------------------------------
>
>                 Key: JCR-1169
>                 URL: https://issues.apache.org/jira/browse/JCR-1169
>             Project: Jackrabbit
>          Issue Type: Improvement
>            Reporter: angela
>            Assignee: angela
>         Attachments: core_2007_10_22.patch, jcr-commons.patch, spi-commons.patch, spi-commons_2.patch
>
>
> jukka started a discussion regarding distribution of commons classes a while ago:
> http://www.mail-archive.com/dev@jackrabbit.apache.org/msg06698.html

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


[jira] Assigned: (JCR-1169) Distribution of commons classes

Posted by "angela (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/JCR-1169?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

angela reassigned JCR-1169:
---------------------------

    Assignee: angela

> Distribution of commons classes
> -------------------------------
>
>                 Key: JCR-1169
>                 URL: https://issues.apache.org/jira/browse/JCR-1169
>             Project: Jackrabbit
>          Issue Type: Improvement
>            Reporter: angela
>            Assignee: angela
>         Attachments: jcr-commons.patch, spi-commons.patch, spi-commons_2.patch
>
>
> jukka started a discussion regarding distribution of commons classes a while ago:
> http://www.mail-archive.com/dev@jackrabbit.apache.org/msg06698.html

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


[jira] Commented: (JCR-1169) Distribution of commons classes

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

angela commented on JCR-1169:
-----------------------------

see JCR-996 (https://issues.apache.org/jira/browse/JCR-996) for the patch defining Path/Name interfaces and the corresponding factories.

> Distribution of commons classes
> -------------------------------
>
>                 Key: JCR-1169
>                 URL: https://issues.apache.org/jira/browse/JCR-1169
>             Project: Jackrabbit
>          Issue Type: Improvement
>            Reporter: angela
>         Attachments: jcr-commons.patch, spi-commons.patch
>
>
> jukka started a discussion regarding distribution of commons classes a while ago:
> http://www.mail-archive.com/dev@jackrabbit.apache.org/msg06698.html

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


[jira] Updated: (JCR-1169) Distribution of commons classes

Posted by "angela (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/JCR-1169?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

angela updated JCR-1169:
------------------------

    Attachment: jcr-commons.patch

> Distribution of commons classes
> -------------------------------
>
>                 Key: JCR-1169
>                 URL: https://issues.apache.org/jira/browse/JCR-1169
>             Project: Jackrabbit
>          Issue Type: Improvement
>            Reporter: angela
>         Attachments: jcr-commons.patch, spi-commons.patch
>
>
> jukka started a discussion regarding distribution of commons classes a while ago:
> http://www.mail-archive.com/dev@jackrabbit.apache.org/msg06698.html

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


[jira] Commented: (JCR-1169) Distribution of commons classes

Posted by "Jukka Zitting (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JCR-1169?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12535284 ] 

Jukka Zitting commented on JCR-1169:
------------------------------------

I wouldn't be too concerned about breaking the contrib projects. If peopel are actively using the tools, they'll come up with patches to keep up with latest changes. If not, then the contrib project in question isn't worth maintaining in the first place.

In fact breaking the contrib builds every now and then is actually a good way to check whether there's enough interest in promoting them into release components. :-)

> Distribution of commons classes
> -------------------------------
>
>                 Key: JCR-1169
>                 URL: https://issues.apache.org/jira/browse/JCR-1169
>             Project: Jackrabbit
>          Issue Type: Improvement
>            Reporter: angela
>         Attachments: jcr-commons.patch, spi-commons.patch, spi-commons_2.patch
>
>
> jukka started a discussion regarding distribution of commons classes a while ago:
> http://www.mail-archive.com/dev@jackrabbit.apache.org/msg06698.html

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


[jira] Updated: (JCR-1169) Distribution of commons classes

Posted by "angela (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/JCR-1169?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

angela updated JCR-1169:
------------------------

    Attachment: spi-commons_2.patch

patch including suggestions by tobi:

- o.a.j.conversion.NameParser 
- o.a.j.conversion.PathParser

that provide parsing utilities for JCR names (parsing code written by tobi).
they are now used within the ParsingNameResolver and ParsingPathResolver instead of having a separate parsing there. 

In addition i decided to

- remove the NameCache interface.
  This has been used by NamespaceResolver orginally. Now that the 
   NamespaceResolver is limited to its original functionality (namespaces) and
   does not deal with Name any more.
   For caching Names and Paths the Caching*Resolver (or a similar 
   implementation of the Name- and PathResolver interfaces should be used.

- Name- and PathResolver interfaces destinguish between 
  > IllegalNameException and 
  > MalformedPathException.



> Distribution of commons classes
> -------------------------------
>
>                 Key: JCR-1169
>                 URL: https://issues.apache.org/jira/browse/JCR-1169
>             Project: Jackrabbit
>          Issue Type: Improvement
>            Reporter: angela
>         Attachments: jcr-commons.patch, spi-commons.patch, spi-commons_2.patch
>
>
> jukka started a discussion regarding distribution of commons classes a while ago:
> http://www.mail-archive.com/dev@jackrabbit.apache.org/msg06698.html

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