You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beehive.apache.org by ri...@apache.org on 2005/09/16 22:30:17 UTC
svn commit: r289648 [4/6] - in /beehive/trunk/netui: src/compiler-core/
src/compiler-core/org/apache/beehive/netui/compiler/
src/compiler-core/org/apache/beehive/netui/compiler/genmodel/
src/compiler-core/org/apache/beehive/netui/compiler/grammar/ src/...
Added: beehive/trunk/netui/src/compiler-xdoclet/org/apache/beehive/netui/compiler/xdoclet/typesystem/impl/declaration/AnnotationInterfaceParser.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/src/compiler-xdoclet/org/apache/beehive/netui/compiler/xdoclet/typesystem/impl/declaration/AnnotationInterfaceParser.java?rev=289648&view=auto
==============================================================================
--- beehive/trunk/netui/src/compiler-xdoclet/org/apache/beehive/netui/compiler/xdoclet/typesystem/impl/declaration/AnnotationInterfaceParser.java (added)
+++ beehive/trunk/netui/src/compiler-xdoclet/org/apache/beehive/netui/compiler/xdoclet/typesystem/impl/declaration/AnnotationInterfaceParser.java Fri Sep 16 13:27:57 2005
@@ -0,0 +1,404 @@
+/*
+ * 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.compiler.xdoclet.typesystem.impl.declaration;
+
+import org.apache.beehive.netui.compiler.JpfLanguageConstants;
+import org.apache.beehive.netui.compiler.typesystem.declaration.AnnotationTypeDeclaration;
+import org.apache.beehive.netui.compiler.typesystem.declaration.AnnotationTypeElementDeclaration;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.Reader;
+import java.io.StreamTokenizer;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.HashSet;
+
+public class AnnotationInterfaceParser implements JpfLanguageConstants {
+ private HashMap _memberArrayAnnotations = new HashMap();
+ private HashMap _memberAnnotations = new HashMap();
+ private HashSet _memberOrTopLevelAnnotations = new HashSet();
+ private String _annotationInterfacePrefix;
+
+
+ /** Map of String intermediate-name (e.g., "Jpf.Action") to AnnotationTypeDeclaration */
+ private HashMap _annotations = new HashMap();
+ private AnnotationTypeDeclaration[] _allAnnotations;
+
+ public AnnotationInterfaceParser(String annotationInterfacePrefix)
+ {
+ _annotationInterfacePrefix = annotationInterfacePrefix;
+ parseAnnotations();
+ _allAnnotations = ( AnnotationTypeDeclaration[] )
+ _annotations.values().toArray( new AnnotationTypeDeclaration[ _annotations.size() ] );
+ }
+
+ public void addMemberAnnotation(String tagName, String parentAttribute)
+ {
+ _memberAnnotations.put(_annotationInterfacePrefix + tagName, parentAttribute);
+ }
+
+ public void addMemberArrayAnnotation(String tagName, String parentAttribute)
+ {
+ _memberArrayAnnotations.put(_annotationInterfacePrefix + tagName, parentAttribute);
+ }
+
+ public void addMemberOrTopLevelAnnotation(String tagName)
+ {
+ _memberOrTopLevelAnnotations.add(_annotationInterfacePrefix + tagName);
+ }
+
+ public AnnotationTypeDeclaration[] getAllAnnotations()
+ {
+ return _allAnnotations;
+ }
+
+ public AnnotationTypeDeclaration getAnnotationTypeDecl(String tagName)
+ {
+ return (AnnotationTypeDeclaration) _annotations.get(tagName);
+ }
+
+ /**
+ * Get the name of the parent annotation member for the given tag.
+ */
+ public String getParentMemberName(String tagName)
+ {
+ return (String) _memberAnnotations.get(tagName);
+ }
+
+ /**
+ * Get the name of the parent annotation array member for the given tag.
+ */
+ public String getParentMemberArrayName(String tagName)
+ {
+ return (String) _memberArrayAnnotations.get(tagName);
+ }
+
+ public boolean isMemberOrTopLevelAnnotation(String tagName)
+ {
+ return _memberOrTopLevelAnnotations.contains(tagName);
+ }
+
+ private static StreamTokenizer getJavaTokenizer( Reader reader )
+ {
+ StreamTokenizer tok = new StreamTokenizer( reader );
+ tok.eolIsSignificant( false );
+ tok.lowerCaseMode( false );
+ tok.parseNumbers();
+ tok.slashSlashComments( true );
+ tok.slashStarComments( true );
+ tok.wordChars( '_', '_' );
+ tok.wordChars( '@', '@' );
+ tok.wordChars( '[', '[' );
+ tok.wordChars( ']', ']' );
+ tok.wordChars( '.', '.' );
+ tok.wordChars( '"', '"' );
+ tok.wordChars( '-', '-' );
+ return tok;
+ }
+
+ private void parseAnnotations()
+ {
+ String annotationsSource = ANNOTATIONS_CLASSNAME.replace( '.', '/' ) + ".java";
+ InputStream in = DeclarationImpl.class.getClassLoader().getResourceAsStream( annotationsSource );
+ assert in != null : "annotations source not found: " + annotationsSource;
+ BufferedReader reader = new BufferedReader( new InputStreamReader( in ) );
+
+ try
+ {
+ HashMap enums = new HashMap(); // String enumTypeName -> HashSet values
+ StreamTokenizer tok = getJavaTokenizer( reader );
+
+
+ String interfaceQualifier = null;
+ String packageName = null;
+
+ while ( tok.nextToken() != StreamTokenizer.TT_EOF )
+ {
+ switch ( tok.ttype )
+ {
+ case StreamTokenizer.TT_WORD:
+ String str = tok.sval;
+
+ if ( packageName == null && str.equals( "package" ) )
+ {
+ packageName = assertWord( tok );
+ }
+ else if ( str.equals( "public" ) )
+ {
+ str = assertWord( tok );
+
+ if ( str.equals( "interface" ) )
+ {
+ interfaceQualifier = assertWord( tok ) + '.';
+ assertChar( tok, '{' );
+ }
+ else if ( str.equals( "@interface" ) )
+ {
+ AnnotationTypeDeclarationImpl ann =
+ readAnnotation( tok, interfaceQualifier, packageName, enums );
+ _annotations.put( ann.getIntermediateName(), ann );
+
+ /* TODO: re-add in DeclarationImpl
+ //
+ // Special case:
+ // validationErrorForward=@Jpf.Forward(...)
+ // looks like this in our world:
+ // @Jpf.ValidationErrorForward(...)
+ // Here we dynamically create a new ValidationErrorForward annotation based on Forward.
+ //
+ if ( ann.getSimpleName().equals( FORWARD_TAG_NAME ) )
+ {
+ AnnotationTypeDeclarationImpl validationErrorForwardAnn =
+ new AnnotationTypeDeclarationImpl( ann, VALIDATION_ERROR_FORWARD_TAG_NAME,
+ interfaceQualifier );
+ _annotations.put( ANNOTATION_INTERFACE_PREFIX + VALIDATION_ERROR_FORWARD_TAG_NAME,
+ validationErrorForwardAnn );
+ }
+ */
+ }
+ else if ( str.equals( "enum" ) )
+ {
+ readEnum( tok, enums );
+ }
+ }
+ else if ( str.charAt( 0 ) == '@' )
+ {
+ if (tok.nextToken() == '(')
+ {
+ ignoreAnnotation(tok);
+ }
+ else
+ {
+ tok.pushBack();
+ }
+ }
+ break;
+
+ case StreamTokenizer.TT_NUMBER:
+ break;
+
+ default:
+ char c = ( char ) tok.ttype;
+
+ if ( c == '}' )
+ {
+ assert interfaceQualifier != null;
+ interfaceQualifier = null;
+ }
+ }
+ }
+ }
+ catch ( IOException e )
+ {
+ e.printStackTrace();
+ assert false : e;
+ }
+ finally
+ {
+ try {
+ reader.close();
+ } catch (IOException e ) {
+ e.printStackTrace();
+ assert false : e;
+ }
+ }
+ }
+
+ private static String assertWord( StreamTokenizer tok )
+ throws IOException
+ {
+ tok.nextToken();
+ assert tok.ttype == StreamTokenizer.TT_WORD : tok.ttype;
+ return tok.sval;
+ }
+
+ private static void assertChar( StreamTokenizer tok, char c )
+ throws IOException
+ {
+ tok.nextToken();
+ assert tok.ttype == c : tok.ttype;
+ }
+
+ private static AnnotationTypeDeclarationImpl readAnnotation( StreamTokenizer tok, String interfaceQualifier,
+ String packageName, HashMap enums )
+ throws IOException
+ {
+ String annotationName = assertWord( tok );
+ ArrayList memberDecls = new ArrayList();
+ assertChar( tok, '{' );
+
+ while ( tok.nextToken() == StreamTokenizer.TT_WORD )
+ {
+ String memberType = tok.sval;
+ HashSet enumVals = ( HashSet ) enums.get( memberType );
+
+ tok.nextToken();
+ if ( tok.ttype == '<' ) // ignore generics
+ {
+ while ( tok.nextToken() != '>' )
+ {
+ assert tok.ttype != StreamTokenizer.TT_EOF;
+ assert tok.ttype != ';';
+ }
+ tok.nextToken();
+ }
+ assert tok.ttype == StreamTokenizer.TT_WORD;
+ String memberName = tok.sval;
+ assertChar( tok, '(' );
+ assertChar( tok, ')' );
+
+ Object defaultVal = null;
+
+ if ( tok.nextToken() == StreamTokenizer.TT_WORD )
+ {
+ assert tok.sval.equals( "default" );
+
+ tok.nextToken();
+ if ( tok.ttype == '{' )
+ {
+ assertChar( tok, '}' );
+ defaultVal = new ArrayList();
+ }
+ else
+ {
+ assert tok.ttype == StreamTokenizer.TT_WORD || tok.ttype == StreamTokenizer.TT_NUMBER : tok.ttype;
+
+ if ( tok.ttype == StreamTokenizer.TT_NUMBER )
+ {
+ defaultVal = getNumericDefaultVal( memberType, tok.nval );
+ }
+ else
+ {
+ String defaultString = tok.sval;
+
+ if ( defaultString.charAt( 0 ) == '@' )
+ {
+ // It's a default value that is an annotation. We ignore these for now.
+ ignoreAnnotation( tok );
+ }
+ else
+ {
+ if ( memberType.equals( "String" ) )
+ {
+ assert defaultString.charAt( 0 ) == '"' : defaultString;
+ int len = defaultString.length();
+ assert len > 1 && defaultString.charAt( len - 1 ) == '"' : defaultString;
+ defaultVal = defaultString.substring( 0, len - 1 );
+ }
+ else if ( memberType.equals( "boolean" ) )
+ {
+ defaultVal = Boolean.valueOf( defaultString );
+ }
+ else if ( memberType.equals( "Class") )
+ {
+ assert defaultString.endsWith( ".class" );
+ defaultVal = defaultString.substring( 0, defaultString.indexOf( ".class" ) );
+ }
+ else
+ {
+ defaultVal = readDefaultEnumVal( defaultString, memberType, enumVals );
+ }
+ }
+ }
+ }
+
+ tok.nextToken();
+ }
+
+ assert tok.ttype == ';';
+
+ if ( enumVals != null ) memberType = "String";
+ memberDecls.add( new AnnotationTypeElementDeclarationImpl( memberName, memberType, defaultVal, enumVals ) );
+ }
+
+ assert tok.ttype == '}';
+
+ AnnotationTypeElementDeclaration[] memberArray = ( AnnotationTypeElementDeclaration[] )
+ memberDecls.toArray( new AnnotationTypeElementDeclaration[ memberDecls.size() ] );
+ return new AnnotationTypeDeclarationImpl( annotationName, interfaceQualifier, packageName, memberArray );
+ }
+
+ private static String readDefaultEnumVal( String defaultString, String memberType, HashSet enumVals )
+ {
+ int dot = defaultString.indexOf( '.' );
+ assert dot != -1 : "expected an enum value: " + defaultString;
+ String type = defaultString.substring( 0, dot );
+ assert type.equals( memberType ) : "expected enum " + memberType + ", got " + type;
+ assert enumVals != null : "no enum " + memberType
+ + " defined; currently, enum must be defined before its use";
+ String defaultVal = defaultString.substring( dot + 1 );
+ assert enumVals.contains( defaultVal ) :
+ "invalid enum field " + defaultVal + " on enum " + type;
+ return defaultVal;
+ }
+
+ private static Object getNumericDefaultVal( String expectedType, double defaultNumber )
+ {
+ if ( expectedType.equals( "int" ) )
+ {
+ return new Integer( ( int ) defaultNumber );
+ }
+ else if ( expectedType.equals( "long" ) )
+ {
+ return new Long( ( long ) defaultNumber );
+ }
+ else if ( expectedType.equals( "float" ) )
+ {
+ return new Float( ( float ) defaultNumber );
+ }
+ else if ( expectedType.equals( "double" ) )
+ {
+ return new Double( defaultNumber );
+ }
+
+ assert false : "type " + expectedType + " cannot accept value " + defaultNumber;
+ return null;
+ }
+
+ private static void ignoreAnnotation( StreamTokenizer tok )
+ throws IOException
+ {
+ while ( tok.nextToken() != ')' )
+ {
+ assert tok.ttype != StreamTokenizer.TT_EOF;
+ assert tok.ttype != ';';
+ }
+ }
+
+ private static void readEnum( StreamTokenizer tok, HashMap enums )
+ throws IOException
+ {
+ String enumName = assertWord( tok );
+
+ assertChar( tok, '{' );
+ HashSet fieldNames = new HashSet();
+
+ while ( true )
+ {
+ fieldNames.add( assertWord( tok ) );
+ tok.nextToken();
+ if ( tok.ttype == '}' ) break;
+ assert tok.ttype == ',' : tok.ttype; // for now, we only do very simple enums.
+ }
+
+ enums.put( enumName, fieldNames );
+ }
+}
Propchange: beehive/trunk/netui/src/compiler-xdoclet/org/apache/beehive/netui/compiler/xdoclet/typesystem/impl/declaration/AnnotationInterfaceParser.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: beehive/trunk/netui/src/compiler-xdoclet/org/apache/beehive/netui/compiler/xdoclet/typesystem/impl/declaration/DeclarationImpl.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/src/compiler-xdoclet/org/apache/beehive/netui/compiler/xdoclet/typesystem/impl/declaration/DeclarationImpl.java?rev=289648&r1=289647&r2=289648&view=diff
==============================================================================
--- beehive/trunk/netui/src/compiler-xdoclet/org/apache/beehive/netui/compiler/xdoclet/typesystem/impl/declaration/DeclarationImpl.java (original)
+++ beehive/trunk/netui/src/compiler-xdoclet/org/apache/beehive/netui/compiler/xdoclet/typesystem/impl/declaration/DeclarationImpl.java Fri Sep 16 13:27:57 2005
@@ -39,12 +39,6 @@
import xjavadoc.XProgramElement;
import xjavadoc.XTag;
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.io.StreamTokenizer;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
@@ -60,9 +54,8 @@
{
private static final String VALIDATION_ERROR_FORWARD_TAG_NAME = "ValidationErrorForward";
private static final HashMap MODIFIERS = new HashMap();
- private static final HashMap MEMBER_ARRAY_ANNOTATIONS = new HashMap();
- private static final HashMap MEMBER_ANNOTATIONS = new HashMap();
- private static final HashSet MEMBER_OR_TOPLEVEL_ANNOTATIONS = new HashSet();
+ private static AnnotationInterfaceParser _annotationInterfaceParser =
+ new AnnotationInterfaceParser(ANNOTATION_INTERFACE_PREFIX);
static
{
@@ -76,34 +69,34 @@
MODIFIERS.put( "synchronized", Modifier.SYNCHRONIZED );
MODIFIERS.put( "native", Modifier.NATIVE );
- MEMBER_ARRAY_ANNOTATIONS.put( ANNOTATION_INTERFACE_PREFIX + FORWARD_TAG_NAME, FORWARDS_ATTR );
- MEMBER_ARRAY_ANNOTATIONS.put( ANNOTATION_INTERFACE_PREFIX + CATCH_TAG_NAME, CATCHES_ATTR );
- MEMBER_ARRAY_ANNOTATIONS.put( ANNOTATION_INTERFACE_PREFIX + SIMPLE_ACTION_TAG_NAME, SIMPLE_ACTIONS_ATTR );
- MEMBER_ARRAY_ANNOTATIONS.put( ANNOTATION_INTERFACE_PREFIX + ACTION_OUTPUT_TAG_NAME, ACTION_OUTPUTS_ATTR );
- MEMBER_ARRAY_ANNOTATIONS.put( ANNOTATION_INTERFACE_PREFIX + CONDITIONAL_FORWARD_TAG_NAME, CONDITIONAL_FORWARDS_ATTR );
- MEMBER_ARRAY_ANNOTATIONS.put( ANNOTATION_INTERFACE_PREFIX + MESSAGE_BUNDLE_TAG_NAME, MESSAGE_BUNDLES_ATTR );
- MEMBER_ARRAY_ANNOTATIONS.put( ANNOTATION_INTERFACE_PREFIX + MESSAGE_ARG_TAG_NAME, MESSAGE_ARGS_ATTR );
- MEMBER_ARRAY_ANNOTATIONS.put( ANNOTATION_INTERFACE_PREFIX + VALIDATE_CUSTOM_RULE_TAG_NAME, VALIDATE_CUSTOM_ATTR );
- MEMBER_ARRAY_ANNOTATIONS.put( ANNOTATION_INTERFACE_PREFIX + VALIDATE_CUSTOM_VARIABLE_TAG_NAME, VARIABLES_ATTR );
- MEMBER_ARRAY_ANNOTATIONS.put( ANNOTATION_INTERFACE_PREFIX + VALIDATION_LOCALE_RULES_TAG_NAME, LOCALE_RULES_ATTR );
- MEMBER_ARRAY_ANNOTATIONS.put( ANNOTATION_INTERFACE_PREFIX + VALIDATABLE_PROPERTY_TAG_NAME, VALIDATABLE_PROPERTIES_ATTR );
- MEMBER_ARRAY_ANNOTATIONS.put( ANNOTATION_INTERFACE_PREFIX + VALIDATABLE_BEAN_TAG_NAME, VALIDATABLE_BEANS_ATTR );
- MEMBER_ARRAY_ANNOTATIONS.put( ANNOTATION_INTERFACE_PREFIX + RAISE_ACTION_TAG_NAME, RAISE_ACTIONS_ATTR );
- MEMBER_ARRAY_ANNOTATIONS.put( ANNOTATION_INTERFACE_PREFIX + SHARED_FLOW_REF_TAG_NAME, SHARED_FLOW_REFS_ATTR );
+ _annotationInterfaceParser.addMemberArrayAnnotation(FORWARD_TAG_NAME, FORWARDS_ATTR );
+ _annotationInterfaceParser.addMemberArrayAnnotation(CATCH_TAG_NAME, CATCHES_ATTR );
+ _annotationInterfaceParser.addMemberArrayAnnotation(SIMPLE_ACTION_TAG_NAME, SIMPLE_ACTIONS_ATTR );
+ _annotationInterfaceParser.addMemberArrayAnnotation(ACTION_OUTPUT_TAG_NAME, ACTION_OUTPUTS_ATTR );
+ _annotationInterfaceParser.addMemberArrayAnnotation(CONDITIONAL_FORWARD_TAG_NAME, CONDITIONAL_FORWARDS_ATTR );
+ _annotationInterfaceParser.addMemberArrayAnnotation(MESSAGE_BUNDLE_TAG_NAME, MESSAGE_BUNDLES_ATTR );
+ _annotationInterfaceParser.addMemberArrayAnnotation(MESSAGE_ARG_TAG_NAME, MESSAGE_ARGS_ATTR );
+ _annotationInterfaceParser.addMemberArrayAnnotation(VALIDATE_CUSTOM_RULE_TAG_NAME, VALIDATE_CUSTOM_ATTR );
+ _annotationInterfaceParser.addMemberArrayAnnotation(VALIDATE_CUSTOM_VARIABLE_TAG_NAME, VARIABLES_ATTR );
+ _annotationInterfaceParser.addMemberArrayAnnotation(VALIDATION_LOCALE_RULES_TAG_NAME, LOCALE_RULES_ATTR );
+ _annotationInterfaceParser.addMemberArrayAnnotation(VALIDATABLE_PROPERTY_TAG_NAME, VALIDATABLE_PROPERTIES_ATTR );
+ _annotationInterfaceParser.addMemberArrayAnnotation(VALIDATABLE_BEAN_TAG_NAME, VALIDATABLE_BEANS_ATTR );
+ _annotationInterfaceParser.addMemberArrayAnnotation(RAISE_ACTION_TAG_NAME, RAISE_ACTIONS_ATTR );
+ _annotationInterfaceParser.addMemberArrayAnnotation(SHARED_FLOW_REF_TAG_NAME, SHARED_FLOW_REFS_ATTR );
+
+ _annotationInterfaceParser.addMemberAnnotation(VALIDATION_ERROR_FORWARD_TAG_NAME, VALIDATION_ERROR_FORWARD_ATTR );
+ _annotationInterfaceParser.addMemberAnnotation(VALIDATE_REQUIRED_TAG_NAME, VALIDATE_REQUIRED_ATTR );
+ _annotationInterfaceParser.addMemberAnnotation(VALIDATE_MIN_LENGTH_TAG_NAME, VALIDATE_MIN_LENGTH_ATTR );
+ _annotationInterfaceParser.addMemberAnnotation(VALIDATE_MAX_LENGTH_TAG_NAME, VALIDATE_MAX_LENGTH_ATTR );
+ _annotationInterfaceParser.addMemberAnnotation(VALIDATE_MASK_TAG_NAME, VALIDATE_MASK_ATTR );
+ _annotationInterfaceParser.addMemberAnnotation(VALIDATE_TYPE_TAG_NAME, VALIDATE_TYPE_ATTR );
+ _annotationInterfaceParser.addMemberAnnotation(VALIDATE_DATE_TAG_NAME, VALIDATE_DATE_ATTR );
+ _annotationInterfaceParser.addMemberAnnotation(VALIDATE_RANGE_TAG_NAME, VALIDATE_RANGE_ATTR );
+ _annotationInterfaceParser.addMemberAnnotation(VALIDATE_CREDIT_CARD_TAG_NAME, VALIDATE_CREDIT_CARD_ATTR );
+ _annotationInterfaceParser.addMemberAnnotation(VALIDATE_EMAIL_TAG_NAME, VALIDATE_EMAIL_ATTR );
+ _annotationInterfaceParser.addMemberAnnotation(VALIDATE_VALID_WHEN_TAG_NAME, VALIDATE_VALID_WHEN_ATTR );
- MEMBER_ANNOTATIONS.put( ANNOTATION_INTERFACE_PREFIX + VALIDATION_ERROR_FORWARD_TAG_NAME, VALIDATION_ERROR_FORWARD_ATTR );
- MEMBER_ANNOTATIONS.put( ANNOTATION_INTERFACE_PREFIX + VALIDATE_REQUIRED_TAG_NAME, VALIDATE_REQUIRED_ATTR );
- MEMBER_ANNOTATIONS.put( ANNOTATION_INTERFACE_PREFIX + VALIDATE_MIN_LENGTH_TAG_NAME, VALIDATE_MIN_LENGTH_ATTR );
- MEMBER_ANNOTATIONS.put( ANNOTATION_INTERFACE_PREFIX + VALIDATE_MAX_LENGTH_TAG_NAME, VALIDATE_MAX_LENGTH_ATTR );
- MEMBER_ANNOTATIONS.put( ANNOTATION_INTERFACE_PREFIX + VALIDATE_MASK_TAG_NAME, VALIDATE_MASK_ATTR );
- MEMBER_ANNOTATIONS.put( ANNOTATION_INTERFACE_PREFIX + VALIDATE_TYPE_TAG_NAME, VALIDATE_TYPE_ATTR );
- MEMBER_ANNOTATIONS.put( ANNOTATION_INTERFACE_PREFIX + VALIDATE_DATE_TAG_NAME, VALIDATE_DATE_ATTR );
- MEMBER_ANNOTATIONS.put( ANNOTATION_INTERFACE_PREFIX + VALIDATE_RANGE_TAG_NAME, VALIDATE_RANGE_ATTR );
- MEMBER_ANNOTATIONS.put( ANNOTATION_INTERFACE_PREFIX + VALIDATE_CREDIT_CARD_TAG_NAME, VALIDATE_CREDIT_CARD_ATTR );
- MEMBER_ANNOTATIONS.put( ANNOTATION_INTERFACE_PREFIX + VALIDATE_EMAIL_TAG_NAME, VALIDATE_EMAIL_ATTR );
- MEMBER_ANNOTATIONS.put( ANNOTATION_INTERFACE_PREFIX + VALIDATE_VALID_WHEN_TAG_NAME, VALIDATE_VALID_WHEN_ATTR );
-
- MEMBER_OR_TOPLEVEL_ANNOTATIONS.add( ANNOTATION_INTERFACE_PREFIX + VALIDATABLE_PROPERTY_TAG_NAME );
+ _annotationInterfaceParser.addMemberOrTopLevelAnnotation( VALIDATABLE_PROPERTY_TAG_NAME );
}
private HashSet _modifiers;
@@ -116,6 +109,11 @@
_annotations = ( AnnotationInstance[] ) annotations.toArray( new AnnotationInstance[ annotations.size() ] );
}
+ public static AnnotationTypeDeclaration[] getAllAnnotations()
+ {
+ return _annotationInterfaceParser.getAllAnnotations();
+ }
+
public String getDocComment()
{
return getDelegateXProgramElement().getDoc().getCommentText();
@@ -169,310 +167,6 @@
return ( XProgramElement ) super.getDelegate();
}
- /** Map of String intermediate-name (e.g., "Jpf.Action") to AnnotationTypeDeclaration */
- private static HashMap ANNOTATIONS = new HashMap();
- private static AnnotationTypeDeclaration[] ALL_ANNOTATIONS;
-
- static
- {
- parseAnnotations();
- ALL_ANNOTATIONS = ( AnnotationTypeDeclaration[] )
- ANNOTATIONS.values().toArray( new AnnotationTypeDeclaration[ ANNOTATIONS.size() ] );
- }
-
- public static AnnotationTypeDeclaration[] getAllAnnotations()
- {
- return ALL_ANNOTATIONS;
- }
-
- private static StreamTokenizer getJavaTokenizer( Reader reader )
- {
- StreamTokenizer tok = new StreamTokenizer( reader );
- tok.eolIsSignificant( false );
- tok.lowerCaseMode( false );
- tok.parseNumbers();
- tok.slashSlashComments( true );
- tok.slashStarComments( true );
- tok.wordChars( '_', '_' );
- tok.wordChars( '@', '@' );
- tok.wordChars( '[', '[' );
- tok.wordChars( ']', ']' );
- tok.wordChars( '.', '.' );
- tok.wordChars( '"', '"' );
- tok.wordChars( '-', '-' );
- return tok;
- }
-
- private static void parseAnnotations()
- {
- try
- {
- String annotationsSource = ANNOTATIONS_CLASSNAME.replace( '.', '/' ) + ".java";
- InputStream in = DeclarationImpl.class.getClassLoader().getResourceAsStream( annotationsSource );
- assert in != null : "annotations source not found: " + annotationsSource;
- BufferedReader reader = new BufferedReader( new InputStreamReader( in ) );
- HashMap enums = new HashMap(); // String enumTypeName -> HashSet values
- StreamTokenizer tok = getJavaTokenizer( reader );
-
-
- String interfaceQualifier = null;
- String packageName = null;
-
- while ( tok.nextToken() != StreamTokenizer.TT_EOF )
- {
- switch ( tok.ttype )
- {
- case StreamTokenizer.TT_WORD:
- String str = tok.sval;
-
- if ( packageName == null && str.equals( "package" ) )
- {
- packageName = assertWord( tok );
- }
- else if ( str.equals( "public" ) )
- {
- str = assertWord( tok );
-
- if ( str.equals( "interface" ) )
- {
- interfaceQualifier = assertWord( tok ) + '.';
- assertChar( tok, '{' );
- }
- else if ( str.equals( "@interface" ) )
- {
- AnnotationTypeDeclarationImpl ann =
- readAnnotation( tok, interfaceQualifier, packageName, enums );
- ANNOTATIONS.put( ann.getIntermediateName(), ann );
-
- //
- // Special case:
- // validationErrorForward=@Jpf.Forward(...)
- // looks like this in our world:
- // @Jpf.ValidationErrorForward(...)
- // Here we dynamically create a new ValidationErrorForward annotation based on Forward.
- //
- if ( ann.getSimpleName().equals( FORWARD_TAG_NAME ) )
- {
- AnnotationTypeDeclarationImpl validationErrorForwardAnn =
- new AnnotationTypeDeclarationImpl( ann, VALIDATION_ERROR_FORWARD_TAG_NAME,
- interfaceQualifier );
- ANNOTATIONS.put( ANNOTATION_INTERFACE_PREFIX + VALIDATION_ERROR_FORWARD_TAG_NAME,
- validationErrorForwardAnn );
- }
- }
- else if ( str.equals( "enum" ) )
- {
- readEnum( tok, enums );
- }
- }
- else if ( str.charAt( 0 ) == '@' )
- {
- ignoreAnnotation( tok );
- }
- break;
-
- case StreamTokenizer.TT_NUMBER:
- break;
-
- default:
- char c = ( char ) tok.ttype;
-
- if ( c == '}' )
- {
- assert interfaceQualifier != null;
- interfaceQualifier = null;
- }
- }
- }
-
- reader.close();
- }
- catch ( IOException e )
- {
- assert false : e;
- }
- }
-
- private static String assertWord( StreamTokenizer tok )
- throws IOException
- {
- tok.nextToken();
- assert tok.ttype == StreamTokenizer.TT_WORD : tok.ttype;
- return tok.sval;
- }
-
- private static void assertChar( StreamTokenizer tok, char c )
- throws IOException
- {
- tok.nextToken();
- assert tok.ttype == c : tok.ttype;
- }
-
- private static AnnotationTypeDeclarationImpl readAnnotation( StreamTokenizer tok, String interfaceQualifier,
- String packageName, HashMap enums )
- throws IOException
- {
- String annotationName = assertWord( tok );
- ArrayList memberDecls = new ArrayList();
- assertChar( tok, '{' );
-
- while ( tok.nextToken() == StreamTokenizer.TT_WORD )
- {
- String memberType = tok.sval;
- HashSet enumVals = ( HashSet ) enums.get( memberType );
-
- tok.nextToken();
- if ( tok.ttype == '<' ) // ignore generics
- {
- while ( tok.nextToken() != '>' )
- {
- assert tok.ttype != StreamTokenizer.TT_EOF;
- assert tok.ttype != ';';
- }
- tok.nextToken();
- }
- assert tok.ttype == StreamTokenizer.TT_WORD;
- String memberName = tok.sval;
- assertChar( tok, '(' );
- assertChar( tok, ')' );
-
- Object defaultVal = null;
-
- if ( tok.nextToken() == StreamTokenizer.TT_WORD )
- {
- assert tok.sval.equals( "default" );
-
- tok.nextToken();
- if ( tok.ttype == '{' )
- {
- assertChar( tok, '}' );
- defaultVal = new ArrayList();
- }
- else
- {
- assert tok.ttype == StreamTokenizer.TT_WORD || tok.ttype == StreamTokenizer.TT_NUMBER : tok.ttype;
-
- if ( tok.ttype == StreamTokenizer.TT_NUMBER )
- {
- defaultVal = getNumericDefaultVal( memberType, tok.nval );
- }
- else
- {
- String defaultString = tok.sval;
-
- if ( defaultString.charAt( 0 ) == '@' )
- {
- // It's a default value that is an annotation. We ignore these for now.
- ignoreAnnotation( tok );
- }
- else
- {
- if ( memberType.equals( "String" ) )
- {
- assert defaultString.charAt( 0 ) == '"' : defaultString;
- int len = defaultString.length();
- assert len > 1 && defaultString.charAt( len - 1 ) == '"' : defaultString;
- defaultVal = defaultString.substring( 0, len - 1 );
- }
- else if ( memberType.equals( "boolean" ) )
- {
- defaultVal = Boolean.valueOf( defaultString );
- }
- else if ( memberType.equals( "Class") )
- {
- assert defaultString.endsWith( ".class" );
- defaultVal = defaultString.substring( 0, defaultString.indexOf( ".class" ) );
- }
- else
- {
- defaultVal = readDefaultEnumVal( defaultString, memberType, enumVals );
- }
- }
- }
- }
-
- tok.nextToken();
- }
-
- assert tok.ttype == ';';
-
- if ( enumVals != null ) memberType = "String";
- memberDecls.add( new AnnotationTypeElementDeclarationImpl( memberName, memberType, defaultVal, enumVals ) );
- }
-
- assert tok.ttype == '}';
-
- AnnotationTypeElementDeclaration[] memberArray = ( AnnotationTypeElementDeclaration[] )
- memberDecls.toArray( new AnnotationTypeElementDeclaration[ memberDecls.size() ] );
- return new AnnotationTypeDeclarationImpl( annotationName, interfaceQualifier, packageName, memberArray );
- }
-
- private static String readDefaultEnumVal( String defaultString, String memberType, HashSet enumVals )
- {
- int dot = defaultString.indexOf( '.' );
- assert dot != -1 : "expected an enum value: " + defaultString;
- String type = defaultString.substring( 0, dot );
- assert type.equals( memberType ) : "expected enum " + memberType + ", got " + type;
- assert enumVals != null : "no enum " + memberType
- + " defined; currently, enum must be defined before its use";
- String defaultVal = defaultString.substring( dot + 1 );
- assert enumVals.contains( defaultVal ) :
- "invalid enum field " + defaultVal + " on enum " + type;
- return defaultVal;
- }
-
- private static Object getNumericDefaultVal( String expectedType, double defaultNumber )
- {
- if ( expectedType.equals( "int" ) )
- {
- return new Integer( ( int ) defaultNumber );
- }
- else if ( expectedType.equals( "long" ) )
- {
- return new Long( ( long ) defaultNumber );
- }
- else if ( expectedType.equals( "float" ) )
- {
- return new Float( ( float ) defaultNumber );
- }
- else if ( expectedType.equals( "double" ) )
- {
- return new Double( defaultNumber );
- }
-
- assert false : "type " + expectedType + " cannot accept value " + defaultNumber;
- return null;
- }
-
- private static void ignoreAnnotation( StreamTokenizer tok )
- throws IOException
- {
- while ( tok.nextToken() != ')' )
- {
- assert tok.ttype != StreamTokenizer.TT_EOF;
- assert tok.ttype != ';';
- }
- }
-
- private static void readEnum( StreamTokenizer tok, HashMap enums )
- throws IOException
- {
- String enumName = assertWord( tok );
-
- assertChar( tok, '{' );
- HashSet fieldNames = new HashSet();
-
- while ( true )
- {
- fieldNames.add( assertWord( tok ) );
- tok.nextToken();
- if ( tok.ttype == '}' ) break;
- assert tok.ttype == ',' : tok.ttype; // for now, we only do very simple enums.
- }
-
- enums.put( enumName, fieldNames );
- }
-
/**
* Get all the annotations for the given element.
* @param element the element (class, method, etc.) to examine
@@ -490,7 +184,8 @@
for ( Iterator i = tags.iterator(); i.hasNext(); )
{
XTag tag = ( XTag ) i.next();
- AnnotationTypeDeclaration decl = ( AnnotationTypeDeclaration ) ANNOTATIONS.get( tag.getName() );
+ String tagName = tag.getName();
+ AnnotationTypeDeclaration decl = _annotationInterfaceParser.getAnnotationTypeDecl(tagName);
if ( decl != null )
{
@@ -510,7 +205,7 @@
AnnotationInstanceImpl ann = new AnnotationInstanceImpl( tag, element, type, elementValues );
- String memberName = ( String ) MEMBER_ARRAY_ANNOTATIONS.get( tag.getName() );
+ String memberName = _annotationInterfaceParser.getParentMemberArrayName(tagName);
if ( memberName != null )
{
@@ -519,7 +214,7 @@
annotations.add( ann );
}
}
- else if ( ( memberName = ( String ) MEMBER_ANNOTATIONS.get( tag.getName() ) ) != null )
+ else if ( ( memberName = _annotationInterfaceParser.getParentMemberName(tagName) ) != null )
{
if ( ! addAnnotationToParent( annotations, ann, memberName, false, parentAnnotations ) )
{
@@ -560,7 +255,9 @@
if ( annotations.size() == 0 )
{
String annName = ann.getDelegateXTag().getName();
- if ( MEMBER_OR_TOPLEVEL_ANNOTATIONS.contains( annName ) ) return false;
+ if ( _annotationInterfaceParser.isMemberOrTopLevelAnnotation(annName) ){
+ return false;
+ }
XDocletCompilerUtils.addError( ann.getPosition(), "error.no-parent-annotation",
new String[]{ ann.getAnnotationType().getAnnotationTypeDeclaration().getQualifiedName() } );
@@ -602,7 +299,9 @@
else
{
String annName = ann.getDelegateXTag().getName();
- if ( MEMBER_OR_TOPLEVEL_ANNOTATIONS.contains( annName ) ) return false;
+ if ( _annotationInterfaceParser.isMemberOrTopLevelAnnotation(annName) ) {
+ return false;
+ }
XDocletCompilerUtils.addError( ann.getPosition(), "error.no-parent-annotation",
new String[]{ ann.getAnnotationType().getAnnotationTypeDeclaration().getQualifiedName() } );
Added: beehive/trunk/netui/src/compiler-xdoclet/org/apache/beehive/netui/compiler/xdoclet/typesystem/impl/env/FilerImpl.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/src/compiler-xdoclet/org/apache/beehive/netui/compiler/xdoclet/typesystem/impl/env/FilerImpl.java?rev=289648&view=auto
==============================================================================
--- beehive/trunk/netui/src/compiler-xdoclet/org/apache/beehive/netui/compiler/xdoclet/typesystem/impl/env/FilerImpl.java (added)
+++ beehive/trunk/netui/src/compiler-xdoclet/org/apache/beehive/netui/compiler/xdoclet/typesystem/impl/env/FilerImpl.java Fri Sep 16 13:27:57 2005
@@ -0,0 +1,31 @@
+/*
+ * 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.compiler.xdoclet.typesystem.impl.env;
+
+import org.apache.beehive.netui.compiler.typesystem.env.Filer;
+
+import java.io.PrintWriter;
+import java.io.File;
+import java.io.IOException;
+
+public class FilerImpl implements Filer {
+
+ public PrintWriter createTextFile(File file) throws IOException {
+ return null;
+ }
+}
Propchange: beehive/trunk/netui/src/compiler-xdoclet/org/apache/beehive/netui/compiler/xdoclet/typesystem/impl/env/FilerImpl.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: beehive/trunk/netui/src/compiler/build.xml
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/src/compiler/build.xml?rev=289648&r1=289647&r2=289648&view=diff
==============================================================================
--- beehive/trunk/netui/src/compiler/build.xml (original)
+++ beehive/trunk/netui/src/compiler/build.xml Fri Sep 16 13:27:57 2005
@@ -10,7 +10,6 @@
<property name="compiler-core.classes.dir" location="${classes.dir}/compiler-core"/>
<path id="module.classpath">
- <path refid="xbean.dependency.path"/>
<pathelement path="${compiler-core.classes.dir}"/>
</path>
@@ -53,7 +52,6 @@
<attribute name="Implementation-Vendor" value="Apache Software Foundation"/>
<attribute name="Implementation-Version" value="${beehive.version}"/>
<attribute name="Beehive-Version" value="${beehive.version}"/>
- <attribute name="Class-Path" value="apache-xbean.jar"/>
</manifest>
</jar>
</target>
Modified: beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/AnnotationReader.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/AnnotationReader.java?rev=289648&r1=289647&r2=289648&view=diff
==============================================================================
--- beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/AnnotationReader.java (original)
+++ beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/AnnotationReader.java Fri Sep 16 13:27:57 2005
@@ -68,7 +68,7 @@
private AnnotationReader( Class type, ServletContext servletContext )
{
String annotationsXml =
- PageFlowConstants.PAGEFLOW_MODULE_CONFIG_GEN_DIR + "/jpf-annotations-"
+ PageFlowConstants.PAGEFLOW_MODULE_CONFIG_GEN_DIR + "/annotations-"
+ type.getName().replace( '.', '-' ) + ".xml";
InputStream in = servletContext.getResourceAsStream( annotationsXml );
if ( in == null )
Modified: beehive/trunk/netui/test/src/compilerTests/org/apache/beehive/netui/test/compiler/OutputHandler.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/test/src/compilerTests/org/apache/beehive/netui/test/compiler/OutputHandler.java?rev=289648&r1=289647&r2=289648&view=diff
==============================================================================
--- beehive/trunk/netui/test/src/compilerTests/org/apache/beehive/netui/test/compiler/OutputHandler.java (original)
+++ beehive/trunk/netui/test/src/compilerTests/org/apache/beehive/netui/test/compiler/OutputHandler.java Fri Sep 16 13:27:57 2005
@@ -33,7 +33,7 @@
private static Log LOGGER = LogFactory.getLog(OutputHandler.class);
/**
- * Validate the generated jpf-struts config files, if any.
+ * Validate the generated struts config files, if any.
*
* @param outputDir compiler test output directory
* @param expectedDirName the page flow direcotry name under test
Modified: beehive/trunk/netui/test/src/compilerTests/org/apache/beehive/netui/test/compiler/PageFlowCompilerTest.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/test/src/compilerTests/org/apache/beehive/netui/test/compiler/PageFlowCompilerTest.java?rev=289648&r1=289647&r2=289648&view=diff
==============================================================================
--- beehive/trunk/netui/test/src/compilerTests/org/apache/beehive/netui/test/compiler/PageFlowCompilerTest.java (original)
+++ beehive/trunk/netui/test/src/compilerTests/org/apache/beehive/netui/test/compiler/PageFlowCompilerTest.java Fri Sep 16 13:27:57 2005
@@ -88,12 +88,12 @@
* 1. Setup: Copy the page flow and its expected results to a build
* directory. 2. Compile: Try to compile the page flow and its controls. Any
* warning or error messages are piped to a warningorerrors.actual file. A
- * jpf-struts-config file MAY have been created. 3. Compare: The compiler
+ * struts-config file MAY have been created. 3. Compare: The compiler
* may have produced certain files. These files need to be compared to files
* that are KNOWN to be correct. The correctness is determined by the test
* author.
* <p/>
- * The supported file comparisons are: A jpf-struts-config-*.xml file and A
+ * The supported file comparisons are: A struts-config-*.xml file and A
* warningsorerrors.actual file.
* <p/>
* If the test has a .expected file, then compiler MUST produce a
Modified: beehive/trunk/netui/test/src/compilerTests/org/apache/beehive/netui/test/compiler/TestPropertyMgr.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/test/src/compilerTests/org/apache/beehive/netui/test/compiler/TestPropertyMgr.java?rev=289648&r1=289647&r2=289648&view=diff
==============================================================================
--- beehive/trunk/netui/test/src/compilerTests/org/apache/beehive/netui/test/compiler/TestPropertyMgr.java (original)
+++ beehive/trunk/netui/test/src/compilerTests/org/apache/beehive/netui/test/compiler/TestPropertyMgr.java Fri Sep 16 13:27:57 2005
@@ -74,7 +74,7 @@
public static final String DIRNAME_PAGEFLOW_STRUTS_GENERATED = "_pageflow";
// prefixes
- public static final String PREFIX_CONFIG_FILE = "jpf-struts-config-";
+ public static final String PREFIX_CONFIG_FILE = "struts-config-";
public static final String PREFIX_WARNINGS_OR_ERRORS = "warningsorerrors";
Modified: beehive/trunk/netui/test/src/compilerTests/testsuite/GA_DeprecationWarning/expectedOutput/struts-config--global.expected
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/test/src/compilerTests/testsuite/GA_DeprecationWarning/expectedOutput/struts-config--global.expected?rev=289648&r1=289647&r2=289648&view=diff
==============================================================================
--- beehive/trunk/netui/test/src/compilerTests/testsuite/GA_DeprecationWarning/expectedOutput/struts-config--global.expected (original)
+++ beehive/trunk/netui/test/src/compilerTests/testsuite/GA_DeprecationWarning/expectedOutput/struts-config--global.expected Fri Sep 16 13:27:57 2005
@@ -1,21 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
-<!--Generated from /WEB-INF/.tmpbeansrc/WEB-INF/src/global/Global.java on Tue Aug 09 16:45:33 MDT 2005-->
<struts-config>
+ <!-- Generated from /WEB-INF/.tmpbeansrc/WEB-INF/src/global/Global.java on Tue Aug 09 16:45:33 MDT 2005 -->
<form-beans/>
<global-exceptions/>
<global-forwards>
<forward name="_auto" path=""/>
</global-forwards>
<action-mappings>
- <action path="/begin" type="org.apache.beehive.netui.pageflow.internal.FlowControllerAction" parameter="global.Global" scope="request" validate="false">
- <forward name="page1" path="/GA_DeprecationWarning/Page1.jsp" contextRelative="true"/>
+ <action parameter="global.Global" path="/begin" scope="request" type="org.apache.beehive.netui.pageflow.internal.FlowControllerAction" validate="false">
+ <forward contextRelative="true" name="page1" path="/GA_DeprecationWarning/Page1.jsp"/>
</action>
- <action path="/page2" type="org.apache.beehive.netui.pageflow.internal.FlowControllerAction" parameter="global.Global" scope="request" validate="false">
- <forward name="page2" path="/GA_DeprecationWarning/Page2.jsp" contextRelative="true"/>
+ <action parameter="global.Global" path="/page2" scope="request" type="org.apache.beehive.netui.pageflow.internal.FlowControllerAction" validate="false">
+ <forward contextRelative="true" name="page2" path="/GA_DeprecationWarning/Page2.jsp"/>
</action>
</action-mappings>
- <controller processorClass="org.apache.beehive.netui.pageflow.PageFlowRequestProcessor" inputForward="true" className="org.apache.beehive.netui.pageflow.config.PageFlowControllerConfig">
+ <controller className="org.apache.beehive.netui.pageflow.config.PageFlowControllerConfig" inputForward="true" processorClass="org.apache.beehive.netui.pageflow.PageFlowRequestProcessor">
<set-property property="isSharedFlow" value="true"/>
<set-property property="isReturnToPageDisabled" value="true"/>
<set-property property="isReturnToActionDisabled" value="true"/>
@@ -23,5 +23,5 @@
<set-property property="controllerClass" value="global.Global"/>
<set-property property="isMissingDefaultMessages" value="true"/>
</controller>
- <message-resources key="_defaultMsgs" parameter="org.apache.beehive.netui.pageflow.validation.defaultMessages" null="true"/>
-</struts-config>
\ No newline at end of file
+ <message-resources key="_defaultMsgs" null="true" parameter="org.apache.beehive.netui.pageflow.validation.defaultMessages"/>
+</struts-config>
Modified: beehive/trunk/netui/test/src/compilerTests/testsuite/Jira390/expectedOutput/struts-config-Jira390.expected
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/test/src/compilerTests/testsuite/Jira390/expectedOutput/struts-config-Jira390.expected?rev=289648&r1=289647&r2=289648&view=diff
==============================================================================
--- beehive/trunk/netui/test/src/compilerTests/testsuite/Jira390/expectedOutput/struts-config-Jira390.expected (original)
+++ beehive/trunk/netui/test/src/compilerTests/testsuite/Jira390/expectedOutput/struts-config-Jira390.expected Fri Sep 16 13:27:57 2005
@@ -1,26 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
-<!--Generated from /WEB-INF/.tmpbeansrc/Jira390/Controller.java and /Jira390/myMerge.xml on Tue Aug 09 22:05:35 MDT 2005-->
<struts-config>
+ <!-- Generated from /WEB-INF/.tmpbeansrc/Jira390/Controller.java and /Jira390/myMerge.xml on Tue Aug 09 22:05:35 MDT 2005 -->
<form-beans/>
<global-exceptions/>
- <global-forwards>
- <forward name="_auto" path=""/>
- </global-forwards>
<action-mappings>
- <action path="/begin" type="org.apache.beehive.netui.pageflow.internal.FlowControllerAction" parameter="Jira390.Controller" scope="request" validate="false" className="org.apache.beehive.netui.pageflow.config.PageFlowActionMapping">
+ <action className="org.apache.beehive.netui.pageflow.config.PageFlowActionMapping" parameter="Jira390.Controller" path="/begin" scope="request" type="org.apache.beehive.netui.pageflow.internal.FlowControllerAction" validate="false">
<set-property property="readonly" value="true"/>
<set-property property="simpleAction" value="true"/>
<set-property property="defaultForward" value="_defaultForward"/>
<forward name="_defaultForward" path="/index.jsp"/>
</action>
</action-mappings>
- <controller processorClass="foo" inputForward="true" className="org.apache.beehive.netui.pageflow.config.PageFlowControllerConfig">
+ <controller className="org.apache.beehive.netui.pageflow.config.PageFlowControllerConfig" inputForward="true" processorClass="foo">
<set-property property="isReturnToPageDisabled" value="true"/>
<set-property property="isReturnToActionDisabled" value="true"/>
<set-property property="sharedFlows" value=""/>
<set-property property="controllerClass" value="Jira390.Controller"/>
<set-property property="isMissingDefaultMessages" value="true"/>
</controller>
- <message-resources key="_defaultMsgs" parameter="org.apache.beehive.netui.pageflow.validation.defaultMessages" null="true"/>
-</struts-config>
\ No newline at end of file
+ <global-forwards>
+ <forward name="_auto" path=""/>
+ </global-forwards>
+ <message-resources key="_defaultMsgs" null="true" parameter="org.apache.beehive.netui.pageflow.validation.defaultMessages"/>
+</struts-config>
Modified: beehive/trunk/netui/test/src/compilerTests/testsuite/Jira611/expectedOutput/struts-config-Jira611-child.expected
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/test/src/compilerTests/testsuite/Jira611/expectedOutput/struts-config-Jira611-child.expected?rev=289648&r1=289647&r2=289648&view=diff
==============================================================================
--- beehive/trunk/netui/test/src/compilerTests/testsuite/Jira611/expectedOutput/struts-config-Jira611-child.expected (original)
+++ beehive/trunk/netui/test/src/compilerTests/testsuite/Jira611/expectedOutput/struts-config-Jira611-child.expected Fri Sep 16 13:27:57 2005
@@ -1,32 +1,32 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
-<!--Generated from /WEB-INF/.tmpbeansrc/Jira611/child/Controller.java on Tue Aug 09 22:05:37 MDT 2005-->
<struts-config>
+ <!-- Generated from /WEB-INF/.tmpbeansrc/Jira611/child/Controller.java on Tue Aug 09 22:05:37 MDT 2005 -->
<form-beans/>
<global-exceptions/>
<global-forwards>
<forward name="_auto" path=""/>
</global-forwards>
<action-mappings>
- <action path="/abstractAction" type="org.apache.beehive.netui.pageflow.internal.FlowControllerAction" parameter="Jira611.child.Controller" scope="request" validate="false">
+ <action parameter="Jira611.child.Controller" path="/abstractAction" scope="request" type="org.apache.beehive.netui.pageflow.internal.FlowControllerAction" validate="false">
<forward name="test" path="/index.jsp"/>
</action>
- <action path="/begin" type="org.apache.beehive.netui.pageflow.internal.FlowControllerAction" parameter="Jira611.child.Controller" scope="request" validate="false" className="org.apache.beehive.netui.pageflow.config.PageFlowActionMapping">
+ <action className="org.apache.beehive.netui.pageflow.config.PageFlowActionMapping" parameter="Jira611.child.Controller" path="/begin" scope="request" type="org.apache.beehive.netui.pageflow.internal.FlowControllerAction" validate="false">
<set-property property="readonly" value="true"/>
<set-property property="simpleAction" value="true"/>
<set-property property="defaultForward" value="_defaultForward"/>
<forward name="_defaultForward" path="/index.jsp"/>
</action>
- <action path="/forwardToAbstractAction" type="org.apache.beehive.netui.pageflow.internal.FlowControllerAction" parameter="Jira611.child.Controller" scope="request" validate="false">
+ <action parameter="Jira611.child.Controller" path="/forwardToAbstractAction" scope="request" type="org.apache.beehive.netui.pageflow.internal.FlowControllerAction" validate="false">
<forward name="ab" path="/abstractAction.do"/>
</action>
</action-mappings>
- <controller processorClass="org.apache.beehive.netui.pageflow.PageFlowRequestProcessor" inputForward="true" className="org.apache.beehive.netui.pageflow.config.PageFlowControllerConfig">
+ <controller className="org.apache.beehive.netui.pageflow.config.PageFlowControllerConfig" inputForward="true" processorClass="org.apache.beehive.netui.pageflow.PageFlowRequestProcessor">
<set-property property="isReturnToPageDisabled" value="true"/>
<set-property property="isReturnToActionDisabled" value="true"/>
<set-property property="sharedFlows" value=""/>
<set-property property="controllerClass" value="Jira611.child.Controller"/>
<set-property property="isMissingDefaultMessages" value="true"/>
</controller>
- <message-resources key="_defaultMsgs" parameter="org.apache.beehive.netui.pageflow.validation.defaultMessages" null="true"/>
-</struts-config>
\ No newline at end of file
+ <message-resources key="_defaultMsgs" null="true" parameter="org.apache.beehive.netui.pageflow.validation.defaultMessages"/>
+</struts-config>
Modified: beehive/trunk/netui/test/src/compilerTests/testsuite/Jira611/expectedOutput/struts-config-Jira611-parent.expected
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/test/src/compilerTests/testsuite/Jira611/expectedOutput/struts-config-Jira611-parent.expected?rev=289648&r1=289647&r2=289648&view=diff
==============================================================================
--- beehive/trunk/netui/test/src/compilerTests/testsuite/Jira611/expectedOutput/struts-config-Jira611-parent.expected (original)
+++ beehive/trunk/netui/test/src/compilerTests/testsuite/Jira611/expectedOutput/struts-config-Jira611-parent.expected Fri Sep 16 13:27:57 2005
@@ -1,23 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
-<!--Generated from /WEB-INF/.tmpbeansrc/Jira611/parent/Controller.java on Tue Aug 09 22:05:37 MDT 2005-->
<struts-config>
+ <!-- Generated from /WEB-INF/.tmpbeansrc/Jira611/parent/Controller.java on Tue Aug 09 22:05:37 MDT 2005 -->
<form-beans/>
<global-exceptions/>
<global-forwards>
<forward name="_auto" path=""/>
</global-forwards>
<action-mappings>
- <action path="/forwardToAbstractAction" type="org.apache.beehive.netui.pageflow.internal.FlowControllerAction" parameter="Jira611.parent.Controller" scope="request" validate="false">
+ <action parameter="Jira611.parent.Controller" path="/forwardToAbstractAction" scope="request" type="org.apache.beehive.netui.pageflow.internal.FlowControllerAction" validate="false">
<forward name="ab" path="/abstractAction.do"/>
</action>
</action-mappings>
- <controller processorClass="org.apache.beehive.netui.pageflow.PageFlowRequestProcessor" inputForward="true" className="org.apache.beehive.netui.pageflow.config.PageFlowControllerConfig">
+ <controller className="org.apache.beehive.netui.pageflow.config.PageFlowControllerConfig" inputForward="true" processorClass="org.apache.beehive.netui.pageflow.PageFlowRequestProcessor">
<set-property property="isReturnToPageDisabled" value="true"/>
<set-property property="isReturnToActionDisabled" value="true"/>
<set-property property="sharedFlows" value=""/>
<set-property property="controllerClass" value="Jira611.parent.Controller"/>
<set-property property="isMissingDefaultMessages" value="true"/>
</controller>
- <message-resources key="_defaultMsgs" parameter="org.apache.beehive.netui.pageflow.validation.defaultMessages" null="true"/>
-</struts-config>
\ No newline at end of file
+ <message-resources key="_defaultMsgs" null="true" parameter="org.apache.beehive.netui.pageflow.validation.defaultMessages"/>
+</struts-config>
Modified: beehive/trunk/netui/test/src/compilerTests/testsuite/Nested_Abstract/expectedOutput/struts-config-Nested_Abstract.expected
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/test/src/compilerTests/testsuite/Nested_Abstract/expectedOutput/struts-config-Nested_Abstract.expected?rev=289648&r1=289647&r2=289648&view=diff
==============================================================================
--- beehive/trunk/netui/test/src/compilerTests/testsuite/Nested_Abstract/expectedOutput/struts-config-Nested_Abstract.expected (original)
+++ beehive/trunk/netui/test/src/compilerTests/testsuite/Nested_Abstract/expectedOutput/struts-config-Nested_Abstract.expected Fri Sep 16 13:27:57 2005
@@ -1,14 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
-<!--Generated from /WEB-INF/.tmpbeansrc/Nested_Abstract/Controller.java on Tue Aug 09 10:29:46 MDT 2005-->
<struts-config>
+ <!-- Generated from /WEB-INF/.tmpbeansrc/Nested_Abstract/Controller.java on Tue Aug 09 10:29:46 MDT 2005 -->
<form-beans/>
<global-exceptions/>
<global-forwards>
<forward name="_auto" path=""/>
</global-forwards>
<action-mappings/>
- <controller processorClass="org.apache.beehive.netui.pageflow.PageFlowRequestProcessor" inputForward="true" className="org.apache.beehive.netui.pageflow.config.PageFlowControllerConfig">
+ <controller className="org.apache.beehive.netui.pageflow.config.PageFlowControllerConfig" inputForward="true" processorClass="org.apache.beehive.netui.pageflow.PageFlowRequestProcessor">
<set-property property="isNestedPageFlow" value="true"/>
<set-property property="isReturnToPageDisabled" value="true"/>
<set-property property="isReturnToActionDisabled" value="true"/>
@@ -16,5 +16,5 @@
<set-property property="controllerClass" value="Nested_Abstract.Controller"/>
<set-property property="isMissingDefaultMessages" value="true"/>
</controller>
- <message-resources key="_defaultMsgs" parameter="org.apache.beehive.netui.pageflow.validation.defaultMessages" null="true"/>
-</struts-config>
\ No newline at end of file
+ <message-resources key="_defaultMsgs" null="true" parameter="org.apache.beehive.netui.pageflow.validation.defaultMessages"/>
+</struts-config>
Modified: beehive/trunk/netui/test/src/compilerTests/testsuite/Nested_NewReturnTo/expectedOutput/struts-config-Nested_NewReturnTo.expected
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/test/src/compilerTests/testsuite/Nested_NewReturnTo/expectedOutput/struts-config-Nested_NewReturnTo.expected?rev=289648&r1=289647&r2=289648&view=diff
==============================================================================
--- beehive/trunk/netui/test/src/compilerTests/testsuite/Nested_NewReturnTo/expectedOutput/struts-config-Nested_NewReturnTo.expected (original)
+++ beehive/trunk/netui/test/src/compilerTests/testsuite/Nested_NewReturnTo/expectedOutput/struts-config-Nested_NewReturnTo.expected Fri Sep 16 13:27:57 2005
@@ -1,52 +1,52 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
-<!--Generated from /WEB-INF/.tmpbeansrc/Nested_NewReturnTo/Controller.java on Tue Aug 09 16:45:46 MDT 2005-->
<struts-config>
+ <!-- Generated from /WEB-INF/.tmpbeansrc/Nested_NewReturnTo/Controller.java on Tue Aug 09 16:45:46 MDT 2005 -->
<form-beans/>
<global-exceptions/>
<global-forwards>
<forward name="_auto" path=""/>
</global-forwards>
<action-mappings>
- <action path="/action1" type="org.apache.beehive.netui.pageflow.internal.FlowControllerAction" parameter="Nested_NewReturnTo.Controller" scope="request" validate="false">
- <forward name="page1" path="previousPage" className="org.apache.beehive.netui.pageflow.config.PageFlowActionForward">
+ <action parameter="Nested_NewReturnTo.Controller" path="/action1" scope="request" type="org.apache.beehive.netui.pageflow.internal.FlowControllerAction" validate="false">
+ <forward className="org.apache.beehive.netui.pageflow.config.PageFlowActionForward" name="page1" path="previousPage">
<set-property property="returnToPage" value="true"/>
</forward>
</action>
- <action path="/action2" type="org.apache.beehive.netui.pageflow.internal.FlowControllerAction" parameter="Nested_NewReturnTo.Controller" scope="request" validate="false">
- <forward name="page1" path="currentPage" className="org.apache.beehive.netui.pageflow.config.PageFlowActionForward">
+ <action parameter="Nested_NewReturnTo.Controller" path="/action2" scope="request" type="org.apache.beehive.netui.pageflow.internal.FlowControllerAction" validate="false">
+ <forward className="org.apache.beehive.netui.pageflow.config.PageFlowActionForward" name="page1" path="currentPage">
<set-property property="returnToPage" value="true"/>
</forward>
</action>
- <action path="/action3" type="org.apache.beehive.netui.pageflow.internal.FlowControllerAction" parameter="Nested_NewReturnTo.Controller" scope="request" validate="false">
- <forward name="page1" path="previousAction" className="org.apache.beehive.netui.pageflow.config.PageFlowActionForward">
+ <action parameter="Nested_NewReturnTo.Controller" path="/action3" scope="request" type="org.apache.beehive.netui.pageflow.internal.FlowControllerAction" validate="false">
+ <forward className="org.apache.beehive.netui.pageflow.config.PageFlowActionForward" name="page1" path="previousAction">
<set-property property="returnToAction" value="true"/>
</forward>
</action>
- <action path="/action4" type="org.apache.beehive.netui.pageflow.internal.FlowControllerAction" parameter="Nested_NewReturnTo.Controller" scope="request" validate="false">
- <forward name="page1" path="previousAction" className="org.apache.beehive.netui.pageflow.config.PageFlowActionForward">
+ <action parameter="Nested_NewReturnTo.Controller" path="/action4" scope="request" type="org.apache.beehive.netui.pageflow.internal.FlowControllerAction" validate="false">
+ <forward className="org.apache.beehive.netui.pageflow.config.PageFlowActionForward" name="page1" path="previousAction">
<set-property property="returnToAction" value="true"/>
</forward>
</action>
- <action path="/action5" type="org.apache.beehive.netui.pageflow.internal.FlowControllerAction" parameter="Nested_NewReturnTo.Controller" scope="request" validate="false">
- <forward name="page1" path="page" className="org.apache.beehive.netui.pageflow.config.PageFlowActionForward">
+ <action parameter="Nested_NewReturnTo.Controller" path="/action5" scope="request" type="org.apache.beehive.netui.pageflow.internal.FlowControllerAction" validate="false">
+ <forward className="org.apache.beehive.netui.pageflow.config.PageFlowActionForward" name="page1" path="page">
<set-property property="returnToPage" value="true"/>
</forward>
</action>
- <action path="/action8" type="org.apache.beehive.netui.pageflow.internal.FlowControllerAction" parameter="Nested_NewReturnTo.Controller" scope="request" validate="false">
- <forward name="callingJpf" path="someAction" className="org.apache.beehive.netui.pageflow.config.PageFlowActionForward">
+ <action parameter="Nested_NewReturnTo.Controller" path="/action8" scope="request" type="org.apache.beehive.netui.pageflow.internal.FlowControllerAction" validate="false">
+ <forward className="org.apache.beehive.netui.pageflow.config.PageFlowActionForward" name="callingJpf" path="someAction">
<set-property property="nestedReturn" value="true"/>
</forward>
</action>
- <action path="/begin" type="org.apache.beehive.netui.pageflow.internal.FlowControllerAction" parameter="Nested_NewReturnTo.Controller" scope="request" validate="false">
+ <action parameter="Nested_NewReturnTo.Controller" path="/begin" scope="request" type="org.apache.beehive.netui.pageflow.internal.FlowControllerAction" validate="false">
<forward name="page1" path="/Page1.jsp"/>
</action>
</action-mappings>
- <controller processorClass="org.apache.beehive.netui.pageflow.PageFlowRequestProcessor" inputForward="true" className="org.apache.beehive.netui.pageflow.config.PageFlowControllerConfig">
+ <controller className="org.apache.beehive.netui.pageflow.config.PageFlowControllerConfig" inputForward="true" processorClass="org.apache.beehive.netui.pageflow.PageFlowRequestProcessor">
<set-property property="isNestedPageFlow" value="true"/>
<set-property property="sharedFlows" value=""/>
<set-property property="controllerClass" value="Nested_NewReturnTo.Controller"/>
<set-property property="isMissingDefaultMessages" value="true"/>
</controller>
- <message-resources key="_defaultMsgs" parameter="org.apache.beehive.netui.pageflow.validation.defaultMessages" null="true"/>
-</struts-config>
\ No newline at end of file
+ <message-resources key="_defaultMsgs" null="true" parameter="org.apache.beehive.netui.pageflow.validation.defaultMessages"/>
+</struts-config>
Modified: beehive/trunk/netui/test/src/compilerTests/testsuite/PF_ActionMethodOverload/expectedOutput/struts-config-PF_ActionMethodOverload.expected
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/test/src/compilerTests/testsuite/PF_ActionMethodOverload/expectedOutput/struts-config-PF_ActionMethodOverload.expected?rev=289648&r1=289647&r2=289648&view=diff
==============================================================================
--- beehive/trunk/netui/test/src/compilerTests/testsuite/PF_ActionMethodOverload/expectedOutput/struts-config-PF_ActionMethodOverload.expected (original)
+++ beehive/trunk/netui/test/src/compilerTests/testsuite/PF_ActionMethodOverload/expectedOutput/struts-config-PF_ActionMethodOverload.expected Fri Sep 16 13:27:57 2005
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
-<!--Generated from /WEB-INF/.tmpbeansrc/PF_ActionMethodOverload/Controller.java on Tue Aug 09 16:45:48 MDT 2005-->
<struts-config>
+ <!-- Generated from /WEB-INF/.tmpbeansrc/PF_ActionMethodOverload/Controller.java on Tue Aug 09 16:45:48 MDT 2005 -->
<form-beans>
<form-bean name="tempForm" type="PF_ActionMethodOverload.Controller$TempForm"/>
</form-beans>
@@ -10,25 +10,25 @@
<forward name="_auto" path=""/>
</global-forwards>
<action-mappings>
- <action path="/begin" type="org.apache.beehive.netui.pageflow.internal.FlowControllerAction" parameter="PF_ActionMethodOverload.Controller" scope="request" validate="false">
+ <action parameter="PF_ActionMethodOverload.Controller" path="/begin" scope="request" type="org.apache.beehive.netui.pageflow.internal.FlowControllerAction" validate="false">
<forward name="begin" path="/Begin.jsp"/>
</action>
- <!--Note that there is more than one action with path "/page1". Use a form-qualified action path if this is not the one you want.-->
- <action path="/page1" type="org.apache.beehive.netui.pageflow.internal.FlowControllerAction" parameter="PF_ActionMethodOverload.Controller" scope="request" validate="false" className="org.apache.beehive.netui.pageflow.config.PageFlowActionMapping">
+ <action className="org.apache.beehive.netui.pageflow.config.PageFlowActionMapping" parameter="PF_ActionMethodOverload.Controller" path="/page1" scope="request" type="org.apache.beehive.netui.pageflow.internal.FlowControllerAction" validate="false">
+ <!-- Note that there is more than one action with path "/page1". Use a form-qualified action path if this is not the one you want. -->
<set-property property="overloaded" value="true"/>
<forward name="page1" path="/Page1.jsp"/>
</action>
- <action path="/page1_PF_ActionMethodOverload_Controller_TempForm" name="tempForm" type="org.apache.beehive.netui.pageflow.internal.FlowControllerAction" parameter="PF_ActionMethodOverload.Controller" scope="request" validate="false" className="org.apache.beehive.netui.pageflow.config.PageFlowActionMapping">
+ <action className="org.apache.beehive.netui.pageflow.config.PageFlowActionMapping" name="tempForm" parameter="PF_ActionMethodOverload.Controller" path="/page1_PF_ActionMethodOverload_Controller_TempForm" scope="request" type="org.apache.beehive.netui.pageflow.internal.FlowControllerAction" validate="false">
<set-property property="unqualifiedActionPath" value="/page1"/>
<forward name="page1" path="/Page1.jsp"/>
</action>
</action-mappings>
- <controller processorClass="org.apache.beehive.netui.pageflow.PageFlowRequestProcessor" inputForward="true" className="org.apache.beehive.netui.pageflow.config.PageFlowControllerConfig">
+ <controller className="org.apache.beehive.netui.pageflow.config.PageFlowControllerConfig" inputForward="true" processorClass="org.apache.beehive.netui.pageflow.PageFlowRequestProcessor">
<set-property property="isReturnToPageDisabled" value="true"/>
<set-property property="isReturnToActionDisabled" value="true"/>
<set-property property="sharedFlows" value=""/>
<set-property property="controllerClass" value="PF_ActionMethodOverload.Controller"/>
<set-property property="isMissingDefaultMessages" value="true"/>
</controller>
- <message-resources key="_defaultMsgs" parameter="org.apache.beehive.netui.pageflow.validation.defaultMessages" null="true"/>
-</struts-config>
\ No newline at end of file
+ <message-resources key="_defaultMsgs" null="true" parameter="org.apache.beehive.netui.pageflow.validation.defaultMessages"/>
+</struts-config>
Modified: beehive/trunk/netui/test/src/compilerTests/testsuite/PF_ActionNegatives/expectedOutput/struts-config-PF_ActionNegatives.expected
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/test/src/compilerTests/testsuite/PF_ActionNegatives/expectedOutput/struts-config-PF_ActionNegatives.expected?rev=289648&r1=289647&r2=289648&view=diff
==============================================================================
--- beehive/trunk/netui/test/src/compilerTests/testsuite/PF_ActionNegatives/expectedOutput/struts-config-PF_ActionNegatives.expected (original)
+++ beehive/trunk/netui/test/src/compilerTests/testsuite/PF_ActionNegatives/expectedOutput/struts-config-PF_ActionNegatives.expected Fri Sep 16 13:27:57 2005
@@ -1,23 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
-<!--Generated from /WEB-INF/.tmpbeansrc/PF_ActionNegatives/Controller.java on Tue Aug 09 16:45:51 MDT 2005-->
<struts-config>
+ <!-- Generated from /WEB-INF/.tmpbeansrc/PF_ActionNegatives/Controller.java on Tue Aug 09 16:45:51 MDT 2005 -->
<form-beans/>
<global-exceptions/>
<global-forwards>
<forward name="_auto" path=""/>
</global-forwards>
<action-mappings>
- <action path="/begin" type="org.apache.beehive.netui.pageflow.internal.FlowControllerAction" parameter="PF_ActionNegatives.Controller" scope="request" validate="false">
+ <action parameter="PF_ActionNegatives.Controller" path="/begin" scope="request" type="org.apache.beehive.netui.pageflow.internal.FlowControllerAction" validate="false">
<forward name="pg1" path="/Pg1.jsp"/>
</action>
</action-mappings>
- <controller processorClass="org.apache.beehive.netui.pageflow.PageFlowRequestProcessor" inputForward="true" className="org.apache.beehive.netui.pageflow.config.PageFlowControllerConfig">
+ <controller className="org.apache.beehive.netui.pageflow.config.PageFlowControllerConfig" inputForward="true" processorClass="org.apache.beehive.netui.pageflow.PageFlowRequestProcessor">
<set-property property="isReturnToPageDisabled" value="true"/>
<set-property property="isReturnToActionDisabled" value="true"/>
<set-property property="sharedFlows" value=""/>
<set-property property="controllerClass" value="PF_ActionNegatives.Controller"/>
<set-property property="isMissingDefaultMessages" value="true"/>
</controller>
- <message-resources key="_defaultMsgs" parameter="org.apache.beehive.netui.pageflow.validation.defaultMessages" null="true"/>
-</struts-config>
\ No newline at end of file
+ <message-resources key="_defaultMsgs" null="true" parameter="org.apache.beehive.netui.pageflow.validation.defaultMessages"/>
+</struts-config>
Modified: beehive/trunk/netui/test/src/compilerTests/testsuite/PF_ActionReadOnly/expectedOutput/struts-config-PF_ActionReadOnly.expected
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/test/src/compilerTests/testsuite/PF_ActionReadOnly/expectedOutput/struts-config-PF_ActionReadOnly.expected?rev=289648&r1=289647&r2=289648&view=diff
==============================================================================
--- beehive/trunk/netui/test/src/compilerTests/testsuite/PF_ActionReadOnly/expectedOutput/struts-config-PF_ActionReadOnly.expected (original)
+++ beehive/trunk/netui/test/src/compilerTests/testsuite/PF_ActionReadOnly/expectedOutput/struts-config-PF_ActionReadOnly.expected Fri Sep 16 13:27:57 2005
@@ -1,30 +1,30 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
-<!--Generated from /WEB-INF/.tmpbeansrc/PF_ActionReadOnly/Controller.java on Tue Aug 09 16:45:53 MDT 2005-->
<struts-config>
+ <!-- Generated from /WEB-INF/.tmpbeansrc/PF_ActionReadOnly/Controller.java on Tue Aug 09 16:45:53 MDT 2005 -->
<form-beans/>
<global-exceptions/>
<global-forwards>
<forward name="_auto" path=""/>
</global-forwards>
<action-mappings>
- <action path="/action1" type="org.apache.beehive.netui.pageflow.internal.FlowControllerAction" parameter="PF_ActionReadOnly.Controller" scope="request" validate="false" className="org.apache.beehive.netui.pageflow.config.PageFlowActionMapping">
+ <action className="org.apache.beehive.netui.pageflow.config.PageFlowActionMapping" parameter="PF_ActionReadOnly.Controller" path="/action1" scope="request" type="org.apache.beehive.netui.pageflow.internal.FlowControllerAction" validate="false">
<set-property property="readonly" value="true"/>
<forward name="gotoPg1" path="/Pg1.jsp"/>
</action>
- <action path="/action2" type="org.apache.beehive.netui.pageflow.internal.FlowControllerAction" parameter="PF_ActionReadOnly.Controller" scope="request" validate="false">
+ <action parameter="PF_ActionReadOnly.Controller" path="/action2" scope="request" type="org.apache.beehive.netui.pageflow.internal.FlowControllerAction" validate="false">
<forward name="gotoPg1" path="/Pg1.jsp"/>
</action>
- <action path="/begin" type="org.apache.beehive.netui.pageflow.internal.FlowControllerAction" parameter="PF_ActionReadOnly.Controller" scope="request" validate="false">
+ <action parameter="PF_ActionReadOnly.Controller" path="/begin" scope="request" type="org.apache.beehive.netui.pageflow.internal.FlowControllerAction" validate="false">
<forward name="gotoPg1" path="/Pg1.jsp"/>
</action>
</action-mappings>
- <controller processorClass="org.apache.beehive.netui.pageflow.PageFlowRequestProcessor" inputForward="true" className="org.apache.beehive.netui.pageflow.config.PageFlowControllerConfig">
+ <controller className="org.apache.beehive.netui.pageflow.config.PageFlowControllerConfig" inputForward="true" processorClass="org.apache.beehive.netui.pageflow.PageFlowRequestProcessor">
<set-property property="isReturnToPageDisabled" value="true"/>
<set-property property="isReturnToActionDisabled" value="true"/>
<set-property property="sharedFlows" value=""/>
<set-property property="controllerClass" value="PF_ActionReadOnly.Controller"/>
<set-property property="isMissingDefaultMessages" value="true"/>
</controller>
- <message-resources key="_defaultMsgs" parameter="org.apache.beehive.netui.pageflow.validation.defaultMessages" null="true"/>
-</struts-config>
\ No newline at end of file
+ <message-resources key="_defaultMsgs" null="true" parameter="org.apache.beehive.netui.pageflow.validation.defaultMessages"/>
+</struts-config>
Modified: beehive/trunk/netui/test/src/compilerTests/testsuite/PF_ActionUseFormBean/expectedOutput/struts-config-PF_ActionUseFormBean.expected
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/test/src/compilerTests/testsuite/PF_ActionUseFormBean/expectedOutput/struts-config-PF_ActionUseFormBean.expected?rev=289648&r1=289647&r2=289648&view=diff
==============================================================================
--- beehive/trunk/netui/test/src/compilerTests/testsuite/PF_ActionUseFormBean/expectedOutput/struts-config-PF_ActionUseFormBean.expected (original)
+++ beehive/trunk/netui/test/src/compilerTests/testsuite/PF_ActionUseFormBean/expectedOutput/struts-config-PF_ActionUseFormBean.expected Fri Sep 16 13:27:57 2005
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
-<!--Generated from /WEB-INF/.tmpbeansrc/PF_ActionUseFormBean/Controller.java on Tue Aug 09 16:45:55 MDT 2005-->
<struts-config>
+ <!-- Generated from /WEB-INF/.tmpbeansrc/PF_ActionUseFormBean/Controller.java on Tue Aug 09 16:45:55 MDT 2005 -->
<form-beans>
<form-bean name="formOne_nonFlowScoped" type="PF_ActionUseFormBean.Controller$FormOne"/>
<form-bean name="formOne" type="PF_ActionUseFormBean.Controller$FormOne"/>
@@ -11,24 +11,24 @@
<forward name="_auto" path=""/>
</global-forwards>
<action-mappings>
- <action path="/action1" name="formOne" type="org.apache.beehive.netui.pageflow.internal.FlowControllerAction" parameter="PF_ActionUseFormBean.Controller" scope="request" validate="false" className="org.apache.beehive.netui.pageflow.config.PageFlowActionMapping">
+ <action className="org.apache.beehive.netui.pageflow.config.PageFlowActionMapping" name="formOne" parameter="PF_ActionUseFormBean.Controller" path="/action1" scope="request" type="org.apache.beehive.netui.pageflow.internal.FlowControllerAction" validate="false">
<set-property property="formMember" value="form1"/>
<forward name="currentPage" path="/currentPage"/>
</action>
- <action path="/action2" name="formOne" type="org.apache.beehive.netui.pageflow.internal.FlowControllerAction" parameter="PF_ActionUseFormBean.Controller" scope="request" validate="false" className="org.apache.beehive.netui.pageflow.config.PageFlowActionMapping">
+ <action className="org.apache.beehive.netui.pageflow.config.PageFlowActionMapping" name="formOne" parameter="PF_ActionUseFormBean.Controller" path="/action2" scope="request" type="org.apache.beehive.netui.pageflow.internal.FlowControllerAction" validate="false">
<set-property property="formMember" value="form2"/>
<forward name="currentPage" path="/currentPage"/>
</action>
- <action path="/begin" type="org.apache.beehive.netui.pageflow.internal.FlowControllerAction" parameter="PF_ActionUseFormBean.Controller" scope="request" validate="false">
+ <action parameter="PF_ActionUseFormBean.Controller" path="/begin" scope="request" type="org.apache.beehive.netui.pageflow.internal.FlowControllerAction" validate="false">
<forward name="gotoPg1" path="/Pg1.jsp"/>
</action>
</action-mappings>
- <controller processorClass="org.apache.beehive.netui.pageflow.PageFlowRequestProcessor" inputForward="true" className="org.apache.beehive.netui.pageflow.config.PageFlowControllerConfig">
+ <controller className="org.apache.beehive.netui.pageflow.config.PageFlowControllerConfig" inputForward="true" processorClass="org.apache.beehive.netui.pageflow.PageFlowRequestProcessor">
<set-property property="isReturnToPageDisabled" value="true"/>
<set-property property="isReturnToActionDisabled" value="true"/>
<set-property property="sharedFlows" value=""/>
<set-property property="controllerClass" value="PF_ActionUseFormBean.Controller"/>
<set-property property="isMissingDefaultMessages" value="true"/>
</controller>
- <message-resources key="_defaultMsgs" parameter="org.apache.beehive.netui.pageflow.validation.defaultMessages" null="true"/>
-</struts-config>
\ No newline at end of file
+ <message-resources key="_defaultMsgs" null="true" parameter="org.apache.beehive.netui.pageflow.validation.defaultMessages"/>
+</struts-config>
Modified: beehive/trunk/netui/test/src/compilerTests/testsuite/PF_ActionWithForm/expectedOutput/struts-config-PF_ActionWithForm.expected
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/test/src/compilerTests/testsuite/PF_ActionWithForm/expectedOutput/struts-config-PF_ActionWithForm.expected?rev=289648&r1=289647&r2=289648&view=diff
==============================================================================
--- beehive/trunk/netui/test/src/compilerTests/testsuite/PF_ActionWithForm/expectedOutput/struts-config-PF_ActionWithForm.expected (original)
+++ beehive/trunk/netui/test/src/compilerTests/testsuite/PF_ActionWithForm/expectedOutput/struts-config-PF_ActionWithForm.expected Fri Sep 16 13:27:57 2005
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
-<!--Generated from /WEB-INF/.tmpbeansrc/PF_ActionWithForm/Controller.java on Tue Aug 09 16:45:58 MDT 2005-->
<struts-config>
+ <!-- Generated from /WEB-INF/.tmpbeansrc/PF_ActionWithForm/Controller.java on Tue Aug 09 16:45:58 MDT 2005 -->
<form-beans>
<form-bean name="tempForm" type="PF_ActionWithForm.Controller$TempForm"/>
</form-beans>
@@ -10,19 +10,19 @@
<forward name="_auto" path=""/>
</global-forwards>
<action-mappings>
- <action path="/begin" type="org.apache.beehive.netui.pageflow.internal.FlowControllerAction" parameter="PF_ActionWithForm.Controller" scope="request" validate="false">
+ <action parameter="PF_ActionWithForm.Controller" path="/begin" scope="request" type="org.apache.beehive.netui.pageflow.internal.FlowControllerAction" validate="false">
<forward name="begin" path="/Begin.jsp"/>
</action>
- <action path="/page1" name="tempForm" type="org.apache.beehive.netui.pageflow.internal.FlowControllerAction" parameter="PF_ActionWithForm.Controller" scope="request" validate="false">
+ <action name="tempForm" parameter="PF_ActionWithForm.Controller" path="/page1" scope="request" type="org.apache.beehive.netui.pageflow.internal.FlowControllerAction" validate="false">
<forward name="page1" path="/Page1.jsp"/>
</action>
</action-mappings>
- <controller processorClass="org.apache.beehive.netui.pageflow.PageFlowRequestProcessor" inputForward="true" className="org.apache.beehive.netui.pageflow.config.PageFlowControllerConfig">
+ <controller className="org.apache.beehive.netui.pageflow.config.PageFlowControllerConfig" inputForward="true" processorClass="org.apache.beehive.netui.pageflow.PageFlowRequestProcessor">
<set-property property="isReturnToPageDisabled" value="true"/>
<set-property property="isReturnToActionDisabled" value="true"/>
<set-property property="sharedFlows" value=""/>
<set-property property="controllerClass" value="PF_ActionWithForm.Controller"/>
<set-property property="isMissingDefaultMessages" value="true"/>
</controller>
- <message-resources key="_defaultMsgs" parameter="org.apache.beehive.netui.pageflow.validation.defaultMessages" null="true"/>
-</struts-config>
\ No newline at end of file
+ <message-resources key="_defaultMsgs" null="true" parameter="org.apache.beehive.netui.pageflow.validation.defaultMessages"/>
+</struts-config>