Modified: 
websites/production/turbine/content/fulcrum/fulcrum-intake/apidocs/src-html/org/apache/fulcrum/intake/validator/NumberValidator.html
==============================================================================
--- 
websites/production/turbine/content/fulcrum/fulcrum-intake/apidocs/src-html/org/apache/fulcrum/intake/validator/NumberValidator.html
 (original)
+++ 
websites/production/turbine/content/fulcrum/fulcrum-intake/apidocs/src-html/org/apache/fulcrum/intake/validator/NumberValidator.html
 Sun Feb 11 17:30:40 2018
@@ -8,309 +8,345 @@
 <div class="sourceContainer">
 <pre><span class="sourceLineNo">001</span>package 
org.apache.fulcrum.intake.validator;<a name="line.1"></a>
 <span class="sourceLineNo">002</span><a name="line.2"></a>
-<span class="sourceLineNo">003</span>/*<a name="line.3"></a>
-<span class="sourceLineNo">004</span> * Licensed to the Apache Software 
Foundation (ASF) under one<a name="line.4"></a>
-<span class="sourceLineNo">005</span> * or more contributor license 
agreements.  See the NOTICE file<a name="line.5"></a>
-<span class="sourceLineNo">006</span> * distributed with this work for 
additional information<a name="line.6"></a>
-<span class="sourceLineNo">007</span> * regarding copyright ownership.  The 
ASF licenses this file<a name="line.7"></a>
-<span class="sourceLineNo">008</span> * to you under the Apache License, 
Version 2.0 (the<a name="line.8"></a>
-<span class="sourceLineNo">009</span> * "License"); you may not use this file 
except in compliance<a name="line.9"></a>
-<span class="sourceLineNo">010</span> * with the License.  You may obtain a 
copy of the License at<a name="line.10"></a>
-<span class="sourceLineNo">011</span> *<a name="line.11"></a>
-<span class="sourceLineNo">012</span> *   
http://www.apache.org/licenses/LICENSE-2.0<a name="line.12"></a>
-<span class="sourceLineNo">013</span> *<a name="line.13"></a>
-<span class="sourceLineNo">014</span> * Unless required by applicable law or 
agreed to in writing,<a name="line.14"></a>
-<span class="sourceLineNo">015</span> * software distributed under the License 
is distributed on an<a name="line.15"></a>
-<span class="sourceLineNo">016</span> * "AS IS" BASIS, WITHOUT WARRANTIES OR 
CONDITIONS OF ANY<a name="line.16"></a>
-<span class="sourceLineNo">017</span> * KIND, either express or implied.  See 
the License for the<a name="line.17"></a>
-<span class="sourceLineNo">018</span> * specific language governing 
permissions and limitations<a name="line.18"></a>
-<span class="sourceLineNo">019</span> * under the License.<a 
name="line.19"></a>
-<span class="sourceLineNo">020</span> */<a name="line.20"></a>
-<span class="sourceLineNo">021</span><a name="line.21"></a>
-<span class="sourceLineNo">022</span>import java.util.Locale;<a 
name="line.22"></a>
-<span class="sourceLineNo">023</span>import java.util.Map;<a 
name="line.23"></a>
-<span class="sourceLineNo">024</span><a name="line.24"></a>
-<span class="sourceLineNo">025</span>import 
org.apache.commons.lang3.StringUtils;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import 
org.apache.fulcrum.intake.model.Field;<a name="line.26"></a>
-<span class="sourceLineNo">027</span><a name="line.27"></a>
-<span class="sourceLineNo">028</span>/**<a name="line.28"></a>
-<span class="sourceLineNo">029</span> * Validates numbers with the following 
constraints in addition to those<a name="line.29"></a>
-<span class="sourceLineNo">030</span> * listed in DefaultValidator.<a 
name="line.30"></a>
-<span class="sourceLineNo">031</span> *<a name="line.31"></a>
-<span class="sourceLineNo">032</span> * &lt;table&gt;<a name="line.32"></a>
-<span class="sourceLineNo">033</span> * &lt;caption&gt;Validation 
rules&lt;/caption&gt;<a name="line.33"></a>
-<span class="sourceLineNo">034</span> * 
&lt;tr&gt;&lt;th&gt;Name&lt;/th&gt;&lt;th&gt;Valid 
Values&lt;/th&gt;&lt;th&gt;Default Value&lt;/th&gt;&lt;/tr&gt;<a 
name="line.34"></a>
-<span class="sourceLineNo">035</span> * 
&lt;tr&gt;&lt;td&gt;minValue&lt;/td&gt;&lt;td&gt;greater than 
BigDecimal.MIN_VALUE&lt;/td&gt;<a name="line.35"></a>
-<span class="sourceLineNo">036</span> * 
&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;<a name="line.36"></a>
-<span class="sourceLineNo">037</span> * 
&lt;tr&gt;&lt;td&gt;maxValue&lt;/td&gt;&lt;td&gt;less than 
BigDecimal.MAX_VALUE&lt;/td&gt;<a name="line.37"></a>
-<span class="sourceLineNo">038</span> * 
&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;<a name="line.38"></a>
-<span class="sourceLineNo">039</span> * 
&lt;tr&gt;&lt;td&gt;notANumberMessage&lt;/td&gt;&lt;td&gt;Some 
text&lt;/td&gt;<a name="line.39"></a>
-<span class="sourceLineNo">040</span> * &lt;td&gt;Entry was not a valid 
number&lt;/td&gt;&lt;/tr&gt;<a name="line.40"></a>
-<span class="sourceLineNo">041</span> * &lt;/table&gt;<a name="line.41"></a>
-<span class="sourceLineNo">042</span> *<a name="line.42"></a>
-<span class="sourceLineNo">043</span> * @author &lt;a 
href="mailto:[email protected]"&gt;John McNally&lt;/a&gt;<a 
name="line.43"></a>
-<span class="sourceLineNo">044</span> * @author &lt;a 
href="mailto:[email protected]"&gt;Quinton McCombs&lt;/a&gt;<a 
name="line.44"></a>
-<span class="sourceLineNo">045</span> * @author &lt;a 
href="mailto:[email protected]"&gt;Colin Chalmers&lt;/a&gt;<a 
name="line.45"></a>
-<span class="sourceLineNo">046</span> * @version $Id: NumberValidator.java 
1823842 2018-02-11 14:55:11Z tv $<a name="line.46"></a>
-<span class="sourceLineNo">047</span> */<a name="line.47"></a>
-<span class="sourceLineNo">048</span>public abstract class 
NumberValidator&lt;T extends Number&gt;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>        extends 
DefaultValidator&lt;T&gt;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>{<a name="line.50"></a>
-<span class="sourceLineNo">051</span>    /** The message to show if field 
fails min-value test */<a name="line.51"></a>
-<span class="sourceLineNo">052</span>    String minValueMessage = null;<a 
name="line.52"></a>
-<span class="sourceLineNo">053</span><a name="line.53"></a>
-<span class="sourceLineNo">054</span>    /** The message to show if field 
fails max-value test */<a name="line.54"></a>
-<span class="sourceLineNo">055</span>    String maxValueMessage = null;<a 
name="line.55"></a>
-<span class="sourceLineNo">056</span><a name="line.56"></a>
-<span class="sourceLineNo">057</span>    /** The message to use for invalid 
numbers */<a name="line.57"></a>
-<span class="sourceLineNo">058</span>    String invalidNumberMessage = null;<a 
name="line.58"></a>
-<span class="sourceLineNo">059</span><a name="line.59"></a>
-<span class="sourceLineNo">060</span>    private T minValue = null;<a 
name="line.60"></a>
-<span class="sourceLineNo">061</span>    private T maxValue = null;<a 
name="line.61"></a>
-<span class="sourceLineNo">062</span><a name="line.62"></a>
-<span class="sourceLineNo">063</span>    /**<a name="line.63"></a>
-<span class="sourceLineNo">064</span>     * Default Constructor<a 
name="line.64"></a>
-<span class="sourceLineNo">065</span>     */<a name="line.65"></a>
-<span class="sourceLineNo">066</span>    public NumberValidator()<a 
name="line.66"></a>
-<span class="sourceLineNo">067</span>    {<a name="line.67"></a>
-<span class="sourceLineNo">068</span>        super();<a name="line.68"></a>
-<span class="sourceLineNo">069</span>    }<a name="line.69"></a>
-<span class="sourceLineNo">070</span><a name="line.70"></a>
-<span class="sourceLineNo">071</span>    /**<a name="line.71"></a>
-<span class="sourceLineNo">072</span>     * Extract the relevant parameters 
from the constraints listed<a name="line.72"></a>
-<span class="sourceLineNo">073</span>     * in &amp;lt;rule&amp;gt; tags 
within the intake.xml file.<a name="line.73"></a>
-<span class="sourceLineNo">074</span>     *<a name="line.74"></a>
-<span class="sourceLineNo">075</span>     * @param paramMap a 
&lt;code&gt;Map&lt;/code&gt; of &lt;code&gt;rule&lt;/code&gt;'s<a 
name="line.75"></a>
-<span class="sourceLineNo">076</span>     * containing constraints on the 
input.<a name="line.76"></a>
-<span class="sourceLineNo">077</span>     * @throws InvalidMaskException an 
invalid mask was specified<a name="line.77"></a>
-<span class="sourceLineNo">078</span>     */<a name="line.78"></a>
-<span class="sourceLineNo">079</span>    @Override<a name="line.79"></a>
-<span class="sourceLineNo">080</span>        public void init(Map&lt;String, ? 
extends Constraint&gt; paramMap)<a name="line.80"></a>
-<span class="sourceLineNo">081</span>            throws InvalidMaskException<a 
name="line.81"></a>
-<span class="sourceLineNo">082</span>    {<a name="line.82"></a>
-<span class="sourceLineNo">083</span>        super.init(paramMap);<a 
name="line.83"></a>
-<span class="sourceLineNo">084</span><a name="line.84"></a>
-<span class="sourceLineNo">085</span>        Constraint constraint = 
paramMap.get(INVALID_NUMBER_RULE_NAME);<a name="line.85"></a>
-<span class="sourceLineNo">086</span><a name="line.86"></a>
-<span class="sourceLineNo">087</span>        if (constraint != null)<a 
name="line.87"></a>
-<span class="sourceLineNo">088</span>        {<a name="line.88"></a>
-<span class="sourceLineNo">089</span>            invalidNumberMessage = 
constraint.getMessage();<a name="line.89"></a>
-<span class="sourceLineNo">090</span>        }<a name="line.90"></a>
-<span class="sourceLineNo">091</span><a name="line.91"></a>
-<span class="sourceLineNo">092</span>        constraint = 
paramMap.get(MIN_VALUE_RULE_NAME);<a name="line.92"></a>
-<span class="sourceLineNo">093</span>        if (constraint != null)<a 
name="line.93"></a>
-<span class="sourceLineNo">094</span>        {<a name="line.94"></a>
-<span class="sourceLineNo">095</span>            String param = 
constraint.getValue();<a name="line.95"></a>
-<span class="sourceLineNo">096</span>            try<a name="line.96"></a>
-<span class="sourceLineNo">097</span>            {<a name="line.97"></a>
-<span class="sourceLineNo">098</span>                minValue = 
parseNumber(param, Locale.US);<a name="line.98"></a>
-<span class="sourceLineNo">099</span>            }<a name="line.99"></a>
-<span class="sourceLineNo">100</span>            catch (NumberFormatException 
e)<a name="line.100"></a>
+<span class="sourceLineNo">003</span>import java.text.NumberFormat;<a 
name="line.3"></a>
+<span class="sourceLineNo">004</span>import java.text.ParseException;<a 
name="line.4"></a>
+<span class="sourceLineNo">005</span>import java.text.ParsePosition;<a 
name="line.5"></a>
+<span class="sourceLineNo">006</span><a name="line.6"></a>
+<span class="sourceLineNo">007</span>/*<a name="line.7"></a>
+<span class="sourceLineNo">008</span> * Licensed to the Apache Software 
Foundation (ASF) under one<a name="line.8"></a>
+<span class="sourceLineNo">009</span> * or more contributor license 
agreements.  See the NOTICE file<a name="line.9"></a>
+<span class="sourceLineNo">010</span> * distributed with this work for 
additional information<a name="line.10"></a>
+<span class="sourceLineNo">011</span> * regarding copyright ownership.  The 
ASF licenses this file<a name="line.11"></a>
+<span class="sourceLineNo">012</span> * to you under the Apache License, 
Version 2.0 (the<a name="line.12"></a>
+<span class="sourceLineNo">013</span> * "License"); you may not use this file 
except in compliance<a name="line.13"></a>
+<span class="sourceLineNo">014</span> * with the License.  You may obtain a 
copy of the License at<a name="line.14"></a>
+<span class="sourceLineNo">015</span> *<a name="line.15"></a>
+<span class="sourceLineNo">016</span> *   
http://www.apache.org/licenses/LICENSE-2.0<a name="line.16"></a>
+<span class="sourceLineNo">017</span> *<a name="line.17"></a>
+<span class="sourceLineNo">018</span> * Unless required by applicable law or 
agreed to in writing,<a name="line.18"></a>
+<span class="sourceLineNo">019</span> * software distributed under the License 
is distributed on an<a name="line.19"></a>
+<span class="sourceLineNo">020</span> * "AS IS" BASIS, WITHOUT WARRANTIES OR 
CONDITIONS OF ANY<a name="line.20"></a>
+<span class="sourceLineNo">021</span> * KIND, either express or implied.  See 
the License for the<a name="line.21"></a>
+<span class="sourceLineNo">022</span> * specific language governing 
permissions and limitations<a name="line.22"></a>
+<span class="sourceLineNo">023</span> * under the License.<a 
name="line.23"></a>
+<span class="sourceLineNo">024</span> */<a name="line.24"></a>
+<span class="sourceLineNo">025</span><a name="line.25"></a>
+<span class="sourceLineNo">026</span>import java.util.Locale;<a 
name="line.26"></a>
+<span class="sourceLineNo">027</span>import java.util.Map;<a 
name="line.27"></a>
+<span class="sourceLineNo">028</span><a name="line.28"></a>
+<span class="sourceLineNo">029</span>import 
org.apache.commons.lang3.StringUtils;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import 
org.apache.fulcrum.intake.model.Field;<a name="line.30"></a>
+<span class="sourceLineNo">031</span><a name="line.31"></a>
+<span class="sourceLineNo">032</span>/**<a name="line.32"></a>
+<span class="sourceLineNo">033</span> * Validates numbers with the following 
constraints in addition to those<a name="line.33"></a>
+<span class="sourceLineNo">034</span> * listed in DefaultValidator.<a 
name="line.34"></a>
+<span class="sourceLineNo">035</span> *<a name="line.35"></a>
+<span class="sourceLineNo">036</span> * &lt;table&gt;<a name="line.36"></a>
+<span class="sourceLineNo">037</span> * &lt;caption&gt;Validation 
rules&lt;/caption&gt;<a name="line.37"></a>
+<span class="sourceLineNo">038</span> * 
&lt;tr&gt;&lt;th&gt;Name&lt;/th&gt;&lt;th&gt;Valid 
Values&lt;/th&gt;&lt;th&gt;Default Value&lt;/th&gt;&lt;/tr&gt;<a 
name="line.38"></a>
+<span class="sourceLineNo">039</span> * 
&lt;tr&gt;&lt;td&gt;minValue&lt;/td&gt;&lt;td&gt;greater than 
BigDecimal.MIN_VALUE&lt;/td&gt;<a name="line.39"></a>
+<span class="sourceLineNo">040</span> * 
&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;<a name="line.40"></a>
+<span class="sourceLineNo">041</span> * 
&lt;tr&gt;&lt;td&gt;maxValue&lt;/td&gt;&lt;td&gt;less than 
BigDecimal.MAX_VALUE&lt;/td&gt;<a name="line.41"></a>
+<span class="sourceLineNo">042</span> * 
&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;<a name="line.42"></a>
+<span class="sourceLineNo">043</span> * 
&lt;tr&gt;&lt;td&gt;notANumberMessage&lt;/td&gt;&lt;td&gt;Some 
text&lt;/td&gt;<a name="line.43"></a>
+<span class="sourceLineNo">044</span> * &lt;td&gt;Entry was not a valid 
number&lt;/td&gt;&lt;/tr&gt;<a name="line.44"></a>
+<span class="sourceLineNo">045</span> * &lt;/table&gt;<a name="line.45"></a>
+<span class="sourceLineNo">046</span> *<a name="line.46"></a>
+<span class="sourceLineNo">047</span> * @author &lt;a 
href="mailto:[email protected]"&gt;John McNally&lt;/a&gt;<a 
name="line.47"></a>
+<span class="sourceLineNo">048</span> * @author &lt;a 
href="mailto:[email protected]"&gt;Quinton McCombs&lt;/a&gt;<a 
name="line.48"></a>
+<span class="sourceLineNo">049</span> * @author &lt;a 
href="mailto:[email protected]"&gt;Colin Chalmers&lt;/a&gt;<a 
name="line.49"></a>
+<span class="sourceLineNo">050</span> * @version $Id: NumberValidator.java 
1823857 2018-02-11 17:11:55Z tv $<a name="line.50"></a>
+<span class="sourceLineNo">051</span> */<a name="line.51"></a>
+<span class="sourceLineNo">052</span>public abstract class 
NumberValidator&lt;T extends Number&gt;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>        extends 
DefaultValidator&lt;T&gt;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>{<a name="line.54"></a>
+<span class="sourceLineNo">055</span>    /** The message to show if field 
fails min-value test */<a name="line.55"></a>
+<span class="sourceLineNo">056</span>    String minValueMessage = null;<a 
name="line.56"></a>
+<span class="sourceLineNo">057</span><a name="line.57"></a>
+<span class="sourceLineNo">058</span>    /** The message to show if field 
fails max-value test */<a name="line.58"></a>
+<span class="sourceLineNo">059</span>    String maxValueMessage = null;<a 
name="line.59"></a>
+<span class="sourceLineNo">060</span><a name="line.60"></a>
+<span class="sourceLineNo">061</span>    /** The message to use for invalid 
numbers */<a name="line.61"></a>
+<span class="sourceLineNo">062</span>    String invalidNumberMessage = null;<a 
name="line.62"></a>
+<span class="sourceLineNo">063</span><a name="line.63"></a>
+<span class="sourceLineNo">064</span>    private T minValue = null;<a 
name="line.64"></a>
+<span class="sourceLineNo">065</span>    private T maxValue = null;<a 
name="line.65"></a>
+<span class="sourceLineNo">066</span><a name="line.66"></a>
+<span class="sourceLineNo">067</span>    /**<a name="line.67"></a>
+<span class="sourceLineNo">068</span>     * Default Constructor<a 
name="line.68"></a>
+<span class="sourceLineNo">069</span>     */<a name="line.69"></a>
+<span class="sourceLineNo">070</span>    public NumberValidator()<a 
name="line.70"></a>
+<span class="sourceLineNo">071</span>    {<a name="line.71"></a>
+<span class="sourceLineNo">072</span>        super();<a name="line.72"></a>
+<span class="sourceLineNo">073</span>    }<a name="line.73"></a>
+<span class="sourceLineNo">074</span><a name="line.74"></a>
+<span class="sourceLineNo">075</span>    /**<a name="line.75"></a>
+<span class="sourceLineNo">076</span>     * Extract the relevant parameters 
from the constraints listed<a name="line.76"></a>
+<span class="sourceLineNo">077</span>     * in &amp;lt;rule&amp;gt; tags 
within the intake.xml file.<a name="line.77"></a>
+<span class="sourceLineNo">078</span>     *<a name="line.78"></a>
+<span class="sourceLineNo">079</span>     * @param paramMap a 
&lt;code&gt;Map&lt;/code&gt; of &lt;code&gt;rule&lt;/code&gt;'s<a 
name="line.79"></a>
+<span class="sourceLineNo">080</span>     * containing constraints on the 
input.<a name="line.80"></a>
+<span class="sourceLineNo">081</span>     * @throws InvalidMaskException an 
invalid mask was specified<a name="line.81"></a>
+<span class="sourceLineNo">082</span>     */<a name="line.82"></a>
+<span class="sourceLineNo">083</span>    @Override<a name="line.83"></a>
+<span class="sourceLineNo">084</span>        public void init(Map&lt;String, ? 
extends Constraint&gt; paramMap)<a name="line.84"></a>
+<span class="sourceLineNo">085</span>            throws InvalidMaskException<a 
name="line.85"></a>
+<span class="sourceLineNo">086</span>    {<a name="line.86"></a>
+<span class="sourceLineNo">087</span>        super.init(paramMap);<a 
name="line.87"></a>
+<span class="sourceLineNo">088</span><a name="line.88"></a>
+<span class="sourceLineNo">089</span>        Constraint constraint = 
paramMap.get(INVALID_NUMBER_RULE_NAME);<a name="line.89"></a>
+<span class="sourceLineNo">090</span><a name="line.90"></a>
+<span class="sourceLineNo">091</span>        if (constraint != null)<a 
name="line.91"></a>
+<span class="sourceLineNo">092</span>        {<a name="line.92"></a>
+<span class="sourceLineNo">093</span>            invalidNumberMessage = 
constraint.getMessage();<a name="line.93"></a>
+<span class="sourceLineNo">094</span>        }<a name="line.94"></a>
+<span class="sourceLineNo">095</span><a name="line.95"></a>
+<span class="sourceLineNo">096</span>        constraint = 
paramMap.get(MIN_VALUE_RULE_NAME);<a name="line.96"></a>
+<span class="sourceLineNo">097</span>        if (constraint != null)<a 
name="line.97"></a>
+<span class="sourceLineNo">098</span>        {<a name="line.98"></a>
+<span class="sourceLineNo">099</span>            String param = 
constraint.getValue();<a name="line.99"></a>
+<span class="sourceLineNo">100</span>            try<a name="line.100"></a>
 <span class="sourceLineNo">101</span>            {<a name="line.101"></a>
-<span class="sourceLineNo">102</span>                throw new 
InvalidMaskException("Could not parse minimum value " + param, e);<a 
name="line.102"></a>
+<span class="sourceLineNo">102</span>                minValue = 
parseNumber(param, Locale.US);<a name="line.102"></a>
 <span class="sourceLineNo">103</span>            }<a name="line.103"></a>
-<span class="sourceLineNo">104</span>            minValueMessage = 
constraint.getMessage();<a name="line.104"></a>
-<span class="sourceLineNo">105</span>        }<a name="line.105"></a>
-<span class="sourceLineNo">106</span><a name="line.106"></a>
-<span class="sourceLineNo">107</span>        constraint = 
paramMap.get(MAX_VALUE_RULE_NAME);<a name="line.107"></a>
-<span class="sourceLineNo">108</span>        if (constraint != null)<a 
name="line.108"></a>
-<span class="sourceLineNo">109</span>        {<a name="line.109"></a>
-<span class="sourceLineNo">110</span>            String param = 
constraint.getValue();<a name="line.110"></a>
-<span class="sourceLineNo">111</span>            try<a name="line.111"></a>
-<span class="sourceLineNo">112</span>            {<a name="line.112"></a>
-<span class="sourceLineNo">113</span>                maxValue = 
parseNumber(param, Locale.US);<a name="line.113"></a>
-<span class="sourceLineNo">114</span>            }<a name="line.114"></a>
-<span class="sourceLineNo">115</span>            catch (NumberFormatException 
e)<a name="line.115"></a>
+<span class="sourceLineNo">104</span>            catch (NumberFormatException 
e)<a name="line.104"></a>
+<span class="sourceLineNo">105</span>            {<a name="line.105"></a>
+<span class="sourceLineNo">106</span>                throw new 
InvalidMaskException("Could not parse minimum value " + param, e);<a 
name="line.106"></a>
+<span class="sourceLineNo">107</span>            }<a name="line.107"></a>
+<span class="sourceLineNo">108</span>            minValueMessage = 
constraint.getMessage();<a name="line.108"></a>
+<span class="sourceLineNo">109</span>        }<a name="line.109"></a>
+<span class="sourceLineNo">110</span><a name="line.110"></a>
+<span class="sourceLineNo">111</span>        constraint = 
paramMap.get(MAX_VALUE_RULE_NAME);<a name="line.111"></a>
+<span class="sourceLineNo">112</span>        if (constraint != null)<a 
name="line.112"></a>
+<span class="sourceLineNo">113</span>        {<a name="line.113"></a>
+<span class="sourceLineNo">114</span>            String param = 
constraint.getValue();<a name="line.114"></a>
+<span class="sourceLineNo">115</span>            try<a name="line.115"></a>
 <span class="sourceLineNo">116</span>            {<a name="line.116"></a>
-<span class="sourceLineNo">117</span>                throw new 
InvalidMaskException("Could not parse minimum value " + param, e);<a 
name="line.117"></a>
+<span class="sourceLineNo">117</span>                maxValue = 
parseNumber(param, Locale.US);<a name="line.117"></a>
 <span class="sourceLineNo">118</span>            }<a name="line.118"></a>
-<span class="sourceLineNo">119</span>            maxValueMessage = 
constraint.getMessage();<a name="line.119"></a>
-<span class="sourceLineNo">120</span>        }<a name="line.120"></a>
-<span class="sourceLineNo">121</span>    }<a name="line.121"></a>
-<span class="sourceLineNo">122</span><a name="line.122"></a>
-<span class="sourceLineNo">123</span>    /**<a name="line.123"></a>
-<span class="sourceLineNo">124</span>     * Parse the actual value out of a 
string<a name="line.124"></a>
-<span class="sourceLineNo">125</span>     *<a name="line.125"></a>
-<span class="sourceLineNo">126</span>     * @param stringValue the string 
value<a name="line.126"></a>
-<span class="sourceLineNo">127</span>     * @param locale the locale to use 
while parsing<a name="line.127"></a>
-<span class="sourceLineNo">128</span>     *<a name="line.128"></a>
-<span class="sourceLineNo">129</span>     * @return the value<a 
name="line.129"></a>
-<span class="sourceLineNo">130</span>     *<a name="line.130"></a>
-<span class="sourceLineNo">131</span>     * @throws NumberFormatException if 
the value could not be parsed<a name="line.131"></a>
-<span class="sourceLineNo">132</span>     */<a name="line.132"></a>
-<span class="sourceLineNo">133</span>    protected abstract T 
parseNumber(String stringValue, Locale locale) throws NumberFormatException;<a 
name="line.133"></a>
-<span class="sourceLineNo">134</span><a name="line.134"></a>
-<span class="sourceLineNo">135</span>    /**<a name="line.135"></a>
-<span class="sourceLineNo">136</span>     * Determine whether a field meets 
the criteria specified<a name="line.136"></a>
-<span class="sourceLineNo">137</span>     * in the constraints defined for 
this validator<a name="line.137"></a>
-<span class="sourceLineNo">138</span>     *<a name="line.138"></a>
-<span class="sourceLineNo">139</span>     * @param field a 
&lt;code&gt;Field&lt;/code&gt; to be tested<a name="line.139"></a>
-<span class="sourceLineNo">140</span>     * @throws ValidationException 
containing an error message if the<a name="line.140"></a>
-<span class="sourceLineNo">141</span>     * testValue did not pass the 
validation tests.<a name="line.141"></a>
-<span class="sourceLineNo">142</span>     */<a name="line.142"></a>
-<span class="sourceLineNo">143</span>    @Override<a name="line.143"></a>
-<span class="sourceLineNo">144</span>        public void 
assertValidity(Field&lt;T&gt; field) throws ValidationException<a 
name="line.144"></a>
-<span class="sourceLineNo">145</span>    {<a name="line.145"></a>
-<span class="sourceLineNo">146</span>        Locale locale = 
field.getLocale();<a name="line.146"></a>
-<span class="sourceLineNo">147</span><a name="line.147"></a>
-<span class="sourceLineNo">148</span>        if (field.isMultiValued())<a 
name="line.148"></a>
-<span class="sourceLineNo">149</span>        {<a name="line.149"></a>
-<span class="sourceLineNo">150</span>            String[] stringValues = 
(String[])field.getTestValue();<a name="line.150"></a>
-<span class="sourceLineNo">151</span><a name="line.151"></a>
-<span class="sourceLineNo">152</span>            for (int i = 0; i &lt; 
stringValues.length; i++)<a name="line.152"></a>
-<span class="sourceLineNo">153</span>            {<a name="line.153"></a>
-<span class="sourceLineNo">154</span>                
assertValidity(stringValues[i], locale);<a name="line.154"></a>
-<span class="sourceLineNo">155</span>            }<a name="line.155"></a>
-<span class="sourceLineNo">156</span>        }<a name="line.156"></a>
-<span class="sourceLineNo">157</span>        else<a name="line.157"></a>
-<span class="sourceLineNo">158</span>        {<a name="line.158"></a>
-<span class="sourceLineNo">159</span>            
assertValidity((String)field.getTestValue(), locale);<a name="line.159"></a>
-<span class="sourceLineNo">160</span>        }<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    }<a name="line.161"></a>
+<span class="sourceLineNo">119</span>            catch (NumberFormatException 
e)<a name="line.119"></a>
+<span class="sourceLineNo">120</span>            {<a name="line.120"></a>
+<span class="sourceLineNo">121</span>                throw new 
InvalidMaskException("Could not parse minimum value " + param, e);<a 
name="line.121"></a>
+<span class="sourceLineNo">122</span>            }<a name="line.122"></a>
+<span class="sourceLineNo">123</span>            maxValueMessage = 
constraint.getMessage();<a name="line.123"></a>
+<span class="sourceLineNo">124</span>        }<a name="line.124"></a>
+<span class="sourceLineNo">125</span>    }<a name="line.125"></a>
+<span class="sourceLineNo">126</span><a name="line.126"></a>
+<span class="sourceLineNo">127</span>    /**<a name="line.127"></a>
+<span class="sourceLineNo">128</span>     * Parse the actual value out of a 
string<a name="line.128"></a>
+<span class="sourceLineNo">129</span>     *<a name="line.129"></a>
+<span class="sourceLineNo">130</span>     * @param stringValue the string 
value<a name="line.130"></a>
+<span class="sourceLineNo">131</span>     * @param locale the locale to use 
while parsing<a name="line.131"></a>
+<span class="sourceLineNo">132</span>     *<a name="line.132"></a>
+<span class="sourceLineNo">133</span>     * @return the value<a 
name="line.133"></a>
+<span class="sourceLineNo">134</span>     *<a name="line.134"></a>
+<span class="sourceLineNo">135</span>     * @throws NumberFormatException if 
the value could not be parsed<a name="line.135"></a>
+<span class="sourceLineNo">136</span>     */<a name="line.136"></a>
+<span class="sourceLineNo">137</span>    protected abstract T 
parseNumber(String stringValue, Locale locale) throws NumberFormatException;<a 
name="line.137"></a>
+<span class="sourceLineNo">138</span><a name="line.138"></a>
+<span class="sourceLineNo">139</span>    /**<a name="line.139"></a>
+<span class="sourceLineNo">140</span>     * Helper method to parse a number 
object out of a string<a name="line.140"></a>
+<span class="sourceLineNo">141</span>     *<a name="line.141"></a>
+<span class="sourceLineNo">142</span>     * @param stringValue the string 
value<a name="line.142"></a>
+<span class="sourceLineNo">143</span>     * @param locale the locale to use 
while parsing<a name="line.143"></a>
+<span class="sourceLineNo">144</span>     *<a name="line.144"></a>
+<span class="sourceLineNo">145</span>     * @return the Number<a 
name="line.145"></a>
+<span class="sourceLineNo">146</span>     *<a name="line.146"></a>
+<span class="sourceLineNo">147</span>     * @throws NumberFormatException if 
the value could not be parsed<a name="line.147"></a>
+<span class="sourceLineNo">148</span>     */<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    protected Number 
parseIntoNumber(String stringValue, Locale locale) throws 
NumberFormatException<a name="line.149"></a>
+<span class="sourceLineNo">150</span>    {<a name="line.150"></a>
+<span class="sourceLineNo">151</span>        NumberFormat nf = 
NumberFormat.getInstance(locale);<a name="line.151"></a>
+<span class="sourceLineNo">152</span><a name="line.152"></a>
+<span class="sourceLineNo">153</span>        try<a name="line.153"></a>
+<span class="sourceLineNo">154</span>        {<a name="line.154"></a>
+<span class="sourceLineNo">155</span>            ParsePosition pos = new 
ParsePosition(0);<a name="line.155"></a>
+<span class="sourceLineNo">156</span>            Number number = 
nf.parse(stringValue, pos);<a name="line.156"></a>
+<span class="sourceLineNo">157</span><a name="line.157"></a>
+<span class="sourceLineNo">158</span>            if (pos.getIndex() != 
stringValue.length())<a name="line.158"></a>
+<span class="sourceLineNo">159</span>            {<a name="line.159"></a>
+<span class="sourceLineNo">160</span>                throw new 
ParseException("Could not parse string completely", pos.getErrorIndex());<a 
name="line.160"></a>
+<span class="sourceLineNo">161</span>            }<a name="line.161"></a>
 <span class="sourceLineNo">162</span><a name="line.162"></a>
-<span class="sourceLineNo">163</span>    /**<a name="line.163"></a>
-<span class="sourceLineNo">164</span>     * Determine whether a testValue 
meets the criteria specified<a name="line.164"></a>
-<span class="sourceLineNo">165</span>     * in the constraints defined for 
this validator<a name="line.165"></a>
-<span class="sourceLineNo">166</span>     *<a name="line.166"></a>
-<span class="sourceLineNo">167</span>     * @param testValue a 
&lt;code&gt;String&lt;/code&gt; to be tested<a name="line.167"></a>
-<span class="sourceLineNo">168</span>     * @param locale the Locale of the 
associated field<a name="line.168"></a>
-<span class="sourceLineNo">169</span>     * @throws ValidationException 
containing an error message if the<a name="line.169"></a>
-<span class="sourceLineNo">170</span>     * testValue did not pass the 
validation tests.<a name="line.170"></a>
-<span class="sourceLineNo">171</span>     */<a name="line.171"></a>
-<span class="sourceLineNo">172</span>    public void assertValidity(String 
testValue, Locale locale) throws ValidationException<a name="line.172"></a>
-<span class="sourceLineNo">173</span>    {<a name="line.173"></a>
-<span class="sourceLineNo">174</span>        
super.assertValidity(testValue);<a name="line.174"></a>
-<span class="sourceLineNo">175</span><a name="line.175"></a>
-<span class="sourceLineNo">176</span>        if (required || 
StringUtils.isNotEmpty(testValue))<a name="line.176"></a>
-<span class="sourceLineNo">177</span>        {<a name="line.177"></a>
-<span class="sourceLineNo">178</span>            T number = null;<a 
name="line.178"></a>
-<span class="sourceLineNo">179</span>            try<a name="line.179"></a>
-<span class="sourceLineNo">180</span>            {<a name="line.180"></a>
-<span class="sourceLineNo">181</span>                number = 
parseNumber(testValue, locale);<a name="line.181"></a>
-<span class="sourceLineNo">182</span>            }<a name="line.182"></a>
-<span class="sourceLineNo">183</span>            catch (NumberFormatException 
e)<a name="line.183"></a>
-<span class="sourceLineNo">184</span>            {<a name="line.184"></a>
-<span class="sourceLineNo">185</span>                errorMessage = 
invalidNumberMessage;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>                throw new 
ValidationException(invalidNumberMessage);<a name="line.186"></a>
-<span class="sourceLineNo">187</span>            }<a name="line.187"></a>
-<span class="sourceLineNo">188</span><a name="line.188"></a>
-<span class="sourceLineNo">189</span>            if (minValue != null 
&amp;&amp; number.doubleValue() &lt; minValue.doubleValue())<a 
name="line.189"></a>
-<span class="sourceLineNo">190</span>            {<a name="line.190"></a>
-<span class="sourceLineNo">191</span>                errorMessage = 
minValueMessage;<a name="line.191"></a>
-<span class="sourceLineNo">192</span>                throw new 
ValidationException(minValueMessage);<a name="line.192"></a>
-<span class="sourceLineNo">193</span>            }<a name="line.193"></a>
-<span class="sourceLineNo">194</span>            if (maxValue != null 
&amp;&amp; number.doubleValue() &gt; maxValue.doubleValue())<a 
name="line.194"></a>
-<span class="sourceLineNo">195</span>            {<a name="line.195"></a>
-<span class="sourceLineNo">196</span>                errorMessage = 
maxValueMessage;<a name="line.196"></a>
-<span class="sourceLineNo">197</span>                throw new 
ValidationException(maxValueMessage);<a name="line.197"></a>
-<span class="sourceLineNo">198</span>            }<a name="line.198"></a>
-<span class="sourceLineNo">199</span>        }<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    }<a name="line.200"></a>
-<span class="sourceLineNo">201</span><a name="line.201"></a>
-<span class="sourceLineNo">202</span>    // 
************************************************************<a 
name="line.202"></a>
-<span class="sourceLineNo">203</span>    // **                Bean accessor 
methods                   **<a name="line.203"></a>
-<span class="sourceLineNo">204</span>    // 
************************************************************<a 
name="line.204"></a>
-<span class="sourceLineNo">205</span><a name="line.205"></a>
-<span class="sourceLineNo">206</span>    /**<a name="line.206"></a>
-<span class="sourceLineNo">207</span>     * Get the value of 
minValueMessage.<a name="line.207"></a>
-<span class="sourceLineNo">208</span>     *<a name="line.208"></a>
-<span class="sourceLineNo">209</span>     * @return value of 
minValueMessage.<a name="line.209"></a>
-<span class="sourceLineNo">210</span>     */<a name="line.210"></a>
-<span class="sourceLineNo">211</span>    public String getMinValueMessage()<a 
name="line.211"></a>
-<span class="sourceLineNo">212</span>    {<a name="line.212"></a>
-<span class="sourceLineNo">213</span>        return minValueMessage;<a 
name="line.213"></a>
-<span class="sourceLineNo">214</span>    }<a name="line.214"></a>
-<span class="sourceLineNo">215</span><a name="line.215"></a>
-<span class="sourceLineNo">216</span>    /**<a name="line.216"></a>
-<span class="sourceLineNo">217</span>     * Set the value of 
minValueMessage.<a name="line.217"></a>
-<span class="sourceLineNo">218</span>     *<a name="line.218"></a>
-<span class="sourceLineNo">219</span>     * @param minValueMessage  Value to 
assign to minValueMessage.<a name="line.219"></a>
-<span class="sourceLineNo">220</span>     */<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    public void setMinValueMessage(String 
minValueMessage)<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    {<a name="line.222"></a>
-<span class="sourceLineNo">223</span>        this.minValueMessage = 
minValueMessage;<a name="line.223"></a>
-<span class="sourceLineNo">224</span>    }<a name="line.224"></a>
-<span class="sourceLineNo">225</span><a name="line.225"></a>
-<span class="sourceLineNo">226</span>    /**<a name="line.226"></a>
-<span class="sourceLineNo">227</span>     * Get the value of 
maxValueMessage.<a name="line.227"></a>
-<span class="sourceLineNo">228</span>     *<a name="line.228"></a>
-<span class="sourceLineNo">229</span>     * @return value of 
maxValueMessage.<a name="line.229"></a>
-<span class="sourceLineNo">230</span>     */<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    public String getMaxValueMessage()<a 
name="line.231"></a>
-<span class="sourceLineNo">232</span>    {<a name="line.232"></a>
-<span class="sourceLineNo">233</span>        return maxValueMessage;<a 
name="line.233"></a>
-<span class="sourceLineNo">234</span>    }<a name="line.234"></a>
-<span class="sourceLineNo">235</span><a name="line.235"></a>
-<span class="sourceLineNo">236</span>    /**<a name="line.236"></a>
-<span class="sourceLineNo">237</span>     * Set the value of 
maxValueMessage.<a name="line.237"></a>
-<span class="sourceLineNo">238</span>     *<a name="line.238"></a>
-<span class="sourceLineNo">239</span>     * @param maxValueMessage  Value to 
assign to maxValueMessage.<a name="line.239"></a>
-<span class="sourceLineNo">240</span>     */<a name="line.240"></a>
-<span class="sourceLineNo">241</span>    public void setMaxValueMessage(String 
maxValueMessage)<a name="line.241"></a>
-<span class="sourceLineNo">242</span>    {<a name="line.242"></a>
-<span class="sourceLineNo">243</span>        this.maxValueMessage = 
maxValueMessage;<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    }<a name="line.244"></a>
-<span class="sourceLineNo">245</span><a name="line.245"></a>
-<span class="sourceLineNo">246</span>    /**<a name="line.246"></a>
-<span class="sourceLineNo">247</span>     * Get the value of 
invalidNumberMessage.<a name="line.247"></a>
-<span class="sourceLineNo">248</span>     *<a name="line.248"></a>
-<span class="sourceLineNo">249</span>     * @return value of 
invalidNumberMessage.<a name="line.249"></a>
-<span class="sourceLineNo">250</span>     */<a name="line.250"></a>
-<span class="sourceLineNo">251</span>    public String 
getInvalidNumberMessage()<a name="line.251"></a>
-<span class="sourceLineNo">252</span>    {<a name="line.252"></a>
-<span class="sourceLineNo">253</span>        return invalidNumberMessage;<a 
name="line.253"></a>
-<span class="sourceLineNo">254</span>    }<a name="line.254"></a>
-<span class="sourceLineNo">255</span><a name="line.255"></a>
-<span class="sourceLineNo">256</span>    /**<a name="line.256"></a>
-<span class="sourceLineNo">257</span>     *<a name="line.257"></a>
-<span class="sourceLineNo">258</span>     * Set the value of 
invalidNumberMessage.<a name="line.258"></a>
-<span class="sourceLineNo">259</span>     * @param invalidNumberMessage  Value 
to assign to invalidNumberMessage.<a name="line.259"></a>
-<span class="sourceLineNo">260</span>     */<a name="line.260"></a>
-<span class="sourceLineNo">261</span>    public void 
setInvalidNumberMessage(String invalidNumberMessage)<a name="line.261"></a>
-<span class="sourceLineNo">262</span>    {<a name="line.262"></a>
-<span class="sourceLineNo">263</span>        this.invalidNumberMessage = 
invalidNumberMessage;<a name="line.263"></a>
-<span class="sourceLineNo">264</span>    }<a name="line.264"></a>
-<span class="sourceLineNo">265</span><a name="line.265"></a>
-<span class="sourceLineNo">266</span>    /**<a name="line.266"></a>
-<span class="sourceLineNo">267</span>     * Get the value of minValue.<a 
name="line.267"></a>
-<span class="sourceLineNo">268</span>     *<a name="line.268"></a>
-<span class="sourceLineNo">269</span>     * @return value of minValue.<a 
name="line.269"></a>
-<span class="sourceLineNo">270</span>     */<a name="line.270"></a>
-<span class="sourceLineNo">271</span>    public T getMinValue()<a 
name="line.271"></a>
-<span class="sourceLineNo">272</span>    {<a name="line.272"></a>
-<span class="sourceLineNo">273</span>        return minValue;<a 
name="line.273"></a>
-<span class="sourceLineNo">274</span>    }<a name="line.274"></a>
-<span class="sourceLineNo">275</span><a name="line.275"></a>
-<span class="sourceLineNo">276</span>    /**<a name="line.276"></a>
-<span class="sourceLineNo">277</span>     * Set the value of minValue.<a 
name="line.277"></a>
-<span class="sourceLineNo">278</span>     *<a name="line.278"></a>
-<span class="sourceLineNo">279</span>     * @param minValue  Value to assign 
to minValue.<a name="line.279"></a>
-<span class="sourceLineNo">280</span>     */<a name="line.280"></a>
-<span class="sourceLineNo">281</span>    public void setMinValue(T minValue)<a 
name="line.281"></a>
-<span class="sourceLineNo">282</span>    {<a name="line.282"></a>
-<span class="sourceLineNo">283</span>        this.minValue = minValue;<a 
name="line.283"></a>
-<span class="sourceLineNo">284</span>    }<a name="line.284"></a>
-<span class="sourceLineNo">285</span><a name="line.285"></a>
-<span class="sourceLineNo">286</span>    /**<a name="line.286"></a>
-<span class="sourceLineNo">287</span>     * Get the value of maxValue.<a 
name="line.287"></a>
-<span class="sourceLineNo">288</span>     *<a name="line.288"></a>
-<span class="sourceLineNo">289</span>     * @return value of maxValue.<a 
name="line.289"></a>
-<span class="sourceLineNo">290</span>     */<a name="line.290"></a>
-<span class="sourceLineNo">291</span>    public T getMaxValue()<a 
name="line.291"></a>
-<span class="sourceLineNo">292</span>    {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>        return maxValue;<a 
name="line.293"></a>
-<span class="sourceLineNo">294</span>    }<a name="line.294"></a>
-<span class="sourceLineNo">295</span><a name="line.295"></a>
-<span class="sourceLineNo">296</span>    /**<a name="line.296"></a>
-<span class="sourceLineNo">297</span>     * Set the value of maxValue.<a 
name="line.297"></a>
-<span class="sourceLineNo">298</span>     *<a name="line.298"></a>
-<span class="sourceLineNo">299</span>     * @param maxValue  Value to assign 
to maxValue.<a name="line.299"></a>
-<span class="sourceLineNo">300</span>     */<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    public void setMaxValue(T maxValue)<a 
name="line.301"></a>
-<span class="sourceLineNo">302</span>    {<a name="line.302"></a>
-<span class="sourceLineNo">303</span>        this.maxValue = maxValue;<a 
name="line.303"></a>
-<span class="sourceLineNo">304</span>    }<a name="line.304"></a>
-<span class="sourceLineNo">305</span>}<a name="line.305"></a>
+<span class="sourceLineNo">163</span>            return number;<a 
name="line.163"></a>
+<span class="sourceLineNo">164</span>        }<a name="line.164"></a>
+<span class="sourceLineNo">165</span>        catch (ParseException e)<a 
name="line.165"></a>
+<span class="sourceLineNo">166</span>        {<a name="line.166"></a>
+<span class="sourceLineNo">167</span>            throw new 
NumberFormatException(e.getMessage());<a name="line.167"></a>
+<span class="sourceLineNo">168</span>        }<a name="line.168"></a>
+<span class="sourceLineNo">169</span>    }<a name="line.169"></a>
+<span class="sourceLineNo">170</span><a name="line.170"></a>
+<span class="sourceLineNo">171</span>    /**<a name="line.171"></a>
+<span class="sourceLineNo">172</span>     * Determine whether a field meets 
the criteria specified<a name="line.172"></a>
+<span class="sourceLineNo">173</span>     * in the constraints defined for 
this validator<a name="line.173"></a>
+<span class="sourceLineNo">174</span>     *<a name="line.174"></a>
+<span class="sourceLineNo">175</span>     * @param field a 
&lt;code&gt;Field&lt;/code&gt; to be tested<a name="line.175"></a>
+<span class="sourceLineNo">176</span>     * @throws ValidationException 
containing an error message if the<a name="line.176"></a>
+<span class="sourceLineNo">177</span>     * testValue did not pass the 
validation tests.<a name="line.177"></a>
+<span class="sourceLineNo">178</span>     */<a name="line.178"></a>
+<span class="sourceLineNo">179</span>    @Override<a name="line.179"></a>
+<span class="sourceLineNo">180</span>        public void 
assertValidity(Field&lt;T&gt; field) throws ValidationException<a 
name="line.180"></a>
+<span class="sourceLineNo">181</span>    {<a name="line.181"></a>
+<span class="sourceLineNo">182</span>        Locale locale = 
field.getLocale();<a name="line.182"></a>
+<span class="sourceLineNo">183</span><a name="line.183"></a>
+<span class="sourceLineNo">184</span>        if (field.isMultiValued())<a 
name="line.184"></a>
+<span class="sourceLineNo">185</span>        {<a name="line.185"></a>
+<span class="sourceLineNo">186</span>            String[] stringValues = 
(String[])field.getTestValue();<a name="line.186"></a>
+<span class="sourceLineNo">187</span><a name="line.187"></a>
+<span class="sourceLineNo">188</span>            for (int i = 0; i &lt; 
stringValues.length; i++)<a name="line.188"></a>
+<span class="sourceLineNo">189</span>            {<a name="line.189"></a>
+<span class="sourceLineNo">190</span>                
assertValidity(stringValues[i], locale);<a name="line.190"></a>
+<span class="sourceLineNo">191</span>            }<a name="line.191"></a>
+<span class="sourceLineNo">192</span>        }<a name="line.192"></a>
+<span class="sourceLineNo">193</span>        else<a name="line.193"></a>
+<span class="sourceLineNo">194</span>        {<a name="line.194"></a>
+<span class="sourceLineNo">195</span>            
assertValidity((String)field.getTestValue(), locale);<a name="line.195"></a>
+<span class="sourceLineNo">196</span>        }<a name="line.196"></a>
+<span class="sourceLineNo">197</span>    }<a name="line.197"></a>
+<span class="sourceLineNo">198</span><a name="line.198"></a>
+<span class="sourceLineNo">199</span>    /**<a name="line.199"></a>
+<span class="sourceLineNo">200</span>     * Determine whether a testValue 
meets the criteria specified<a name="line.200"></a>
+<span class="sourceLineNo">201</span>     * in the constraints defined for 
this validator<a name="line.201"></a>
+<span class="sourceLineNo">202</span>     *<a name="line.202"></a>
+<span class="sourceLineNo">203</span>     * @param testValue a 
&lt;code&gt;String&lt;/code&gt; to be tested<a name="line.203"></a>
+<span class="sourceLineNo">204</span>     * @param locale the Locale of the 
associated field<a name="line.204"></a>
+<span class="sourceLineNo">205</span>     * @throws ValidationException 
containing an error message if the<a name="line.205"></a>
+<span class="sourceLineNo">206</span>     * testValue did not pass the 
validation tests.<a name="line.206"></a>
+<span class="sourceLineNo">207</span>     */<a name="line.207"></a>
+<span class="sourceLineNo">208</span>    public void assertValidity(String 
testValue, Locale locale) throws ValidationException<a name="line.208"></a>
+<span class="sourceLineNo">209</span>    {<a name="line.209"></a>
+<span class="sourceLineNo">210</span>        
super.assertValidity(testValue);<a name="line.210"></a>
+<span class="sourceLineNo">211</span><a name="line.211"></a>
+<span class="sourceLineNo">212</span>        if (required || 
StringUtils.isNotEmpty(testValue))<a name="line.212"></a>
+<span class="sourceLineNo">213</span>        {<a name="line.213"></a>
+<span class="sourceLineNo">214</span>            T number = null;<a 
name="line.214"></a>
+<span class="sourceLineNo">215</span>            try<a name="line.215"></a>
+<span class="sourceLineNo">216</span>            {<a name="line.216"></a>
+<span class="sourceLineNo">217</span>                number = 
parseNumber(testValue, locale);<a name="line.217"></a>
+<span class="sourceLineNo">218</span>            }<a name="line.218"></a>
+<span class="sourceLineNo">219</span>            catch (NumberFormatException 
e)<a name="line.219"></a>
+<span class="sourceLineNo">220</span>            {<a name="line.220"></a>
+<span class="sourceLineNo">221</span>                errorMessage = 
invalidNumberMessage;<a name="line.221"></a>
+<span class="sourceLineNo">222</span>                throw new 
ValidationException(invalidNumberMessage);<a name="line.222"></a>
+<span class="sourceLineNo">223</span>            }<a name="line.223"></a>
+<span class="sourceLineNo">224</span><a name="line.224"></a>
+<span class="sourceLineNo">225</span>            if (minValue != null 
&amp;&amp; number.doubleValue() &lt; minValue.doubleValue())<a 
name="line.225"></a>
+<span class="sourceLineNo">226</span>            {<a name="line.226"></a>
+<span class="sourceLineNo">227</span>                errorMessage = 
minValueMessage;<a name="line.227"></a>
+<span class="sourceLineNo">228</span>                throw new 
ValidationException(minValueMessage);<a name="line.228"></a>
+<span class="sourceLineNo">229</span>            }<a name="line.229"></a>
+<span class="sourceLineNo">230</span>            if (maxValue != null 
&amp;&amp; number.doubleValue() &gt; maxValue.doubleValue())<a 
name="line.230"></a>
+<span class="sourceLineNo">231</span>            {<a name="line.231"></a>
+<span class="sourceLineNo">232</span>                errorMessage = 
maxValueMessage;<a name="line.232"></a>
+<span class="sourceLineNo">233</span>                throw new 
ValidationException(maxValueMessage);<a name="line.233"></a>
+<span class="sourceLineNo">234</span>            }<a name="line.234"></a>
+<span class="sourceLineNo">235</span>        }<a name="line.235"></a>
+<span class="sourceLineNo">236</span>    }<a name="line.236"></a>
+<span class="sourceLineNo">237</span><a name="line.237"></a>
+<span class="sourceLineNo">238</span>    // 
************************************************************<a 
name="line.238"></a>
+<span class="sourceLineNo">239</span>    // **                Bean accessor 
methods                   **<a name="line.239"></a>
+<span class="sourceLineNo">240</span>    // 
************************************************************<a 
name="line.240"></a>
+<span class="sourceLineNo">241</span><a name="line.241"></a>
+<span class="sourceLineNo">242</span>    /**<a name="line.242"></a>
+<span class="sourceLineNo">243</span>     * Get the value of 
minValueMessage.<a name="line.243"></a>
+<span class="sourceLineNo">244</span>     *<a name="line.244"></a>
+<span class="sourceLineNo">245</span>     * @return value of 
minValueMessage.<a name="line.245"></a>
+<span class="sourceLineNo">246</span>     */<a name="line.246"></a>
+<span class="sourceLineNo">247</span>    public String getMinValueMessage()<a 
name="line.247"></a>
+<span class="sourceLineNo">248</span>    {<a name="line.248"></a>
+<span class="sourceLineNo">249</span>        return minValueMessage;<a 
name="line.249"></a>
+<span class="sourceLineNo">250</span>    }<a name="line.250"></a>
+<span class="sourceLineNo">251</span><a name="line.251"></a>
+<span class="sourceLineNo">252</span>    /**<a name="line.252"></a>
+<span class="sourceLineNo">253</span>     * Set the value of 
minValueMessage.<a name="line.253"></a>
+<span class="sourceLineNo">254</span>     *<a name="line.254"></a>
+<span class="sourceLineNo">255</span>     * @param minValueMessage  Value to 
assign to minValueMessage.<a name="line.255"></a>
+<span class="sourceLineNo">256</span>     */<a name="line.256"></a>
+<span class="sourceLineNo">257</span>    public void setMinValueMessage(String 
minValueMessage)<a name="line.257"></a>
+<span class="sourceLineNo">258</span>    {<a name="line.258"></a>
+<span class="sourceLineNo">259</span>        this.minValueMessage = 
minValueMessage;<a name="line.259"></a>
+<span class="sourceLineNo">260</span>    }<a name="line.260"></a>
+<span class="sourceLineNo">261</span><a name="line.261"></a>
+<span class="sourceLineNo">262</span>    /**<a name="line.262"></a>
+<span class="sourceLineNo">263</span>     * Get the value of 
maxValueMessage.<a name="line.263"></a>
+<span class="sourceLineNo">264</span>     *<a name="line.264"></a>
+<span class="sourceLineNo">265</span>     * @return value of 
maxValueMessage.<a name="line.265"></a>
+<span class="sourceLineNo">266</span>     */<a name="line.266"></a>
+<span class="sourceLineNo">267</span>    public String getMaxValueMessage()<a 
name="line.267"></a>
+<span class="sourceLineNo">268</span>    {<a name="line.268"></a>
+<span class="sourceLineNo">269</span>        return maxValueMessage;<a 
name="line.269"></a>
+<span class="sourceLineNo">270</span>    }<a name="line.270"></a>
+<span class="sourceLineNo">271</span><a name="line.271"></a>
+<span class="sourceLineNo">272</span>    /**<a name="line.272"></a>
+<span class="sourceLineNo">273</span>     * Set the value of 
maxValueMessage.<a name="line.273"></a>
+<span class="sourceLineNo">274</span>     *<a name="line.274"></a>
+<span class="sourceLineNo">275</span>     * @param maxValueMessage  Value to 
assign to maxValueMessage.<a name="line.275"></a>
+<span class="sourceLineNo">276</span>     */<a name="line.276"></a>
+<span class="sourceLineNo">277</span>    public void setMaxValueMessage(String 
maxValueMessage)<a name="line.277"></a>
+<span class="sourceLineNo">278</span>    {<a name="line.278"></a>
+<span class="sourceLineNo">279</span>        this.maxValueMessage = 
maxValueMessage;<a name="line.279"></a>
+<span class="sourceLineNo">280</span>    }<a name="line.280"></a>
+<span class="sourceLineNo">281</span><a name="line.281"></a>
+<span class="sourceLineNo">282</span>    /**<a name="line.282"></a>
+<span class="sourceLineNo">283</span>     * Get the value of 
invalidNumberMessage.<a name="line.283"></a>
+<span class="sourceLineNo">284</span>     *<a name="line.284"></a>
+<span class="sourceLineNo">285</span>     * @return value of 
invalidNumberMessage.<a name="line.285"></a>
+<span class="sourceLineNo">286</span>     */<a name="line.286"></a>
+<span class="sourceLineNo">287</span>    public String 
getInvalidNumberMessage()<a name="line.287"></a>
+<span class="sourceLineNo">288</span>    {<a name="line.288"></a>
+<span class="sourceLineNo">289</span>        return invalidNumberMessage;<a 
name="line.289"></a>
+<span class="sourceLineNo">290</span>    }<a name="line.290"></a>
+<span class="sourceLineNo">291</span><a name="line.291"></a>
+<span class="sourceLineNo">292</span>    /**<a name="line.292"></a>
+<span class="sourceLineNo">293</span>     *<a name="line.293"></a>
+<span class="sourceLineNo">294</span>     * Set the value of 
invalidNumberMessage.<a name="line.294"></a>
+<span class="sourceLineNo">295</span>     * @param invalidNumberMessage  Value 
to assign to invalidNumberMessage.<a name="line.295"></a>
+<span class="sourceLineNo">296</span>     */<a name="line.296"></a>
+<span class="sourceLineNo">297</span>    public void 
setInvalidNumberMessage(String invalidNumberMessage)<a name="line.297"></a>
+<span class="sourceLineNo">298</span>    {<a name="line.298"></a>
+<span class="sourceLineNo">299</span>        this.invalidNumberMessage = 
invalidNumberMessage;<a name="line.299"></a>
+<span class="sourceLineNo">300</span>    }<a name="line.300"></a>
+<span class="sourceLineNo">301</span><a name="line.301"></a>
+<span class="sourceLineNo">302</span>    /**<a name="line.302"></a>
+<span class="sourceLineNo">303</span>     * Get the value of minValue.<a 
name="line.303"></a>
+<span class="sourceLineNo">304</span>     *<a name="line.304"></a>
+<span class="sourceLineNo">305</span>     * @return value of minValue.<a 
name="line.305"></a>
+<span class="sourceLineNo">306</span>     */<a name="line.306"></a>
+<span class="sourceLineNo">307</span>    public T getMinValue()<a 
name="line.307"></a>
+<span class="sourceLineNo">308</span>    {<a name="line.308"></a>
+<span class="sourceLineNo">309</span>        return minValue;<a 
name="line.309"></a>
+<span class="sourceLineNo">310</span>    }<a name="line.310"></a>
+<span class="sourceLineNo">311</span><a name="line.311"></a>
+<span class="sourceLineNo">312</span>    /**<a name="line.312"></a>
+<span class="sourceLineNo">313</span>     * Set the value of minValue.<a 
name="line.313"></a>
+<span class="sourceLineNo">314</span>     *<a name="line.314"></a>
+<span class="sourceLineNo">315</span>     * @param minValue  Value to assign 
to minValue.<a name="line.315"></a>
+<span class="sourceLineNo">316</span>     */<a name="line.316"></a>
+<span class="sourceLineNo">317</span>    public void setMinValue(T minValue)<a 
name="line.317"></a>
+<span class="sourceLineNo">318</span>    {<a name="line.318"></a>
+<span class="sourceLineNo">319</span>        this.minValue = minValue;<a 
name="line.319"></a>
+<span class="sourceLineNo">320</span>    }<a name="line.320"></a>
+<span class="sourceLineNo">321</span><a name="line.321"></a>
+<span class="sourceLineNo">322</span>    /**<a name="line.322"></a>
+<span class="sourceLineNo">323</span>     * Get the value of maxValue.<a 
name="line.323"></a>
+<span class="sourceLineNo">324</span>     *<a name="line.324"></a>
+<span class="sourceLineNo">325</span>     * @return value of maxValue.<a 
name="line.325"></a>
+<span class="sourceLineNo">326</span>     */<a name="line.326"></a>
+<span class="sourceLineNo">327</span>    public T getMaxValue()<a 
name="line.327"></a>
+<span class="sourceLineNo">328</span>    {<a name="line.328"></a>
+<span class="sourceLineNo">329</span>        return maxValue;<a 
name="line.329"></a>
+<span class="sourceLineNo">330</span>    }<a name="line.330"></a>
+<span class="sourceLineNo">331</span><a name="line.331"></a>
+<span class="sourceLineNo">332</span>    /**<a name="line.332"></a>
+<span class="sourceLineNo">333</span>     * Set the value of maxValue.<a 
name="line.333"></a>
+<span class="sourceLineNo">334</span>     *<a name="line.334"></a>
+<span class="sourceLineNo">335</span>     * @param maxValue  Value to assign 
to maxValue.<a name="line.335"></a>
+<span class="sourceLineNo">336</span>     */<a name="line.336"></a>
+<span class="sourceLineNo">337</span>    public void setMaxValue(T maxValue)<a 
name="line.337"></a>
+<span class="sourceLineNo">338</span>    {<a name="line.338"></a>
+<span class="sourceLineNo">339</span>        this.maxValue = maxValue;<a 
name="line.339"></a>
+<span class="sourceLineNo">340</span>    }<a name="line.340"></a>
+<span class="sourceLineNo">341</span>}<a name="line.341"></a>
 
 
 

Modified: 
websites/production/turbine/content/fulcrum/fulcrum-intake/changes-report.html
==============================================================================
--- 
websites/production/turbine/content/fulcrum/fulcrum-intake/changes-report.html 
(original)
+++ 
websites/production/turbine/content/fulcrum/fulcrum-intake/changes-report.html 
Sun Feb 11 17:30:40 2018
@@ -184,174 +184,178 @@
 <th>Changes</th>
 <th>By</th></tr>
 <tr class="a">
-<td><img src="images/update.gif" alt="Update" title="Update" /></td>
-<td>Update dependencies commons-lang3, commons-pool2</td>
+<td><img src="images/fix.gif" alt="Fix" title="Fix" /></td>
+<td>Intake's Validator and the BaseValueParser don't parse inputs the same way 
Fixes <a class="externalLink" 
href="http://issues.apache.org/jira/browse/TRB-94";>TRB-94</a>. Thanks to Tilo 
Villwock.</td>
 <td><a href="team-list.html#tv">tv</a></td></tr>
 <tr class="b">
+<td><img src="images/update.gif" alt="Update" title="Update" /></td>
+<td>Update dependencies commons-lang3 3.5, commons-pool2 2.5.0</td>
+<td><a href="team-list.html#tv">tv</a></td></tr>
+<tr class="a">
 <td><img src="images/fix.gif" alt="Fix" title="Fix" /></td>
 <td>Fix FileNotFoundException during parallel deployment with Tomcat</td>
 <td><a href="team-list.html#painter">painter</a></td></tr></table></div>
 <div class="section">
 <h3 id="a1.2.2">Release 1.2.2 &#x2013; 2016-12-07</h3>
 <table border="0" class="bodyTable">
-<tr class="a">
+<tr class="b">
 <th>Type</th>
 <th>Changes</th>
 <th>By</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/update.gif" alt="Update" title="Update" /></td>
 <td>Move all post-processing to afterUnmarshal(), privatize a number of 
fields</td>
 <td><a href="team-list.html#tv">tv</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/fix.gif" alt="Fix" title="Fix" /></td>
 <td>Fix modified JAXB parsing with Java 8</td>
 <td><a href="team-list.html#gk">gk</a></td></tr></table></div>
 <div class="section">
 <h3 id="a1.2.1">Release 1.2.1 &#x2013; 2016-08-27</h3>
 <table border="0" class="bodyTable">
-<tr class="b">
+<tr class="a">
 <th>Type</th>
 <th>Changes</th>
 <th>By</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/fix.gif" alt="Fix" title="Fix" /></td>
 <td>Fix sizing of group pool</td>
 <td><a href="team-list.html#tv">tv</a></td></tr></table></div>
 <div class="section">
 <h3 id="a1.2.0">Release 1.2.0 &#x2013; 2015-04-18</h3>
 <table border="0" class="bodyTable">
-<tr class="b">
+<tr class="a">
 <th>Type</th>
 <th>Changes</th>
 <th>By</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/add.gif" alt="Add" title="Add" /></td>
 <td>Add validation tests</td>
 <td><a href="team-list.html#tv">tv</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/fix.gif" alt="Fix" title="Fix" /></td>
 <td>Fix parsing of numbers, improve test</td>
 <td><a href="team-list.html#tv">tv</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/update.gif" alt="Update" title="Update" /></td>
 <td>Move to Avalon logging all over the place</td>
 <td><a href="team-list.html#tv">tv</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/update.gif" alt="Update" title="Update" /></td>
 <td>Move to JAXB for parsing and object mapping.</td>
 <td><a href="team-list.html#tv">tv</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/add.gif" alt="Add" title="Add" /></td>
 <td>Add Intake schema derived from DTD</td>
 <td><a href="team-list.html#tv">tv</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/update.gif" alt="Update" title="Update" /></td>
 <td>Derive from Turbine parent POM 3</td>
 <td><a href="team-list.html#tv">tv</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/update.gif" alt="Update" title="Update" /></td>
 <td>Update dependency servlet-api to 2.5</td>
 <td><a href="team-list.html#tv">tv</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/update.gif" alt="Update" title="Update" /></td>
 <td>Update dependency commons-lang to 2.6</td>
 <td><a href="team-list.html#tv">tv</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/update.gif" alt="Update" title="Update" /></td>
 <td>Update dependency commons-logging to 1.1.3</td>
 <td><a href="team-list.html#tv">tv</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/update.gif" alt="Update" title="Update" /></td>
 <td>Update dependency commons-pool to 2.3</td>
 <td><a href="team-list.html#tv">tv</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/update.gif" alt="Update" title="Update" /></td>
 <td>Update dependency fulcrum-parser to 1.0.3</td>
 <td><a href="team-list.html#tv">tv</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/update.gif" alt="Update" title="Update" /></td>
 <td>Update dependency fulcrum-upload to 1.0.5</td>
 <td><a href="team-list.html#tv">tv</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/update.gif" alt="Update" title="Update" /></td>
 <td>Introduce JDK 1.5 Generics</td>
 <td><a href="team-list.html#tv">tv</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/fix.gif" alt="Fix" title="Fix" /></td>
 <td>Groups were not initialized correctly from a parser.</td>
 <td><a href="team-list.html#tv">tv</a></td></tr></table></div>
 <div class="section">
 <h3 id="a1.0.6">Release 1.0.6 &#x2013; 2009-11-02</h3>
 <table border="0" class="bodyTable">
-<tr class="a">
+<tr class="b">
 <th>Type</th>
 <th>Changes</th>
 <th>By</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/fix.gif" alt="Fix" title="Fix" /></td>
 <td>Catch only Exceptions that are actually thrown.</td>
 <td><a href="team-list.html#tv">tv</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/fix.gif" alt="Fix" title="Fix" /></td>
 <td>Intake won't use interfaces for the mapTo() method. Fixes <a 
class="externalLink" 
href="http://issues.apache.org/jira/browse/TRB-11";>TRB-11</a>. Thanks to Evan 
Koffler.</td>
 <td><a href="team-list.html#tv">tv</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/fix.gif" alt="Fix" title="Fix" /></td>
 <td>The number validators did not set an invalid number message when 
initialized with
         the default constructor Fixes <a class="externalLink" 
href="http://issues.apache.org/jira/browse/TRB-74";>TRB-74</a>. Thanks to Susi 
Berrington.</td>
 <td><a href="team-list.html#tv">tv</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/remove.gif" alt="Remove" title="Remove" /></td>
 <td>Removed the Intake class. It was duplicating the IntakeServiceFacade.</td>
 <td><a href="team-list.html#tv">tv</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/update.gif" alt="Update" title="Update" /></td>
 <td>Moved the initialization code of the service implementation to 
initialize()</td>
 <td><a href="team-list.html#tv">tv</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/fix.gif" alt="Fix" title="Fix" /></td>
 <td>Intake did not correctly parse the message of a rule or required-message 
from intake.xml Fixes <a class="externalLink" 
href="http://issues.apache.org/jira/browse/TRB-68";>TRB-68</a>. Thanks to Ronny 
Voelker.</td>
 <td><a href="team-list.html#tv">tv</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/update.gif" alt="Update" title="Update" /></td>
 <td>Removed the dependency on ORO by replacing the regular expression handling
         with java.util.regexp. This might have slight implications on the 
regexp
         syntax.</td>
 <td><a href="team-list.html#tv">tv</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/update.gif" alt="Update" title="Update" /></td>
 <td>Use the localize features of the parser to simplify the value assignment
         in Intake fields. Made handling of empty values consistent over all 
number
         field types.</td>
 <td><a href="team-list.html#tv">tv</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/update.gif" alt="Update" title="Update" /></td>
 <td>Updated locale handling to use the new localized parameter parser. This
         removes the dependency from LocalizationService</td>
 <td><a href="team-list.html#tv">tv</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/add.gif" alt="Add" title="Add" /></td>
 <td>Added locale handling to Intake, added user-defined field types.</td>
 <td><a href="team-list.html#tv">tv</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/update.gif" alt="Update" title="Update" /></td>
 <td>Intake now handles the case where the mapToObject does not map to all
         fields in the group. Fixes <a class="externalLink" 
href="http://issues.apache.org/jira/browse/TRB-9";>TRB-9</a>. Thanks to 
J&#xfc;rgen Hoffmann.</td>
 <td><a href="team-list.html#seade">seade</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/fix.gif" alt="Fix" title="Fix" /></td>
 <td>Intake was not handling empty values correctly. Fixes <a 
class="externalLink" 
href="http://issues.apache.org/jira/browse/TRB-9";>TRB-9</a>. Thanks to 
J&#xfc;rgen Hoffmann.</td>
 <td><a href="team-list.html#seade">seade</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/fix.gif" alt="Fix" title="Fix" /></td>
 <td>Intake was not loading the correct Default Validators when the rules for
        a field are empty. Fixes <a class="externalLink" 
href="http://issues.apache.org/jira/browse/TRB-14";>TRB-14</a>. Thanks to 
J&#xfc;rgen Hoffmann.</td>
 <td><a href="team-list.html#seade">seade</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/update.gif" alt="Update" title="Update" /></td>
 <td>Update to Apache License 2.0</td>
 <td><a href="team-list.html#epugh">epugh</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/update.gif" alt="Update" title="Update" /></td>
 <td>Use inherited getLogger() instead of Log in classes
        extending AbstractLogEnabled.</td>
@@ -359,39 +363,39 @@
 <div class="section">
 <h3 id="a1.0-alpha-2">Release 1.0-alpha-2 &#x2013; 02-16-2004</h3>
 <table border="0" class="bodyTable">
-<tr class="a">
+<tr class="b">
 <th>Type</th>
 <th>Changes</th>
 <th>By</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/update.gif" alt="Update" title="Update" /></td>
 <td>Merlinized component</td>
 <td><a href="team-list.html#epugh">epugh</a></td></tr></table></div>
 <div class="section">
 <h3 id="a1.0-alpha-1">Release 1.0-alpha-1 &#x2013; 11-15-2003</h3>
 <table border="0" class="bodyTable">
-<tr class="a">
+<tr class="b">
 <th>Type</th>
 <th>Changes</th>
 <th>By</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/remove.gif" alt="Remove" title="Remove" /></td>
 <td>Remove Intake Pull Tool.  It should I think be part of Turbine as it is
        very Turbine specific right now.  I am trying to remove all Turbine 
requirements
        for Intake.</td>
 <td><a href="team-list.html#epugh">epugh</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/add.gif" alt="Add" title="Add" /></td>
 <td>Added the Intake class which is a facade to the underlying 
IntakeService.</td>
 <td><a href="team-list.html#epugh">epugh</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/fix.gif" alt="Fix" title="Fix" /></td>
 <td>The intake validators were fixed so that fields with required=false
        rules no longer attempt to execute the remaining rules when no
        input is provided.  A minLength &gt; 0 rule is no longer synonymous
        with required=true.  Patch originally supplied by Colin Chalmers</td>
 <td><a href="team-list.html#epugh">epugh</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/fix.gif" alt="Fix" title="Fix" /></td>
 <td>Intake was fixed so that DateString will use the &quot;formatn&quot; 
(where n
        &gt;= 1) rules to parse the input and then the &quot;format&quot; rule 
to format
@@ -401,7 +405,7 @@
        $group.foo.StringValue rather than $group.foo.Value
        (you can do this for all values, not just DateString).</td>
 <td><a href="team-list.html#seade">seade</a></td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/fix.gif" alt="Fix" title="Fix" /></td>
 <td>Intake now makes use of the the emptyValue attribute from the field
        elements when mapping from the group to the object when no value has
@@ -413,7 +417,7 @@
        setting it to the appropriate value (it shouldn't be in the group
        anyway).</td>
 <td><a href="team-list.html#seade">seade</a></td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/fix.gif" alt="Fix" title="Fix" /></td>
 <td>Fixed the intake DateString flexible rule so that it applies to the
        format rules and not just to the default locale format.</td>

Modified: 
websites/production/turbine/content/fulcrum/fulcrum-intake/cobertura/frame-sourcefiles-org.apache.fulcrum.intake.validator.html
==============================================================================
--- 
websites/production/turbine/content/fulcrum/fulcrum-intake/cobertura/frame-sourcefiles-org.apache.fulcrum.intake.validator.html
 (original)
+++ 
websites/production/turbine/content/fulcrum/fulcrum-intake/cobertura/frame-sourcefiles-org.apache.fulcrum.intake.validator.html
 Sun Feb 11 17:30:40 2018
@@ -63,7 +63,7 @@ org.apache.fulcrum.intake.validator
 <td nowrap="nowrap"><a target="summary" 
href="org.apache.fulcrum.intake.validator.LongValidator.html">LongValidator</a> 
<i>(100%)</i></td>
 </tr>
 <tr>
-<td nowrap="nowrap"><a target="summary" 
href="org.apache.fulcrum.intake.validator.NumberValidator.html">NumberValidator</a>
 <i>(71%)</i></td>
+<td nowrap="nowrap"><a target="summary" 
href="org.apache.fulcrum.intake.validator.NumberValidator.html">NumberValidator</a>
 <i>(74%)</i></td>
 </tr>
 <tr>
 <td nowrap="nowrap"><a target="summary" 
href="org.apache.fulcrum.intake.validator.ShortValidator.html">ShortValidator</a>
 <i>(100%)</i></td>

Modified: 
websites/production/turbine/content/fulcrum/fulcrum-intake/cobertura/frame-sourcefiles.html
==============================================================================
--- 
websites/production/turbine/content/fulcrum/fulcrum-intake/cobertura/frame-sourcefiles.html
 (original)
+++ 
websites/production/turbine/content/fulcrum/fulcrum-intake/cobertura/frame-sourcefiles.html
 Sun Feb 11 17:30:40 2018
@@ -117,7 +117,7 @@ All Packages
 <td nowrap="nowrap"><a target="summary" 
href="org.apache.fulcrum.intake.validator.LongValidator.html">LongValidator</a> 
<i>(100%)</i></td>
 </tr>
 <tr>
-<td nowrap="nowrap"><a target="summary" 
href="org.apache.fulcrum.intake.validator.NumberValidator.html">NumberValidator</a>
 <i>(71%)</i></td>
+<td nowrap="nowrap"><a target="summary" 
href="org.apache.fulcrum.intake.validator.NumberValidator.html">NumberValidator</a>
 <i>(74%)</i></td>
 </tr>
 <tr>
 <td nowrap="nowrap"><a target="summary" 
href="org.apache.fulcrum.intake.Retrievable.html">Retrievable</a> 
<i>(N/A)</i></td>

Modified: 
websites/production/turbine/content/fulcrum/fulcrum-intake/cobertura/frame-summary-org.apache.fulcrum.intake.html
==============================================================================
--- 
websites/production/turbine/content/fulcrum/fulcrum-intake/cobertura/frame-summary-org.apache.fulcrum.intake.html
 (original)
+++ 
websites/production/turbine/content/fulcrum/fulcrum-intake/cobertura/frame-summary-org.apache.fulcrum.intake.html
 Sun Feb 11 17:30:40 2018
@@ -18,7 +18,7 @@
 <tbody>
   <tr><td><a href="frame-summary-org.apache.fulcrum.intake.html" 
onclick='parent.sourceFileList.location.href="frame-sourcefiles-org.apache.fulcrum.intake.html"'>org.apache.fulcrum.intake</a></td><td
 class="value">9</td><td><table cellpadding="0px" cellspacing="0px" 
class="percentgraph"><tr class="percentgraph"><td align="right" 
class="percentgraph" width="40">68%</td><td class="percentgraph"><div 
class="percentgraph"><div class="greenbar" style="width:68px"><span 
class="text">223/324</span></div></div></td></tr></table></td><td><table 
cellpadding="0px" cellspacing="0px" class="percentgraph"><tr 
class="percentgraph"><td align="right" class="percentgraph" 
width="40">59%</td><td class="percentgraph"><div class="percentgraph"><div 
class="greenbar" style="width:59px"><span 
class="text">65/110</span></div></div></td></tr></table></td><td 
class="value"><span class="hidden">2.6530612244897958;</span>2.653</td></tr>
   <tr><td><a href="frame-summary-org.apache.fulcrum.intake.model.html" 
onclick='parent.sourceFileList.location.href="frame-sourcefiles-org.apache.fulcrum.intake.model.html"'>org.apache.fulcrum.intake.model</a></td><td
 class="value">30</td><td><table cellpadding="0px" cellspacing="0px" 
class="percentgraph"><tr class="percentgraph"><td align="right" 
class="percentgraph" width="40">45%</td><td class="percentgraph"><div 
class="percentgraph"><div class="greenbar" style="width:45px"><span 
class="text">420/915</span></div></div></td></tr></table></td><td><table 
cellpadding="0px" cellspacing="0px" class="percentgraph"><tr 
class="percentgraph"><td align="right" class="percentgraph" 
width="40">27%</td><td class="percentgraph"><div class="percentgraph"><div 
class="greenbar" style="width:27px"><span 
class="text">120/432</span></div></div></td></tr></table></td><td 
class="value"><span class="hidden">2.4642857142857144;</span>2.464</td></tr>
-  <tr><td><a href="frame-summary-org.apache.fulcrum.intake.validator.html" 
onclick='parent.sourceFileList.location.href="frame-sourcefiles-org.apache.fulcrum.intake.validator.html"'>org.apache.fulcrum.intake.validator</a></td><td
 class="value">26</td><td><table cellpadding="0px" cellspacing="0px" 
class="percentgraph"><tr class="percentgraph"><td align="right" 
class="percentgraph" width="40">73%</td><td class="percentgraph"><div 
class="percentgraph"><div class="greenbar" style="width:73px"><span 
class="text">344/471</span></div></div></td></tr></table></td><td><table 
cellpadding="0px" cellspacing="0px" class="percentgraph"><tr 
class="percentgraph"><td align="right" class="percentgraph" 
width="40">62%</td><td class="percentgraph"><div class="percentgraph"><div 
class="greenbar" style="width:62px"><span 
class="text">107/170</span></div></div></td></tr></table></td><td 
class="value"><span class="hidden">2.2476190476190476;</span>2.248</td></tr>
+  <tr><td><a href="frame-summary-org.apache.fulcrum.intake.validator.html" 
onclick='parent.sourceFileList.location.href="frame-sourcefiles-org.apache.fulcrum.intake.validator.html"'>org.apache.fulcrum.intake.validator</a></td><td
 class="value">26</td><td><table cellpadding="0px" cellspacing="0px" 
class="percentgraph"><tr class="percentgraph"><td align="right" 
class="percentgraph" width="40">73%</td><td class="percentgraph"><div 
class="percentgraph"><div class="greenbar" style="width:73px"><span 
class="text">345/472</span></div></div></td></tr></table></td><td><table 
cellpadding="0px" cellspacing="0px" class="percentgraph"><tr 
class="percentgraph"><td align="right" class="percentgraph" 
width="40">63%</td><td class="percentgraph"><div class="percentgraph"><div 
class="greenbar" style="width:63px"><span 
class="text">109/172</span></div></div></td></tr></table></td><td 
class="value"><span class="hidden">2.19811320754717;</span>2.198</td></tr>
 </tbody>
 </table>
 <script type="text/javascript">
@@ -53,6 +53,6 @@ var classTable = new SortableTable(docum
     ["String", "Percentage", "Percentage", "FormattedNumber"]);
 classTable.sort(0);
 </script>
-<div class="footer">Report generated by <a 
href="http://cobertura.sourceforge.net/"; target="_top">Cobertura</a> 2.0.3 on 
2/11/18 4:36 PM.</div>
+<div class="footer">Report generated by <a 
href="http://cobertura.sourceforge.net/"; target="_top">Cobertura</a> 2.0.3 on 
2/11/18 6:29 PM.</div>
 </body>
 </html>
\ No newline at end of file

Modified: 
websites/production/turbine/content/fulcrum/fulcrum-intake/cobertura/frame-summary-org.apache.fulcrum.intake.model.html
==============================================================================
--- 
websites/production/turbine/content/fulcrum/fulcrum-intake/cobertura/frame-summary-org.apache.fulcrum.intake.model.html
 (original)
+++ 
websites/production/turbine/content/fulcrum/fulcrum-intake/cobertura/frame-summary-org.apache.fulcrum.intake.model.html
 Sun Feb 11 17:30:40 2018
@@ -82,6 +82,6 @@ var classTable = new SortableTable(docum
     ["String", "Percentage", "Percentage", "FormattedNumber"]);
 classTable.sort(0);
 </script>
-<div class="footer">Report generated by <a 
href="http://cobertura.sourceforge.net/"; target="_top">Cobertura</a> 2.0.3 on 
2/11/18 4:36 PM.</div>
+<div class="footer">Report generated by <a 
href="http://cobertura.sourceforge.net/"; target="_top">Cobertura</a> 2.0.3 on 
2/11/18 6:29 PM.</div>
 </body>
 </html>
\ No newline at end of file


Reply via email to