beehive-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From r...@apache.org
Subject svn commit: rev 43671 - in incubator/beehive/trunk/netui: src/compiler/org/apache/beehive/netui/compiler src/compiler/org/apache/beehive/netui/compiler/genmodel src/compiler/org/apache/beehive/netui/compiler/grammar src/pageflow/org/apache/beehive/netui/pageflow src/scoping/org/apache/beehive/netui/pageflow/scoping test/webapps/drt/coreWeb/WEB-INF
Date Fri, 10 Sep 2004 14:29:52 GMT
Author: rich
Date: Fri Sep 10 07:29:51 2004
New Revision: 43671

Added:
   incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/DelegatingType.java   (contents, props changed)
   incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/ForwardToExternalPathType.java   (contents, props changed)
Modified:
   incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/AnnotationMemberType.java
   incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/CompilerUtils.java
   incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/FlowControllerChecker.java
   incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/JpfLanguageConstants.java
   incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/PageFlowChecker.java
   incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/diagnostics.properties
   incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/genmodel/GenActionModel.java
   incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/genmodel/GenActionOutputModel.java
   incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/genmodel/GenExceptionModel.java
   incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/genmodel/GenForwardModel.java
   incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/genmodel/GenStrutsApp.java
   incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/genmodel/GenValidationModel.java
   incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/AbsolutePathType.java
   incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/ActionGrammar.java
   incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/CatchGrammar.java
   incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/ExceptionHandlerGrammar.java
   incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/ExternalPathOrActionType.java
   incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/ForwardGrammar.java
   incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/JavaIdentifierType.java
   incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/MemberFieldType.java
   incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/MemberMethodType.java
   incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/MessageKeyType.java
   incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/RaiseActionGrammar.java
   incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/TypeNameType.java
   incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/UniqueValueType.java
   incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/ValidateTypeGrammar.java
   incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/ValidationLocaleRulesGrammar.java
   incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/WebappPathOrActionType.java
   incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/WebappPathType.java
   incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/WritableFieldType.java
   incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowManagedObject.java
   incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowRequestProcessor.java
   incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowUtils.java
   incubator/beehive/trunk/netui/src/scoping/org/apache/beehive/netui/pageflow/scoping/ScopedServletUtils.java
   incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/web.xml
Log:
- Fixed ClassCastExceptions when using an interface type (an XMLBean interface) as an action method's form bean, or in the outputFormBean/outputFormBeanType/returnAction attributes on @Jpf.Forward, or in a @Jpf.ValidatableBean annotation, or in @Jpf.ActionOutput annotation.
- Added a warning when forwarding to a page outside the current page flow from an exception handler, a @Jpf.Catch, or a validation error forward.  In this situation, message resources on the destination page will not come from the current page flow.
- Changed so that with assertions turned off, running the page flow compiler against an out-of-date (and not supported) beehive-netui-pageflow.jar will not blow up.
- Fixed to avoid an NPE when raising a page flow action from a JSF page, when the page flow action has validation rules.
- Removed outdated jpf-struts-config--global.xml module registration in DRT webapp.

DRT/BVT: netui (WinXP)
BB: self (linux)



Modified: incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/AnnotationMemberType.java
==============================================================================
--- incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/AnnotationMemberType.java	(original)
+++ incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/AnnotationMemberType.java	Fri Sep 10 07:29:51 2004
@@ -62,7 +62,7 @@
     /**
      * @return a result (any Object) that will be passed back to the parent checker.  May be <code>null</code>.
      */ 
-    protected Object onCheck( AnnotationTypeElementDeclaration valueDecl, AnnotationValue member,
+    public Object onCheck( AnnotationTypeElementDeclaration valueDecl, AnnotationValue member,
                               AnnotationMirror parentAnnotation, MemberDeclaration classMember )
     {
         return null;

Modified: incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/CompilerUtils.java
==============================================================================
--- incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/CompilerUtils.java	(original)
+++ incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/CompilerUtils.java	Fri Sep 10 07:29:51 2004
@@ -17,11 +17,6 @@
  */
 package org.apache.beehive.netui.compiler;
 
-import static org.apache.beehive.netui.compiler.JpfLanguageConstants.GLOBALAPP_FULL_CLASSNAME;
-import static org.apache.beehive.netui.compiler.JpfLanguageConstants.WEBINF_SRC_DIR;
-import static org.apache.beehive.netui.compiler.JpfLanguageConstants.GLOBALAPP_PACKAGE;
-import static org.apache.beehive.netui.compiler.JpfLanguageConstants.GLOBALAPP_CLASSNAME;
-import static org.apache.beehive.netui.compiler.JpfLanguageConstants.GLOBALAPP_FILE_EXTENSION_DOT;
 import com.sun.mirror.declaration.*;
 import com.sun.mirror.apt.AnnotationProcessorEnvironment;
 import com.sun.mirror.type.ClassType;
@@ -139,7 +134,7 @@
     public static String getString( AnnotationMirror annotation, String memberName, boolean defaultIsNull )
     {
         AnnotationValue value = getAnnotationValue( annotation, memberName, defaultIsNull );
-        return value != null ? ( String ) value.getValue() : null;
+        return value != null ? ( String ) value.getValue() : ( defaultIsNull ? null : "" );
     }
     
     public static String getEnumFieldName( AnnotationMirror annotation, String memberName, boolean defaultIsNull )
@@ -157,10 +152,10 @@
         return ret;
     }
     
-    public static ClassType getClassType( AnnotationMirror annotation, String memberName, boolean defaultIsNull )
+    public static DeclaredType getDeclaredType( AnnotationMirror annotation, String memberName, boolean defaultIsNull )
     {
         AnnotationValue value = getAnnotationValue( annotation, memberName, defaultIsNull );
-        return value != null ? ( ClassType ) value.getValue() : null;
+        return value != null ? ( DeclaredType ) value.getValue() : null;
     }
     
     public static ReferenceType getReferenceType( AnnotationMirror annotation, String memberName, boolean defaultIsNull )
@@ -172,19 +167,19 @@
     public static Integer getInteger( AnnotationMirror annotation, String memberName, boolean defaultIsNull )
     {
         AnnotationValue value = getAnnotationValue( annotation, memberName, defaultIsNull );
-        return value != null ? ( Integer ) value.getValue() : null;
+        return value != null ? ( Integer ) value.getValue() : ( defaultIsNull ? null : new Integer( 0 ) );
     }
     
     public static Float getFloat( AnnotationMirror annotation, String memberName, boolean defaultIsNull )
     {
         AnnotationValue value = getAnnotationValue( annotation, memberName, defaultIsNull );
-        return value != null ? ( Float ) value.getValue() : null;
+        return value != null ? ( Float ) value.getValue() : ( defaultIsNull ? null : new Float ( 0 ) );
     }
     
     public static Boolean getBoolean( AnnotationMirror annotation, String memberName, boolean defaultIsNull )
     {
         AnnotationValue value = getAnnotationValue( annotation, memberName, defaultIsNull );
-        return value != null ? ( Boolean ) value.getValue() : null;
+        return value != null ? ( Boolean ) value.getValue() : ( defaultIsNull ? null : Boolean.FALSE );
     }
     
     public static Object getValue( Declaration element, String annotationName, String memberName, boolean defaultIsNull )
@@ -438,7 +433,7 @@
     /**
      * Get a Class.forName-able string for the given type signature.  
      */
-    public static String getFormClassName( ClassDeclaration jclass, AnnotationProcessorEnvironment env )
+    public static String getFormClassName( TypeDeclaration jclass, AnnotationProcessorEnvironment env )
     {
         if ( isAssignableFrom( FORM_CLASS_NAME, jclass, env ) )
         {
@@ -458,7 +453,7 @@
         }
     }
     
-    public static String getFormClassName( ClassType jclass, AnnotationProcessorEnvironment env )
+    public static String getFormClassName( DeclaredType jclass, AnnotationProcessorEnvironment env )
     {
         return getFormClassName( jclass.getDeclaration(), env );
     }
@@ -621,7 +616,7 @@
         }
     }
     
-    public static String getLoadableName( ClassType jclass )
+    public static String getLoadableName( DeclaredType jclass )
     {
         return getLoadableName( jclass.getDeclaration() );
     }

Modified: incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/FlowControllerChecker.java
==============================================================================
--- incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/FlowControllerChecker.java	(original)
+++ incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/FlowControllerChecker.java	Fri Sep 10 07:29:51 2004
@@ -47,6 +47,7 @@
     private AnnotationGrammar _actionGrammar;
     private AnnotationGrammar _exceptionHandlerGrammar;
     private FormBeanChecker _formBeanChecker;
+    private Map _checkResultMap;
     
     public FlowControllerChecker( AnnotationProcessorEnvironment env, Diagnostics diags, FlowControllerInfo fcInfo )    
     {
@@ -58,6 +59,11 @@
     {
     }
     
+    protected Map getCheckResultMap()
+    {
+        return _checkResultMap;
+    }
+    
     protected abstract String getDesiredBaseClass( ClassDeclaration jclass );
     
     protected abstract AnnotationGrammar getControllerGrammar();
@@ -66,6 +72,7 @@
     
     public Map onCheck( ClassDeclaration jclass )
     {
+        _checkResultMap = new HashMap();
         _controllerGrammar = getControllerGrammar();
         _actionGrammar = new ActionGrammar( getEnv(), getDiagnostics(), getRuntimeVersionChecker(), _fcInfo );
         _exceptionHandlerGrammar =
@@ -134,9 +141,8 @@
         
         endCheckClass( jclass );
         _fcInfo.endBuild();
-        Map result = new HashMap();
-        result.put( JpfLanguageConstants.ExtraInfoKeys.flowControllerInfo, _fcInfo );
-        return result;
+        _checkResultMap.put( JpfLanguageConstants.ExtraInfoKeys.flowControllerInfo, _fcInfo );
+        return _checkResultMap;
     }
     
     protected void endCheckClass( ClassDeclaration jclass )

Modified: incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/JpfLanguageConstants.java
==============================================================================
--- incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/JpfLanguageConstants.java	(original)
+++ incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/JpfLanguageConstants.java	Fri Sep 10 07:29:51 2004
@@ -198,7 +198,8 @@
     
     public enum ExtraInfoKeys
     {
-        flowControllerInfo
+        flowControllerInfo,
+        overlappingPageFlowFiles
     }
 
     public static final String ERROR_TYPE_STR = "<error>";

Modified: incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/PageFlowChecker.java
==============================================================================
--- incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/PageFlowChecker.java	(original)
+++ incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/PageFlowChecker.java	Fri Sep 10 07:29:51 2004
@@ -136,12 +136,15 @@
         PackageDeclaration pkg = jpfClass.getPackage();
         Collection< ClassDeclaration > packageClasses = pkg.getClasses();
         ArrayList< String > overlapping = new ArrayList< String >();
+        ArrayList< File > overlappingFiles = new ArrayList< File >();
         
         for ( ClassDeclaration classDecl : packageClasses )
         {
             if ( ! classDecl.equals( jpfClass ) && CompilerUtils.isPageFlowClass( classDecl, getEnv() ) )
             {
-                overlapping.add( CompilerUtils.getOriginalFile( classDecl ).getName() );
+                File file = CompilerUtils.getOriginalFile( classDecl );
+                overlapping.add( file.getName() );
+                overlappingFiles.add( file );
             }
         }
             
@@ -157,6 +160,8 @@
                 getDiagnostics().addError( jpfClass, "error.overlapping-pageflows" + len, overlapping.toArray() );
             }
         }
+        
+        getCheckResultMap().put( JpfLanguageConstants.ExtraInfoKeys.overlappingPageFlowFiles, overlappingFiles );
 
         //
         // Check the package name.
@@ -258,8 +263,8 @@
                 super( VERSION_9_0_STRING, JpfControllerGrammar.this );
             }
 
-            protected Object onCheck( AnnotationTypeElementDeclaration valueDecl, AnnotationValue value,
-                                      AnnotationMirror parentAnnotation, MemberDeclaration classMember )
+            public Object onCheck( AnnotationTypeElementDeclaration valueDecl, AnnotationValue value,
+                                   AnnotationMirror parentAnnotation, MemberDeclaration classMember )
             {
                 boolean isSingleton = ( Boolean ) value.getValue();
                 if ( isSingleton && CompilerUtils.isInNestedPageFlow( classMember ) )

Modified: incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/diagnostics.properties
==============================================================================
--- incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/diagnostics.properties	(original)
+++ incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/diagnostics.properties	Fri Sep 10 07:29:51 2004
@@ -148,3 +148,5 @@
 error.absolute-path-required-for-external-redirect = \
 An absolute path is required for an external redirect.
 
+warning.exception-handler-forward-to-external-page = \
+Any error messages on external page "{0}" will not use message resources from the current page flow.

Modified: incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/genmodel/GenActionModel.java
==============================================================================
--- incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/genmodel/GenActionModel.java	(original)
+++ incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/genmodel/GenActionModel.java	Fri Sep 10 07:29:51 2004
@@ -32,8 +32,9 @@
 import com.sun.mirror.declaration.AnnotationMirror;
 import com.sun.mirror.declaration.MethodDeclaration;
 import com.sun.mirror.declaration.ParameterDeclaration;
+import com.sun.mirror.declaration.TypeDeclaration;
 import com.sun.mirror.type.TypeMirror;
-import com.sun.mirror.type.ClassType;
+import com.sun.mirror.type.DeclaredType;
 
 
 public class GenActionModel
@@ -168,8 +169,8 @@
     
     protected String addFormBean( TypeMirror paramType, GenStrutsApp parentApp )
     {
-        assert paramType instanceof ClassType : paramType.getClass().getName();  // checker should enforce this
-        ClassDeclaration decl = ( ( ClassType ) paramType ).getDeclaration();
+        assert paramType instanceof DeclaredType : paramType.getClass().getName();  // checker should enforce this
+        TypeDeclaration decl = ( ( DeclaredType ) paramType ).getDeclaration();
         String formBeanName = parentApp.addFormBean( decl, this );
         
         //

Modified: incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/genmodel/GenActionOutputModel.java
==============================================================================
--- incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/genmodel/GenActionOutputModel.java	(original)
+++ incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/genmodel/GenActionOutputModel.java	Fri Sep 10 07:29:51 2004
@@ -22,9 +22,9 @@
 import org.apache.beehive.netui.compiler.CompilerUtils;
 import com.sun.mirror.declaration.AnnotationMirror;
 import com.sun.mirror.declaration.ClassDeclaration;
-import com.sun.mirror.type.ClassType;
 import com.sun.mirror.type.ArrayType;
 import com.sun.mirror.type.TypeMirror;
+import com.sun.mirror.type.DeclaredType;
 
 
 public class GenActionOutputModel
@@ -47,8 +47,8 @@
             baseType = ( ( ArrayType ) baseType ).getComponentType();
         }
         
-        assert baseType instanceof ClassType : baseType.getClass().getName();   // checker should enforce this
-        String typeName = CompilerUtils.getLoadableName( ( ClassType ) baseType ) + arrayDimensions.toString();
+        assert baseType instanceof DeclaredType : baseType.getClass().getName();   // checker should enforce this
+        String typeName = CompilerUtils.getLoadableName( ( DeclaredType ) baseType ) + arrayDimensions.toString();
         setType( typeName.toString() );
     }
 }

Modified: incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/genmodel/GenExceptionModel.java
==============================================================================
--- incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/genmodel/GenExceptionModel.java	(original)
+++ incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/genmodel/GenExceptionModel.java	Fri Sep 10 07:29:51 2004
@@ -38,7 +38,7 @@
     {
         super( parentApp );
         
-        setType( CompilerUtils.getLoadableName( CompilerUtils.getClassType( annotation, TYPE_ATTR, true ) ) );
+        setType( CompilerUtils.getLoadableName( CompilerUtils.getDeclaredType( annotation, TYPE_ATTR, true ) ) );
         setPath( CompilerUtils.getString( annotation, PATH_ATTR, true ) );
         setMessage( CompilerUtils.getString( annotation, MESSAGE_ATTR, true ) );
         setMessageKey( CompilerUtils.getString( annotation, MESSAGE_KEY_ATTR, true ) );

Modified: incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/genmodel/GenForwardModel.java
==============================================================================
--- incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/genmodel/GenForwardModel.java	(original)
+++ incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/genmodel/GenForwardModel.java	Fri Sep 10 07:29:51 2004
@@ -24,7 +24,7 @@
 import com.sun.mirror.declaration.AnnotationMirror;
 import com.sun.mirror.declaration.ClassDeclaration;
 import com.sun.mirror.declaration.FieldDeclaration;
-import com.sun.mirror.type.ClassType;
+import com.sun.mirror.type.DeclaredType;
 
 import java.util.List;
 
@@ -46,15 +46,15 @@
         //
         // returnForm/returnFormType
         //
-        ClassType returnFormType = CompilerUtils.getClassType( annotation, OUTPUT_FORM_BEAN_TYPE_ATTR, true );
+        DeclaredType returnFormType = CompilerUtils.getDeclaredType( annotation, OUTPUT_FORM_BEAN_TYPE_ATTR, true );
         String returnFormMember = CompilerUtils.getString( annotation, OUTPUT_FORM_BEAN_ATTR, true );
         if ( returnFormMember != null )
         {
             FieldDeclaration field = CompilerUtils.getClassField( jclass, returnFormMember, null );
             assert returnFormType == null;  // checker should catch this
             assert field != null;           // checker should catch this
-            assert field.getType() instanceof ClassType : field.getType().getClass().getName(); // checker enforces
-            returnFormType = ( ClassType ) field.getType();
+            assert field.getType() instanceof DeclaredType : field.getType().getClass().getName(); // checker enforces
+            returnFormType = ( DeclaredType ) field.getType();
         }
         setReturnFormMember( returnFormMember );
         setReturnFormType( returnFormType != null ? CompilerUtils.getLoadableName( returnFormType ) : null );

Modified: incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/genmodel/GenStrutsApp.java
==============================================================================
--- incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/genmodel/GenStrutsApp.java	(original)
+++ incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/genmodel/GenStrutsApp.java	Fri Sep 10 07:29:51 2004
@@ -45,8 +45,8 @@
 import com.sun.mirror.declaration.MethodDeclaration;
 import com.sun.mirror.declaration.ParameterDeclaration;
 import com.sun.mirror.apt.AnnotationProcessorEnvironment;
-import com.sun.mirror.type.ClassType;
 import com.sun.mirror.type.TypeMirror;
+import com.sun.mirror.type.DeclaredType;
 
 
 public class GenStrutsApp
@@ -129,7 +129,7 @@
         
     }    
     
-    String addFormBean( ClassDeclaration formType, ActionModel usedByAction )
+    String addFormBean( TypeDeclaration formType, ActionModel usedByAction )
     {
         String formClass = CompilerUtils.getFormClassName( formType, _env );
 
@@ -209,15 +209,15 @@
                 ParameterDeclaration param1 = params.iterator().next();
                 TypeMirror paramType = param1.getType();
                 
-                if ( paramType instanceof ClassType )
+                if ( paramType instanceof DeclaredType )
                 {
-                    getMessageResourcesFromForm( ( ( ClassType ) paramType ).getDeclaration(), actionModel );
+                    getMessageResourcesFromForm( ( ( DeclaredType ) paramType ).getDeclaration(), actionModel );
                 }
             }
         }
     }
     
-    private void getMessageResourcesFromForm( ClassDeclaration formClassType, ActionModel actionModel )
+    private void getMessageResourcesFromForm( TypeDeclaration formClassType, ActionModel actionModel )
     {
         AnnotationMirror ann = CompilerUtils.getAnnotation( formClassType, FORM_BEAN_TAG_NAME );
         

Modified: incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/genmodel/GenValidationModel.java
==============================================================================
--- incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/genmodel/GenValidationModel.java	(original)
+++ incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/genmodel/GenValidationModel.java	Fri Sep 10 07:29:51 2004
@@ -32,7 +32,7 @@
 import com.sun.mirror.declaration.Modifier;
 import com.sun.mirror.declaration.AnnotationValue;
 import com.sun.mirror.declaration.AnnotationTypeElementDeclaration;
-import com.sun.mirror.type.ClassType;
+import com.sun.mirror.type.DeclaredType;
 
 import java.util.Locale;
 import java.util.Collection;
@@ -183,7 +183,7 @@
         }
     }
     
-    private String getFormBeanName( ClassDeclaration beanType )
+    private String getFormBeanName( TypeDeclaration beanType )
     {
         String beanClassName = CompilerUtils.getLoadableName( beanType );
         boolean isActionFormDerived =
@@ -220,7 +220,7 @@
             
             for ( AnnotationMirror validationBeanAnnotation : validationBeanAnnotations )
             {
-                ClassType beanType = CompilerUtils.getClassType( validationBeanAnnotation, TYPE_ATTR, true );
+                DeclaredType beanType = CompilerUtils.getDeclaredType( validationBeanAnnotation, TYPE_ATTR, true );
                 assert beanType != null;    // checker should enforce this
                 
                 Collection< AnnotationMirror > validationFieldAnnotations =

Modified: incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/AbsolutePathType.java
==============================================================================
--- incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/AbsolutePathType.java	(original)
+++ incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/AbsolutePathType.java	Fri Sep 10 07:29:51 2004
@@ -32,7 +32,8 @@
         super( requiredRuntimeVersion, parentGrammar);
     }
 
-    protected Object onCheck(AnnotationTypeElementDeclaration valueDecl, AnnotationValue member, AnnotationMirror parentAnnotation, MemberDeclaration classMember)
+    public Object onCheck( AnnotationTypeElementDeclaration valueDecl, AnnotationValue member,
+                           AnnotationMirror parentAnnotation, MemberDeclaration classMember)
     {
         String path = CompilerUtils.getString(parentAnnotation, PATH_ATTR, false);
         if ( ! path.startsWith("/") )

Modified: incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/ActionGrammar.java
==============================================================================
--- incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/ActionGrammar.java	(original)
+++ incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/ActionGrammar.java	Fri Sep 10 07:29:51 2004
@@ -47,7 +47,7 @@
         addMemberArrayGrammar( FORWARDS_ATTR, new ForwardGrammar( env, diags, null, rvc, fcInfo ) );
         addMemberArrayGrammar( CATCHES_ATTR, new CatchGrammar( env, diags, null, rvc, ACTION_TAG_NAME, fcInfo ) );
         addMemberArrayGrammar( VALIDATABLE_PROPERTIES_ATTR, new ValidationFieldGrammar( env, diags, rvc ) );
-        addMemberGrammar( VALIDATION_ERROR_FORWARD_ATTR, new ForwardGrammar( env, diags, null, rvc, fcInfo ) );
+        addMemberGrammar( VALIDATION_ERROR_FORWARD_ATTR, new ActionForwardGrammar() );
     }
 
     public String[][] getMutuallyExclusiveAttrs()
@@ -58,5 +58,18 @@
     public String[][] getRequiredAttrs()
     {
         return null;
-    }    
+    }
+    
+    private class ActionForwardGrammar
+        extends ForwardGrammar
+    {
+        public ActionForwardGrammar()
+        {
+            super( ActionGrammar.this.getEnv(), ActionGrammar.this.getDiagnostics(), null,
+                   ActionGrammar.this.getRuntimeVersionChecker(), ActionGrammar.this.getFlowControllerInfo() );
+            ExternalPathOrActionType baseForwardType =
+                    new ExternalPathOrActionType( false, null, this, ActionGrammar.this.getFlowControllerInfo() );
+            addMemberType( PATH_ATTR, new ForwardToExternalPathType( baseForwardType, null, ActionGrammar.this ) );
+        }
+    }
 }

Modified: incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/CatchGrammar.java
==============================================================================
--- incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/CatchGrammar.java	(original)
+++ incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/CatchGrammar.java	Fri Sep 10 07:29:51 2004
@@ -30,8 +30,9 @@
 import com.sun.mirror.declaration.ParameterDeclaration;
 import com.sun.mirror.declaration.AnnotationValue;
 import com.sun.mirror.declaration.TypeDeclaration;
+import com.sun.mirror.declaration.AnnotationTypeElementDeclaration;
 import com.sun.mirror.type.TypeMirror;
-import com.sun.mirror.type.ClassType;
+import com.sun.mirror.type.DeclaredType;
 
 import java.util.Map;
 import java.util.Collection;
@@ -58,7 +59,7 @@
         _annotationRootName = annotationRootName;   // the parent of the list of @Jpf.Catch annotations.
         addMemberType( METHOD_ATTR, new CatchTagMethodType() );
         addMemberType( TYPE_ATTR, new TypeNameType( THROWABLE_CLASS_NAME, false, null, this ) );
-        addMemberType( PATH_ATTR, new WebappPathOrActionType( false, null, this, fcInfo ) );
+        addMemberType( PATH_ATTR, new ForwardToExternalPathType( new WebappPathOrActionType( false, null, this, fcInfo ), null, this ) );
         addMemberType( MESSAGE_ATTR, new AnnotationMemberType( null, this ) );
         addMemberType( MESSAGE_KEY_ATTR, new AnnotationMemberType( null, this ) );
     }
@@ -81,7 +82,7 @@
                                  MemberDeclaration classMember, Map checkResults )
     {
         MethodDeclaration handlerMethod = ( MethodDeclaration ) checkResults.get( METHOD_ATTR );
-        ClassType exceptionType = ( ClassType ) checkResults.get( TYPE_ATTR );
+        DeclaredType exceptionType = ( DeclaredType ) checkResults.get( TYPE_ATTR );
         
         //
         // If either of these are null, then there was another already-reported error (e.g., type was unresolved).
@@ -198,3 +199,4 @@
         }
     }    
 }
+

Added: incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/DelegatingType.java
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/DelegatingType.java	Fri Sep 10 07:29:51 2004
@@ -0,0 +1,45 @@
+/*
+ * B E A   S Y S T E M S
+ * Copyright 2002-2004  BEA Systems, Inc.
+ *
+ * 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.compiler.grammar;
+
+import org.apache.beehive.netui.compiler.AnnotationMemberType;
+import org.apache.beehive.netui.compiler.AnnotationGrammar;
+import com.sun.mirror.declaration.AnnotationTypeElementDeclaration;
+import com.sun.mirror.declaration.AnnotationValue;
+import com.sun.mirror.declaration.AnnotationMirror;
+import com.sun.mirror.declaration.MemberDeclaration;
+
+public class DelegatingType
+        extends AnnotationMemberType
+{
+    private AnnotationMemberType _baseType;
+    
+    public DelegatingType( AnnotationMemberType baseType, String requiredRuntimeVersion,
+                           AnnotationGrammar parentGrammar )
+    {
+        super( requiredRuntimeVersion, parentGrammar );
+        _baseType = baseType;
+    }
+
+    public Object onCheck( AnnotationTypeElementDeclaration valueDecl, AnnotationValue member,
+                           AnnotationMirror parentAnnotation, MemberDeclaration classMember )
+    {
+        return _baseType.onCheck( valueDecl, member, parentAnnotation, classMember );
+    }
+}

Modified: incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/ExceptionHandlerGrammar.java
==============================================================================
--- incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/ExceptionHandlerGrammar.java	(original)
+++ incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/ExceptionHandlerGrammar.java	Fri Sep 10 07:29:51 2004
@@ -17,7 +17,6 @@
  */
 package org.apache.beehive.netui.compiler.grammar;
 
-import org.apache.beehive.netui.compiler.AnnotationGrammar;
 import org.apache.beehive.netui.compiler.RuntimeVersionChecker;
 import org.apache.beehive.netui.compiler.AnnotationMemberType;
 import org.apache.beehive.netui.compiler.CompilerUtils;
@@ -32,10 +31,7 @@
 import java.util.Collection;
 import java.util.List;
 
-import static org.apache.beehive.netui.compiler.JpfLanguageConstants.READONLY_ATTR;
-import static org.apache.beehive.netui.compiler.JpfLanguageConstants.VERSION_8_SP2_STRING;
-import static org.apache.beehive.netui.compiler.JpfLanguageConstants.EXCEPTION_HANDLER_TAG_NAME;
-import static org.apache.beehive.netui.compiler.JpfLanguageConstants.FORWARDS_ATTR;
+import static org.apache.beehive.netui.compiler.JpfLanguageConstants.*;
 
 
 public class ExceptionHandlerGrammar
@@ -77,6 +73,8 @@
             super( ExceptionHandlerGrammar.this.getEnv(), ExceptionHandlerGrammar.this.getDiagnostics(),
                    ExceptionHandlerGrammar.this.getRequiredRuntimeVersion(),
                    ExceptionHandlerGrammar.this.getRuntimeVersionChecker(), fcInfo );
+            ExternalPathOrActionType baseType = new ExternalPathOrActionType( false, null, this, fcInfo );
+            addMemberType( PATH_ATTR, new ForwardToExternalPathType( baseType, null, ExceptionHandlerGrammar.this ) );
         }
     
         protected AnnotationMemberType getNameType()

Modified: incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/ExternalPathOrActionType.java
==============================================================================
--- incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/ExternalPathOrActionType.java	(original)
+++ incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/ExternalPathOrActionType.java	Fri Sep 10 07:29:51 2004
@@ -33,14 +33,15 @@
         super( pathMustBeRelative, requiredRuntimeVersion, parentGrammar, fcInfo );
     }
 
-    protected Object onCheck( AnnotationTypeElementDeclaration valueDecl, AnnotationValue value,
-                              AnnotationMirror parentAnnotation, MemberDeclaration classMember )
+    public Object onCheck( AnnotationTypeElementDeclaration valueDecl, AnnotationValue value,
+                           AnnotationMirror parentAnnotation, MemberDeclaration classMember )
     {
         // if we have an external redirect just bail
-        if (CompilerUtils.getBoolean(parentAnnotation, EXTERNAL_REDIRECT_ATTR, false))
+        if ( CompilerUtils.getBoolean( parentAnnotation, EXTERNAL_REDIRECT_ATTR, false ) )
         {
             return null;
         }
+        
         return super.onCheck( valueDecl, value, parentAnnotation, classMember );
     }
 }

Modified: incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/ForwardGrammar.java
==============================================================================
--- incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/ForwardGrammar.java	(original)
+++ incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/ForwardGrammar.java	Fri Sep 10 07:29:51 2004
@@ -30,8 +30,8 @@
 import com.sun.mirror.declaration.FieldDeclaration;
 import com.sun.mirror.declaration.TypeDeclaration;
 import com.sun.mirror.declaration.MethodDeclaration;
-import com.sun.mirror.type.ClassType;
 import com.sun.mirror.type.TypeMirror;
+import com.sun.mirror.type.DeclaredType;
 
 import java.util.List;
 import java.util.ArrayList;
@@ -135,7 +135,7 @@
         //
         if ( isReturnAction )
         {
-            ClassType formBeanType = CompilerUtils.getClassType( annotation, OUTPUT_FORM_BEAN_TYPE_ATTR, true );
+            DeclaredType formBeanType = CompilerUtils.getDeclaredType( annotation, OUTPUT_FORM_BEAN_TYPE_ATTR, true );
             
             if ( formBeanType == null )
             {
@@ -150,13 +150,13 @@
                     {
                         TypeMirror fieldType = field.getType();
                         
-                        if ( ! ( fieldType instanceof ClassType ) )
+                        if ( ! ( fieldType instanceof DeclaredType ) )
                         {
                             addError( annotation, "error.invalid-form-member-type", field.getSimpleName() );
                         }
                         else
                         {
-                            formBeanType = ( ClassType ) fieldType;
+                            formBeanType = ( DeclaredType ) fieldType;
                         }
                     }
                 }

Added: incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/ForwardToExternalPathType.java
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/ForwardToExternalPathType.java	Fri Sep 10 07:29:51 2004
@@ -0,0 +1,50 @@
+/*
+ * B E A   S Y S T E M S
+ * Copyright 2002-2004  BEA Systems, Inc.
+ *
+ * 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.compiler.grammar;
+
+import com.sun.mirror.declaration.AnnotationTypeElementDeclaration;
+import com.sun.mirror.declaration.AnnotationValue;
+import com.sun.mirror.declaration.AnnotationMirror;
+import com.sun.mirror.declaration.MemberDeclaration;
+import org.apache.beehive.netui.compiler.AnnotationGrammar;
+import org.apache.beehive.netui.compiler.FlowControllerInfo;
+import org.apache.beehive.netui.compiler.AnnotationMemberType;
+
+public class ForwardToExternalPathType
+        extends DelegatingType
+{
+    public ForwardToExternalPathType( AnnotationMemberType baseType, String requiredRuntimeVersion,
+                                      AnnotationGrammar parentGrammar )
+    {
+        super( baseType, requiredRuntimeVersion, parentGrammar );
+    }
+
+    public Object onCheck( AnnotationTypeElementDeclaration valueDecl, AnnotationValue value,
+                           AnnotationMirror parentAnnotation, MemberDeclaration classMember )
+    {
+        String stringValue = ( String ) value.getValue();
+        
+        if ( stringValue.indexOf( '/' ) != -1 )
+        {
+            addWarning( value, "warning.exception-handler-forward-to-external-page", stringValue );
+        }
+        
+        return super.onCheck( valueDecl, value, parentAnnotation, classMember );
+    }
+}

Modified: incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/JavaIdentifierType.java
==============================================================================
--- incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/JavaIdentifierType.java	(original)
+++ incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/JavaIdentifierType.java	Fri Sep 10 07:29:51 2004
@@ -32,8 +32,8 @@
         super( requiredRuntimeVersion, parentGrammar );
     }
 
-    protected Object onCheck( AnnotationTypeElementDeclaration valueDecl, AnnotationValue value,
-                              AnnotationMirror parentAnnotation, MemberDeclaration classMember )
+    public Object onCheck( AnnotationTypeElementDeclaration valueDecl, AnnotationValue value,
+                           AnnotationMirror parentAnnotation, MemberDeclaration classMember )
     {
         String val = ( String ) value.getValue();
 

Modified: incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/MemberFieldType.java
==============================================================================
--- incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/MemberFieldType.java	(original)
+++ incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/MemberFieldType.java	Fri Sep 10 07:29:51 2004
@@ -42,8 +42,8 @@
         _requiredSuperclassName = requiredSuperclassName;
     }
 
-    protected Object onCheck( AnnotationTypeElementDeclaration valueDecl, AnnotationValue member,
-                              AnnotationMirror parentAnnotation, MemberDeclaration classMember )
+    public Object onCheck( AnnotationTypeElementDeclaration valueDecl, AnnotationValue member,
+                           AnnotationMirror parentAnnotation, MemberDeclaration classMember )
     {
         String fieldName = ( String ) member.getValue();        
         Collection< FieldDeclaration > fields =

Modified: incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/MemberMethodType.java
==============================================================================
--- incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/MemberMethodType.java	(original)
+++ incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/MemberMethodType.java	Fri Sep 10 07:29:51 2004
@@ -43,8 +43,8 @@
         _errorCode = errorCode;
     }
 
-    protected Object onCheck( AnnotationTypeElementDeclaration valueDecl, AnnotationValue value,
-                              AnnotationMirror parentAnnotation, MemberDeclaration classMember )
+    public Object onCheck( AnnotationTypeElementDeclaration valueDecl, AnnotationValue value,
+                           AnnotationMirror parentAnnotation, MemberDeclaration classMember )
     {
         //
         // Look through all the methods to see if there is one whose name matches the given value.

Modified: incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/MessageKeyType.java
==============================================================================
--- incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/MessageKeyType.java	(original)
+++ incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/MessageKeyType.java	Fri Sep 10 07:29:51 2004
@@ -34,8 +34,8 @@
         super( requiredRuntimeVersion, parentGrammar );
     }
     
-    protected Object onCheck( AnnotationTypeElementDeclaration valueDecl, AnnotationValue member,
-                              AnnotationMirror parentAnnotation, MemberDeclaration classMember )
+    public Object onCheck( AnnotationTypeElementDeclaration valueDecl, AnnotationValue member,
+                           AnnotationMirror parentAnnotation, MemberDeclaration classMember )
     {
         // We're not currently supporting generation of validation messages.
         /*

Modified: incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/RaiseActionGrammar.java
==============================================================================
--- incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/RaiseActionGrammar.java	(original)
+++ incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/RaiseActionGrammar.java	Fri Sep 10 07:29:51 2004
@@ -55,8 +55,8 @@
             _jpfClass = jpfClass;
         }
 
-        protected Object onCheck( AnnotationTypeElementDeclaration valueDecl, AnnotationValue member,
-                                  AnnotationMirror parentAnnotation, MemberDeclaration classMember )
+        public Object onCheck( AnnotationTypeElementDeclaration valueDecl, AnnotationValue member,
+                               AnnotationMirror parentAnnotation, MemberDeclaration classMember )
         {
             String action = ( String ) member.getValue();
             

Modified: incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/TypeNameType.java
==============================================================================
--- incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/TypeNameType.java	(original)
+++ incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/TypeNameType.java	Fri Sep 10 07:29:51 2004
@@ -46,8 +46,8 @@
     /**
      * @return the fully-qualified type (ClassDeclaration)
      */ 
-    protected Object onCheck( AnnotationTypeElementDeclaration valueDecl, AnnotationValue value,
-                              AnnotationMirror parentAnnotation, MemberDeclaration classMember )
+    public Object onCheck( AnnotationTypeElementDeclaration valueDecl, AnnotationValue value,
+                           AnnotationMirror parentAnnotation, MemberDeclaration classMember )
     {
         Object val = value.getValue();
         

Modified: incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/UniqueValueType.java
==============================================================================
--- incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/UniqueValueType.java	(original)
+++ incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/UniqueValueType.java	Fri Sep 10 07:29:51 2004
@@ -52,8 +52,8 @@
     /**
      * @return a result (any Object) that will be passed back to the parent checker.  May be <code>null</code>.
      */
-    protected Object onCheck( AnnotationTypeElementDeclaration valueDecl, AnnotationValue value,
-                              AnnotationMirror parentAnnotation, MemberDeclaration classMember )
+    public Object onCheck( AnnotationTypeElementDeclaration valueDecl, AnnotationValue value,
+                           AnnotationMirror parentAnnotation, MemberDeclaration classMember )
     {
         String val = ( String ) value.getValue();
         

Modified: incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/ValidateTypeGrammar.java
==============================================================================
--- incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/ValidateTypeGrammar.java	(original)
+++ incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/ValidateTypeGrammar.java	Fri Sep 10 07:29:51 2004
@@ -49,8 +49,8 @@
             super( ValidateTypeGrammar.this.getRequiredRuntimeVersion(), ValidateTypeGrammar.this );
         }
 
-        protected Object onCheck( AnnotationTypeElementDeclaration valueDecl, AnnotationValue value,
-                                  AnnotationMirror parentAnnotation, MemberDeclaration classMember )
+        public Object onCheck( AnnotationTypeElementDeclaration valueDecl, AnnotationValue value,
+                               AnnotationMirror parentAnnotation, MemberDeclaration classMember )
         {
             Object val = value.getValue();
             

Modified: incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/ValidationLocaleRulesGrammar.java
==============================================================================
--- incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/ValidationLocaleRulesGrammar.java	(original)
+++ incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/ValidationLocaleRulesGrammar.java	Fri Sep 10 07:29:51 2004
@@ -102,8 +102,8 @@
             super( null, ValidationLocaleRulesGrammar.this );
         }
 
-        protected Object onCheck( AnnotationTypeElementDeclaration valueDecl, AnnotationValue member,
-                                  AnnotationMirror parentAnnotation, MemberDeclaration classMember )
+        public Object onCheck( AnnotationTypeElementDeclaration valueDecl, AnnotationValue member,
+                               AnnotationMirror parentAnnotation, MemberDeclaration classMember )
         {
             String language = CompilerUtils.getString( parentAnnotation, LANGUAGE_ATTR, true );
             

Modified: incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/WebappPathOrActionType.java
==============================================================================
--- incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/WebappPathOrActionType.java	(original)
+++ incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/WebappPathOrActionType.java	Fri Sep 10 07:29:51 2004
@@ -42,8 +42,8 @@
         _fcInfo = fcInfo;
     }
 
-    protected Object onCheck( AnnotationTypeElementDeclaration valueDecl, AnnotationValue value,
-                                    AnnotationMirror parentAnnotation, MemberDeclaration classMember )
+    public Object onCheck( AnnotationTypeElementDeclaration valueDecl, AnnotationValue value,
+                           AnnotationMirror parentAnnotation, MemberDeclaration classMember )
     {
         String stringValue = ( String ) value.getValue();
         if ( stringValue.endsWith( ACTION_EXTENSION_DOT ) && stringValue.indexOf( '/' ) == -1 )

Modified: incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/WebappPathType.java
==============================================================================
--- incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/WebappPathType.java	(original)
+++ incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/WebappPathType.java	Fri Sep 10 07:29:51 2004
@@ -55,8 +55,8 @@
         _pathMustBeRelative = pathMustBeRelative;
     }
 
-    protected Object onCheck( AnnotationTypeElementDeclaration valueDecl, AnnotationValue value,
-                              AnnotationMirror parentAnnotation, MemberDeclaration classMember )
+    public Object onCheck( AnnotationTypeElementDeclaration valueDecl, AnnotationValue value,
+                           AnnotationMirror parentAnnotation, MemberDeclaration classMember )
     {
         String stringValue = ( String ) value.getValue();
         

Modified: incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/WritableFieldType.java
==============================================================================
--- incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/WritableFieldType.java	(original)
+++ incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/WritableFieldType.java	Fri Sep 10 07:29:51 2004
@@ -41,8 +41,8 @@
         _attrName = attrName;
     }
 
-    protected Object onCheck( AnnotationTypeElementDeclaration valueDecl, AnnotationValue value,
-                              AnnotationMirror parentAnnotation, MemberDeclaration classMember )
+    public Object onCheck( AnnotationTypeElementDeclaration valueDecl, AnnotationValue value,
+                           AnnotationMirror parentAnnotation, MemberDeclaration classMember )
     {
         //
         // Look for the "readOnly" attribute on the current action method or the current class.  If it's there,

Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowManagedObject.java
==============================================================================
--- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowManagedObject.java	(original)
+++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowManagedObject.java	Fri Sep 10 07:29:51 2004
@@ -37,7 +37,7 @@
 import java.lang.reflect.Field;
 import java.lang.reflect.Modifier;
 
-abstract class PageFlowManagedObject
+public abstract class PageFlowManagedObject
         implements Serializable, HttpSessionBindingListener
 {
     private static final Logger _log = Logger.getInstance( PageFlowManagedObject.class );

Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowRequestProcessor.java
==============================================================================
--- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowRequestProcessor.java	(original)
+++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowRequestProcessor.java	Fri Sep 10 07:29:51 2004
@@ -291,6 +291,7 @@
             //
             // Return the forwarded form.
             //
+            previousForm.setServlet( servlet );
             return previousForm;
         }
         
@@ -346,6 +347,7 @@
         {
             bean = InternalUtils.createActionForm( request, mapping, moduleConfig, servlet, getServletContext() );
         }
+        
         return bean;
     }
     

Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowUtils.java
==============================================================================
--- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowUtils.java	(original)
+++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowUtils.java	Fri Sep 10 07:29:51 2004
@@ -815,7 +815,10 @@
             //CR122325 - added modulePath to actionOverride var in URL for case where portlet jpf
             //forwards to another jpf and a refresh is done while action from first jpf is in URL.
             assert actionOverride.charAt( 0 ) == '/' : actionOverride;
-            scopedRequest.setRequestURI( actionOverride + PageFlowConstants.ACTION_EXTENSION );
+            StringBuilder uri = new StringBuilder( scopedRequest.getContextPath() );
+            uri.append( actionOverride );
+            uri.append( PageFlowConstants.ACTION_EXTENSION );
+            scopedRequest.setRequestURI( uri.toString() );
         }
 
         //

Modified: incubator/beehive/trunk/netui/src/scoping/org/apache/beehive/netui/pageflow/scoping/ScopedServletUtils.java
==============================================================================
--- incubator/beehive/trunk/netui/src/scoping/org/apache/beehive/netui/pageflow/scoping/ScopedServletUtils.java	(original)
+++ incubator/beehive/trunk/netui/src/scoping/org/apache/beehive/netui/pageflow/scoping/ScopedServletUtils.java	Fri Sep 10 07:29:51 2004
@@ -349,15 +349,8 @@
     {
         String requestUrl = uri;
         int overlap = requestUrl.indexOf( contextPath + '/' );
-
-        if ( overlap != -1 )
-        {
-            return requestUrl.substring( overlap + contextPath.length() );
-        }
-        else
-        {
-            return requestUrl;
-        }
+        assert overlap != -1 : "contextPath: " + contextPath + ", uri: " + uri;
+        return requestUrl.substring( overlap + contextPath.length() );
     }
 
     /**

Modified: incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/web.xml
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/web.xml	(original)
+++ incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/web.xml	Fri Sep 10 07:29:51 2004
@@ -92,11 +92,6 @@
     </init-param>
 
     <init-param>
-      <param-name>config/-global</param-name>
-      <param-value>/WEB-INF/.pageflow-struts-generated/jpf-struts-config--global.xml</param-value>
-    </init-param>
-
-    <init-param>
       <param-name>moduleConfigLocators</param-name>
       <param-value>moduleConfigLocator.Locator1,moduleConfigLocator.Locator2</param-value>
     </init-param>

Mime
View raw message