[ 
https://issues.apache.org/struts/browse/WW-2192?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Brian Pontarelli updated WW-2192:
---------------------------------

    Description: 
Currently, the only mechanism for loading custom ConfigurationProviders is to 
add them to web.xml (roughly speaking), which makes it difficult for plugins to 
supply additional ConfigurationProviders without requiring the user of the 
plugin to modify their web.xml file(s).

This feature would allow plugins to supply additional ConfigurationProviders 
within the struts-plugin.xml file as standard bean definitions or as a new 
configuration definition. 

The Container injection framework would probably need to first load all the 
ConfigurationProviders only and hand those to the Dispatcher so that it can be 
bootstrapped. Next, the Container would load the rest of the beans and values 
as normal. This would require a change in the initialization life-cycle of the 
Struts framework and possibly changes the the struts-plugin.xml definition (DTD 
or schema).

Also, because a Struts application could now handle many different types of 
configuration much more transparently, the ConfigurationProvider interface 
should provide some new life-cycle methods that allow ConfigurationProviders to 
do pre and post processing. An example of how this would be necessary is for 
handling index actions. A ConfigurationProvider might need to determine if an 
action exists in a particular namespace prior to setting up additional results 
and new actions. Therefore, it would be nice to have the ability to load all 
the configuration and then post process the configuration so that all of the 
namespaces, actions and results are setup.

  was:
Currently, the only mechanism for loading custom ConfigurationProviders is to 
add them to web.xml (roughly speaking), which makes it difficult for plugins to 
supply additional ConfigurationProviders without requiring the user of the 
plugin to modify their web.xml file(s).

This feature would allow plugins to supply additional ConfigurationProviders 
within the struts-plugin.xml file as standard bean definitions or as a new 
configuration definition. 

The Container injection framework would probably need to first load all the 
ConfigurationProviders only and hand those to the Dispatcher so that it can be 
bootstrapped. Next, the Container would load the rest of the beans and values 
as normal. This would require a change in the initialization life-cycle of the 
Struts framework and possibly changes the the struts-plugin.xml definition (DTD 
or schema).


> Rework ConfigurationProvider loading
> ------------------------------------
>
>                 Key: WW-2192
>                 URL: https://issues.apache.org/struts/browse/WW-2192
>             Project: Struts 2
>          Issue Type: Improvement
>          Components: Configuration
>    Affects Versions: 2.1.0
>            Reporter: Brian Pontarelli
>
> Currently, the only mechanism for loading custom ConfigurationProviders is to 
> add them to web.xml (roughly speaking), which makes it difficult for plugins 
> to supply additional ConfigurationProviders without requiring the user of the 
> plugin to modify their web.xml file(s).
> This feature would allow plugins to supply additional ConfigurationProviders 
> within the struts-plugin.xml file as standard bean definitions or as a new 
> configuration definition. 
> The Container injection framework would probably need to first load all the 
> ConfigurationProviders only and hand those to the Dispatcher so that it can 
> be bootstrapped. Next, the Container would load the rest of the beans and 
> values as normal. This would require a change in the initialization 
> life-cycle of the Struts framework and possibly changes the the 
> struts-plugin.xml definition (DTD or schema).
> Also, because a Struts application could now handle many different types of 
> configuration much more transparently, the ConfigurationProvider interface 
> should provide some new life-cycle methods that allow ConfigurationProviders 
> to do pre and post processing. An example of how this would be necessary is 
> for handling index actions. A ConfigurationProvider might need to determine 
> if an action exists in a particular namespace prior to setting up additional 
> results and new actions. Therefore, it would be nice to have the ability to 
> load all the configuration and then post process the configuration so that 
> all of the namespaces, actions and results are setup.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to