Hi Carsten,
thanks for the answer. That makes a lot of sense :-)
Konrad

> On 15. Nov 2021, at 08:00, Carsten Ziegeler <[email protected]> wrote:
> 
> Hi,
> 
> both (annotations and jcr code) are correct :)
> 
> In the general case, the annotations in ResolveContext are correct and all 
> those methods can return "null".
> 
> However, for resource providers requiring authentication, getProviderState() 
> will return the object returned by ResourceProvider#authenticate and the jcr 
> resource provider can safely assume that it will get this object there. 
> Therefore null checks are not necessary in the implementation
> 
> Regards
> Carsten
> 
> Am 14.11.2021 um 17:55 schrieb Konrad Windszus:
>> Hi,
>> according to 
>> https://github.com/apache/sling-org-apache-sling-api/blob/master/src/main/java/org/apache/sling/spi/resource/provider/ResolveContext.java
>>  all getter methods except for getResourceResolver() may return null.
>> Still e.g. in 
>> https://github.com/apache/sling-org-apache-sling-jcr-resource/blob/89bc0bb344d6c7f109f6e43ef5e87bda7c04d286/src/main/java/org/apache/sling/jcr/resource/internal/helper/jcr/JcrResourceProvider.java#L320
>>  their return values are very often dereferenced unconditionally.
>> Are the null annotation values/javadoc incorrect here or are there just null 
>> checks missing in JcrResourceProvider?
>> This came up in the context of 
>> https://issues.apache.org/jira/browse/SLING-10918
>> Thanks in advance for your input,
>> Konrad
> 
> -- 
> Carsten Ziegeler
> Adobe
> [email protected]
> aut

Reply via email to