[ 
https://issues.apache.org/jira/browse/JCR-3571?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sergiy Shyrkov updated JCR-3571:
--------------------------------

    Summary: Light optimization for CachingNameResolver.getJCRName(Name)  (was: 
Light optimizatin for CachingNameResolver.getJCRName(Name))
    
> Light optimization for CachingNameResolver.getJCRName(Name)
> -----------------------------------------------------------
>
>                 Key: JCR-3571
>                 URL: https://issues.apache.org/jira/browse/JCR-3571
>             Project: Jackrabbit Content Repository
>          Issue Type: Improvement
>          Components: jackrabbit-spi-commons
>    Affects Versions: 2.2.13, 2.4.3, 2.5.3, 2.6
>            Reporter: Sergiy Shyrkov
>            Priority: Minor
>             Fix For: 2.7
>
>         Attachments: CachingNameResolver.patch
>
>
> In case of a Name which has no namespace (name.getNamespaceURI().length() == 
> 0) there is perhaps no need to cache the resolved jcrName as it will be 
> getLocalName().
> If this is true, than I would like to suggest the following slight 
> optimization in the 
> org.apache.jackrabbit.spi.commons.conversion.CachingNameResolver.getJCRName(Name)
>  method:
>     public String getJCRName(Name name) throws NamespaceException {
>         if (name.getNamespaceURI().length() == 0) {
>             return name.getLocalName();
>         }
>         String jcrName = (String) cache.get(name);
> ...
> This will return earlier and "save" the lookup in the cache and further 
> cache.put() (the GenerationalCache.put(Object, Object) is synchronized so 
> avoiding the call makes things potentially faster).
> Thank you in advance!

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to