[ 
http://issues.apache.org/jira/browse/JCR-473?page=comments#action_12419453 ] 

Tobias Bocanegra commented on JCR-473:
--------------------------------------

> Tobias:
> > jukka, you're right
>
> It was Angela, credit where credit is due. :-) 
but i ment 'jukka'. it was a response to your post :-)

> - ValueFactoryImpl: ValueFactory.createValue(String value, int type) does
>   not call the ValueHelper any more. Instead it creates the value objects on 
> its own.
but it must possible to have both. imo there is a convertion from:
string,type -> Value
string,type -> Internal-Value-Object

where the first needs a value factory and the second the namespace resolver.
internal value only uses the second. IMO, this can be all solved in the 
ValueHelper.

btw: can we do 2 patches, one with the valuestuff and one with the QName/Path 
stuff ?
i think we all agree on the later.

> Some enhancements to jackrabbit commons
> ---------------------------------------
>
>          Key: JCR-473
>          URL: http://issues.apache.org/jira/browse/JCR-473
>      Project: Jackrabbit
>         Type: Improvement

>     Versions: 1.0
>     Reporter: angela
>     Assignee: angela
>  Attachments: JCR-473_rev_417443.patch
>
> I would like to suggest a couple of  enhancements to the commons module. 
> The patch was created against rev. 417443 and the tests did not reveal any 
> problems.
> Summary of suggestion modifications:
> QName
> -------------------------------------------------------------------------------------------------------------------------
> - reduce QName to its core functionality and put conversion from and to JCR 
> name to
>   a separate class 'NameFormat'
> - in order not to break existing code, all methods that deal with the 
> conversion in QName
>   are marked deprecated.
> - add constant for the name of the root node.
> Path
> -------------------------------------------------------------------------------------------------------------------------
> - reduce Path to its core functionality and put conversion from and to JCR 
> path to
>   a separate class 'PathFormat'
> - in order not to break existing code, all methods that deal with the 
> conversion in Path
>   are marked deprecated.
> - introduce new constants for UNDEFINED_INDEX (0) and DEFAULT_INDEX (1), that
>    are currently hardcoded throughout  the jackrabbit project.
> - new method Path.getElement(int) [PathElement]
> - make PathElement constants public (used by PathFormat)
> Path.PathBuilder
> -------------------------------------------------------------------------------------------------------------------------
> - additional constructor  PathBuilder(Path)
> Path.PathElement
> -------------------------------------------------------------------------------------------------------------------------
> - add PathElement.getNormalizedIndex() that always asserts a 1-based index.
> - change subclasses to be private (no usage within the jackrabbit, except 
> inside Path).
> PathMap
> -------------------------------------------------------------------------------------------------------------------------
> - move o.a.j.core.PathMap  to o.a.j.util.PathMap in order to make it 
> available in the
>   commons module.
> NamespaceResolver
> -------------------------------------------------------------------------------------------------------------------------
> - add methods for resolution of paths:
>    > getQPath(String jcrPath) [Path]
>    > getJCRPath(Path qPath) [String]
> NamespaceListener
> -------------------------------------------------------------------------------------------------------------------------
> - add method 'namespaceRemove(String)'
> ValueHelper
> -------------------------------------------------------------------------------------------------------------------------
> currently  JCR value objects are 'manually' created in the ValueHelper 
> despite the
> fact, that JSR170 defines a ValueFactory interface. Consequently the 
> ValueHelper
> present in the commons module can only be used by implementations that use
> the same value implementations.
> - add new helper methods that take a ValueFactory as argument.
> - in order not to break existing code the original methods are marked 
> deprecated and
>   may be removed at a later time.
> consequently:
> - modify signature of  InternalValue.create that include a value conversion 
> to take a
>   ValueFactory param and adjust all usages inside the core package.
> ValueFactoryImpl
> -------------------------------------------------------------------------------------------------------------------------
> - createValue(String, int ): used to call the conversion on ValueHelper. with 
> the 
>    changes suggested to ValueHelper, the code must be changed in order to
>    created instances of the Value implementations within the factory.
> - together with the modification to ValueHelper, stefan suggested to replace 
> the public 
>   constructor with a static 'getInstance' method. All usages within 
> jackrabbit.core, were
>    modified accordingly.
> Text
> -------------------------------------------------------------------------------------------------------------------------
> - add getName(String, boolean) where the boolean flag indicates whether  a 
> trailing slash 
>    should be ignored.
> - add getRelativeParent(String, int, boolean) where the boolean flag 
> indicates whether  a 
>   trailing slash should be ignored.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to