You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Joerg Hoh (Jira)" <ji...@apache.org> on 2021/11/01 16:12:00 UTC

[jira] [Commented] (SLING-5741) discarding complete ResourceBundleCache in case of JSON dictionary

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

Joerg Hoh commented on SLING-5741:
----------------------------------

The linked PR is already closed, with SLING-5708 still open. Can this ticket be closed? 

> discarding complete ResourceBundleCache in case of JSON dictionary
> ------------------------------------------------------------------
>
>                 Key: SLING-5741
>                 URL: https://issues.apache.org/jira/browse/SLING-5741
>             Project: Sling
>          Issue Type: Bug
>          Components: Extensions, i18n
>    Affects Versions: i18n 2.4.6
>            Reporter: Ankit Agarwal
>            Priority: Major
>
> In case user is using JSON dictionary then condition mentioned here https://github.com/apache/sling/blob/trunk/bundles/extensions/i18n/src/main/java/org/apache/sling/i18n/impl/JcrResourceBundleProvider.java#L198
> will becomes true for any change in languagerootpaths which are cached. And this will discard complete resource bundle cache. which is different if user is using sling:Message dictionary.
> for example user has json dictionary at path  
> "/libs/test/i18n/de.json"
> and also resource bundle for language "de" is cached so , "libs/test/i18n/de.json" will be in languageRootPaths.
> So any change at "/libs/test/i18n/de.json" will discard complete resourcebundleCache.
> Where as in case of  sling:dictionary 
> languageRootPath will be like "/libs/test/i18n/de" 
> and any change in this dictionary will have path like this "/libs/test/i18n/de/testMessage" so condition becomes false and complete resourcebundleCache. will not be discarded.
> Can we improve this, like if condition becomes true, than check among the cached resourceBundle to which resourceBundle this path belongs to and than discarding that resourceBundle. and if this resourceBundle is parent of any ResourceBundle then discard that too. 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)