From Bugzilla Helper: User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0.1) Gecko/20021003 Description of problem: Recent addition of url-to-item caching to improve ItemResolver performance breaks template contexts, since current implementations rely on side effects of the Item resolution -- in particular the template context is parsed from the URL and set as a request attribute. Currently this is the first step of getItem -- calling a private method "stripTemplateFromURL(String url)" which sets the request attribute. We should do the following to solve this: 1) Add " String stripTemplateFromURL(String inURL);" to the ItemResolver interface 2) Modify any existing ItemResolver implementations (currently only SimpleItemResolver and MultilingualItemResolver, soon to be joined by CategoryItemResolverImpl) to implement the above method and remove any calls to it in getItem() 3) ContentSectionServlet should call stripTemplateFromURL on the URL before passing this to the ItemResolver, passing the modified URL to the ItemResolver implementation (or before grabbing the Item from the cache) Version-Release number of selected component (if applicable): How reproducible: Always Steps to Reproduce: 1.Using cached item instead of calling ItemResolver doesn't set the templateContext request attribute 2. 3. Additional info:
Doesn't depend on all of 91891, but it depends on the ItemResolver/TemplateResolver refactoring described there, as the current MultilingualItemResolver doesn't handle Template contexts correctly
fixed at changelist 32132