[ 
https://issues.apache.org/jira/browse/OAK-7688?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16571416#comment-16571416
 ] 

Marcel Reutegger commented on OAK-7688:
---------------------------------------

See https://github.com/apache/jackrabbit-oak/compare/trunk...mreutegg:OAK-7688 
for the proposed changes.

They introduce a {{ValueFactoryStub}}, which is a partial implementation of a 
JCR ValueFactory. It works without a {{Root}} because it doesn't implement the 
blob related methods that need a {{Root}}. A {{ValueFactoryStub}} is sufficient 
as a replacement for the static method usages and at the same time acts as a 
base class for the {{ValueFactoryImpl}}. Both classes already come with support 
for a {{BlobAccessProvider}}. Though, it is not yet wired. This should be done 
in the context of OAK-7569.

The static methods are still there, but marked deprecated. There are no more 
usages of those methods in Oak with the proposed changes. My preference is 
actually to also remove the static methods on ValueFactoryImpl. The class is in 
an exported OSGi package, but not versioned, which means the package is 
considered Oak internal.

[~mduerig], WDYT?

> Replace usage of static ValueFactoryImpl methods
> ------------------------------------------------
>
>                 Key: OAK-7688
>                 URL: https://issues.apache.org/jira/browse/OAK-7688
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: store-spi
>            Reporter: Marcel Reutegger
>            Assignee: Marcel Reutegger
>            Priority: Minor
>              Labels: technical_debt
>             Fix For: 1.10
>
>
> The ValueFactoryImpl has a few static methods that are used to create a 
> {{Value}} from a {{PropertyState}} or {{PropertyValue}}. Those methods should 
> be refactored to make it easier to  add a {{BlobAccessProvider}} for OAK-7569.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to