Sergiy Shyrkov created JCR-3571:
-----------------------------------

             Summary: Light optimizatin 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.6, 2.5.3, 2.4.3, 2.2.13
            Reporter: Sergiy Shyrkov
            Priority: Minor


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