Great idea. +1

On 9/11/06, Don Brown <[EMAIL PROTECTED]> wrote:
The way I propose to solve this problem is to implement "Framework
Plugins".  A framework plugin is a jar that contains framework extension
classes and configuration, which only need to be dropped into the
classpath to be activated.

A plugin would consist of:
 - struts-default.xml: A Struts config file defining the interceptors,
interceptor stacks, results, packages, and/or actions
 - The Java classes and resources

On startup, Struts would search for and load all the struts-default.xml
files first, then load the application-specific struts.xml files.  This
would allow you to easily install and use a plugin as easily as copying
a jar file into your application.

Each plugin's would define its own package that contains its results,
interceptors, and actions.  Then, for an application to use the plugin,
simply have its packages extend the plugin's package(s):

<package name="myApp" extends="default,jsf,jasper">....</package>

Initial candidates for plugins would be:
 - JSF support
 - Jasper Reports support
 - Pell support

To implement this proposal, we would need to split out the jasper, pell,
and jsf code into their own artifacts and give them their own
struts-default.xml file.  We could extend the framework idea to extract
any code that uses an optional jar, including support for things like
Spring or Velocity.  This would make a nice one-to-one mapping between
optional jars and their Struts plugin, and would simplify core to boot.

Of course, this would be targeted for 2.0.1 :)

Don

Ted Husted wrote:
> On 9/11/06, Don Brown <[EMAIL PROTECTED]> wrote:
>> Make sure you get the latest xwork, as a lot of the changes where in
>> there.
>
> I updated XWork, but now there are even more logging statements than
> before :(
>
> Sep 11, 2006 5:21:05 PM org.apache.catalina.startup.Catalina start
> INFO: Server startup in 2546 ms
> Sep 11, 2006 5:21:06 PM
> com.opensymphony.xwork2.config.providers.InterceptorBuilder
> constructInterceptorReference
> WARNING: Unable to load config class
> org.apache.struts2.jsf.FacesSetupInterceptor at interceptor -
> 
jar:file:/C:/opt/Apache/Tomcat-5.5/webapps/struts2-mailreader/WEB-INF/lib/struts2-core-2.0.0.jar!/struts-default.xml:57:97
>
> probably due to a missing jar, which might be fine if you never plan
> to use the jsfSetup interceptor
> Sep 11, 2006 5:21:06 PM
> com.opensymphony.xwork2.config.providers.InterceptorBuilder
> constructInterceptorReference
> WARNING: Unable to load config class
> org.apache.struts2.jsf.RestoreViewInterceptor at interceptor -
> 
jar:file:/C:/opt/Apache/Tomcat-5.5/webapps/struts2-mailreader/WEB-INF/lib/struts2-core-2.0.0.jar!/struts-default.xml:58:100
>
> probably due to a missing jar, which might be fine if you never plan
> to use the jsfRestore interceptor
> Sep 11, 2006 5:21:06 PM
> com.opensymphony.xwork2.config.providers.InterceptorBuilder
> constructInterceptorReference
> WARNING: Unable to load config class
> org.apache.struts2.jsf.ApplyRequestValuesInterceptor at interceptor -
> 
jar:file:/C:/opt/Apache/Tomcat-5.5/webapps/struts2-mailreader/WEB-INF/lib/struts2-core-2.0.0.jar!/struts-default.xml:59:105
>
> probably due to a missing jar, which might be fine if you never plan
> to use the jsfApply interceptor
> Sep 11, 2006 5:21:06 PM
> com.opensymphony.xwork2.config.providers.InterceptorBuilder
> constructInterceptorReference
> WARNING: Unable to load config class
> org.apache.struts2.jsf.ProcessValidationsInterceptor at interceptor -
> 
jar:file:/C:/opt/Apache/Tomcat-5.5/webapps/struts2-mailreader/WEB-INF/lib/struts2-core-2.0.0.jar!/struts-default.xml:60:108
>
> probably due to a missing jar, which might be fine if you never plan
> to use the jsfValidate interceptor
> Sep 11, 2006 5:21:06 PM
> com.opensymphony.xwork2.config.providers.InterceptorBuilder
> constructInterceptorReference
> WARNING: Unable to load config class
> org.apache.struts2.jsf.UpdateModelValuesInterceptor at interceptor -
> 
jar:file:/C:/opt/Apache/Tomcat-5.5/webapps/struts2-mailreader/WEB-INF/lib/struts2-core-2.0.0.jar!/struts-default.xml:61:105
>
> probably due to a missing jar, which might be fine if you never plan
> to use the jsfUpdate interceptor
> Sep 11, 2006 5:21:06 PM
> com.opensymphony.xwork2.config.providers.InterceptorBuilder
> constructInterceptorReference
> WARNING: Unable to load config class
> org.apache.struts2.jsf.InvokeApplicationInterceptor at interceptor -
> 
jar:file:/C:/opt/Apache/Tomcat-5.5/webapps/struts2-mailreader/WEB-INF/lib/struts2-core-2.0.0.jar!/struts-default.xml:62:105
>
> probably due to a missing jar, which might be fine if you never plan
> to use the jsfInvoke interceptor
> Sep 11, 2006 5:21:09 PM
> com.opensymphony.xwork2.config.providers.InterceptorBuilder
> constructInterceptorReference
> WARNING: Unable to load config class
> org.apache.struts2.jsf.FacesSetupInterceptor at interceptor -
> 
jar:file:/C:/opt/Apache/Tomcat-5.5/webapps/struts2-mailreader/WEB-INF/lib/struts2-core-2.0.0.jar!/struts-default.xml:57:97
>
> probably due to a missing jar, which might be fine if you never plan
> to use the jsfSetup interceptor
> Sep 11, 2006 5:21:09 PM
> com.opensymphony.xwork2.config.providers.InterceptorBuilder
> constructInterceptorReference
> WARNING: Unable to load config class
> org.apache.struts2.jsf.RestoreViewInterceptor at interceptor -
> 
jar:file:/C:/opt/Apache/Tomcat-5.5/webapps/struts2-mailreader/WEB-INF/lib/struts2-core-2.0.0.jar!/struts-default.xml:58:100
>
> probably due to a missing jar, which might be fine if you never plan
> to use the jsfRestore interceptor
> Sep 11, 2006 5:21:09 PM
> com.opensymphony.xwork2.config.providers.InterceptorBuilder
> constructInterceptorReference
> WARNING: Unable to load config class
> org.apache.struts2.jsf.ApplyRequestValuesInterceptor at interceptor -
> 
jar:file:/C:/opt/Apache/Tomcat-5.5/webapps/struts2-mailreader/WEB-INF/lib/struts2-core-2.0.0.jar!/struts-default.xml:59:105
>
> probably due to a missing jar, which might be fine if you never plan
> to use the jsfApply interceptor
> Sep 11, 2006 5:21:09 PM
> com.opensymphony.xwork2.config.providers.InterceptorBuilder
> constructInterceptorReference
> WARNING: Unable to load config class
> org.apache.struts2.jsf.ProcessValidationsInterceptor at interceptor -
> 
jar:file:/C:/opt/Apache/Tomcat-5.5/webapps/struts2-mailreader/WEB-INF/lib/struts2-core-2.0.0.jar!/struts-default.xml:60:108
>
> probably due to a missing jar, which might be fine if you never plan
> to use the jsfValidate interceptor
> Sep 11, 2006 5:21:09 PM
> com.opensymphony.xwork2.config.providers.InterceptorBuilder
> constructInterceptorReference
> WARNING: Unable to load config class
> org.apache.struts2.jsf.UpdateModelValuesInterceptor at interceptor -
> 
jar:file:/C:/opt/Apache/Tomcat-5.5/webapps/struts2-mailreader/WEB-INF/lib/struts2-core-2.0.0.jar!/struts-default.xml:61:105
>
> probably due to a missing jar, which might be fine if you never plan
> to use the jsfUpdate interceptor
> Sep 11, 2006 5:21:09 PM
> com.opensymphony.xwork2.config.providers.InterceptorBuilder
> constructInterceptorReference
> WARNING: Unable to load config class
> org.apache.struts2.jsf.InvokeApplicationInterceptor at interceptor -
> 
jar:file:/C:/opt/Apache/Tomcat-5.5/webapps/struts2-mailreader/WEB-INF/lib/struts2-core-2.0.0.jar!/struts-default.xml:62:105
>
> probably due to a missing jar, which might be fine if you never plan
> to use the jsfInvoke interceptor
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to