[ 
https://issues.apache.org/jira/browse/WW-3905?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13480078#comment-13480078
 ] 

chad davis commented on WW-3905:
--------------------------------

So, if we do it this way, which looks great to me . . . then how do I configure 
the DI to inject the current Action.  The TextProviderSupport needs contextual 
stuff from the current action, clazz and localeProvider.  Also, my 
CustomTextProviderSupport use case requires the action, as another type of 
provider similar to localeProvider ( a "component" provider that provides 
access to the component from our system related to the current request ).  So, 
wiring these current action bits into the textSupport still eludes me.  

With this proposed fix, I would hope to enable all of this wiring as injections 
into my CustomTextSupport configured in my DI meta data.  But I don't know how 
it works to reference the "current action" from this pre-runtime situation.  
Perhaps this is the wrong approach . . . perhaps I should be writing my 
CustomTextSupport so that it know's how to find it's resources in the 
ActionContext or ValueStack, similar to how you obtain the ObjectFactory with 
the getInstance method above.  Can I do something like this to obtain the 
current Action? 
                
> The TextProvider injection in ActionSupport isn't quite integrated into the 
> framework's core DI 
> ------------------------------------------------------------------------------------------------
>
>                 Key: WW-3905
>                 URL: https://issues.apache.org/jira/browse/WW-3905
>             Project: Struts 2
>          Issue Type: Bug
>          Components: Core Actions
>    Affects Versions: 2.3.4.1
>            Reporter: chad davis
>              Labels: ActionSupport, DependencyInjection, TextProvider
>             Fix For: 2.3.6
>
>
> The injection of the TextProvider into ActionSupport occurs via a lazy 
> initialization in the getTextProvider() method.  This method obtains the 
> TextProvider from a factory that has the implementation injected into it via  
> the core di mechanism.  The problem with this is that ActionSupport 
> programmatically does the injection using it's reference to the core 
> ContainerImpl.  This makes it impossible to use the Spring plugin's 
> SpringObjectFactory to manage this TextProvider.    

--
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