[ https://issues.apache.org/jira/browse/SLING-9036?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17581891#comment-17581891 ]
Henry Kuijpers commented on SLING-9036: --------------------------------------- Maybe, the other `unwrapRequest`-method in ModelAdapterFactory is not an issue. Or at least, not an issue for the problem that is being reported here. > Sling Models: SlingHttpServletRequestWrapper.adaptTo() unwraps before adapting > ------------------------------------------------------------------------------ > > Key: SLING-9036 > URL: https://issues.apache.org/jira/browse/SLING-9036 > Project: Sling > Issue Type: New Feature > Components: Sling Models > Reporter: Henry Kuijpers > Priority: Major > Fix For: Models Implementation 1.5.4 > > > Sling Model: > {code:java} > @Model(adaptables = SlingHttpServletRequest.class, adapters = > MySlingModel.class) > class MySlingModel { > @Inject > public MySlingModel(@Self SlingHttpServletRequest req) { > logger.log(req.getResourceBundle().getClass().getName()); > } > } > {code} > Calling code: > {code:java} > // req obtained via JSP/HTL > final SlingHttpServletRequest myWrappedReq = new > SlingHttpServletRequestWrapper(req) { > @Override > public ResourceBundle getResourceBundle() { > return new MyCustomResourceBundle(); > } > }; > > final MySlingModel myModel = myWrappedReq.adaptTo(MySlingModel.class); > {code} > I would expect the log file to contain "MyCustomResourceBundle". Instead it > contains "NullResourceBundle". > This is because the request is being "unwrapped" when doing the adaptTo() > call: It keeps on delegating to the wrapped request. This should not have > happened, i.e. how can we otherwise overwrite (parts of) requests and > resources? > See also: > [https://github.com/apache/sling-org-apache-sling-api/blob/master/src/main/java/org/apache/sling/api/wrappers/SlingHttpServletRequestWrapper.java#L147] -- This message was sent by Atlassian Jira (v8.20.10#820010)