You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Stefan Seifert (JIRA)" <ji...@apache.org> on 2019/05/21 20:12:00 UTC

[jira] [Commented] (SLING-8272) ConfigurationBuilder: Add method to check for the existence of the config

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

Stefan Seifert commented on SLING-8272:
---------------------------------------

i've added the missing unit tests in the impl bundle

> ConfigurationBuilder: Add method to check for the existence of the config
> -------------------------------------------------------------------------
>
>                 Key: SLING-8272
>                 URL: https://issues.apache.org/jira/browse/SLING-8272
>             Project: Sling
>          Issue Type: Improvement
>          Components: Extensions
>    Affects Versions: Context-Aware Configuration API 1.1.2, Context-Aware Configuration Impl 1.4.14
>            Reporter: Konrad Windszus
>            Assignee: Konrad Windszus
>            Priority: Major
>             Fix For: Context-Aware Configuration API 1.1.4, Context-Aware Configuration Impl 1.4.18
>
>          Time Spent: 4h 50m
>  Remaining Estimate: 0h
>
> Sometimes it is desirable to check if a Context Aware Configuration is there at all via the high level API. Both methods {{as}} and {{asCollection}} will never return null, as they will always consider the default values. All other methods require to set at least a name.
> So to simply check if a CAC content resource is existing for a certain annotation class (defining a Context Aware Configuration) the following code is necessary:
> {code}
> ConfigurationBuilder builder = contentResource.adaptTo(ConfigurationBuilder.class);
> builder.name(<derive name from annotation type>).valueMap().isEmpty();
> {code}
> As there is no method exported to derive the name from an annotation type this would require additional custom code.
> I propose to add a simple 
> {code}
> boolean has(@NotNull java.lang.Class<T> clazz)
> {code}
> which is only then supposed to return {{true}} in case there is an underlying CAC content resource which can be adapted to the given class.
> Compare also with https://www.mail-archive.com/dev@sling.apache.org/msg83617.html.



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