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/12/09 01:07:26 UTC
svn commit: r355290 - in /beehive/trunk/netui:
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/compiler-core/org/apache/...
Author: rich
Date: Thu Dec 8 16:07:17 2005
New Revision: 355290
URL: http://svn.apache.org/viewcvs?rev=355290&view=rev
Log:
Fix for http://issues.apache.org/jira/browse/BEEHIVE-961 : Add URL rule to declarative validation rule annotations
tests: bvt in netui (WinXP)
BB: same (linux)
Added:
beehive/trunk/netui/src/compiler-core/org/apache/beehive/netui/compiler/grammar/ValidateURLGrammar.java (with props)
beehive/trunk/netui/test/webapps/drt/testRecorder/tests/ValidateURL.xml (with props)
beehive/trunk/netui/test/webapps/drt/web/validation/validateURL/
beehive/trunk/netui/test/webapps/drt/web/validation/validateURL/Controller.java (with props)
beehive/trunk/netui/test/webapps/drt/web/validation/validateURL/index.jsp (with props)
Modified:
beehive/trunk/netui/src/compiler-core/org/apache/beehive/netui/compiler/JpfLanguageConstants.java
beehive/trunk/netui/src/compiler-core/org/apache/beehive/netui/compiler/genmodel/DefaultValidatorRuleFactory.java
beehive/trunk/netui/src/compiler-core/org/apache/beehive/netui/compiler/grammar/ValidationRulesContainerGrammar.java
beehive/trunk/netui/src/compiler-core/org/apache/beehive/netui/compiler/model/validation/ValidatorConstants.java
beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/annotations/Jpf.java
beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/validation/defaultMessages.properties
beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml
beehive/trunk/netui/test/webapps/drt/testRecorder/tests/ValidateThroughAction.xml
beehive/trunk/netui/test/webapps/drt/testRecorder/tests/ValidateThroughClass.xml
beehive/trunk/netui/test/webapps/drt/testRecorder/tests/ValidateThroughForm.xml
beehive/trunk/netui/test/webapps/drt/testRecorder/tests/ValidationDefaultMessages.xml
Modified: beehive/trunk/netui/src/compiler-core/org/apache/beehive/netui/compiler/JpfLanguageConstants.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/src/compiler-core/org/apache/beehive/netui/compiler/JpfLanguageConstants.java?rev=355290&r1=355289&r2=355290&view=diff
==============================================================================
--- beehive/trunk/netui/src/compiler-core/org/apache/beehive/netui/compiler/JpfLanguageConstants.java (original)
+++ beehive/trunk/netui/src/compiler-core/org/apache/beehive/netui/compiler/JpfLanguageConstants.java Thu Dec 8 16:07:17 2005
@@ -57,6 +57,7 @@
public static final String VALIDATE_DATE_TAG_NAME = "ValidateDate";
public static final String VALIDATE_TYPE_TAG_NAME = "ValidateType";
public static final String VALIDATE_VALID_WHEN_TAG_NAME = "ValidateValidWhen";
+ public static final String VALIDATE_URL_TAG_NAME = "ValidateURL";
public static final String VALIDATE_CUSTOM_RULE_TAG_NAME = "ValidateCustomRule";
public static final String MESSAGE_ARG_TAG_NAME = "MessageArg";
public static final String VALIDATE_CUSTOM_VARIABLE_TAG_NAME = "ValidateCustomVariable";
@@ -155,6 +156,7 @@
public static final String VALIDATE_DATE_ATTR = "validateDate";
public static final String VALIDATE_TYPE_ATTR = "validateType";
public static final String VALIDATE_VALID_WHEN_ATTR = "validateValidWhen";
+ public static final String VALIDATE_URL_ATTR = "validateURL";
public static final String VALIDATE_CUSTOM_ATTR = "validateCustomRules";
public static final String VALIDATABLE_PROPERTIES_ATTR = "validatableProperties";
public static final String MESSAGE_BUNDLE_ATTR = "messageBundle";
@@ -167,6 +169,10 @@
public static final String PREVENT_DOUBLE_SUBMIT_ATTR = "preventDoubleSubmit";
public static final String FORWARD_REF_ATTR = "forwardRef";
public static final String TYPE_HINT_ATTR = "typeHint";
+ public static final String ALLOW_ALL_SCHEMES_ATTR = "allowAllSchemes";
+ public static final String ALLOW_TWO_SLASHES_ATTR = "allowTwoSlashes";
+ public static final String DISALLOW_FRAGMENTS = "disallowFragments";
+ public static final String SCHEMES_ATTR = "schemes";
public static final String MIN_INT_ATTR = "minInt";
public static final String MAX_INT_ATTR = "maxInt";
Modified: beehive/trunk/netui/src/compiler-core/org/apache/beehive/netui/compiler/genmodel/DefaultValidatorRuleFactory.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/src/compiler-core/org/apache/beehive/netui/compiler/genmodel/DefaultValidatorRuleFactory.java?rev=355290&r1=355289&r2=355290&view=diff
==============================================================================
--- beehive/trunk/netui/src/compiler-core/org/apache/beehive/netui/compiler/genmodel/DefaultValidatorRuleFactory.java (original)
+++ beehive/trunk/netui/src/compiler-core/org/apache/beehive/netui/compiler/genmodel/DefaultValidatorRuleFactory.java Thu Dec 8 16:07:17 2005
@@ -121,6 +121,33 @@
rule = new ValidatorRule( RULENAME_VALID_WHEN );
rule.setVar( VARNAME_VALID_WHEN, CompilerUtils.getString( ruleAnnotation, CONDITION_ATTR, true ) );
}
+ else if (annName.equals(VALIDATE_URL_TAG_NAME))
+ {
+ Boolean allowAllSchemes = CompilerUtils.getBoolean(ruleAnnotation, ALLOW_ALL_SCHEMES_ATTR, true);
+ Boolean allowTwoSlashes = CompilerUtils.getBoolean(ruleAnnotation, ALLOW_TWO_SLASHES_ATTR, true);
+ Boolean disallowFragments = CompilerUtils.getBoolean(ruleAnnotation, DISALLOW_FRAGMENTS, true);
+ List schemes = CompilerUtils.getStringArray(ruleAnnotation, SCHEMES_ATTR, true);
+
+ rule = new ValidatorRule(RULENAME_URL);
+ if (allowAllSchemes != null) {
+ rule.setVar(VARNAME_ALLOW_ALL_SCHEMES, allowAllSchemes.toString());
+ }
+ if (allowTwoSlashes != null) {
+ rule.setVar(VARNAME_ALLOW_TWO_SLASHES, allowTwoSlashes.toString());
+ }
+ if (disallowFragments != null) {
+ rule.setVar(VARNAME_DISALLOW_FRAGMENTS, disallowFragments.toString());
+ }
+ if (schemes != null) {
+ Iterator it = schemes.iterator();
+ StringBuffer schemesStr = new StringBuffer((String) it.next());
+
+ while (it.hasNext()) {
+ schemesStr.append(',').append(((String) it.next()).trim());
+ }
+ rule.setVar(VARNAME_SCHEMES, schemesStr.toString());
+ }
+ }
else if ( annName.equals( VALIDATE_CUSTOM_RULE_TAG_NAME ) )
{
String ruleName = CompilerUtils.getString( ruleAnnotation, RULE_ATTR, false );
Added: beehive/trunk/netui/src/compiler-core/org/apache/beehive/netui/compiler/grammar/ValidateURLGrammar.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/src/compiler-core/org/apache/beehive/netui/compiler/grammar/ValidateURLGrammar.java?rev=355290&view=auto
==============================================================================
--- beehive/trunk/netui/src/compiler-core/org/apache/beehive/netui/compiler/grammar/ValidateURLGrammar.java (added)
+++ beehive/trunk/netui/src/compiler-core/org/apache/beehive/netui/compiler/grammar/ValidateURLGrammar.java Thu Dec 8 16:07:17 2005
@@ -0,0 +1,50 @@
+/*
+ * 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.grammar;
+
+import org.apache.beehive.netui.compiler.Diagnostics;
+import org.apache.beehive.netui.compiler.RuntimeVersionChecker;
+import org.apache.beehive.netui.compiler.typesystem.env.AnnotationProcessorEnvironment;
+
+public class ValidateURLGrammar
+ extends BaseValidationRuleGrammar
+{
+ private static String[][] MUTUALLY_EXCLUSIVE_ATTRS = {{ALLOW_ALL_SCHEMES_ATTR, SCHEMES_ATTR}};
+
+ public ValidateURLGrammar(AnnotationProcessorEnvironment env, Diagnostics diags, RuntimeVersionChecker rvc)
+ {
+ super(env, diags, rvc);
+ // no custom types needed
+ }
+
+ public String[][] getMutuallyExclusiveAttrs()
+ {
+ return MUTUALLY_EXCLUSIVE_ATTRS;
+ }
+
+ public String[][] getRequiredAttrs()
+ {
+ return null;
+ }
+
+ public String[][] getAttrDependencies()
+ {
+ return null;
+ }
+}
+
Propchange: beehive/trunk/netui/src/compiler-core/org/apache/beehive/netui/compiler/grammar/ValidateURLGrammar.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: beehive/trunk/netui/src/compiler-core/org/apache/beehive/netui/compiler/grammar/ValidationRulesContainerGrammar.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/src/compiler-core/org/apache/beehive/netui/compiler/grammar/ValidationRulesContainerGrammar.java?rev=355290&r1=355289&r2=355290&view=diff
==============================================================================
--- beehive/trunk/netui/src/compiler-core/org/apache/beehive/netui/compiler/grammar/ValidationRulesContainerGrammar.java (original)
+++ beehive/trunk/netui/src/compiler-core/org/apache/beehive/netui/compiler/grammar/ValidationRulesContainerGrammar.java Thu Dec 8 16:07:17 2005
@@ -44,6 +44,7 @@
new BaseValidationRuleGrammar( env, diags, rvc, new String[][]{ { PATTERN_ATTR } } ) );
addMemberGrammar( VALIDATE_TYPE_ATTR, new ValidateTypeGrammar( env, diags, rvc ) );
addMemberGrammar( VALIDATE_VALID_WHEN_ATTR, new ValidateValidWhenGrammar( env, diags, rvc ) );
+ addMemberGrammar( VALIDATE_URL_ATTR, new ValidateURLGrammar( env, diags, rvc ) );
addMemberArrayGrammar( VALIDATE_CUSTOM_ATTR, new ValidateCustomGrammar( env, diags, rvc ) );
}
}
Modified: beehive/trunk/netui/src/compiler-core/org/apache/beehive/netui/compiler/model/validation/ValidatorConstants.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/src/compiler-core/org/apache/beehive/netui/compiler/model/validation/ValidatorConstants.java?rev=355290&r1=355289&r2=355290&view=diff
==============================================================================
--- beehive/trunk/netui/src/compiler-core/org/apache/beehive/netui/compiler/model/validation/ValidatorConstants.java (original)
+++ beehive/trunk/netui/src/compiler-core/org/apache/beehive/netui/compiler/model/validation/ValidatorConstants.java Thu Dec 8 16:07:17 2005
@@ -35,6 +35,7 @@
String RULENAME_DOUBLE = "double";
String RULENAME_DATE = "date";
String RULENAME_VALID_WHEN = "netui_validwhen";
+ String RULENAME_URL = "url";
String VARNAME_MIN = "min";
String VARNAME_MAX = "max";
@@ -44,6 +45,10 @@
String VARNAME_DATE_PATTERN = "datePattern";
String VARNAME_DATE_PATTERN_STRICT = "datePatternStrict";
String VARNAME_VALID_WHEN = RULENAME_VALID_WHEN;
+ String VARNAME_ALLOW_ALL_SCHEMES = "allowallschemes";
+ String VARNAME_ALLOW_TWO_SLASHES = "allow2slashes";
+ String VARNAME_DISALLOW_FRAGMENTS = "nofragments";
+ String VARNAME_SCHEMES = "schemes";
String EXPRESSION_KEY_PREFIX = "NETUI-EXPRESSION:";
}
Modified: beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/annotations/Jpf.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/annotations/Jpf.java?rev=355290&r1=355289&r2=355290&view=diff
==============================================================================
--- beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/annotations/Jpf.java (original)
+++ beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/annotations/Jpf.java Thu Dec 8 16:07:17 2005
@@ -1486,6 +1486,67 @@
}
/**
+ * A validation rule that will fail when it is applied to a property that has a non-empty value that is an invalid
+ * URL.
+ * Used within {@link ValidatableProperty} and {@link ValidationLocaleRules}.
+ */
+ @Target( ANNOTATION_TYPE )
+ @Retention( RUNTIME )
+ public @interface ValidateURL
+ {
+ /**
+ * If set to <code>false</code>, then this rule will not be applied.
+ */
+ boolean enabled() default true;
+
+ /**
+ * If <code>true</code>, then all schemes are allowed. Mutually-exclusive with {@link #schemes}.
+ */
+ boolean allowAllSchemes() default false;
+
+ /**
+ * An array of schemes that are allowed in the URL. Defaults to <code>{"http", "https", "ftp"}</code>.
+ * Mutually-exclusive with {@link #allowAllSchemes}.
+ */
+ String[] schemes() default {"http", "https", "ftp"};
+
+ /**
+ * If <code>true</code>, then double '/' characters are allowed in the URL.
+ */
+ boolean allowTwoSlashes() default false;
+
+ /**
+ * If <code>true</code>, then fragments are <strong>not</strong> allowed.
+ */
+ boolean disallowFragments() default false;
+
+ /**
+ * The JSP 2.0-style expression (e.g., <code>${pageFlow.myProperty}</code>) or literal string that will be used
+ * as the error message. Mutually-exclusive with {@link #messageKey}.
+ */
+ String message() default "";
+
+ /**
+ * A key in the default message bundle or in the bundle specified by {@link #bundleName} that will be
+ * used to look up the error message. Mutually-exclusive with {@link #message}.
+ * @see MessageBundle
+ */
+ String messageKey() default "";
+
+ /**
+ * The name of the message bundle in which to look up the error message. Requires {@link #messageKey} to be set.
+ * @see MessageBundle
+ */
+ String bundleName() default "";
+
+ /**
+ * An array of message arguments, which will be used for the message obtained from {@link #message} or
+ * {@link #messageKey}, whichever is specified.
+ */
+ MessageArg[] messageArgs() default {};
+ }
+
+ /**
* A variable name/value that is used by {@link ValidateCustomRule}.
*/
@Target( ANNOTATION_TYPE )
@@ -1556,37 +1617,40 @@
@Retention( RUNTIME )
public @interface ValidationLocaleRules
{
- /** A ValidateRequired rule that will be applied for the given locale. */
+ /** A {@link ValidateRequired} rule that will be applied for the given locale. */
ValidateRequired validateRequired() default @ValidateRequired(enabled=false);
- /** A ValidateMinLength rule that will be applied for the given locale. */
+ /** A {@link ValidateMinLength} rule that will be applied for the given locale. */
ValidateMinLength validateMinLength() default @ValidateMinLength(enabled=false, chars=-1);
- /** A ValidateMaxLength rule that will be applied for the given locale. */
+ /** A {@link ValidateMaxLength} rule that will be applied for the given locale. */
ValidateMaxLength validateMaxLength() default @ValidateMaxLength(enabled=false, chars=-1);
- /** A ValidateMask rule that will be applied for the given locale. */
+ /** A {@link ValidateMask} rule that will be applied for the given locale. */
ValidateMask validateMask() default @ValidateMask(enabled=false, regex="");
- /** A ValidateType rule that will be applied for the given locale. */
+ /** A {@link ValidateType} rule that will be applied for the given locale. */
ValidateType validateType() default @ValidateType(enabled=false, type=void.class);
- /** A ValidateDate rule that will be applied for the given locale. */
+ /** A {@link ValidateDate} rule that will be applied for the given locale. */
ValidateDate validateDate() default @ValidateDate(enabled=false, pattern="");
- /** A ValidateRange rule that will be applied for the given locale. */
+ /** A {@link ValidateRange} rule that will be applied for the given locale. */
ValidateRange validateRange() default @ValidateRange(enabled=false);
- /** A ValidateCreditCard rule that will be applied for the given locale. */
+ /** A {@link ValidateCreditCard} rule that will be applied for the given locale. */
ValidateCreditCard validateCreditCard() default @ValidateCreditCard(enabled=false);
- /** A ValidateEmail rule that will be applied for the given locale. */
+ /** A {@link ValidateEmail} rule that will be applied for the given locale. */
ValidateEmail validateEmail() default @ValidateEmail(enabled=false);
- /** A ValidateValidWhen rule that will be applied for the given locale. */
+ /** A {@link ValidateValidWhen} rule that will be applied for the given locale. */
ValidateValidWhen validateValidWhen() default @ValidateValidWhen(enabled=false, condition="");
+
+ /** A {@link ValidateURL} rule that will be applied for the given locale. */
+ ValidateURL validateURL() default @ValidateURL(enabled=false);
- /** A ValidateCustomRule rule that will be applied for the given locale. */
+ /** A {@link ValidateCustomRule} rule that will be applied for the given locale. */
ValidateCustomRule[] validateCustomRules() default {};
/**
@@ -1644,37 +1708,40 @@
*/
String displayNameKey() default "";
- /** A ValidateRequired rule that will be applied for all locales. */
+ /** A {@link ValidateRequired} rule that will be applied for all locales. */
ValidateRequired validateRequired() default @ValidateRequired(enabled=false);
- /** A ValidateMinLength rule that will be applied for all locales. */
+ /** A {@link ValidateMinLength} rule that will be applied for all locales. */
ValidateMinLength validateMinLength() default @ValidateMinLength(enabled=false, chars=-1);
- /** A ValidateMaxLength rule that will be applied for all locales. */
+ /** A {@link ValidateMaxLength} rule that will be applied for all locales. */
ValidateMaxLength validateMaxLength() default @ValidateMaxLength(enabled=false, chars=-1);
- /** A ValidateMask rule that will be applied for all locales. */
+ /** A {@link ValidateMask} rule that will be applied for all locales. */
ValidateMask validateMask() default @ValidateMask(enabled=false, regex="");
- /** A ValidateType rule that will be applied for all locales. */
+ /** A {@link ValidateType} rule that will be applied for all locales. */
ValidateType validateType() default @ValidateType(enabled=false, type=void.class);
- /** A ValidateDate rule that will be applied for all locales. */
+ /** A {@link ValidateDate} rule that will be applied for all locales. */
ValidateDate validateDate() default @ValidateDate(enabled=false, pattern="");
- /** A ValidateRange rule that will be applied for all locales. */
+ /** A {@link ValidateRange} rule that will be applied for all locales. */
ValidateRange validateRange() default @ValidateRange(enabled=false);
- /** A ValidateCreditCard rule that will be applied for all locales. */
+ /** A {@link ValidateCreditCard} rule that will be applied for all locales. */
ValidateCreditCard validateCreditCard() default @ValidateCreditCard(enabled=false);
- /** A ValidateEmail rule that will be applied for all locales. */
+ /** A {@link ValidateEmail} rule that will be applied for all locales. */
ValidateEmail validateEmail() default @ValidateEmail(enabled=false);
- /** A ValidateValidWhen rule that will be applied for all locales. */
+ /** A {@link ValidateValidWhen} rule that will be applied for all locales. */
ValidateValidWhen validateValidWhen() default @ValidateValidWhen(enabled=false, condition="");
- /** A ValidateCustomRule rule that will be applied for all locales. */
+ /** A {@link ValidateURL} rule that will be applied for all locales. */
+ ValidateURL validateURL() default @ValidateURL(enabled=false);
+
+ /** A {@link ValidateCustomRule} rule that will be applied for all locales. */
ValidateCustomRule[] validateCustomRules() default {};
/**
Modified: beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/validation/defaultMessages.properties
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/validation/defaultMessages.properties?rev=355290&r1=355289&r2=355290&view=diff
==============================================================================
--- beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/validation/defaultMessages.properties (original)
+++ beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/validation/defaultMessages.properties Thu Dec 8 16:07:17 2005
@@ -12,5 +12,6 @@
errors.date={0} is not a date.
errors.range={0} is not in the range {1} through {2}.
-errors.creditcard={0} is an invalid credit card number.
-errors.email={0} is an invalid e-mail address.
+errors.creditcard={0} is not a valid credit card number.
+errors.email={0} is not a valid e-mail address.
+errors.url={0} is not a valid URL.
Modified: beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml?rev=355290&r1=355289&r2=355290&view=diff
==============================================================================
--- beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml (original)
+++ beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml Thu Dec 8 16:07:17 2005
@@ -8435,6 +8435,20 @@
</features>
</test>
<test>
+ <name>ValidateURL</name>
+ <description>Test to ensure that the @Jpf.ValidateURL annotation works correctly.</description>
+ <webapp>coreWeb</webapp>
+ <categories>
+ <category>bvt</category>
+ <category>drt</category>
+ <category>corePageFlow</category>
+ </categories>
+ <features>
+ <feature>Form</feature>
+ <feature>Validation</feature>
+ </features>
+ </test>
+ <test>
<name>Validation2</name>
<description>Tests of basic validation and validation using the Struts ValidatorPlugIn (as well as netui:error, netui:errors).</description>
<webapp>coreWeb</webapp>
Modified: beehive/trunk/netui/test/webapps/drt/testRecorder/tests/ValidateThroughAction.xml
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/ValidateThroughAction.xml?rev=355290&r1=355289&r2=355290&view=diff
==============================================================================
--- beehive/trunk/netui/test/webapps/drt/testRecorder/tests/ValidateThroughAction.xml (original)
+++ beehive/trunk/netui/test/webapps/drt/testRecorder/tests/ValidateThroughAction.xml Thu Dec 8 16:07:17 2005
@@ -875,7 +875,7 @@
<td>credit card:</td>
<td>
<input type="text" name="{actionForm.creditCard}" value="4444444444444447">
- This field is an invalid credit card number.
+ This field is not a valid credit card number.
</td>
</tr>
@@ -883,7 +883,7 @@
<td>email:</td>
<td>
<input type="text" name="{actionForm.email}" value="invalid">
- This field is an invalid e-mail address.
+ This field is not a valid e-mail address.
</td>
</tr>
@@ -1058,4 +1058,4 @@
<ses:testCount>5</ses:testCount>
<ses:passedCount>1</ses:passedCount>
<ses:failedCount>4</ses:failedCount>
-</ses:recorderSession>
\ No newline at end of file
+</ses:recorderSession>
Modified: beehive/trunk/netui/test/webapps/drt/testRecorder/tests/ValidateThroughClass.xml
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/ValidateThroughClass.xml?rev=355290&r1=355289&r2=355290&view=diff
==============================================================================
--- beehive/trunk/netui/test/webapps/drt/testRecorder/tests/ValidateThroughClass.xml (original)
+++ beehive/trunk/netui/test/webapps/drt/testRecorder/tests/ValidateThroughClass.xml Thu Dec 8 16:07:17 2005
@@ -1153,7 +1153,7 @@
<td>credit card:</td>
<td>
<input type="text" name="{actionForm.creditCard}" value="4444444444444447">
- This field is an invalid credit card number.
+ This field is not a valid credit card number.
</td>
</tr>
@@ -1161,7 +1161,7 @@
<td>email:</td>
<td>
<input type="text" name="{actionForm.email}" value="invalid">
- This field is an invalid e-mail address.
+ This field is not a valid e-mail address.
</td>
</tr>
@@ -1336,4 +1336,4 @@
<ses:testCount>6</ses:testCount>
<ses:passedCount>1</ses:passedCount>
<ses:failedCount>5</ses:failedCount>
-</ses:recorderSession>
\ No newline at end of file
+</ses:recorderSession>
Modified: beehive/trunk/netui/test/webapps/drt/testRecorder/tests/ValidateThroughForm.xml
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/ValidateThroughForm.xml?rev=355290&r1=355289&r2=355290&view=diff
==============================================================================
--- beehive/trunk/netui/test/webapps/drt/testRecorder/tests/ValidateThroughForm.xml (original)
+++ beehive/trunk/netui/test/webapps/drt/testRecorder/tests/ValidateThroughForm.xml Thu Dec 8 16:07:17 2005
@@ -941,7 +941,7 @@
<td>credit card:</td>
<td>
<input type="text" name="{actionForm.creditCard}" value="4444444444444447">
- This field is an invalid credit card number.
+ This field is not a valid credit card number.
</td>
</tr>
@@ -949,7 +949,7 @@
<td>email:</td>
<td>
<input type="text" name="{actionForm.email}" value="invalid">
- This field is an invalid e-mail address.
+ This field is not a valid e-mail address.
</td>
</tr>
@@ -1124,4 +1124,4 @@
<ses:testCount>5</ses:testCount>
<ses:passedCount>1</ses:passedCount>
<ses:failedCount>4</ses:failedCount>
-</ses:recorderSession>
\ No newline at end of file
+</ses:recorderSession>
Added: beehive/trunk/netui/test/webapps/drt/testRecorder/tests/ValidateURL.xml
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/ValidateURL.xml?rev=355290&view=auto
==============================================================================
--- beehive/trunk/netui/test/webapps/drt/testRecorder/tests/ValidateURL.xml (added)
+++ beehive/trunk/netui/test/webapps/drt/testRecorder/tests/ValidateURL.xml Thu Dec 8 16:07:17 2005
@@ -0,0 +1,1492 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<recorderSession xmlns="http://beehive.apache.org/netui/tools/testrecorder/2004/session">
+<sessionName>ValidateURL</sessionName>
+<tester>rich</tester>
+<startDate>08 Dec 2005, 04:33:54.546 PM MST</startDate>
+<description>Test to verify that the @Jpf.ValidateURL annotation works correctly. </description>
+<tests>
+<test>
+<testNumber>1</testNumber>
+<request>
+<protocol>HTTP</protocol>
+<protocolVersion>1.1</protocolVersion>
+<host>localhost</host>
+<port>8080</port>
+<uri>/coreWeb/validation/validateURL/Controller.jpf</uri>
+<method>GET</method>
+<parameters>
+</parameters>
+<cookies>
+<cookie>
+<name>JSESSIONID</name>
+<value>12914CA181385287442AC9549C8F6B53</value>
+</cookie>
+</cookies>
+<headers>
+<header>
+<name>accept</name>
+<value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</value>
+</header>
+<header>
+<name>accept-charset</name>
+<value>ISO-8859-1,utf-8;q=0.7,*;q=0.7</value>
+</header>
+<header>
+<name>accept-encoding</name>
+<value>gzip,deflate</value>
+</header>
+<header>
+<name>accept-language</name>
+<value>en-us,en;q=0.7,ja;q=0.3</value>
+</header>
+<header>
+<name>connection</name>
+<value>keep-alive</value>
+</header>
+<header>
+<name>cookie</name>
+<value>JSESSIONID=12914CA181385287442AC9549C8F6B53</value>
+</header>
+<header>
+<name>host</name>
+<value>localhost:8080</value>
+</header>
+<header>
+<name>keep-alive</name>
+<value>300</value>
+</header>
+<header>
+<name>user-agent</name>
+<value>Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8) Gecko/20051111 Firefox/1.5</value>
+</header>
+</headers>
+</request>
+<response>
+<statusCode>200</statusCode>
+<reason></reason>
+<responseBody>
+<![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+ "http://www.w3.org/TR/html4/loose.dtd">
+<html lang="en">
+
+ <head>
+ <base href="http://localhost:8080/coreWeb/validation/validateURL/index.jsp">
+ </head>
+ <body>
+ <h3>/validation/validateURL/Controller.jpf</h3>
+
+ This test verifies that the @Jpf.ValidateURL annotation works correctly.
+ <br/>
+ <br/>
+
+ <form action="/coreWeb/validation/validateURL/validateURL.do" method="post">
+ URL: <input type="text" name="{actionForm.URL}" size="50">
+ <span style="color:red"></span>
+ <br/>
+ <input type="submit" name="actionOverride:validateURL" value="validateURL">
+ <br/>
+ <input type="submit" name="actionOverride:validateURLAllowAllSchemes" value="validateURLAllowAllSchemes">
+ <br/>
+ <input type="submit" name="actionOverride:validateURLAllowTwoSlashes" value="validateURLAllowTwoSlashes">
+ <br/>
+ <input type="submit" name="actionOverride:validateURLDisallowFragments" value="validateURLDisallowFragments">
+ <br/>
+ <input type="submit" name="actionOverride:validateURLAllowOnlySpecialSauceScheme" value="validateURLAllowOnlySpecialSauceScheme">
+ <br/>
+ </form>
+ </body>
+
+</html>]]>
+</responseBody>
+</response>
+</test>
+<test>
+<testNumber>2</testNumber>
+<request>
+<protocol>HTTP</protocol>
+<protocolVersion>1.1</protocolVersion>
+<host>localhost</host>
+<port>8080</port>
+<uri>/coreWeb/validation/validateURL/validateURL.do</uri>
+<method>POST</method>
+<parameters>
+<parameter>
+<name>actionOverride:validateURL</name>
+<value>validateURL</value>
+</parameter>
+<parameter>
+<name>{actionForm.URL}</name>
+<value>aaa</value>
+</parameter>
+</parameters>
+<cookies>
+<cookie>
+<name>JSESSIONID</name>
+<value>12914CA181385287442AC9549C8F6B53</value>
+</cookie>
+</cookies>
+<headers>
+<header>
+<name>accept</name>
+<value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</value>
+</header>
+<header>
+<name>accept-charset</name>
+<value>ISO-8859-1,utf-8;q=0.7,*;q=0.7</value>
+</header>
+<header>
+<name>accept-encoding</name>
+<value>gzip,deflate</value>
+</header>
+<header>
+<name>accept-language</name>
+<value>en-us,en;q=0.7,ja;q=0.3</value>
+</header>
+<header>
+<name>connection</name>
+<value>keep-alive</value>
+</header>
+<header>
+<name>content-length</name>
+<value>65</value>
+</header>
+<header>
+<name>content-type</name>
+<value>application/x-www-form-urlencoded</value>
+</header>
+<header>
+<name>cookie</name>
+<value>JSESSIONID=12914CA181385287442AC9549C8F6B53</value>
+</header>
+<header>
+<name>host</name>
+<value>localhost:8080</value>
+</header>
+<header>
+<name>keep-alive</name>
+<value>300</value>
+</header>
+<header>
+<name>referer</name>
+<value>http://localhost:8080/coreWeb/validation/validateURL/Controller.jpf</value>
+</header>
+<header>
+<name>user-agent</name>
+<value>Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8) Gecko/20051111 Firefox/1.5</value>
+</header>
+</headers>
+</request>
+<response>
+<statusCode>200</statusCode>
+<reason></reason>
+<responseBody>
+<![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+ "http://www.w3.org/TR/html4/loose.dtd">
+<html lang="en">
+
+ <head>
+ <base href="http://localhost:8080/coreWeb/validation/validateURL/index.jsp">
+ </head>
+ <body>
+ <h3>/validation/validateURL/Controller.jpf</h3>
+
+ This test verifies that the @Jpf.ValidateURL annotation works correctly.
+ <br/>
+ <br/>
+
+ <form action="/coreWeb/validation/validateURL/validateURL.do" method="post">
+ URL: <input type="text" name="{actionForm.URL}" value="aaa" size="50">
+ <span style="color:red">This is not a valid URL.
+</span>
+ <br/>
+ <input type="submit" name="actionOverride:validateURL" value="validateURL">
+ <br/>
+ <input type="submit" name="actionOverride:validateURLAllowAllSchemes" value="validateURLAllowAllSchemes">
+ <br/>
+ <input type="submit" name="actionOverride:validateURLAllowTwoSlashes" value="validateURLAllowTwoSlashes">
+ <br/>
+ <input type="submit" name="actionOverride:validateURLDisallowFragments" value="validateURLDisallowFragments">
+ <br/>
+ <input type="submit" name="actionOverride:validateURLAllowOnlySpecialSauceScheme" value="validateURLAllowOnlySpecialSauceScheme">
+ <br/>
+ </form>
+ </body>
+
+</html>]]>
+</responseBody>
+</response>
+</test>
+<test>
+<testNumber>3</testNumber>
+<request>
+<protocol>HTTP</protocol>
+<protocolVersion>1.1</protocolVersion>
+<host>localhost</host>
+<port>8080</port>
+<uri>/coreWeb/validation/validateURL/validateURL.do</uri>
+<method>POST</method>
+<parameters>
+<parameter>
+<name>actionOverride:validateURL</name>
+<value>validateURL</value>
+</parameter>
+<parameter>
+<name>{actionForm.URL}</name>
+<value>http://www.foo.com/foo</value>
+</parameter>
+</parameters>
+<cookies>
+<cookie>
+<name>JSESSIONID</name>
+<value>12914CA181385287442AC9549C8F6B53</value>
+</cookie>
+</cookies>
+<headers>
+<header>
+<name>accept</name>
+<value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</value>
+</header>
+<header>
+<name>accept-charset</name>
+<value>ISO-8859-1,utf-8;q=0.7,*;q=0.7</value>
+</header>
+<header>
+<name>accept-encoding</name>
+<value>gzip,deflate</value>
+</header>
+<header>
+<name>accept-language</name>
+<value>en-us,en;q=0.7,ja;q=0.3</value>
+</header>
+<header>
+<name>connection</name>
+<value>keep-alive</value>
+</header>
+<header>
+<name>content-length</name>
+<value>92</value>
+</header>
+<header>
+<name>content-type</name>
+<value>application/x-www-form-urlencoded</value>
+</header>
+<header>
+<name>cookie</name>
+<value>JSESSIONID=12914CA181385287442AC9549C8F6B53</value>
+</header>
+<header>
+<name>host</name>
+<value>localhost:8080</value>
+</header>
+<header>
+<name>keep-alive</name>
+<value>300</value>
+</header>
+<header>
+<name>referer</name>
+<value>http://localhost:8080/coreWeb/validation/validateURL/validateURL.do</value>
+</header>
+<header>
+<name>user-agent</name>
+<value>Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8) Gecko/20051111 Firefox/1.5</value>
+</header>
+</headers>
+</request>
+<response>
+<statusCode>200</statusCode>
+<reason></reason>
+<responseBody>
+<![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+ "http://www.w3.org/TR/html4/loose.dtd">
+<html lang="en">
+
+ <head>
+ <base href="http://localhost:8080/coreWeb/validation/validateURL/index.jsp">
+ </head>
+ <body>
+ <h3>/validation/validateURL/Controller.jpf</h3>
+
+ This test verifies that the @Jpf.ValidateURL annotation works correctly.
+ <br/>
+ <br/>
+
+ <form action="/coreWeb/validation/validateURL/validateURL.do" method="post">
+ URL: <input type="text" name="{actionForm.URL}" value="http://www.foo.com/foo" size="50">
+ <span style="color:red"></span>
+ <br/>
+ <input type="submit" name="actionOverride:validateURL" value="validateURL">
+ <br/>
+ <input type="submit" name="actionOverride:validateURLAllowAllSchemes" value="validateURLAllowAllSchemes">
+ <br/>
+ <input type="submit" name="actionOverride:validateURLAllowTwoSlashes" value="validateURLAllowTwoSlashes">
+ <br/>
+ <input type="submit" name="actionOverride:validateURLDisallowFragments" value="validateURLDisallowFragments">
+ <br/>
+ <input type="submit" name="actionOverride:validateURLAllowOnlySpecialSauceScheme" value="validateURLAllowOnlySpecialSauceScheme">
+ <br/>
+ </form>
+ </body>
+
+</html>]]>
+</responseBody>
+</response>
+</test>
+<test>
+<testNumber>4</testNumber>
+<request>
+<protocol>HTTP</protocol>
+<protocolVersion>1.1</protocolVersion>
+<host>localhost</host>
+<port>8080</port>
+<uri>/coreWeb/validation/validateURL/validateURL.do</uri>
+<method>POST</method>
+<parameters>
+<parameter>
+<name>actionOverride:validateURL</name>
+<value>validateURL</value>
+</parameter>
+<parameter>
+<name>{actionForm.URL}</name>
+<value>aaa://www.foo.com/foo</value>
+</parameter>
+</parameters>
+<cookies>
+<cookie>
+<name>JSESSIONID</name>
+<value>12914CA181385287442AC9549C8F6B53</value>
+</cookie>
+</cookies>
+<headers>
+<header>
+<name>accept</name>
+<value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</value>
+</header>
+<header>
+<name>accept-charset</name>
+<value>ISO-8859-1,utf-8;q=0.7,*;q=0.7</value>
+</header>
+<header>
+<name>accept-encoding</name>
+<value>gzip,deflate</value>
+</header>
+<header>
+<name>accept-language</name>
+<value>en-us,en;q=0.7,ja;q=0.3</value>
+</header>
+<header>
+<name>connection</name>
+<value>keep-alive</value>
+</header>
+<header>
+<name>content-length</name>
+<value>91</value>
+</header>
+<header>
+<name>content-type</name>
+<value>application/x-www-form-urlencoded</value>
+</header>
+<header>
+<name>cookie</name>
+<value>JSESSIONID=12914CA181385287442AC9549C8F6B53</value>
+</header>
+<header>
+<name>host</name>
+<value>localhost:8080</value>
+</header>
+<header>
+<name>keep-alive</name>
+<value>300</value>
+</header>
+<header>
+<name>referer</name>
+<value>http://localhost:8080/coreWeb/validation/validateURL/validateURL.do</value>
+</header>
+<header>
+<name>user-agent</name>
+<value>Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8) Gecko/20051111 Firefox/1.5</value>
+</header>
+</headers>
+</request>
+<response>
+<statusCode>200</statusCode>
+<reason></reason>
+<responseBody>
+<![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+ "http://www.w3.org/TR/html4/loose.dtd">
+<html lang="en">
+
+ <head>
+ <base href="http://localhost:8080/coreWeb/validation/validateURL/index.jsp">
+ </head>
+ <body>
+ <h3>/validation/validateURL/Controller.jpf</h3>
+
+ This test verifies that the @Jpf.ValidateURL annotation works correctly.
+ <br/>
+ <br/>
+
+ <form action="/coreWeb/validation/validateURL/validateURL.do" method="post">
+ URL: <input type="text" name="{actionForm.URL}" value="aaa://www.foo.com/foo" size="50">
+ <span style="color:red">This is not a valid URL.
+</span>
+ <br/>
+ <input type="submit" name="actionOverride:validateURL" value="validateURL">
+ <br/>
+ <input type="submit" name="actionOverride:validateURLAllowAllSchemes" value="validateURLAllowAllSchemes">
+ <br/>
+ <input type="submit" name="actionOverride:validateURLAllowTwoSlashes" value="validateURLAllowTwoSlashes">
+ <br/>
+ <input type="submit" name="actionOverride:validateURLDisallowFragments" value="validateURLDisallowFragments">
+ <br/>
+ <input type="submit" name="actionOverride:validateURLAllowOnlySpecialSauceScheme" value="validateURLAllowOnlySpecialSauceScheme">
+ <br/>
+ </form>
+ </body>
+
+</html>]]>
+</responseBody>
+</response>
+</test>
+<test>
+<testNumber>5</testNumber>
+<request>
+<protocol>HTTP</protocol>
+<protocolVersion>1.1</protocolVersion>
+<host>localhost</host>
+<port>8080</port>
+<uri>/coreWeb/validation/validateURL/validateURL.do</uri>
+<method>POST</method>
+<parameters>
+<parameter>
+<name>actionOverride:validateURLAllowAllSchemes</name>
+<value>validateURLAllowAllSchemes</value>
+</parameter>
+<parameter>
+<name>{actionForm.URL}</name>
+<value>aaa://www.foo.com/foo</value>
+</parameter>
+</parameters>
+<cookies>
+<cookie>
+<name>JSESSIONID</name>
+<value>12914CA181385287442AC9549C8F6B53</value>
+</cookie>
+</cookies>
+<headers>
+<header>
+<name>accept</name>
+<value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</value>
+</header>
+<header>
+<name>accept-charset</name>
+<value>ISO-8859-1,utf-8;q=0.7,*;q=0.7</value>
+</header>
+<header>
+<name>accept-encoding</name>
+<value>gzip,deflate</value>
+</header>
+<header>
+<name>accept-language</name>
+<value>en-us,en;q=0.7,ja;q=0.3</value>
+</header>
+<header>
+<name>connection</name>
+<value>keep-alive</value>
+</header>
+<header>
+<name>content-length</name>
+<value>121</value>
+</header>
+<header>
+<name>content-type</name>
+<value>application/x-www-form-urlencoded</value>
+</header>
+<header>
+<name>cookie</name>
+<value>JSESSIONID=12914CA181385287442AC9549C8F6B53</value>
+</header>
+<header>
+<name>host</name>
+<value>localhost:8080</value>
+</header>
+<header>
+<name>keep-alive</name>
+<value>300</value>
+</header>
+<header>
+<name>referer</name>
+<value>http://localhost:8080/coreWeb/validation/validateURL/validateURL.do</value>
+</header>
+<header>
+<name>user-agent</name>
+<value>Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8) Gecko/20051111 Firefox/1.5</value>
+</header>
+</headers>
+</request>
+<response>
+<statusCode>200</statusCode>
+<reason></reason>
+<responseBody>
+<![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+ "http://www.w3.org/TR/html4/loose.dtd">
+<html lang="en">
+
+ <head>
+ <base href="http://localhost:8080/coreWeb/validation/validateURL/index.jsp">
+ </head>
+ <body>
+ <h3>/validation/validateURL/Controller.jpf</h3>
+
+ This test verifies that the @Jpf.ValidateURL annotation works correctly.
+ <br/>
+ <br/>
+
+ <form action="/coreWeb/validation/validateURL/validateURL.do" method="post">
+ URL: <input type="text" name="{actionForm.URL}" value="aaa://www.foo.com/foo" size="50">
+ <span style="color:red"></span>
+ <br/>
+ <input type="submit" name="actionOverride:validateURL" value="validateURL">
+ <br/>
+ <input type="submit" name="actionOverride:validateURLAllowAllSchemes" value="validateURLAllowAllSchemes">
+ <br/>
+ <input type="submit" name="actionOverride:validateURLAllowTwoSlashes" value="validateURLAllowTwoSlashes">
+ <br/>
+ <input type="submit" name="actionOverride:validateURLDisallowFragments" value="validateURLDisallowFragments">
+ <br/>
+ <input type="submit" name="actionOverride:validateURLAllowOnlySpecialSauceScheme" value="validateURLAllowOnlySpecialSauceScheme">
+ <br/>
+ </form>
+ </body>
+
+</html>]]>
+</responseBody>
+</response>
+</test>
+<test>
+<testNumber>6</testNumber>
+<request>
+<protocol>HTTP</protocol>
+<protocolVersion>1.1</protocolVersion>
+<host>localhost</host>
+<port>8080</port>
+<uri>/coreWeb/validation/validateURL/validateURL.do</uri>
+<method>POST</method>
+<parameters>
+<parameter>
+<name>actionOverride:validateURL</name>
+<value>validateURL</value>
+</parameter>
+<parameter>
+<name>{actionForm.URL}</name>
+<value>http://www.foo.com//foo</value>
+</parameter>
+</parameters>
+<cookies>
+<cookie>
+<name>JSESSIONID</name>
+<value>12914CA181385287442AC9549C8F6B53</value>
+</cookie>
+</cookies>
+<headers>
+<header>
+<name>accept</name>
+<value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</value>
+</header>
+<header>
+<name>accept-charset</name>
+<value>ISO-8859-1,utf-8;q=0.7,*;q=0.7</value>
+</header>
+<header>
+<name>accept-encoding</name>
+<value>gzip,deflate</value>
+</header>
+<header>
+<name>accept-language</name>
+<value>en-us,en;q=0.7,ja;q=0.3</value>
+</header>
+<header>
+<name>connection</name>
+<value>keep-alive</value>
+</header>
+<header>
+<name>content-length</name>
+<value>95</value>
+</header>
+<header>
+<name>content-type</name>
+<value>application/x-www-form-urlencoded</value>
+</header>
+<header>
+<name>cookie</name>
+<value>JSESSIONID=12914CA181385287442AC9549C8F6B53</value>
+</header>
+<header>
+<name>host</name>
+<value>localhost:8080</value>
+</header>
+<header>
+<name>keep-alive</name>
+<value>300</value>
+</header>
+<header>
+<name>referer</name>
+<value>http://localhost:8080/coreWeb/validation/validateURL/validateURL.do</value>
+</header>
+<header>
+<name>user-agent</name>
+<value>Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8) Gecko/20051111 Firefox/1.5</value>
+</header>
+</headers>
+</request>
+<response>
+<statusCode>200</statusCode>
+<reason></reason>
+<responseBody>
+<![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+ "http://www.w3.org/TR/html4/loose.dtd">
+<html lang="en">
+
+ <head>
+ <base href="http://localhost:8080/coreWeb/validation/validateURL/index.jsp">
+ </head>
+ <body>
+ <h3>/validation/validateURL/Controller.jpf</h3>
+
+ This test verifies that the @Jpf.ValidateURL annotation works correctly.
+ <br/>
+ <br/>
+
+ <form action="/coreWeb/validation/validateURL/validateURL.do" method="post">
+ URL: <input type="text" name="{actionForm.URL}" value="http://www.foo.com//foo" size="50">
+ <span style="color:red">This is not a valid URL.
+</span>
+ <br/>
+ <input type="submit" name="actionOverride:validateURL" value="validateURL">
+ <br/>
+ <input type="submit" name="actionOverride:validateURLAllowAllSchemes" value="validateURLAllowAllSchemes">
+ <br/>
+ <input type="submit" name="actionOverride:validateURLAllowTwoSlashes" value="validateURLAllowTwoSlashes">
+ <br/>
+ <input type="submit" name="actionOverride:validateURLDisallowFragments" value="validateURLDisallowFragments">
+ <br/>
+ <input type="submit" name="actionOverride:validateURLAllowOnlySpecialSauceScheme" value="validateURLAllowOnlySpecialSauceScheme">
+ <br/>
+ </form>
+ </body>
+
+</html>]]>
+</responseBody>
+</response>
+</test>
+<test>
+<testNumber>7</testNumber>
+<request>
+<protocol>HTTP</protocol>
+<protocolVersion>1.1</protocolVersion>
+<host>localhost</host>
+<port>8080</port>
+<uri>/coreWeb/validation/validateURL/validateURL.do</uri>
+<method>POST</method>
+<parameters>
+<parameter>
+<name>actionOverride:validateURLAllowTwoSlashes</name>
+<value>validateURLAllowTwoSlashes</value>
+</parameter>
+<parameter>
+<name>{actionForm.URL}</name>
+<value>http://www.foo.com//foo</value>
+</parameter>
+</parameters>
+<cookies>
+<cookie>
+<name>JSESSIONID</name>
+<value>12914CA181385287442AC9549C8F6B53</value>
+</cookie>
+</cookies>
+<headers>
+<header>
+<name>accept</name>
+<value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</value>
+</header>
+<header>
+<name>accept-charset</name>
+<value>ISO-8859-1,utf-8;q=0.7,*;q=0.7</value>
+</header>
+<header>
+<name>accept-encoding</name>
+<value>gzip,deflate</value>
+</header>
+<header>
+<name>accept-language</name>
+<value>en-us,en;q=0.7,ja;q=0.3</value>
+</header>
+<header>
+<name>connection</name>
+<value>keep-alive</value>
+</header>
+<header>
+<name>content-length</name>
+<value>125</value>
+</header>
+<header>
+<name>content-type</name>
+<value>application/x-www-form-urlencoded</value>
+</header>
+<header>
+<name>cookie</name>
+<value>JSESSIONID=12914CA181385287442AC9549C8F6B53</value>
+</header>
+<header>
+<name>host</name>
+<value>localhost:8080</value>
+</header>
+<header>
+<name>keep-alive</name>
+<value>300</value>
+</header>
+<header>
+<name>referer</name>
+<value>http://localhost:8080/coreWeb/validation/validateURL/validateURL.do</value>
+</header>
+<header>
+<name>user-agent</name>
+<value>Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8) Gecko/20051111 Firefox/1.5</value>
+</header>
+</headers>
+</request>
+<response>
+<statusCode>200</statusCode>
+<reason></reason>
+<responseBody>
+<![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+ "http://www.w3.org/TR/html4/loose.dtd">
+<html lang="en">
+
+ <head>
+ <base href="http://localhost:8080/coreWeb/validation/validateURL/index.jsp">
+ </head>
+ <body>
+ <h3>/validation/validateURL/Controller.jpf</h3>
+
+ This test verifies that the @Jpf.ValidateURL annotation works correctly.
+ <br/>
+ <br/>
+
+ <form action="/coreWeb/validation/validateURL/validateURL.do" method="post">
+ URL: <input type="text" name="{actionForm.URL}" value="http://www.foo.com//foo" size="50">
+ <span style="color:red"></span>
+ <br/>
+ <input type="submit" name="actionOverride:validateURL" value="validateURL">
+ <br/>
+ <input type="submit" name="actionOverride:validateURLAllowAllSchemes" value="validateURLAllowAllSchemes">
+ <br/>
+ <input type="submit" name="actionOverride:validateURLAllowTwoSlashes" value="validateURLAllowTwoSlashes">
+ <br/>
+ <input type="submit" name="actionOverride:validateURLDisallowFragments" value="validateURLDisallowFragments">
+ <br/>
+ <input type="submit" name="actionOverride:validateURLAllowOnlySpecialSauceScheme" value="validateURLAllowOnlySpecialSauceScheme">
+ <br/>
+ </form>
+ </body>
+
+</html>]]>
+</responseBody>
+</response>
+</test>
+<test>
+<testNumber>8</testNumber>
+<request>
+<protocol>HTTP</protocol>
+<protocolVersion>1.1</protocolVersion>
+<host>localhost</host>
+<port>8080</port>
+<uri>/coreWeb/validation/validateURL/validateURL.do</uri>
+<method>POST</method>
+<parameters>
+<parameter>
+<name>actionOverride:validateURL</name>
+<value>validateURL</value>
+</parameter>
+<parameter>
+<name>{actionForm.URL}</name>
+<value>http://www.foo.com/foo#bar</value>
+</parameter>
+</parameters>
+<cookies>
+<cookie>
+<name>JSESSIONID</name>
+<value>12914CA181385287442AC9549C8F6B53</value>
+</cookie>
+</cookies>
+<headers>
+<header>
+<name>accept</name>
+<value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</value>
+</header>
+<header>
+<name>accept-charset</name>
+<value>ISO-8859-1,utf-8;q=0.7,*;q=0.7</value>
+</header>
+<header>
+<name>accept-encoding</name>
+<value>gzip,deflate</value>
+</header>
+<header>
+<name>accept-language</name>
+<value>en-us,en;q=0.7,ja;q=0.3</value>
+</header>
+<header>
+<name>connection</name>
+<value>keep-alive</value>
+</header>
+<header>
+<name>content-length</name>
+<value>98</value>
+</header>
+<header>
+<name>content-type</name>
+<value>application/x-www-form-urlencoded</value>
+</header>
+<header>
+<name>cookie</name>
+<value>JSESSIONID=12914CA181385287442AC9549C8F6B53</value>
+</header>
+<header>
+<name>host</name>
+<value>localhost:8080</value>
+</header>
+<header>
+<name>keep-alive</name>
+<value>300</value>
+</header>
+<header>
+<name>referer</name>
+<value>http://localhost:8080/coreWeb/validation/validateURL/validateURL.do</value>
+</header>
+<header>
+<name>user-agent</name>
+<value>Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8) Gecko/20051111 Firefox/1.5</value>
+</header>
+</headers>
+</request>
+<response>
+<statusCode>200</statusCode>
+<reason></reason>
+<responseBody>
+<![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+ "http://www.w3.org/TR/html4/loose.dtd">
+<html lang="en">
+
+ <head>
+ <base href="http://localhost:8080/coreWeb/validation/validateURL/index.jsp">
+ </head>
+ <body>
+ <h3>/validation/validateURL/Controller.jpf</h3>
+
+ This test verifies that the @Jpf.ValidateURL annotation works correctly.
+ <br/>
+ <br/>
+
+ <form action="/coreWeb/validation/validateURL/validateURL.do" method="post">
+ URL: <input type="text" name="{actionForm.URL}" value="http://www.foo.com/foo#bar" size="50">
+ <span style="color:red"></span>
+ <br/>
+ <input type="submit" name="actionOverride:validateURL" value="validateURL">
+ <br/>
+ <input type="submit" name="actionOverride:validateURLAllowAllSchemes" value="validateURLAllowAllSchemes">
+ <br/>
+ <input type="submit" name="actionOverride:validateURLAllowTwoSlashes" value="validateURLAllowTwoSlashes">
+ <br/>
+ <input type="submit" name="actionOverride:validateURLDisallowFragments" value="validateURLDisallowFragments">
+ <br/>
+ <input type="submit" name="actionOverride:validateURLAllowOnlySpecialSauceScheme" value="validateURLAllowOnlySpecialSauceScheme">
+ <br/>
+ </form>
+ </body>
+
+</html>]]>
+</responseBody>
+</response>
+</test>
+<test>
+<testNumber>9</testNumber>
+<request>
+<protocol>HTTP</protocol>
+<protocolVersion>1.1</protocolVersion>
+<host>localhost</host>
+<port>8080</port>
+<uri>/coreWeb/validation/validateURL/validateURL.do</uri>
+<method>POST</method>
+<parameters>
+<parameter>
+<name>actionOverride:validateURLDisallowFragments</name>
+<value>validateURLDisallowFragments</value>
+</parameter>
+<parameter>
+<name>{actionForm.URL}</name>
+<value>http://www.foo.com/foo#bar</value>
+</parameter>
+</parameters>
+<cookies>
+<cookie>
+<name>JSESSIONID</name>
+<value>12914CA181385287442AC9549C8F6B53</value>
+</cookie>
+</cookies>
+<headers>
+<header>
+<name>accept</name>
+<value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</value>
+</header>
+<header>
+<name>accept-charset</name>
+<value>ISO-8859-1,utf-8;q=0.7,*;q=0.7</value>
+</header>
+<header>
+<name>accept-encoding</name>
+<value>gzip,deflate</value>
+</header>
+<header>
+<name>accept-language</name>
+<value>en-us,en;q=0.7,ja;q=0.3</value>
+</header>
+<header>
+<name>connection</name>
+<value>keep-alive</value>
+</header>
+<header>
+<name>content-length</name>
+<value>132</value>
+</header>
+<header>
+<name>content-type</name>
+<value>application/x-www-form-urlencoded</value>
+</header>
+<header>
+<name>cookie</name>
+<value>JSESSIONID=12914CA181385287442AC9549C8F6B53</value>
+</header>
+<header>
+<name>host</name>
+<value>localhost:8080</value>
+</header>
+<header>
+<name>keep-alive</name>
+<value>300</value>
+</header>
+<header>
+<name>referer</name>
+<value>http://localhost:8080/coreWeb/validation/validateURL/validateURL.do</value>
+</header>
+<header>
+<name>user-agent</name>
+<value>Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8) Gecko/20051111 Firefox/1.5</value>
+</header>
+</headers>
+</request>
+<response>
+<statusCode>200</statusCode>
+<reason></reason>
+<responseBody>
+<![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+ "http://www.w3.org/TR/html4/loose.dtd">
+<html lang="en">
+
+ <head>
+ <base href="http://localhost:8080/coreWeb/validation/validateURL/index.jsp">
+ </head>
+ <body>
+ <h3>/validation/validateURL/Controller.jpf</h3>
+
+ This test verifies that the @Jpf.ValidateURL annotation works correctly.
+ <br/>
+ <br/>
+
+ <form action="/coreWeb/validation/validateURL/validateURL.do" method="post">
+ URL: <input type="text" name="{actionForm.URL}" value="http://www.foo.com/foo#bar" size="50">
+ <span style="color:red">fragments disallowed
+</span>
+ <br/>
+ <input type="submit" name="actionOverride:validateURL" value="validateURL">
+ <br/>
+ <input type="submit" name="actionOverride:validateURLAllowAllSchemes" value="validateURLAllowAllSchemes">
+ <br/>
+ <input type="submit" name="actionOverride:validateURLAllowTwoSlashes" value="validateURLAllowTwoSlashes">
+ <br/>
+ <input type="submit" name="actionOverride:validateURLDisallowFragments" value="validateURLDisallowFragments">
+ <br/>
+ <input type="submit" name="actionOverride:validateURLAllowOnlySpecialSauceScheme" value="validateURLAllowOnlySpecialSauceScheme">
+ <br/>
+ </form>
+ </body>
+
+</html>]]>
+</responseBody>
+</response>
+</test>
+<test>
+<testNumber>10</testNumber>
+<request>
+<protocol>HTTP</protocol>
+<protocolVersion>1.1</protocolVersion>
+<host>localhost</host>
+<port>8080</port>
+<uri>/coreWeb/validation/validateURL/validateURL.do</uri>
+<method>POST</method>
+<parameters>
+<parameter>
+<name>actionOverride:validateURL</name>
+<value>validateURL</value>
+</parameter>
+<parameter>
+<name>{actionForm.URL}</name>
+<value>special://www.foo.com/foo</value>
+</parameter>
+</parameters>
+<cookies>
+<cookie>
+<name>JSESSIONID</name>
+<value>12914CA181385287442AC9549C8F6B53</value>
+</cookie>
+</cookies>
+<headers>
+<header>
+<name>accept</name>
+<value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</value>
+</header>
+<header>
+<name>accept-charset</name>
+<value>ISO-8859-1,utf-8;q=0.7,*;q=0.7</value>
+</header>
+<header>
+<name>accept-encoding</name>
+<value>gzip,deflate</value>
+</header>
+<header>
+<name>accept-language</name>
+<value>en-us,en;q=0.7,ja;q=0.3</value>
+</header>
+<header>
+<name>connection</name>
+<value>keep-alive</value>
+</header>
+<header>
+<name>content-length</name>
+<value>95</value>
+</header>
+<header>
+<name>content-type</name>
+<value>application/x-www-form-urlencoded</value>
+</header>
+<header>
+<name>cookie</name>
+<value>JSESSIONID=12914CA181385287442AC9549C8F6B53</value>
+</header>
+<header>
+<name>host</name>
+<value>localhost:8080</value>
+</header>
+<header>
+<name>keep-alive</name>
+<value>300</value>
+</header>
+<header>
+<name>referer</name>
+<value>http://localhost:8080/coreWeb/validation/validateURL/validateURL.do</value>
+</header>
+<header>
+<name>user-agent</name>
+<value>Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8) Gecko/20051111 Firefox/1.5</value>
+</header>
+</headers>
+</request>
+<response>
+<statusCode>200</statusCode>
+<reason></reason>
+<responseBody>
+<![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+ "http://www.w3.org/TR/html4/loose.dtd">
+<html lang="en">
+
+ <head>
+ <base href="http://localhost:8080/coreWeb/validation/validateURL/index.jsp">
+ </head>
+ <body>
+ <h3>/validation/validateURL/Controller.jpf</h3>
+
+ This test verifies that the @Jpf.ValidateURL annotation works correctly.
+ <br/>
+ <br/>
+
+ <form action="/coreWeb/validation/validateURL/validateURL.do" method="post">
+ URL: <input type="text" name="{actionForm.URL}" value="special://www.foo.com/foo" size="50">
+ <span style="color:red">This is not a valid URL.
+</span>
+ <br/>
+ <input type="submit" name="actionOverride:validateURL" value="validateURL">
+ <br/>
+ <input type="submit" name="actionOverride:validateURLAllowAllSchemes" value="validateURLAllowAllSchemes">
+ <br/>
+ <input type="submit" name="actionOverride:validateURLAllowTwoSlashes" value="validateURLAllowTwoSlashes">
+ <br/>
+ <input type="submit" name="actionOverride:validateURLDisallowFragments" value="validateURLDisallowFragments">
+ <br/>
+ <input type="submit" name="actionOverride:validateURLAllowOnlySpecialSauceScheme" value="validateURLAllowOnlySpecialSauceScheme">
+ <br/>
+ </form>
+ </body>
+
+</html>]]>
+</responseBody>
+</response>
+</test>
+<test>
+<testNumber>11</testNumber>
+<request>
+<protocol>HTTP</protocol>
+<protocolVersion>1.1</protocolVersion>
+<host>localhost</host>
+<port>8080</port>
+<uri>/coreWeb/validation/validateURL/validateURL.do</uri>
+<method>POST</method>
+<parameters>
+<parameter>
+<name>actionOverride:validateURLAllowOnlySpecialSauceScheme</name>
+<value>validateURLAllowOnlySpecialSauceScheme</value>
+</parameter>
+<parameter>
+<name>{actionForm.URL}</name>
+<value>special://www.foo.com/foo</value>
+</parameter>
+</parameters>
+<cookies>
+<cookie>
+<name>JSESSIONID</name>
+<value>12914CA181385287442AC9549C8F6B53</value>
+</cookie>
+</cookies>
+<headers>
+<header>
+<name>accept</name>
+<value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</value>
+</header>
+<header>
+<name>accept-charset</name>
+<value>ISO-8859-1,utf-8;q=0.7,*;q=0.7</value>
+</header>
+<header>
+<name>accept-encoding</name>
+<value>gzip,deflate</value>
+</header>
+<header>
+<name>accept-language</name>
+<value>en-us,en;q=0.7,ja;q=0.3</value>
+</header>
+<header>
+<name>connection</name>
+<value>keep-alive</value>
+</header>
+<header>
+<name>content-length</name>
+<value>149</value>
+</header>
+<header>
+<name>content-type</name>
+<value>application/x-www-form-urlencoded</value>
+</header>
+<header>
+<name>cookie</name>
+<value>JSESSIONID=12914CA181385287442AC9549C8F6B53</value>
+</header>
+<header>
+<name>host</name>
+<value>localhost:8080</value>
+</header>
+<header>
+<name>keep-alive</name>
+<value>300</value>
+</header>
+<header>
+<name>referer</name>
+<value>http://localhost:8080/coreWeb/validation/validateURL/validateURL.do</value>
+</header>
+<header>
+<name>user-agent</name>
+<value>Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8) Gecko/20051111 Firefox/1.5</value>
+</header>
+</headers>
+</request>
+<response>
+<statusCode>200</statusCode>
+<reason></reason>
+<responseBody>
+<![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+ "http://www.w3.org/TR/html4/loose.dtd">
+<html lang="en">
+
+ <head>
+ <base href="http://localhost:8080/coreWeb/validation/validateURL/index.jsp">
+ </head>
+ <body>
+ <h3>/validation/validateURL/Controller.jpf</h3>
+
+ This test verifies that the @Jpf.ValidateURL annotation works correctly.
+ <br/>
+ <br/>
+
+ <form action="/coreWeb/validation/validateURL/validateURL.do" method="post">
+ URL: <input type="text" name="{actionForm.URL}" value="special://www.foo.com/foo" size="50">
+ <span style="color:red"></span>
+ <br/>
+ <input type="submit" name="actionOverride:validateURL" value="validateURL">
+ <br/>
+ <input type="submit" name="actionOverride:validateURLAllowAllSchemes" value="validateURLAllowAllSchemes">
+ <br/>
+ <input type="submit" name="actionOverride:validateURLAllowTwoSlashes" value="validateURLAllowTwoSlashes">
+ <br/>
+ <input type="submit" name="actionOverride:validateURLDisallowFragments" value="validateURLDisallowFragments">
+ <br/>
+ <input type="submit" name="actionOverride:validateURLAllowOnlySpecialSauceScheme" value="validateURLAllowOnlySpecialSauceScheme">
+ <br/>
+ </form>
+ </body>
+
+</html>]]>
+</responseBody>
+</response>
+</test>
+<test>
+<testNumber>12</testNumber>
+<request>
+<protocol>HTTP</protocol>
+<protocolVersion>1.1</protocolVersion>
+<host>localhost</host>
+<port>8080</port>
+<uri>/coreWeb/validation/validateURL/validateURL.do</uri>
+<method>POST</method>
+<parameters>
+<parameter>
+<name>actionOverride:validateURLAllowOnlySpecialSauceScheme</name>
+<value>validateURLAllowOnlySpecialSauceScheme</value>
+</parameter>
+<parameter>
+<name>{actionForm.URL}</name>
+<value>sauce://www.foo.com/foo</value>
+</parameter>
+</parameters>
+<cookies>
+<cookie>
+<name>JSESSIONID</name>
+<value>12914CA181385287442AC9549C8F6B53</value>
+</cookie>
+</cookies>
+<headers>
+<header>
+<name>accept</name>
+<value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</value>
+</header>
+<header>
+<name>accept-charset</name>
+<value>ISO-8859-1,utf-8;q=0.7,*;q=0.7</value>
+</header>
+<header>
+<name>accept-encoding</name>
+<value>gzip,deflate</value>
+</header>
+<header>
+<name>accept-language</name>
+<value>en-us,en;q=0.7,ja;q=0.3</value>
+</header>
+<header>
+<name>connection</name>
+<value>keep-alive</value>
+</header>
+<header>
+<name>content-length</name>
+<value>147</value>
+</header>
+<header>
+<name>content-type</name>
+<value>application/x-www-form-urlencoded</value>
+</header>
+<header>
+<name>cookie</name>
+<value>JSESSIONID=12914CA181385287442AC9549C8F6B53</value>
+</header>
+<header>
+<name>host</name>
+<value>localhost:8080</value>
+</header>
+<header>
+<name>keep-alive</name>
+<value>300</value>
+</header>
+<header>
+<name>referer</name>
+<value>http://localhost:8080/coreWeb/validation/validateURL/validateURL.do</value>
+</header>
+<header>
+<name>user-agent</name>
+<value>Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8) Gecko/20051111 Firefox/1.5</value>
+</header>
+</headers>
+</request>
+<response>
+<statusCode>200</statusCode>
+<reason></reason>
+<responseBody>
+<![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+ "http://www.w3.org/TR/html4/loose.dtd">
+<html lang="en">
+
+ <head>
+ <base href="http://localhost:8080/coreWeb/validation/validateURL/index.jsp">
+ </head>
+ <body>
+ <h3>/validation/validateURL/Controller.jpf</h3>
+
+ This test verifies that the @Jpf.ValidateURL annotation works correctly.
+ <br/>
+ <br/>
+
+ <form action="/coreWeb/validation/validateURL/validateURL.do" method="post">
+ URL: <input type="text" name="{actionForm.URL}" value="sauce://www.foo.com/foo" size="50">
+ <span style="color:red"></span>
+ <br/>
+ <input type="submit" name="actionOverride:validateURL" value="validateURL">
+ <br/>
+ <input type="submit" name="actionOverride:validateURLAllowAllSchemes" value="validateURLAllowAllSchemes">
+ <br/>
+ <input type="submit" name="actionOverride:validateURLAllowTwoSlashes" value="validateURLAllowTwoSlashes">
+ <br/>
+ <input type="submit" name="actionOverride:validateURLDisallowFragments" value="validateURLDisallowFragments">
+ <br/>
+ <input type="submit" name="actionOverride:validateURLAllowOnlySpecialSauceScheme" value="validateURLAllowOnlySpecialSauceScheme">
+ <br/>
+ </form>
+ </body>
+
+</html>]]>
+</responseBody>
+</response>
+</test>
+<test>
+<testNumber>13</testNumber>
+<request>
+<protocol>HTTP</protocol>
+<protocolVersion>1.1</protocolVersion>
+<host>localhost</host>
+<port>8080</port>
+<uri>/coreWeb/validation/validateURL/validateURL.do</uri>
+<method>POST</method>
+<parameters>
+<parameter>
+<name>actionOverride:validateURLAllowOnlySpecialSauceScheme</name>
+<value>validateURLAllowOnlySpecialSauceScheme</value>
+</parameter>
+<parameter>
+<name>{actionForm.URL}</name>
+<value>http://www.foo.com/foo</value>
+</parameter>
+</parameters>
+<cookies>
+<cookie>
+<name>JSESSIONID</name>
+<value>12914CA181385287442AC9549C8F6B53</value>
+</cookie>
+</cookies>
+<headers>
+<header>
+<name>accept</name>
+<value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</value>
+</header>
+<header>
+<name>accept-charset</name>
+<value>ISO-8859-1,utf-8;q=0.7,*;q=0.7</value>
+</header>
+<header>
+<name>accept-encoding</name>
+<value>gzip,deflate</value>
+</header>
+<header>
+<name>accept-language</name>
+<value>en-us,en;q=0.7,ja;q=0.3</value>
+</header>
+<header>
+<name>connection</name>
+<value>keep-alive</value>
+</header>
+<header>
+<name>content-length</name>
+<value>146</value>
+</header>
+<header>
+<name>content-type</name>
+<value>application/x-www-form-urlencoded</value>
+</header>
+<header>
+<name>cookie</name>
+<value>JSESSIONID=12914CA181385287442AC9549C8F6B53</value>
+</header>
+<header>
+<name>host</name>
+<value>localhost:8080</value>
+</header>
+<header>
+<name>keep-alive</name>
+<value>300</value>
+</header>
+<header>
+<name>referer</name>
+<value>http://localhost:8080/coreWeb/validation/validateURL/validateURL.do</value>
+</header>
+<header>
+<name>user-agent</name>
+<value>Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8) Gecko/20051111 Firefox/1.5</value>
+</header>
+</headers>
+</request>
+<response>
+<statusCode>200</statusCode>
+<reason></reason>
+<responseBody>
+<![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+ "http://www.w3.org/TR/html4/loose.dtd">
+<html lang="en">
+
+ <head>
+ <base href="http://localhost:8080/coreWeb/validation/validateURL/index.jsp">
+ </head>
+ <body>
+ <h3>/validation/validateURL/Controller.jpf</h3>
+
+ This test verifies that the @Jpf.ValidateURL annotation works correctly.
+ <br/>
+ <br/>
+
+ <form action="/coreWeb/validation/validateURL/validateURL.do" method="post">
+ URL: <input type="text" name="{actionForm.URL}" value="http://www.foo.com/foo" size="50">
+ <span style="color:red">only the schemes 'special' and 'sauce' are allowed
+</span>
+ <br/>
+ <input type="submit" name="actionOverride:validateURL" value="validateURL">
+ <br/>
+ <input type="submit" name="actionOverride:validateURLAllowAllSchemes" value="validateURLAllowAllSchemes">
+ <br/>
+ <input type="submit" name="actionOverride:validateURLAllowTwoSlashes" value="validateURLAllowTwoSlashes">
+ <br/>
+ <input type="submit" name="actionOverride:validateURLDisallowFragments" value="validateURLDisallowFragments">
+ <br/>
+ <input type="submit" name="actionOverride:validateURLAllowOnlySpecialSauceScheme" value="validateURLAllowOnlySpecialSauceScheme">
+ <br/>
+ </form>
+ </body>
+
+</html>]]>
+</responseBody>
+</response>
+</test>
+</tests>
+<endDate>08 Dec 2005, 04:35:38.696 PM MST</endDate>
+<testCount>13</testCount>
+</recorderSession>
Propchange: beehive/trunk/netui/test/webapps/drt/testRecorder/tests/ValidateURL.xml
------------------------------------------------------------------------------
svn:eol-style = native
Modified: beehive/trunk/netui/test/webapps/drt/testRecorder/tests/ValidationDefaultMessages.xml
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/ValidationDefaultMessages.xml?rev=355290&r1=355289&r2=355290&view=diff
==============================================================================
--- beehive/trunk/netui/test/webapps/drt/testRecorder/tests/ValidationDefaultMessages.xml (original)
+++ beehive/trunk/netui/test/webapps/drt/testRecorder/tests/ValidationDefaultMessages.xml Thu Dec 8 16:07:17 2005
@@ -413,7 +413,7 @@
<td>creditcard:</td>
<td>
<input type="text" name="{actionForm.creditcard}" value="x">
- This field is an invalid credit card number.
+ This field is not a valid credit card number.
</td>
</tr>
@@ -421,7 +421,7 @@
<td>email:</td>
<td>
<input type="text" name="{actionForm.email}" value="x.">
- This field is an invalid e-mail address.
+ This field is not a valid e-mail address.
</td>
</tr>
@@ -443,4 +443,4 @@
<ses:testCount>2</ses:testCount>
<ses:passedCount>0</ses:passedCount>
<ses:failedCount>2</ses:failedCount>
-</ses:recorderSession>
\ No newline at end of file
+</ses:recorderSession>
Added: beehive/trunk/netui/test/webapps/drt/web/validation/validateURL/Controller.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/test/webapps/drt/web/validation/validateURL/Controller.java?rev=355290&view=auto
==============================================================================
--- beehive/trunk/netui/test/webapps/drt/web/validation/validateURL/Controller.java (added)
+++ beehive/trunk/netui/test/webapps/drt/web/validation/validateURL/Controller.java Thu Dec 8 16:07:17 2005
@@ -0,0 +1,137 @@
+/*
+ * 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 validation.validateURL;
+
+import org.apache.beehive.netui.pageflow.PageFlowController;
+import org.apache.beehive.netui.pageflow.Forward;
+import org.apache.beehive.netui.pageflow.annotations.Jpf;
+
+@Jpf.Controller(
+ simpleActions={
+ @Jpf.SimpleAction(name="begin", path="index.jsp")
+ }
+)
+public class Controller extends PageFlowController
+{
+ @Jpf.Action(
+ forwards={
+ @Jpf.Forward(name="index", path="index.jsp")
+ },
+ validatableProperties={
+ @Jpf.ValidatableProperty(
+ propertyName="URL",
+ displayName="This",
+ validateURL=@Jpf.ValidateURL()
+ )
+ },
+ validationErrorForward=@Jpf.Forward(name="failure", path="index.jsp")
+ )
+ public Forward validateURL(MyForm form)
+ {
+ return new Forward("index");
+ }
+
+ @Jpf.Action(
+ forwards={
+ @Jpf.Forward(name="index", path="index.jsp")
+ },
+ validatableProperties={
+ @Jpf.ValidatableProperty(
+ propertyName="URL",
+ displayName="This",
+ validateURL=@Jpf.ValidateURL(allowAllSchemes=true)
+ )
+ },
+ validationErrorForward=@Jpf.Forward(name="failure", path="index.jsp")
+ )
+ public Forward validateURLAllowAllSchemes(MyForm form)
+ {
+ return new Forward("index");
+ }
+
+ @Jpf.Action(
+ forwards={
+ @Jpf.Forward(name="index", path="index.jsp")
+ },
+ validatableProperties={
+ @Jpf.ValidatableProperty(
+ propertyName="URL",
+ displayName="This",
+ validateURL=@Jpf.ValidateURL(allowTwoSlashes=true)
+ )
+ },
+ validationErrorForward=@Jpf.Forward(name="failure", path="index.jsp")
+ )
+ public Forward validateURLAllowTwoSlashes(MyForm form)
+ {
+ return new Forward("index");
+ }
+
+ @Jpf.Action(
+ forwards={
+ @Jpf.Forward(name="index", path="index.jsp")
+ },
+ validatableProperties={
+ @Jpf.ValidatableProperty(
+ propertyName="URL",
+ validateURL=@Jpf.ValidateURL(disallowFragments=true, message="fragments disallowed")
+ )
+ },
+ validationErrorForward=@Jpf.Forward(name="failure", path="index.jsp")
+ )
+ public Forward validateURLDisallowFragments(MyForm form)
+ {
+ return new Forward("index");
+ }
+
+
+ @Jpf.Action(
+ forwards={
+ @Jpf.Forward(name="index", path="index.jsp")
+ },
+ validatableProperties={
+ @Jpf.ValidatableProperty(
+ propertyName="URL",
+ validateURL=@Jpf.ValidateURL(
+ schemes={ "special", "sauce" },
+ message="only the schemes 'special' and 'sauce' are allowed"
+ )
+ )
+ },
+ validationErrorForward=@Jpf.Forward(name="failure", path="index.jsp")
+ )
+ public Forward validateURLAllowOnlySpecialSauceScheme(MyForm form)
+ {
+ return new Forward("index");
+ }
+
+ public static class MyForm implements java.io.Serializable
+ {
+ private String _url;
+
+ public String getURL()
+ {
+ return _url;
+ }
+
+ public void setURL(String url)
+ {
+ _url = url;
+ }
+ }
+}
Propchange: beehive/trunk/netui/test/webapps/drt/web/validation/validateURL/Controller.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: beehive/trunk/netui/test/webapps/drt/web/validation/validateURL/index.jsp
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/test/webapps/drt/web/validation/validateURL/index.jsp?rev=355290&view=auto
==============================================================================
--- beehive/trunk/netui/test/webapps/drt/web/validation/validateURL/index.jsp (added)
+++ beehive/trunk/netui/test/webapps/drt/web/validation/validateURL/index.jsp Thu Dec 8 16:07:17 2005
@@ -0,0 +1,37 @@
+<%@ page language="java" contentType="text/html;charset=UTF-8"%>
+<%@ taglib prefix="netui" uri="http://beehive.apache.org/netui/tags-html-1.0"%>
+<%@ taglib prefix="netui-data" uri="http://beehive.apache.org/netui/tags-databinding-1.0"%>
+<%@ taglib prefix="netui-template" uri="http://beehive.apache.org/netui/tags-template-1.0"%>
+
+
+<netui:html>
+ <head>
+ <netui:base/>
+ </head>
+ <netui:body>
+ <h3>${pageFlow.URI}</h3>
+
+ This test verifies that the @Jpf.ValidateURL annotation works correctly.
+ <br/>
+ <br/>
+
+ <netui:form action="validateURL">
+ URL: <netui:textBox size="50" dataSource="actionForm.URL"/>
+ <span style="color:red"><netui:error key="URL"/></span>
+ <br/>
+ <netui:button action="validateURL" value="validateURL"/>
+ <br/>
+ <netui:button action="validateURLAllowAllSchemes" value="validateURLAllowAllSchemes"/>
+ <br/>
+ <netui:button action="validateURLAllowTwoSlashes" value="validateURLAllowTwoSlashes"/>
+ <br/>
+ <netui:button action="validateURLDisallowFragments" value="validateURLDisallowFragments"/>
+ <br/>
+ <netui:button action="validateURLAllowOnlySpecialSauceScheme" value="validateURLAllowOnlySpecialSauceScheme"/>
+ <br/>
+ </netui:form>
+ </netui:body>
+</netui:html>
+
+
+
Propchange: beehive/trunk/netui/test/webapps/drt/web/validation/validateURL/index.jsp
------------------------------------------------------------------------------
svn:eol-style = native