[
https://issues.apache.org/struts/browse/WW-2810?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
James Holmes updated WW-2810:
-----------------------------
Fix Version/s: Future
> @Inject is hardwired for TextProvider
> -------------------------------------
>
> Key: WW-2810
> URL: https://issues.apache.org/struts/browse/WW-2810
> Project: Struts 2
> Issue Type: Improvement
> Components: Core Actions
> Affects Versions: 2.1.1
> Reporter: Scott Stanlick
> Priority: Minor
> Fix For: Future
>
>
> After trying to inject my own TextProvider and not getting it to work, I
> started looking at source. It appears that several aspects of this
> configuration could use some cleaning up. First off, TextProviderFactory
> creates a TextProviderSupport in the getTextProvider() method, making it
> impossible to inject a custom implementation. Second, the
> OgnlValueStackFactory has the following injected method:
> @Inject("system")
> public void setTextProvider(TextProvider textProvider) {
> this.textProvider = textProvider;
> }
> The name "system" is coming from the struts-default.xml as follows:
> <bean type="com.opensymphony.xwork2.TextProvider" name="system"
> class="com.opensymphony.xwork2.DefaultTextProvider" />
> Any attempt to override this type with the name "system" results in a
> duplication violation.
> It seems the right thing would be to add a struts.textProvider property and
> remove this hard coding.
> BTW, what is the value in having the TextProvider instance as a composite of
> the OgnlValueStackFactory? It appears to be hiding in the shadow of the
> TextProviderSupport.
> Scott
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.