beehive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Richard Feit <richard.f...@bea.com>
Subject Re: checkin request netui page flow
Date Wed, 15 Sep 2004 04:16:43 GMT
Thanks Carlin, looks good.  I'll get this in ASAP.
Rich

At 05:32 PM 9/14/2004, you wrote:
>Hi All,
>
>I have a checkin request for Page Flow. The following patch file
>(output from "svn diff") contains changes to address another
>issue with form beans not derived from ActionForm.
>
>This patch is synced to revision 46036.
>
>Fixes:
>- A management issue with form beans not derived from ActionForm,
>utilizing AnyBeanActionForm. PageFlowFormBeanConfig extends the
>Struts FormBeanConfig class for the <form-bean> tag to include the
>actual type for the bean to help identify it.
>(related to changes for svn commit rev: 43687)
>
>CR: Rich
>DRT/BVT: NetUI (WinXP)
>BB: self (WinXP)
>
>
>Index: netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowUtils.java
>===================================================================
>--- 
>netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowUtils.java 
>  (revision 46036)
>+++ 
>netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowUtils.java 
>  (working copy)
>@@ -17,6 +17,7 @@
>   */
>  package org.apache.beehive.netui.pageflow;
>
>+import org.apache.beehive.netui.pageflow.config.PageFlowFormBeanConfig;
>  import org.apache.beehive.netui.pageflow.internal.ActionResultImpl;
>  import org.apache.beehive.netui.pageflow.internal.InternalUtils;
>  import org.apache.beehive.netui.pageflow.scoping.ScopedRequest;
>@@ -401,7 +402,7 @@
>          }
>      }
>
>-    private static String getFormNameFromModuleConfig( ActionForm form, 
>ModuleConfig moduleConfig )
>+    private static String getFormNameFromModuleConfig( String 
>formBeanClassName, ModuleConfig moduleConfig )
>      {
>          String modulePrefix = moduleConfig.getPrefix();
>          Map< String, String > formNameMap = _formNameMaps.get( 
> modulePrefix );  // map of form-type-name to form-name
>@@ -413,13 +414,22 @@
>
>              for ( int j = 0; j < formBeans.length; ++j )
>              {
>-                formNameMap.put( formBeans[j].getType(), 
>formBeans[j].getName() );
>+                assert formBeans[j] != null;
>+                if ( formBeans[j] instanceof PageFlowFormBeanConfig )
>+                {
>+                    formNameMap.put( ( ( PageFlowFormBeanConfig ) 
>formBeans[j] ).getActualType(),
>+                                     formBeans[j].getName() );
>+                }
>+                else
>+                {
>+                    formNameMap.put( formBeans[j].getType(), 
>formBeans[j].getName() );
>+                }
>              }
>
>              _formNameMaps.put( modulePrefix, formNameMap );
>          }
>
>-        return formNameMap.get( form.getClass().getName() );
>+        return formNameMap.get( formBeanClassName );
>      }
>
>      /**
>@@ -438,11 +448,12 @@
>          if ( form != null )
>          {
>              ModuleConfig moduleConfig = mapping.getModuleConfig();
>-            String formName = getFormNameFromModuleConfig( form, 
>moduleConfig );
>+            Class formClass = InternalUtils.unwrapFormBean( form 
>).getClass();
>+            String formName = getFormNameFromModuleConfig( 
>formClass.getName(), moduleConfig );
>
>              if ( formName == null )
>              {
>-                formName = getFormBeanName( form, request, false );
>+                formName = getFormBeanName( formClass, request, false );
>              }
>
>              InternalUtils.setFormInScope( formName, form, mapping, 
> request, overwrite );
>@@ -505,15 +516,8 @@
>
>          if ( doStrutsLookup )
>          {
>-            FormBeanConfig[] formBeans = moduleConfig.findFormBeanConfigs();
>-
>-            for ( int j = 0; j < formBeans.length; ++j )
>-            {
>-                if ( formBeans[j].getType().equals( formBeanClassName ) )
>-                {
>-                    return formBeans[j].getName();
>-                }
>-            }
>+            String name = getFormNameFromModuleConfig( formBeanClassName, 
>moduleConfig );
>+            if ( name != null ) return name;
>          }
>
>          //
>Index: 
>netui/src/pageflow/org/apache/beehive/netui/pageflow/config/PageFlowFormBeanConfig.java
>===================================================================
>--- 
>netui/src/pageflow/org/apache/beehive/netui/pageflow/config/PageFlowFormBeanConfig.java

>(revision 0)
>+++ 
>netui/src/pageflow/org/apache/beehive/netui/pageflow/config/PageFlowFormBeanConfig.java

>(revision 0)
>@@ -0,0 +1,40 @@
>+/*
>+ * Copyright 2004 The Apache Software Foundation.
>+ *
>+ * Licensed under the Apache License, Version 2.0 (the "License");
>+ * you may not use this file except in compliance with the License.
>+ * You may obtain a copy of the License at
>+ *
>+ *     http://www.apache.org/licenses/LICENSE-2.0
>+ *
>+ * Unless required by applicable law or agreed to in writing, software
>+ * distributed under the License is distributed on an "AS IS" BASIS,
>+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
>+ * See the License for the specific language governing permissions and
>+ * limitations under the License.
>+ *
>+ * $Header:$
>+ */
>+package org.apache.beehive.netui.pageflow.config;
>+
>+import org.apache.struts.config.FormBeanConfig;
>+
>+
>+/**
>+ * Class to handle our extensions to the Struts <form-bean> tag.
>+ */
>+public class PageFlowFormBeanConfig extends FormBeanConfig
>+{
>+    private String _actualType;  // applicable for non-ActionForm-derived 
>form types
>+
>+
>+    public String getActualType()
>+    {
>+        return _actualType;
>+    }
>+
>+    public void setActualType( String actualType )
>+    {
>+        _actualType = actualType;
>+    }
>+}
>
>Property changes on: 
>netui/src/pageflow/org/apache/beehive/netui/pageflow/config/PageFlowFormBeanConfig.java
>___________________________________________________________________
>Name: svn:eol-style
>    + native
>
>Index: 
>netui/src/compiler/org/apache/beehive/netui/compiler/model/FormBeanModel.java
>===================================================================
>--- 
>netui/src/compiler/org/apache/beehive/netui/compiler/model/FormBeanModel.java 
>(revision 46036)
>+++ 
>netui/src/compiler/org/apache/beehive/netui/compiler/model/FormBeanModel.java 
>(working copy)
>@@ -22,6 +22,8 @@
>  import java.util.List;
>
>  import 
> org.apache.beehive.netui.compiler.model.schema.struts11.FormBeanDocument;
>+import 
>org.apache.beehive.netui.compiler.model.schema.struts11.SetPropertyDocument.SetProperty;
>+import static 
>org.apache.beehive.netui.compiler.JpfLanguageConstants.PAGEFLOW_PACKAGE;
>
>
>  /**
>@@ -86,6 +88,8 @@
>      }
>
>
>+    private static final String JPF_FORM_BEAN_CONFIG_CLASSNAME = 
>PAGEFLOW_PACKAGE + ".config.PageFlowFormBeanConfig";
>+
>      private String _id = "";  // NOI18N
>      private String _className = null;
>      private boolean _dynamic = false;
>@@ -116,6 +120,14 @@
>          {
>              xb.setId( _id );
>          }
>+
>+        if ( _actualType != null )
>+        {
>+            SetProperty prop = xb.addNewSetProperty();
>+            prop.setProperty( "actualType" );
>+            prop.setValue( _actualType );
>+            xb.setClassName( JPF_FORM_BEAN_CONFIG_CLASSNAME );
>+        }
>
>          if ( xb.getClassName() == null &&_className != null )
>          {


Mime
View raw message