Author: wsmoak Date: Tue Jan 17 04:26:20 2006 New Revision: 369764 URL: http://svn.apache.org/viewcvs?rev=369764&view=rev Log: Removed CGLIB enhancement. May be re-added when Bug# 37730 ("Enhanced DynaActionForms cannot be correctly deserialized") is resolved.
Removed: struts/action/trunk/src/java/org/apache/struts/util/DynaBeanInterceptor.java struts/action/trunk/src/test/org/apache/struts/action/TestCGLibDynaActionForm.java Modified: struts/action/trunk/conf/java/struts-config_1_3.dtd struts/action/trunk/pom.xml struts/action/trunk/project.xml struts/action/trunk/src/java/org/apache/struts/action/DynaActionFormClass.java struts/action/trunk/src/java/org/apache/struts/config/FormBeanConfig.java struts/action/trunk/src/test/org/apache/struts/action/TestDynaActionFormClass.java struts/action/trunk/xdocs/userGuide/building_controller.xml struts/action/trunk/xdocs/userGuide/release-notes.xml Modified: struts/action/trunk/conf/java/struts-config_1_3.dtd URL: http://svn.apache.org/viewcvs/struts/action/trunk/conf/java/struts-config_1_3.dtd?rev=369764&r1=369763&r2=369764&view=diff ============================================================================== --- struts/action/trunk/conf/java/struts-config_1_3.dtd (original) +++ struts/action/trunk/conf/java/struts-config_1_3.dtd Tue Jan 17 04:26:20 2006 @@ -126,12 +126,7 @@ type Fully qualified Java class name of the ActionForm subclass to use with this form bean. - enhanced Flag indicating if the form bean should be dynamically - enhanced to include getters and setters for defined - properties. This is only valid when 'type' is a - dynamic form bean (an instance of - "org.apache.struts.action.DynaActionForm" or a sub-class, - and requires CGLIB when enabled. + enhanced Reserved for future use. --> <!ELEMENT form-bean (icon?, display-name?, description?, set-property*, form-property*)> <!ATTLIST form-bean id ID #IMPLIED> Modified: struts/action/trunk/pom.xml URL: http://svn.apache.org/viewcvs/struts/action/trunk/pom.xml?rev=369764&r1=369763&r2=369764&view=diff ============================================================================== --- struts/action/trunk/pom.xml (original) +++ struts/action/trunk/pom.xml Tue Jan 17 04:26:20 2006 @@ -123,12 +123,6 @@ <version>2.7.2</version> </dependency> <dependency> - <groupId>cglib</groupId> - <artifactId>cglib-nodep</artifactId> - <version>2.1_3</version> - <optional>true</optional> - </dependency> - <dependency> <groupId>commons-beanutils</groupId> <artifactId>commons-beanutils</artifactId> <version>1.7.0</version> Modified: struts/action/trunk/project.xml URL: http://svn.apache.org/viewcvs/struts/action/trunk/project.xml?rev=369764&r1=369763&r2=369764&view=diff ============================================================================== --- struts/action/trunk/project.xml (original) +++ struts/action/trunk/project.xml Tue Jan 17 04:26:20 2006 @@ -107,18 +107,6 @@ </branch> </branches> - <dependencies> - <dependency> - <groupId>cglib</groupId> - <artifactId>cglib-nodep</artifactId> - <version>2.1_3</version> - <url>http://cglib.sourceforge.net/</url> - <properties> - <optional>true</optional> - </properties> - </dependency> - </dependencies> - <build> <sourceDirectory>src/java</sourceDirectory> <unitTestSourceDirectory>src/test</unitTestSourceDirectory> Modified: struts/action/trunk/src/java/org/apache/struts/action/DynaActionFormClass.java URL: http://svn.apache.org/viewcvs/struts/action/trunk/src/java/org/apache/struts/action/DynaActionFormClass.java?rev=369764&r1=369763&r2=369764&view=diff ============================================================================== --- struts/action/trunk/src/java/org/apache/struts/action/DynaActionFormClass.java (original) +++ struts/action/trunk/src/java/org/apache/struts/action/DynaActionFormClass.java Tue Jan 17 04:26:20 2006 @@ -23,7 +23,6 @@ import java.io.Serializable; import java.util.HashMap; -import net.sf.cglib.proxy.Enhancer; import org.apache.commons.beanutils.DynaBean; import org.apache.commons.beanutils.DynaClass; import org.apache.commons.beanutils.DynaProperty; @@ -32,7 +31,6 @@ import org.apache.struts.config.FormBeanConfig; import org.apache.struts.config.FormPropertyConfig; import org.apache.struts.util.RequestUtils; -import org.apache.struts.util.DynaBeanInterceptor; /** @@ -85,12 +83,6 @@ /** - * <p>The CGLIB <code>Enhancer</code> which we will use to dynamically - * add getters/setters if 'enhanced' is true in the form config. - */ - protected transient Enhancer enhancer = null; - - /** * <p>The form bean configuration information for this class.</p> */ protected FormBeanConfig config = null; @@ -192,12 +184,7 @@ public DynaBean newInstance() throws IllegalAccessException, InstantiationException { - DynaActionForm dynaBean = null; - if (config.isEnhanced()) { - dynaBean = (DynaActionForm) getBeanEnhancer().create(); - } else { - dynaBean = (DynaActionForm) getBeanClass().newInstance(); - } + DynaActionForm dynaBean = (DynaActionForm) getBeanClass().newInstance(); dynaBean.setDynaActionFormClass(this); FormPropertyConfig[] props = config.findFormPropertyConfigs(); for (int i = 0; i < props.length; i++) { @@ -277,24 +264,6 @@ /** - * <p>Return the <code>Enhancer</code> we are using to construct new - * instances, re-introspecting our [EMAIL PROTECTED] FormBeanConfig} if necessary - * (that is, after being deserialized, since <code>enhancer</code> is - * marked transient).</p> - * - * @return The enhancer used to construct new instances. - */ - protected Enhancer getBeanEnhancer() { - - if (enhancer == null) { - introspect(config); - } - return (enhancer); - - } - - - /** * <p>Introspect our form bean configuration to identify the supported * properties.</p> * @@ -342,11 +311,6 @@ properties[i]); } - // Create CGLIB enhancer if enhancement is enabled - if (config.isEnhanced()) { - DynaBeanInterceptor interceptor = new DynaBeanInterceptor(); - enhancer = interceptor.createEnhancer(this, getBeanClass()); - } } Modified: struts/action/trunk/src/java/org/apache/struts/config/FormBeanConfig.java URL: http://svn.apache.org/viewcvs/struts/action/trunk/src/java/org/apache/struts/config/FormBeanConfig.java?rev=369764&r1=369763&r2=369764&view=diff ============================================================================== --- struts/action/trunk/src/java/org/apache/struts/config/FormBeanConfig.java (original) +++ struts/action/trunk/src/java/org/apache/struts/config/FormBeanConfig.java Tue Jan 17 04:26:20 2006 @@ -105,20 +105,6 @@ return (this.dynamic); } - /** - * Should the form bean class be dynamically enhanced to simplify - * property access in JSP and tag files? - */ - protected boolean enhance = false; - - public boolean isEnhanced() { - return (this.enhance); - } - - public void setEnhanced(boolean enhance) { - throwIfConfigured(); - this.enhance = enhance; - } /** * The name of the FormBeanConfig that this config inherits configuration Modified: struts/action/trunk/src/test/org/apache/struts/action/TestDynaActionFormClass.java URL: http://svn.apache.org/viewcvs/struts/action/trunk/src/test/org/apache/struts/action/TestDynaActionFormClass.java?rev=369764&r1=369763&r2=369764&view=diff ============================================================================== --- struts/action/trunk/src/test/org/apache/struts/action/TestDynaActionFormClass.java (original) +++ struts/action/trunk/src/test/org/apache/struts/action/TestDynaActionFormClass.java Tue Jan 17 04:26:20 2006 @@ -79,10 +79,6 @@ */ protected DynaActionFormClass dynaClass = null; - /** - * Whether an "Enhanced" DynaActionForm is created. - */ - protected boolean enhanced = false; /** * The set of <code>FormPropertyConfig</code> objects to use when @@ -122,7 +118,6 @@ beanConfig = new FormBeanConfig(); beanConfig.setName("dynaForm"); beanConfig.setType("org.apache.struts.action.DynaActionForm"); - beanConfig.setEnhanced(enhanced); // Add relevant property definitions for (int i = 0; i < dynaProperties.length; i++) { Modified: struts/action/trunk/xdocs/userGuide/building_controller.xml URL: http://svn.apache.org/viewcvs/struts/action/trunk/xdocs/userGuide/building_controller.xml?rev=369764&r1=369763&r2=369764&view=diff ============================================================================== --- struts/action/trunk/xdocs/userGuide/building_controller.xml (original) +++ struts/action/trunk/xdocs/userGuide/building_controller.xml Tue Jan 17 04:26:20 2006 @@ -697,34 +697,6 @@ </p> <p> - Since release 1.3.0 it is possible to use regular JSTL EL property - references, without the additional '.map' qualifier. This can be - useful if you often reference form bean properties with JSTL or if - you need to pass form beans to JSP 2.0 tag files or other re-usable - components which shouldn't need to know how to handle DynaActionForm - objects specially. - </p> - - <p> - To make this work, you need to do two things: - <ul> - <li>install <a href="http://cglib.sourceforge.net/">CGLIB</a> - in your application's classpath</li> - <li>include the 'enhanced="true"' attribute in the form-bean - declaration in struts-config.xml, like this: - - <source><![CDATA[ -<form-bean name="myForm" enhanced="true" - type="org.apache.struts.action.DynaActionFrom"> - ... -</form-bean>]]></source> - </li> - </ul> - You can then reference DynaFormBean properties just like any other - ActionForm. - </p> - - <p> DynaActionForms are meant as an easy solution to a common problem: <em>Your ActionForms use simple properties and standard validations, and you just pass these properties over to another JavaBean</em> Modified: struts/action/trunk/xdocs/userGuide/release-notes.xml URL: http://svn.apache.org/viewcvs/struts/action/trunk/xdocs/userGuide/release-notes.xml?rev=369764&r1=369763&r2=369764&view=diff ============================================================================== --- struts/action/trunk/xdocs/userGuide/release-notes.xml (original) +++ struts/action/trunk/xdocs/userGuide/release-notes.xml Tue Jan 17 04:26:20 2006 @@ -137,9 +137,6 @@ <li> Wildcard ActionConfig properties </li> - <li> - Enhanced DynaActionForms - </li> </ul> <h4>Composable Request Processor</h4> @@ -338,30 +335,6 @@ </action> </source> - <h4>Enhanced DynaActionForms</h4> - <p> - The form-bean element in struts-config.xml now accepts - an <code>enhanced</code> attribute which, if set to - <code>true</code> for a form bean based on DynaActionForm - (or a sub-class), causes the form bean to be enhanced with - CGLIB to add getters and setters for each property, allowing - them to be accessed with the same JSTL EL syntax as for - normal form beans. - </p> - -<source> -<form-bean name="form" enhanced="true" - type="org.apache.struts.action.DynaActionForm"> - ... -</form-bean> -</source> - - <p> - <strong>NOTE:</strong> this feature requires that - <a href="http://cglib.sourceforge.net/">CGLIB</a> be - included in your application's classpath. - </p> - <h3>Struts EL</h3> <p>Aside from addressing deprecrations, there was one minor change to Struts EL.</p> --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]