[jira] [Updated] (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:all-tabpanel ] Konrad Windszus updated SLING-5741: --- Component/s: i18n > 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 > > 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 (v6.3.15#6346)
[jira] [Updated] (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:all-tabpanel ] Ankit Agarwal updated SLING-5741: - Affects Version/s: i18n 2.4.6 > 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 >Affects Versions: i18n 2.4.6 >Reporter: Ankit Agarwal > > 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 (v6.3.4#6332)
[jira] [Updated] (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:all-tabpanel ] Ankit Agarwal updated SLING-5741: - Description: 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. > 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 >Reporter: Ankit Agarwal > > 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 (v6.3.4#6332)