[jira] [Commented] (TAP5-2659) Direct instantiation of ComponentResourceSelector should be replaced with delegation to ComponentRequestSelectorAnalyzer

2021-06-20 Thread Gamel Alomaisi (Jira)


[ 
https://issues.apache.org/jira/browse/TAP5-2659?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17366113#comment-17366113
 ] 

Gamel Alomaisi commented on TAP5-2659:
--

T

> Direct instantiation of ComponentResourceSelector should be replaced with 
> delegation to ComponentRequestSelectorAnalyzer
> 
>
> Key: TAP5-2659
> URL: https://issues.apache.org/jira/browse/TAP5-2659
> Project: Tapestry 5
>  Issue Type: Bug
>  Components: tapestry-core
>Reporter: Dmitry Gusev
>Assignee: Thiago Henrique De Paula Figueiredo
>Priority: Major
> Fix For: 5.6.2, 5.7.0
>
>
> Some implementation methods in tapestry core still use direct instantiation 
> of {{ComponentResourceSelector}} instead of delegating to 
> {{ComponentRequestSelectorAnalyzer}}, namely:
> in {{ComponentMessageSourceImpl.java}}
>  
> {code:java}
> public Messages getMessages(ComponentModel componentModel, Locale locale)
> {
>     return getMessages(componentModel, new ComponentResourceSelector(locale));
> }
> public Messages getApplicationCatalog(Locale locale)
> {
> return messagesSource.getMessages(appCatalogBundle, new 
> ComponentResourceSelector(locale));
> } 
> {code}
> in {{ComponentTemplateSourceImpl.java}}
>  
> {code:java}
> public ComponentTemplate getTemplate(ComponentModel componentModel, Locale 
> locale)
> {
>     return getTemplate(componentModel, new ComponentResourceSelector(locale));
> }{code}
> Which makes it impossible to use axes with message bundles and component 
> templates.
>  
> Default implementation of {{ComponentRequestSelectorAnalyzer}} interface uses 
> {{ThreadLocale}} instead of directly passed Locale instance. To workaround 
> this above methods may temporarily set passed locale into ThreadLocal and 
> restore original value after `#buildSelectorForRequest` is returned, i.e.:
> {code:java}
> public Messages getMessages(ComponentModel componentModel, Locale locale)
> {
> Locale original = threadLocale.getLocale();
> try
> {
> threadLocale.setLocale(locale);
> return getMessages(componentModel, 
> analyzer.buildSelectorForRequest());
> }
> finally
> {
> threadLocale.setLocale(original);
> }
> }{code}
> {{}}
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (TAP5-2659) Direct instantiation of ComponentResourceSelector should be replaced with delegation to ComponentRequestSelectorAnalyzer

2021-01-30 Thread Hudson (Jira)


[ 
https://issues.apache.org/jira/browse/TAP5-2659?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17275664#comment-17275664
 ] 

Hudson commented on TAP5-2659:
--

SUCCESS: Integrated in Jenkins build Tapestry » tapestry-5.6-freestyle #12 (See 
[https://ci-builds.apache.org/job/Tapestry/job/tapestry-5.6-freestyle/12/])
TAP5-2659: fixing bad merge again (thiago: rev 
7edee2995d0d17401f4c0bfd40a316d7a04ad276)
* (edit) 
tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ComponentMessagesSourceImplTest.java


> Direct instantiation of ComponentResourceSelector should be replaced with 
> delegation to ComponentRequestSelectorAnalyzer
> 
>
> Key: TAP5-2659
> URL: https://issues.apache.org/jira/browse/TAP5-2659
> Project: Tapestry 5
>  Issue Type: Bug
>  Components: tapestry-core
>Reporter: Dmitry Gusev
>Assignee: Thiago Henrique De Paula Figueiredo
>Priority: Major
> Fix For: 5.6.2, 5.7.0
>
>
> Some implementation methods in tapestry core still use direct instantiation 
> of {{ComponentResourceSelector}} instead of delegating to 
> {{ComponentRequestSelectorAnalyzer}}, namely:
> in {{ComponentMessageSourceImpl.java}}
>  
> {code:java}
> public Messages getMessages(ComponentModel componentModel, Locale locale)
> {
>     return getMessages(componentModel, new ComponentResourceSelector(locale));
> }
> public Messages getApplicationCatalog(Locale locale)
> {
> return messagesSource.getMessages(appCatalogBundle, new 
> ComponentResourceSelector(locale));
> } 
> {code}
> in {{ComponentTemplateSourceImpl.java}}
>  
> {code:java}
> public ComponentTemplate getTemplate(ComponentModel componentModel, Locale 
> locale)
> {
>     return getTemplate(componentModel, new ComponentResourceSelector(locale));
> }{code}
> Which makes it impossible to use axes with message bundles and component 
> templates.
>  
> Default implementation of {{ComponentRequestSelectorAnalyzer}} interface uses 
> {{ThreadLocale}} instead of directly passed Locale instance. To workaround 
> this above methods may temporarily set passed locale into ThreadLocal and 
> restore original value after `#buildSelectorForRequest` is returned, i.e.:
> {code:java}
> public Messages getMessages(ComponentModel componentModel, Locale locale)
> {
> Locale original = threadLocale.getLocale();
> try
> {
> threadLocale.setLocale(locale);
> return getMessages(componentModel, 
> analyzer.buildSelectorForRequest());
> }
> finally
> {
> threadLocale.setLocale(original);
> }
> }{code}
> {{}}
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (TAP5-2659) Direct instantiation of ComponentResourceSelector should be replaced with delegation to ComponentRequestSelectorAnalyzer

2021-01-30 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/TAP5-2659?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17275654#comment-17275654
 ] 

ASF subversion and git services commented on TAP5-2659:
---

Commit 7edee2995d0d17401f4c0bfd40a316d7a04ad276 in tapestry-5's branch 
refs/heads/5.6.x from Thiago H. de Paula Figueiredo
[ https://gitbox.apache.org/repos/asf?p=tapestry-5.git;h=7edee29 ]

TAP5-2659: fixing bad merge again

> Direct instantiation of ComponentResourceSelector should be replaced with 
> delegation to ComponentRequestSelectorAnalyzer
> 
>
> Key: TAP5-2659
> URL: https://issues.apache.org/jira/browse/TAP5-2659
> Project: Tapestry 5
>  Issue Type: Bug
>  Components: tapestry-core
>Reporter: Dmitry Gusev
>Assignee: Thiago Henrique De Paula Figueiredo
>Priority: Major
> Fix For: 5.6.2, 5.7.0
>
>
> Some implementation methods in tapestry core still use direct instantiation 
> of {{ComponentResourceSelector}} instead of delegating to 
> {{ComponentRequestSelectorAnalyzer}}, namely:
> in {{ComponentMessageSourceImpl.java}}
>  
> {code:java}
> public Messages getMessages(ComponentModel componentModel, Locale locale)
> {
>     return getMessages(componentModel, new ComponentResourceSelector(locale));
> }
> public Messages getApplicationCatalog(Locale locale)
> {
> return messagesSource.getMessages(appCatalogBundle, new 
> ComponentResourceSelector(locale));
> } 
> {code}
> in {{ComponentTemplateSourceImpl.java}}
>  
> {code:java}
> public ComponentTemplate getTemplate(ComponentModel componentModel, Locale 
> locale)
> {
>     return getTemplate(componentModel, new ComponentResourceSelector(locale));
> }{code}
> Which makes it impossible to use axes with message bundles and component 
> templates.
>  
> Default implementation of {{ComponentRequestSelectorAnalyzer}} interface uses 
> {{ThreadLocale}} instead of directly passed Locale instance. To workaround 
> this above methods may temporarily set passed locale into ThreadLocal and 
> restore original value after `#buildSelectorForRequest` is returned, i.e.:
> {code:java}
> public Messages getMessages(ComponentModel componentModel, Locale locale)
> {
> Locale original = threadLocale.getLocale();
> try
> {
> threadLocale.setLocale(locale);
> return getMessages(componentModel, 
> analyzer.buildSelectorForRequest());
> }
> finally
> {
> threadLocale.setLocale(original);
> }
> }{code}
> {{}}
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (TAP5-2659) Direct instantiation of ComponentResourceSelector should be replaced with delegation to ComponentRequestSelectorAnalyzer

2021-01-30 Thread Hudson (Jira)


[ 
https://issues.apache.org/jira/browse/TAP5-2659?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17275647#comment-17275647
 ] 

Hudson commented on TAP5-2659:
--

SUCCESS: Integrated in Jenkins build Tapestry » tapestry-trunk-freestyle #68 
(See 
[https://ci-builds.apache.org/job/Tapestry/job/tapestry-trunk-freestyle/68/])
TAP5-2659: wrong locale being picked up when using axis (thiago: rev 
b4e776a80c70ef0e8caf81d15356078c840215b0)
* (edit) 
tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentMessagesSourceImpl.java
* (edit) 
tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ComponentMessagesSourceImplTest.java
* (edit) 
tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentTemplateSourceImpl.java
* (edit) 
tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ComponentTemplateSourceImplTest.java


> Direct instantiation of ComponentResourceSelector should be replaced with 
> delegation to ComponentRequestSelectorAnalyzer
> 
>
> Key: TAP5-2659
> URL: https://issues.apache.org/jira/browse/TAP5-2659
> Project: Tapestry 5
>  Issue Type: Bug
>  Components: tapestry-core
>Reporter: Dmitry Gusev
>Assignee: Thiago Henrique De Paula Figueiredo
>Priority: Major
> Fix For: 5.6.2, 5.7.0
>
>
> Some implementation methods in tapestry core still use direct instantiation 
> of {{ComponentResourceSelector}} instead of delegating to 
> {{ComponentRequestSelectorAnalyzer}}, namely:
> in {{ComponentMessageSourceImpl.java}}
>  
> {code:java}
> public Messages getMessages(ComponentModel componentModel, Locale locale)
> {
>     return getMessages(componentModel, new ComponentResourceSelector(locale));
> }
> public Messages getApplicationCatalog(Locale locale)
> {
> return messagesSource.getMessages(appCatalogBundle, new 
> ComponentResourceSelector(locale));
> } 
> {code}
> in {{ComponentTemplateSourceImpl.java}}
>  
> {code:java}
> public ComponentTemplate getTemplate(ComponentModel componentModel, Locale 
> locale)
> {
>     return getTemplate(componentModel, new ComponentResourceSelector(locale));
> }{code}
> Which makes it impossible to use axes with message bundles and component 
> templates.
>  
> Default implementation of {{ComponentRequestSelectorAnalyzer}} interface uses 
> {{ThreadLocale}} instead of directly passed Locale instance. To workaround 
> this above methods may temporarily set passed locale into ThreadLocal and 
> restore original value after `#buildSelectorForRequest` is returned, i.e.:
> {code:java}
> public Messages getMessages(ComponentModel componentModel, Locale locale)
> {
> Locale original = threadLocale.getLocale();
> try
> {
> threadLocale.setLocale(locale);
> return getMessages(componentModel, 
> analyzer.buildSelectorForRequest());
> }
> finally
> {
> threadLocale.setLocale(original);
> }
> }{code}
> {{}}
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (TAP5-2659) Direct instantiation of ComponentResourceSelector should be replaced with delegation to ComponentRequestSelectorAnalyzer

2021-01-30 Thread Hudson (Jira)


[ 
https://issues.apache.org/jira/browse/TAP5-2659?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17275616#comment-17275616
 ] 

Hudson commented on TAP5-2659:
--

FAILURE: Integrated in Jenkins build Tapestry » tapestry-5.6-freestyle #11 (See 
[https://ci-builds.apache.org/job/Tapestry/job/tapestry-5.6-freestyle/11/])
TAP5-2659: fixing bad merge (thiago: rev 
4003ff2f7c1bc646e670757a6b1c000fc178432f)
* (edit) 
tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ComponentTemplateSourceImplTest.java


> Direct instantiation of ComponentResourceSelector should be replaced with 
> delegation to ComponentRequestSelectorAnalyzer
> 
>
> Key: TAP5-2659
> URL: https://issues.apache.org/jira/browse/TAP5-2659
> Project: Tapestry 5
>  Issue Type: Bug
>  Components: tapestry-core
>Reporter: Dmitry Gusev
>Assignee: Thiago Henrique De Paula Figueiredo
>Priority: Major
> Fix For: 5.6.2, 5.7.0
>
>
> Some implementation methods in tapestry core still use direct instantiation 
> of {{ComponentResourceSelector}} instead of delegating to 
> {{ComponentRequestSelectorAnalyzer}}, namely:
> in {{ComponentMessageSourceImpl.java}}
>  
> {code:java}
> public Messages getMessages(ComponentModel componentModel, Locale locale)
> {
>     return getMessages(componentModel, new ComponentResourceSelector(locale));
> }
> public Messages getApplicationCatalog(Locale locale)
> {
> return messagesSource.getMessages(appCatalogBundle, new 
> ComponentResourceSelector(locale));
> } 
> {code}
> in {{ComponentTemplateSourceImpl.java}}
>  
> {code:java}
> public ComponentTemplate getTemplate(ComponentModel componentModel, Locale 
> locale)
> {
>     return getTemplate(componentModel, new ComponentResourceSelector(locale));
> }{code}
> Which makes it impossible to use axes with message bundles and component 
> templates.
>  
> Default implementation of {{ComponentRequestSelectorAnalyzer}} interface uses 
> {{ThreadLocale}} instead of directly passed Locale instance. To workaround 
> this above methods may temporarily set passed locale into ThreadLocal and 
> restore original value after `#buildSelectorForRequest` is returned, i.e.:
> {code:java}
> public Messages getMessages(ComponentModel componentModel, Locale locale)
> {
> Locale original = threadLocale.getLocale();
> try
> {
> threadLocale.setLocale(locale);
> return getMessages(componentModel, 
> analyzer.buildSelectorForRequest());
> }
> finally
> {
> threadLocale.setLocale(original);
> }
> }{code}
> {{}}
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (TAP5-2659) Direct instantiation of ComponentResourceSelector should be replaced with delegation to ComponentRequestSelectorAnalyzer

2021-01-30 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/TAP5-2659?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17275611#comment-17275611
 ] 

ASF subversion and git services commented on TAP5-2659:
---

Commit 4003ff2f7c1bc646e670757a6b1c000fc178432f in tapestry-5's branch 
refs/heads/5.6.x from Thiago H. de Paula Figueiredo
[ https://gitbox.apache.org/repos/asf?p=tapestry-5.git;h=4003ff2 ]

TAP5-2659: fixing bad merge

> Direct instantiation of ComponentResourceSelector should be replaced with 
> delegation to ComponentRequestSelectorAnalyzer
> 
>
> Key: TAP5-2659
> URL: https://issues.apache.org/jira/browse/TAP5-2659
> Project: Tapestry 5
>  Issue Type: Bug
>  Components: tapestry-core
>Reporter: Dmitry Gusev
>Assignee: Thiago Henrique De Paula Figueiredo
>Priority: Major
> Fix For: 5.6.2, 5.7.0
>
>
> Some implementation methods in tapestry core still use direct instantiation 
> of {{ComponentResourceSelector}} instead of delegating to 
> {{ComponentRequestSelectorAnalyzer}}, namely:
> in {{ComponentMessageSourceImpl.java}}
>  
> {code:java}
> public Messages getMessages(ComponentModel componentModel, Locale locale)
> {
>     return getMessages(componentModel, new ComponentResourceSelector(locale));
> }
> public Messages getApplicationCatalog(Locale locale)
> {
> return messagesSource.getMessages(appCatalogBundle, new 
> ComponentResourceSelector(locale));
> } 
> {code}
> in {{ComponentTemplateSourceImpl.java}}
>  
> {code:java}
> public ComponentTemplate getTemplate(ComponentModel componentModel, Locale 
> locale)
> {
>     return getTemplate(componentModel, new ComponentResourceSelector(locale));
> }{code}
> Which makes it impossible to use axes with message bundles and component 
> templates.
>  
> Default implementation of {{ComponentRequestSelectorAnalyzer}} interface uses 
> {{ThreadLocale}} instead of directly passed Locale instance. To workaround 
> this above methods may temporarily set passed locale into ThreadLocal and 
> restore original value after `#buildSelectorForRequest` is returned, i.e.:
> {code:java}
> public Messages getMessages(ComponentModel componentModel, Locale locale)
> {
> Locale original = threadLocale.getLocale();
> try
> {
> threadLocale.setLocale(locale);
> return getMessages(componentModel, 
> analyzer.buildSelectorForRequest());
> }
> finally
> {
> threadLocale.setLocale(original);
> }
> }{code}
> {{}}
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (TAP5-2659) Direct instantiation of ComponentResourceSelector should be replaced with delegation to ComponentRequestSelectorAnalyzer

2021-01-30 Thread Hudson (Jira)


[ 
https://issues.apache.org/jira/browse/TAP5-2659?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17275597#comment-17275597
 ] 

Hudson commented on TAP5-2659:
--

FAILURE: Integrated in Jenkins build Tapestry » tapestry-5.6-freestyle #10 (See 
[https://ci-builds.apache.org/job/Tapestry/job/tapestry-5.6-freestyle/10/])
TAP5-2659: wrong locale being picked up when using axis (thiago: rev 
9912bff5450157f1e7605c759a3e7859a340be3e)
* (edit) 
tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentMessagesSourceImpl.java
* (edit) 
tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ComponentTemplateSourceImplTest.java
* (edit) 
tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentTemplateSourceImpl.java
* (edit) 
tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ComponentMessagesSourceImplTest.java


> Direct instantiation of ComponentResourceSelector should be replaced with 
> delegation to ComponentRequestSelectorAnalyzer
> 
>
> Key: TAP5-2659
> URL: https://issues.apache.org/jira/browse/TAP5-2659
> Project: Tapestry 5
>  Issue Type: Bug
>  Components: tapestry-core
>Reporter: Dmitry Gusev
>Assignee: Thiago Henrique De Paula Figueiredo
>Priority: Major
>
> Some implementation methods in tapestry core still use direct instantiation 
> of {{ComponentResourceSelector}} instead of delegating to 
> {{ComponentRequestSelectorAnalyzer}}, namely:
> in {{ComponentMessageSourceImpl.java}}
>  
> {code:java}
> public Messages getMessages(ComponentModel componentModel, Locale locale)
> {
>     return getMessages(componentModel, new ComponentResourceSelector(locale));
> }
> public Messages getApplicationCatalog(Locale locale)
> {
> return messagesSource.getMessages(appCatalogBundle, new 
> ComponentResourceSelector(locale));
> } 
> {code}
> in {{ComponentTemplateSourceImpl.java}}
>  
> {code:java}
> public ComponentTemplate getTemplate(ComponentModel componentModel, Locale 
> locale)
> {
>     return getTemplate(componentModel, new ComponentResourceSelector(locale));
> }{code}
> Which makes it impossible to use axes with message bundles and component 
> templates.
>  
> Default implementation of {{ComponentRequestSelectorAnalyzer}} interface uses 
> {{ThreadLocale}} instead of directly passed Locale instance. To workaround 
> this above methods may temporarily set passed locale into ThreadLocal and 
> restore original value after `#buildSelectorForRequest` is returned, i.e.:
> {code:java}
> public Messages getMessages(ComponentModel componentModel, Locale locale)
> {
> Locale original = threadLocale.getLocale();
> try
> {
> threadLocale.setLocale(locale);
> return getMessages(componentModel, 
> analyzer.buildSelectorForRequest());
> }
> finally
> {
> threadLocale.setLocale(original);
> }
> }{code}
> {{}}
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (TAP5-2659) Direct instantiation of ComponentResourceSelector should be replaced with delegation to ComponentRequestSelectorAnalyzer

2021-01-30 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/TAP5-2659?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17275592#comment-17275592
 ] 

ASF subversion and git services commented on TAP5-2659:
---

Commit 9912bff5450157f1e7605c759a3e7859a340be3e in tapestry-5's branch 
refs/heads/5.6.x from Thiago H. de Paula Figueiredo
[ https://gitbox.apache.org/repos/asf?p=tapestry-5.git;h=9912bff ]

TAP5-2659: wrong locale being picked up when using axis


> Direct instantiation of ComponentResourceSelector should be replaced with 
> delegation to ComponentRequestSelectorAnalyzer
> 
>
> Key: TAP5-2659
> URL: https://issues.apache.org/jira/browse/TAP5-2659
> Project: Tapestry 5
>  Issue Type: Bug
>  Components: tapestry-core
>Reporter: Dmitry Gusev
>Assignee: Thiago Henrique De Paula Figueiredo
>Priority: Major
>
> Some implementation methods in tapestry core still use direct instantiation 
> of {{ComponentResourceSelector}} instead of delegating to 
> {{ComponentRequestSelectorAnalyzer}}, namely:
> in {{ComponentMessageSourceImpl.java}}
>  
> {code:java}
> public Messages getMessages(ComponentModel componentModel, Locale locale)
> {
>     return getMessages(componentModel, new ComponentResourceSelector(locale));
> }
> public Messages getApplicationCatalog(Locale locale)
> {
> return messagesSource.getMessages(appCatalogBundle, new 
> ComponentResourceSelector(locale));
> } 
> {code}
> in {{ComponentTemplateSourceImpl.java}}
>  
> {code:java}
> public ComponentTemplate getTemplate(ComponentModel componentModel, Locale 
> locale)
> {
>     return getTemplate(componentModel, new ComponentResourceSelector(locale));
> }{code}
> Which makes it impossible to use axes with message bundles and component 
> templates.
>  
> Default implementation of {{ComponentRequestSelectorAnalyzer}} interface uses 
> {{ThreadLocale}} instead of directly passed Locale instance. To workaround 
> this above methods may temporarily set passed locale into ThreadLocal and 
> restore original value after `#buildSelectorForRequest` is returned, i.e.:
> {code:java}
> public Messages getMessages(ComponentModel componentModel, Locale locale)
> {
> Locale original = threadLocale.getLocale();
> try
> {
> threadLocale.setLocale(locale);
> return getMessages(componentModel, 
> analyzer.buildSelectorForRequest());
> }
> finally
> {
> threadLocale.setLocale(original);
> }
> }{code}
> {{}}
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (TAP5-2659) Direct instantiation of ComponentResourceSelector should be replaced with delegation to ComponentRequestSelectorAnalyzer

2021-01-30 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/TAP5-2659?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17275589#comment-17275589
 ] 

ASF subversion and git services commented on TAP5-2659:
---

Commit b4e776a80c70ef0e8caf81d15356078c840215b0 in tapestry-5's branch 
refs/heads/master from Thiago H. de Paula Figueiredo
[ https://gitbox.apache.org/repos/asf?p=tapestry-5.git;h=b4e776a ]

TAP5-2659: wrong locale being picked up when using axis

> Direct instantiation of ComponentResourceSelector should be replaced with 
> delegation to ComponentRequestSelectorAnalyzer
> 
>
> Key: TAP5-2659
> URL: https://issues.apache.org/jira/browse/TAP5-2659
> Project: Tapestry 5
>  Issue Type: Bug
>  Components: tapestry-core
>Reporter: Dmitry Gusev
>Assignee: Thiago Henrique De Paula Figueiredo
>Priority: Major
>
> Some implementation methods in tapestry core still use direct instantiation 
> of {{ComponentResourceSelector}} instead of delegating to 
> {{ComponentRequestSelectorAnalyzer}}, namely:
> in {{ComponentMessageSourceImpl.java}}
>  
> {code:java}
> public Messages getMessages(ComponentModel componentModel, Locale locale)
> {
>     return getMessages(componentModel, new ComponentResourceSelector(locale));
> }
> public Messages getApplicationCatalog(Locale locale)
> {
> return messagesSource.getMessages(appCatalogBundle, new 
> ComponentResourceSelector(locale));
> } 
> {code}
> in {{ComponentTemplateSourceImpl.java}}
>  
> {code:java}
> public ComponentTemplate getTemplate(ComponentModel componentModel, Locale 
> locale)
> {
>     return getTemplate(componentModel, new ComponentResourceSelector(locale));
> }{code}
> Which makes it impossible to use axes with message bundles and component 
> templates.
>  
> Default implementation of {{ComponentRequestSelectorAnalyzer}} interface uses 
> {{ThreadLocale}} instead of directly passed Locale instance. To workaround 
> this above methods may temporarily set passed locale into ThreadLocal and 
> restore original value after `#buildSelectorForRequest` is returned, i.e.:
> {code:java}
> public Messages getMessages(ComponentModel componentModel, Locale locale)
> {
> Locale original = threadLocale.getLocale();
> try
> {
> threadLocale.setLocale(locale);
> return getMessages(componentModel, 
> analyzer.buildSelectorForRequest());
> }
> finally
> {
> threadLocale.setLocale(original);
> }
> }{code}
> {{}}
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)