You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@struts.apache.org by mr...@apache.org on 2005/11/26 02:28:44 UTC

svn commit: r349059 [1/2] - in /struts/bsf/trunk: ./ src/java/org/apache/struts/bsf/ src/struts-example/ src/struts-example/WEB-INF/ src/struts-example/WEB-INF/lib/ src/struts-example/WEB-INF/scripts/

Author: mrdon
Date: Fri Nov 25 17:28:40 2005
New Revision: 349059

URL: http://svn.apache.org/viewcvs?rev=349059&view=rev
Log:
Fixed a couple of example bugs, updated files to Struts 1.2.8, added
better locale support and now handle loading scripts better

Added:
    struts/bsf/trunk/src/struts-example/WEB-INF/validator-rules.xml
Modified:
    struts/bsf/trunk/build.xml
    struts/bsf/trunk/project.xml
    struts/bsf/trunk/src/java/org/apache/struts/bsf/ScriptAction.java
    struts/bsf/trunk/src/struts-example/WEB-INF/lib/struts-mailreader.jar
    struts/bsf/trunk/src/struts-example/WEB-INF/scripts/Locale.bsh
    struts/bsf/trunk/src/struts-example/WEB-INF/scripts/Logon.bsh
    struts/bsf/trunk/src/struts-example/tour.html

Modified: struts/bsf/trunk/build.xml
URL: http://svn.apache.org/viewcvs/struts/bsf/trunk/build.xml?rev=349059&r1=349058&r2=349059&view=diff
==============================================================================
--- struts/bsf/trunk/build.xml (original)
+++ struts/bsf/trunk/build.xml Fri Nov 25 17:28:40 2005
@@ -77,9 +77,9 @@
               src="http://www.ibiblio.org/maven/servletapi/jars/servletapi-2.3.jar"/> 
 
         <mkdir dir="${lib.core}" />
-        <get dest="${lib.core}/struts-1.2.7.jar" usetimestamp="true" 
+        <get dest="${lib.core}/struts-1.2.8.jar" usetimestamp="true" 
               ignoreerrors="true" 
-              src="http://www.ibiblio.org/maven/struts/jars/struts-1.2.7.jar"/> 
+              src="http://www.ibiblio.org/maven/struts/jars/struts-1.2.8.jar"/> 
 
         <get dest="${lib.core}/bsf-2.3.0.jar" usetimestamp="true" 
               ignoreerrors="true" 

Modified: struts/bsf/trunk/project.xml
URL: http://svn.apache.org/viewcvs/struts/bsf/trunk/project.xml?rev=349059&r1=349058&r2=349059&view=diff
==============================================================================
--- struts/bsf/trunk/project.xml (original)
+++ struts/bsf/trunk/project.xml Fri Nov 25 17:28:40 2005
@@ -113,7 +113,7 @@
     <dependency>
       <groupId>struts</groupId>
       <artifactId>struts</artifactId>
-      <version>1.2.7</version>
+      <version>1.2.8</version>
       <url>http://struts.apache.org/</url>
       <properties>
         <war.bundle>true</war.bundle>

Modified: struts/bsf/trunk/src/java/org/apache/struts/bsf/ScriptAction.java
URL: http://svn.apache.org/viewcvs/struts/bsf/trunk/src/java/org/apache/struts/bsf/ScriptAction.java?rev=349059&r1=349058&r2=349059&view=diff
==============================================================================
--- struts/bsf/trunk/src/java/org/apache/struts/bsf/ScriptAction.java (original)
+++ struts/bsf/trunk/src/java/org/apache/struts/bsf/ScriptAction.java Fri Nov 25 17:28:40 2005
@@ -270,10 +270,18 @@
             synchronized (this) {
                 if (reloadScript || script.string == null) {
                     script.timeLastLoaded = System.currentTimeMillis();
+                    FileReader reader = null;
                     try {
-                        script.string = IOUtils.getStringFromReader(new FileReader(script.file));
+                        reader = new FileReader(script.file);
+                        script.string = IOUtils.getStringFromReader(reader);
                     } catch (IOException ex) {
                         log.error("Unable to load script", ex);
+                    } finally {
+                        if (reader != null) {
+                            try {
+                                reader.close(); 
+                            } catch (IOException ex) {}
+                        }
                     }
                 }
             }
@@ -378,6 +386,16 @@
      */
     public void resetToken(HttpServletRequest req) {
         super.resetToken(req);
+    }
+    
+    
+    /**
+     *  Gets the locale
+     *
+     *@param  req  The request object
+     */
+    public Locale getLocale(HttpServletRequest req) {
+        return super.getLocale(req);
     }
 
 

Modified: struts/bsf/trunk/src/struts-example/WEB-INF/lib/struts-mailreader.jar
URL: http://svn.apache.org/viewcvs/struts/bsf/trunk/src/struts-example/WEB-INF/lib/struts-mailreader.jar?rev=349059&r1=349058&r2=349059&view=diff
==============================================================================
Binary files - no diff available.

Modified: struts/bsf/trunk/src/struts-example/WEB-INF/scripts/Locale.bsh
URL: http://svn.apache.org/viewcvs/struts/bsf/trunk/src/struts-example/WEB-INF/scripts/Locale.bsh?rev=349059&r1=349058&r2=349059&view=diff
==============================================================================
--- struts/bsf/trunk/src/struts-example/WEB-INF/scripts/Locale.bsh (original)
+++ struts/bsf/trunk/src/struts-example/WEB-INF/scripts/Locale.bsh Fri Nov 25 17:28:40 2005
@@ -1,4 +1,6 @@
 import java.util.Locale;
+import org.apache.struts.Globals;
+import org.apache.struts.ActionForward;
 
 isBlank(str) {
     return ((str == null) || (str.trim().length()==0));
@@ -25,9 +27,5 @@
 }
 
 target = request.getParameter("forward");
-if (isBlank(target)) target = mapping.getParameter();
-if (isBlank(target)) {
-    log.warn("LocaleAction: Missing page or forward parameter");
-    return null;
-}
+if (isBlank(target)) target = "welcome";
 struts.forwardName = target;

Modified: struts/bsf/trunk/src/struts-example/WEB-INF/scripts/Logon.bsh
URL: http://svn.apache.org/viewcvs/struts/bsf/trunk/src/struts-example/WEB-INF/scripts/Logon.bsh?rev=349059&r1=349058&r2=349059&view=diff
==============================================================================
--- struts/bsf/trunk/src/struts-example/WEB-INF/scripts/Logon.bsh (original)
+++ struts/bsf/trunk/src/struts-example/WEB-INF/scripts/Logon.bsh Fri Nov 25 17:28:40 2005
@@ -1,5 +1,7 @@
 import org.apache.struts.action.ActionError;
 import org.apache.struts.action.ActionErrors;
+import org.apache.struts.action.ActionMessage;
+import org.apache.struts.action.ActionMessages;
 import org.apache.struts.util.ModuleException;
 import org.apache.commons.beanutils.PropertyUtils;
 import org.apache.struts.webapp.example.*;

Added: struts/bsf/trunk/src/struts-example/WEB-INF/validator-rules.xml
URL: http://svn.apache.org/viewcvs/struts/bsf/trunk/src/struts-example/WEB-INF/validator-rules.xml?rev=349059&view=auto
==============================================================================
--- struts/bsf/trunk/src/struts-example/WEB-INF/validator-rules.xml (added)
+++ struts/bsf/trunk/src/struts-example/WEB-INF/validator-rules.xml Fri Nov 25 17:28:40 2005
@@ -0,0 +1,313 @@
+<!DOCTYPE form-validation PUBLIC
+          "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1.3//EN"
+          "http://jakarta.apache.org/commons/dtds/validator_1_1_3.dtd">
+<!--
+  $Id: validator-rules.xml 159291 2005-03-28 20:19:29Z niallp $
+
+   This file contains the default Struts Validator pluggable validator
+   definitions.  It should be placed somewhere under /WEB-INF and
+   referenced in the struts-config.xml under the plug-in element
+   for the ValidatorPlugIn.
+
+      <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
+        <set-property property="pathnames" value="/WEB-INF/validator-rules.xml,
+                                                  /WEB-INF/validation.xml"/>
+      </plug-in>
+
+   These are the default error messages associated with
+   each validator defined in this file.  They should be
+   added to your projects ApplicationResources.properties
+   file or you can associate new ones by modifying the
+   pluggable validators msg attributes in this file.
+
+   # Struts Validator Error Messages
+   errors.required={0} is required.
+   errors.minlength={0} can not be less than {1} characters.
+   errors.maxlength={0} can not be greater than {1} characters.
+   errors.invalid={0} is invalid.
+
+   errors.byte={0} must be a byte.
+   errors.short={0} must be a short.
+   errors.integer={0} must be an integer.
+   errors.long={0} must be a long.
+   errors.float={0} must be a float.
+   errors.double={0} must be a double.
+
+   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.
+
+   Note: Starting in Struts 1.2.0 the default javascript definitions have
+         been consolidated to commons-validator. The default can be overridden
+         by supplying a <javascript> element with a CDATA section, just as
+         in struts 1.1.
+
+-->
+
+<form-validation>
+
+   <global>
+
+      <validator name="required"
+            classname="org.apache.struts.validator.FieldChecks"
+               method="validateRequired"
+         methodParams="java.lang.Object,
+                       org.apache.commons.validator.ValidatorAction,
+                       org.apache.commons.validator.Field,
+                       org.apache.struts.action.ActionMessages,
+                       org.apache.commons.validator.Validator,
+                       javax.servlet.http.HttpServletRequest"
+                  msg="errors.required"/>
+
+      <validator name="requiredif"
+                 classname="org.apache.struts.validator.FieldChecks"
+                 method="validateRequiredIf"
+                 methodParams="java.lang.Object,
+                               org.apache.commons.validator.ValidatorAction,
+                               org.apache.commons.validator.Field,
+                               org.apache.struts.action.ActionMessages,
+                               org.apache.commons.validator.Validator,
+                               javax.servlet.http.HttpServletRequest"
+                 msg="errors.required"/>
+
+      <validator name="validwhen"
+          msg="errors.required"
+                 classname="org.apache.struts.validator.validwhen.ValidWhen"
+                 method="validateValidWhen"
+                 methodParams="java.lang.Object,
+                       org.apache.commons.validator.ValidatorAction,
+                       org.apache.commons.validator.Field,
+                       org.apache.struts.action.ActionMessages,
+                       org.apache.commons.validator.Validator,
+                       javax.servlet.http.HttpServletRequest"/>
+
+
+      <validator name="minlength"
+            classname="org.apache.struts.validator.FieldChecks"
+               method="validateMinLength"
+         methodParams="java.lang.Object,
+                       org.apache.commons.validator.ValidatorAction,
+                       org.apache.commons.validator.Field,
+                       org.apache.struts.action.ActionMessages,
+                       org.apache.commons.validator.Validator,
+                       javax.servlet.http.HttpServletRequest"
+              depends=""
+                  msg="errors.minlength"
+           jsFunction="org.apache.commons.validator.javascript.validateMinLength"/>
+
+
+      <validator name="maxlength"
+            classname="org.apache.struts.validator.FieldChecks"
+               method="validateMaxLength"
+         methodParams="java.lang.Object,
+                       org.apache.commons.validator.ValidatorAction,
+                       org.apache.commons.validator.Field,
+                       org.apache.struts.action.ActionMessages,
+                       org.apache.commons.validator.Validator,
+                       javax.servlet.http.HttpServletRequest"
+              depends=""
+                  msg="errors.maxlength"
+           jsFunction="org.apache.commons.validator.javascript.validateMaxLength"/>
+
+
+
+      <validator name="mask"
+            classname="org.apache.struts.validator.FieldChecks"
+               method="validateMask"
+         methodParams="java.lang.Object,
+                       org.apache.commons.validator.ValidatorAction,
+                       org.apache.commons.validator.Field,
+                       org.apache.struts.action.ActionMessages,
+                       org.apache.commons.validator.Validator,
+                       javax.servlet.http.HttpServletRequest"
+              depends=""
+                  msg="errors.invalid"/>
+
+
+      <validator name="byte"
+            classname="org.apache.struts.validator.FieldChecks"
+               method="validateByte"
+         methodParams="java.lang.Object,
+                       org.apache.commons.validator.ValidatorAction,
+                       org.apache.commons.validator.Field,
+                       org.apache.struts.action.ActionMessages,
+                       org.apache.commons.validator.Validator,
+                       javax.servlet.http.HttpServletRequest"
+              depends=""
+                  msg="errors.byte"
+       jsFunctionName="ByteValidations"/>
+
+
+      <validator name="short"
+            classname="org.apache.struts.validator.FieldChecks"
+               method="validateShort"
+         methodParams="java.lang.Object,
+                       org.apache.commons.validator.ValidatorAction,
+                       org.apache.commons.validator.Field,
+                       org.apache.struts.action.ActionMessages,
+                       org.apache.commons.validator.Validator,
+                       javax.servlet.http.HttpServletRequest"
+              depends=""
+                  msg="errors.short"
+       jsFunctionName="ShortValidations"/>
+
+
+      <validator name="integer"
+            classname="org.apache.struts.validator.FieldChecks"
+               method="validateInteger"
+         methodParams="java.lang.Object,
+                       org.apache.commons.validator.ValidatorAction,
+                       org.apache.commons.validator.Field,
+                       org.apache.struts.action.ActionMessages,
+                       org.apache.commons.validator.Validator,
+                       javax.servlet.http.HttpServletRequest"
+              depends=""
+                  msg="errors.integer"
+       jsFunctionName="IntegerValidations"/>
+
+
+
+      <validator name="long"
+            classname="org.apache.struts.validator.FieldChecks"
+               method="validateLong"
+         methodParams="java.lang.Object,
+                       org.apache.commons.validator.ValidatorAction,
+                       org.apache.commons.validator.Field,
+                       org.apache.struts.action.ActionMessages,
+                       org.apache.commons.validator.Validator,
+                       javax.servlet.http.HttpServletRequest"
+              depends=""
+                  msg="errors.long"/>
+
+
+      <validator name="float"
+            classname="org.apache.struts.validator.FieldChecks"
+               method="validateFloat"
+         methodParams="java.lang.Object,
+                       org.apache.commons.validator.ValidatorAction,
+                       org.apache.commons.validator.Field,
+                       org.apache.struts.action.ActionMessages,
+                       org.apache.commons.validator.Validator,
+                       javax.servlet.http.HttpServletRequest"
+              depends=""
+                  msg="errors.float"
+       jsFunctionName="FloatValidations"/>
+
+      <validator name="double"
+            classname="org.apache.struts.validator.FieldChecks"
+               method="validateDouble"
+         methodParams="java.lang.Object,
+                       org.apache.commons.validator.ValidatorAction,
+                       org.apache.commons.validator.Field,
+                       org.apache.struts.action.ActionMessages,
+                       org.apache.commons.validator.Validator,
+                       javax.servlet.http.HttpServletRequest"
+              depends=""
+                  msg="errors.double"/>
+
+
+      <validator name="date"
+            classname="org.apache.struts.validator.FieldChecks"
+               method="validateDate"
+         methodParams="java.lang.Object,
+                       org.apache.commons.validator.ValidatorAction,
+                       org.apache.commons.validator.Field,
+                       org.apache.struts.action.ActionMessages,
+                       org.apache.commons.validator.Validator,
+                       javax.servlet.http.HttpServletRequest"
+              depends=""
+                  msg="errors.date"
+       jsFunctionName="DateValidations"/>
+
+
+      <validator name="intRange"
+            classname="org.apache.struts.validator.FieldChecks"
+               method="validateIntRange"
+         methodParams="java.lang.Object,
+                       org.apache.commons.validator.ValidatorAction,
+                       org.apache.commons.validator.Field,
+                       org.apache.struts.action.ActionMessages,
+                       org.apache.commons.validator.Validator,
+                       javax.servlet.http.HttpServletRequest"
+              depends="integer"
+                  msg="errors.range"/>
+
+
+      <validator name="floatRange"
+            classname="org.apache.struts.validator.FieldChecks"
+               method="validateFloatRange"
+         methodParams="java.lang.Object,
+                       org.apache.commons.validator.ValidatorAction,
+                       org.apache.commons.validator.Field,
+                       org.apache.struts.action.ActionMessages,
+                       org.apache.commons.validator.Validator,
+                       javax.servlet.http.HttpServletRequest"
+              depends="float"
+                  msg="errors.range"/>
+
+      <validator name="doubleRange"
+            classname="org.apache.struts.validator.FieldChecks"
+               method="validateDoubleRange"
+         methodParams="java.lang.Object,
+                       org.apache.commons.validator.ValidatorAction,
+                       org.apache.commons.validator.Field,
+                       org.apache.struts.action.ActionMessages,
+                       org.apache.commons.validator.Validator,
+                       javax.servlet.http.HttpServletRequest"
+              depends="double"
+                  msg="errors.range"/>
+
+
+      <validator name="creditCard"
+            classname="org.apache.struts.validator.FieldChecks"
+               method="validateCreditCard"
+         methodParams="java.lang.Object,
+                       org.apache.commons.validator.ValidatorAction,
+                       org.apache.commons.validator.Field,
+                       org.apache.struts.action.ActionMessages,
+                       org.apache.commons.validator.Validator,
+                       javax.servlet.http.HttpServletRequest"
+              depends=""
+                  msg="errors.creditcard"/>
+
+
+      <validator name="email"
+            classname="org.apache.struts.validator.FieldChecks"
+               method="validateEmail"
+         methodParams="java.lang.Object,
+                       org.apache.commons.validator.ValidatorAction,
+                       org.apache.commons.validator.Field,
+                       org.apache.struts.action.ActionMessages,
+                       org.apache.commons.validator.Validator,
+                       javax.servlet.http.HttpServletRequest"
+              depends=""
+                  msg="errors.email"/>
+
+      <validator name="url"
+            classname="org.apache.struts.validator.FieldChecks"
+               method="validateUrl"
+         methodParams="java.lang.Object,
+                       org.apache.commons.validator.ValidatorAction,
+                       org.apache.commons.validator.Field,
+                       org.apache.struts.action.ActionMessages,
+                       org.apache.commons.validator.Validator,
+                       javax.servlet.http.HttpServletRequest"
+              depends=""
+                  msg="errors.url"/>
+
+     <!--
+       This simply allows struts to include the validateUtilities into a page, it should
+       not be used as a validation rule.
+     -->
+     <validator name="includeJavaScriptUtilities"
+            classname=""
+               method=""
+         methodParams=""
+              depends=""
+                  msg=""
+           jsFunction="org.apache.commons.validator.javascript.validateUtilities"/>
+
+   </global>
+
+</form-validation>



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org