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: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]