You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@struts.apache.org by mr...@apache.org on 2004/04/09 00:07:56 UTC
cvs commit: jakarta-struts/src/share/org/apache/struts/util RequestUtils.java
mrdon 2004/04/08 15:07:56
Modified: src/share/org/apache/struts/action ActionServlet.java
DynaActionFormClass.java
src/share/org/apache/struts/config FormBeanConfig.java
src/share/org/apache/struts/config/impl
ModuleConfigImpl.java
src/share/org/apache/struts/util RequestUtils.java
Log:
Fixed inappropriate serialization of ModuleConfig when a DynaActionForm
was put in the session.
PR: 22207
Reviewed by: Rob Leland
Revision Changes Path
1.175 +5 -5 jakarta-struts/src/share/org/apache/struts/action/ActionServlet.java
Index: ActionServlet.java
===================================================================
RCS file: /home/cvs/jakarta-struts/src/share/org/apache/struts/action/ActionServlet.java,v
retrieving revision 1.174
retrieving revision 1.175
diff -u -r1.174 -r1.175
--- ActionServlet.java 14 Mar 2004 06:23:42 -0000 1.174
+++ ActionServlet.java 8 Apr 2004 22:07:56 -0000 1.175
@@ -674,7 +674,7 @@
FormBeanConfig fbs[] = config.findFormBeanConfigs();
for (int i = 0; i < fbs.length; i++) {
if (fbs[i].getDynamic()) {
- DynaActionFormClass.createDynaActionFormClass(fbs[i]);
+ DynaActionFormClass.createDynaActionFormClass(fbs[i], config);
}
}
1.18 +7 -6 jakarta-struts/src/share/org/apache/struts/action/DynaActionFormClass.java
Index: DynaActionFormClass.java
===================================================================
RCS file: /home/cvs/jakarta-struts/src/share/org/apache/struts/action/DynaActionFormClass.java,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -r1.17 -r1.18
--- DynaActionFormClass.java 14 Mar 2004 06:23:42 -0000 1.17
+++ DynaActionFormClass.java 8 Apr 2004 22:07:56 -0000 1.18
@@ -256,19 +256,20 @@
*
* @param config The FormBeanConfig instance describing the properties
* of the bean to be created
+ * @param moduleConfig The ModuleConfig instance containing all the
+ * configuration information for the current module
*
* @exception IllegalArgumentException if the bean implementation class
* specified in the configuration is not DynaActionForm (or a subclass
* of DynaActionForm)
*/
public static DynaActionFormClass
- createDynaActionFormClass(FormBeanConfig config) {
+ createDynaActionFormClass(FormBeanConfig config, ModuleConfig moduleConfig) {
synchronized (lock) {
if (dynaClasses == null) {
dynaClasses = new HashMap();
}
- ModuleConfig moduleConfig = config.getModuleConfig();
String key = config.getName();
if (moduleConfig != null) {
key += moduleConfig.getPrefix();
1.13 +4 -35 jakarta-struts/src/share/org/apache/struts/config/FormBeanConfig.java
Index: FormBeanConfig.java
===================================================================
RCS file: /home/cvs/jakarta-struts/src/share/org/apache/struts/config/FormBeanConfig.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- FormBeanConfig.java 14 Mar 2004 06:23:47 -0000 1.12
+++ FormBeanConfig.java 8 Apr 2004 22:07:56 -0000 1.13
@@ -79,37 +79,6 @@
; // No action required
}
-
- /**
- * The {@link ModuleConfig} with which this form bean definition
- * is associated.
- */
- protected ModuleConfig moduleConfig = null;
-
-
- /**
- * Return the {@link ModuleConfig} with which this form bean definition
- * is associated.
- */
- public ModuleConfig getModuleConfig() {
- return (this.moduleConfig);
- }
-
-
- /**
- * Set the {@link ModuleConfig} with which this form bean definition
- * is associated.
- *
- * @param moduleConfig The new {@link ModuleConfig} or <code>null</code>
- * to disassociate this form bean configuration from any module
- */
- public void setModuleConfig(ModuleConfig moduleConfig) {
- if (configured) {
- throw new IllegalStateException("Configuration is frozen");
- }
- this.moduleConfig = moduleConfig;
- }
-
/**
* The unique identifier of this form bean, which is used to reference this
* bean in <code>ActionMapping</code> instances as well as for the name of
1.12 +4 -6 jakarta-struts/src/share/org/apache/struts/config/impl/ModuleConfigImpl.java
Index: ModuleConfigImpl.java
===================================================================
RCS file: /home/cvs/jakarta-struts/src/share/org/apache/struts/config/impl/ModuleConfigImpl.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- ModuleConfigImpl.java 14 Mar 2004 06:23:53 -0000 1.11
+++ ModuleConfigImpl.java 8 Apr 2004 22:07:56 -0000 1.12
@@ -233,7 +233,6 @@
if (configured) {
throw new IllegalStateException("Configuration is frozen");
}
- config.setModuleConfig(this);
formBeans.put(config.getName(), config);
}
@@ -579,7 +578,6 @@
if (configured) {
throw new IllegalStateException("Configuration is frozen");
}
- config.setModuleConfig(null);
formBeans.remove(config.getName());
}
1.149 +9 -7 jakarta-struts/src/share/org/apache/struts/util/RequestUtils.java
Index: RequestUtils.java
===================================================================
RCS file: /home/cvs/jakarta-struts/src/share/org/apache/struts/util/RequestUtils.java,v
retrieving revision 1.148
retrieving revision 1.149
diff -u -r1.148 -r1.149
--- RequestUtils.java 14 Mar 2004 06:23:51 -0000 1.148
+++ RequestUtils.java 8 Apr 2004 22:07:56 -0000 1.149
@@ -190,7 +190,7 @@
return (null);
}
- return createActionForm(config, servlet);
+ return createActionForm(config, moduleConfig, servlet);
}
@@ -275,11 +275,13 @@
* which could be reused.</p>
*
* @param config The configuration for the Form bean which is to be created.
+ * @param moduleConfig The configuration for the current module.
* @param servlet The action servlet
*
* @return ActionForm instance associated with this request
*/
- public static ActionForm createActionForm(FormBeanConfig config, ActionServlet servlet)
+ public static ActionForm createActionForm(FormBeanConfig config, ModuleConfig moduleConfig,
+ ActionServlet servlet)
{
if (config == null)
{
@@ -291,7 +293,7 @@
if (config.getDynamic()) {
try {
DynaActionFormClass dynaClass =
- DynaActionFormClass.createDynaActionFormClass(config);
+ DynaActionFormClass.createDynaActionFormClass(config, moduleConfig);
instance = (ActionForm) dynaClass.newInstance();
((DynaActionForm) instance).initialize(config);
if (log.isDebugEnabled()) {
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org