[
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/[email protected]/msg06698.html
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.