You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@turbine.apache.org by se...@apache.org on 2007/05/15 17:56:10 UTC

svn commit: r538232 - in /jakarta/turbine/core/branches/TURBINE_2_3_BRANCH: conf/test/intake.xml src/java/org/apache/turbine/services/intake/model/Field.java src/test/org/apache/turbine/services/intake/IntakeServiceTest.java xdocs/changes.xml

Author: seade
Date: Tue May 15 08:56:10 2007
New Revision: 538232

URL: http://svn.apache.org/viewvc?view=rev&rev=538232
Log:
isSet() was returning true for Intake Fields even when no value was provided.  Fixed and test case added.

Modified:
    jakarta/turbine/core/branches/TURBINE_2_3_BRANCH/conf/test/intake.xml
    jakarta/turbine/core/branches/TURBINE_2_3_BRANCH/src/java/org/apache/turbine/services/intake/model/Field.java
    jakarta/turbine/core/branches/TURBINE_2_3_BRANCH/src/test/org/apache/turbine/services/intake/IntakeServiceTest.java
    jakarta/turbine/core/branches/TURBINE_2_3_BRANCH/xdocs/changes.xml

Modified: jakarta/turbine/core/branches/TURBINE_2_3_BRANCH/conf/test/intake.xml
URL: http://svn.apache.org/viewvc/jakarta/turbine/core/branches/TURBINE_2_3_BRANCH/conf/test/intake.xml?view=diff&rev=538232&r1=538231&r2=538232
==============================================================================
--- jakarta/turbine/core/branches/TURBINE_2_3_BRANCH/conf/test/intake.xml (original)
+++ jakarta/turbine/core/branches/TURBINE_2_3_BRANCH/conf/test/intake.xml Tue May 15 08:56:10 2007
@@ -1,56 +1,74 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements.  See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership.  The ASF licenses this file
- to you 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.
--->
-<!DOCTYPE input-data SYSTEM
-           "http://jakarta.apache.org/turbine/dtd/intake_2_3_3.dtd">
-<input-data>
-    <group name="BooleanTest" key="bt">
-        <field name="EmptyBooleanTestField" key="ebtf" type="boolean" />
-        <field name="BooleanTestField" key="btf" type="boolean">
-			<rule value="false" name="required">ValidValue</rule>
-		</field>
-        <field name="RequiredBooleanTestField" key="rbtf" type="boolean">
-			<rule value="true" name="required">ValidValue</rule>
-		</field>
-	</group>
-    <group name="DateRangeTest" key="rt">
-        <field name="DateMin" key="dmin" type="DateString">
-            <rule value="MM/dd/yyyy" name="format">Invalid format</rule>
-        </field>
-        <field name="DateMax" key="dmax" type="DateString"
-            validator="DateRangeValidator">
-            <rule value="MM/dd/yyyy" name="format">Invalid format</rule>
-            <rule value="DateMin" name="greater-than">Value must be greater than DateMin</rule>
-        </field>
-        <field name="DateMax2" key="dmax2" type="DateString"
-            validator="DateRangeValidator">
-            <rule value="MM/dd/yyyy" name="format">Invalid format</rule>
-            <rule value="DateMin" name="less-than">Value must be less than DateMin</rule>
-        </field>
-    </group>
-    <group name="IntRangeTest" key="irt">
-        <field name="IntMin" key="imin" type="int" />
-        <field name="IntMax" key="imax" type="int" validator="IntegerRangeValidator">
-            <rule value="IntMin" name="greater-than-or-equal">Value must be greater than or equal to IntMin</rule>
-        </field>
-        <field name="IntMax2" key="imax2" type="int" validator="IntegerRangeValidator">
-            <rule value="IntMin" name="less-than-or-equal">Value must be less than or equal to IntMin</rule>
-        </field>
-    </group>
-</input-data>
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you 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.
+-->
+<!DOCTYPE input-data SYSTEM
+           "http://jakarta.apache.org/turbine/dtd/intake_2_3_3.dtd">
+<input-data>
+    <group name="BooleanTest" key="bt">
+        <field name="EmptyBooleanTestField" key="ebtf" type="boolean" />
+        <field name="BooleanTestField" key="btf" type="boolean">
+			<rule value="false" name="required">ValidValue</rule>
+		</field>
+        <field name="RequiredBooleanTestField" key="rbtf" type="boolean">
+			<rule value="true" name="required">ValidValue</rule>
+		</field>
+	</group>
+    <group name="DateRangeTest" key="rt">
+        <field name="DateMin" key="dmin" type="DateString">
+            <rule value="MM/dd/yyyy" name="format">Invalid format</rule>
+        </field>
+        <field name="DateMax" key="dmax" type="DateString"
+            validator="DateRangeValidator">
+            <rule value="MM/dd/yyyy" name="format">Invalid format</rule>
+            <rule value="DateMin" name="greater-than">Value must be greater than DateMin</rule>
+        </field>
+        <field name="DateMax2" key="dmax2" type="DateString"
+            validator="DateRangeValidator">
+            <rule value="MM/dd/yyyy" name="format">Invalid format</rule>
+            <rule value="DateMin" name="less-than">Value must be less than DateMin</rule>
+        </field>
+    </group>
+    <group name="IntRangeTest" key="irt">
+        <field name="IntMin" key="imin" type="int" />
+        <field name="IntMax" key="imax" type="int" validator="IntegerRangeValidator">
+            <rule value="IntMin" name="greater-than-or-equal">Value must be greater than or equal to IntMin</rule>
+        </field>
+        <field name="IntMax2" key="imax2" type="int" validator="IntegerRangeValidator">
+            <rule value="IntMin" name="less-than-or-equal">Value must be less than or equal to IntMin</rule>
+        </field>
+    </group>
+    <group name="RequiredFalseTest" key="rft">
+        <field name="StringRF" key="stringrf" type="String">
+            <rule name="required" value="false">Please enter a value.</rule>
+            <rule name="minLength" value="3">Please enter 3 characters only.</rule>
+            <rule name="maxLength" value="3">Please enter 3 characters only.</rule>
+        </field>
+        <field name="IntRF" key="intrf" type="int">
+            <rule name="required" value="false">Please enter the a value.</rule>
+            <rule name="minValue" value="1">The value for this field must be between 1 and 250 inclusive.</rule>
+            <rule name="maxValue" value="250">The value for this field must be between 1 and 250 inclusive.</rule>
+            <rule name="invalidNumber" value="true">The value entered must be a number.</rule>
+        </field>
+        <field name="DateRF" key="daterf" type="DateString">
+            <rule name="required" value="false">Please enter a value.</rule>
+            <rule name="format" value="d/MM/yyyy">Please enter a sensible date ("dd/mm/yyyy").</rule>
+            <rule name="format1" value="d/MM/yy">Please enter a sensible date ("dd/mm/yyyy").</rule>
+        </field>
+    </group>
+</input-data>

Modified: jakarta/turbine/core/branches/TURBINE_2_3_BRANCH/src/java/org/apache/turbine/services/intake/model/Field.java
URL: http://svn.apache.org/viewvc/jakarta/turbine/core/branches/TURBINE_2_3_BRANCH/src/java/org/apache/turbine/services/intake/model/Field.java?view=diff&rev=538232&r1=538231&r2=538232
==============================================================================
--- jakarta/turbine/core/branches/TURBINE_2_3_BRANCH/src/java/org/apache/turbine/services/intake/model/Field.java (original)
+++ jakarta/turbine/core/branches/TURBINE_2_3_BRANCH/src/java/org/apache/turbine/services/intake/model/Field.java Tue May 15 08:56:10 2007
@@ -351,7 +351,7 @@
             {
                 log.debug(name + ": Found our Key in the request, setting Value");
             }
-            if (pp.getString(getKey()) != null)
+            if (StringUtils.isNotEmpty(pp.getString(getKey())))
             {
                 setFlag = true;
             }

Modified: jakarta/turbine/core/branches/TURBINE_2_3_BRANCH/src/test/org/apache/turbine/services/intake/IntakeServiceTest.java
URL: http://svn.apache.org/viewvc/jakarta/turbine/core/branches/TURBINE_2_3_BRANCH/src/test/org/apache/turbine/services/intake/IntakeServiceTest.java?view=diff&rev=538232&r1=538231&r2=538232
==============================================================================
--- jakarta/turbine/core/branches/TURBINE_2_3_BRANCH/src/test/org/apache/turbine/services/intake/IntakeServiceTest.java (original)
+++ jakarta/turbine/core/branches/TURBINE_2_3_BRANCH/src/test/org/apache/turbine/services/intake/IntakeServiceTest.java Tue May 15 08:56:10 2007
@@ -39,6 +39,7 @@
     Group booleanTestGroup = null;
     Group rangeTestGroup = null;
     Group integerRangeTestGroup = null;
+    Group requiredFalseTestGroup = null;
 
     public IntakeServiceTest(String name) throws Exception
     {
@@ -49,6 +50,7 @@
         booleanTestGroup = intakeService.getGroup("BooleanTest");
         rangeTestGroup = intakeService.getGroup("DateRangeTest");
         integerRangeTestGroup = intakeService.getGroup("IntRangeTest");
+        requiredFalseTestGroup = intakeService.getGroup("RequiredFalseTest");
     }
 
 
@@ -105,6 +107,26 @@
         assertFalse("The integer range should not be valid", imax2.isValid());
     }
 
+    public void testRequiredFalse() throws IntakeException
+    {
+        ParameterParser pp = new DefaultParameterParser();
+        pp.add("rft_0stringrf", "");
+        pp.add("rft_0intrf", "");
+        pp.add("rft_0daterf", "");
+        requiredFalseTestGroup.init(Group.NEW, pp);
+        
+        Field stringRF = requiredFalseTestGroup.get("StringRF");
+        Field intRF = requiredFalseTestGroup.get("IntRF");
+        Field dateRF = requiredFalseTestGroup.get("DateRF");
+        
+        assertFalse("StringRF should not be set", stringRF.isSet());
+        assertTrue("StringRF should be valid", stringRF.isValid());
+        assertFalse("IntRF should not be set", intRF.isSet());
+        assertTrue("IntRF should be valid", intRF.isValid());
+        assertFalse("DateRF should not be set", dateRF.isSet());
+        assertTrue("DateRF should be valid", dateRF.isValid());
+    }
+    
     /**
      * Factory method for creating a TestSuite for this class.
      *

Modified: jakarta/turbine/core/branches/TURBINE_2_3_BRANCH/xdocs/changes.xml
URL: http://svn.apache.org/viewvc/jakarta/turbine/core/branches/TURBINE_2_3_BRANCH/xdocs/changes.xml?view=diff&rev=538232&r1=538231&r2=538232
==============================================================================
--- jakarta/turbine/core/branches/TURBINE_2_3_BRANCH/xdocs/changes.xml (original)
+++ jakarta/turbine/core/branches/TURBINE_2_3_BRANCH/xdocs/changes.xml Tue May 15 08:56:10 2007
@@ -28,6 +28,10 @@
 
 <body>
   <release version="2.3.3-dev" date="in Subversion">
+    <action type="fix" dev="seade">
+      isSet() was returning <code>true</code> for Intake Fields even when no
+      value was provided.  Fixed and test case added.
+    </action>
     <action type="add" dev="tv">
       Added an extension of LDAPUser named ActiveDirectoryUser to simplify the
       authentication against AD servers. Added some documentation with a



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