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

Julian Reschke commented on JCR-741:
------------------------------------

> my point is to possibly avoid a call (by an spi implementation) to the store 
> and give an spi implementation the opportunity to implement the method as an 
> entirely local call. Would this work in your case, or would you still have to 
> ask the store to pick the right definition?

In my case it wouldn't make a difference; only the store knows the right answer.

> IMO we should remove the method RepositoryService.getPropertyDefinition() 
> anyway. It does not scale well and in almost all cases it can be infered from 
> the node type definition which property definition applies to a certain 
> property. I think the same also applies to child node definitions (jcr2spi 
> only uses the method to get the node definition for the root node).

+1 on removing stuff from the API that isn't used by JCR2SPI.

> Using the node type definition and its item definitions require much lesser 
> calls to the SPI than using getPropertyDefinition() and getNodeDefinition(). 
> So, I think jcr2spi does it the right way, even though it doesn't use 
> getPropertyDefinition().

Avoiding round-trips is good; we just need to make the special cases work. So 
what's the next step? Add resolvePropertyDefinition() as proposed?



> Handling of multiple residual prop defs in EffectiveNodeTypeImpl
> ----------------------------------------------------------------
>
>                 Key: JCR-741
>                 URL: https://issues.apache.org/jira/browse/JCR-741
>             Project: Jackrabbit
>          Issue Type: Bug
>          Components: SPI
>            Reporter: Julian Reschke
>         Assigned To: Julian Reschke
>            Priority: Minor
>
> org.apache.jackrabbit.jcr2spi.nodetype.EffectiveNodeTypeImpl currently 
> rejects multiple residual property definitions, if they do not differ in 
> getMultiple(). In fact, it should accept all combinations, so differing 
> values for getOnParentVersionAction and other aspects should be accepted as 
> well.
> See JSR 170, 6.7.8:
> "For purposes of the above, the notion of two definitions having the same 
> name does not apply to two residual definitions. Two (or more) residual 
> property or child node definitions with differing subattributes must be 
> permitted to co-exist in the same effective node type. They are interpreted 
> as disjunctive (ORed) options."

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

Reply via email to