On 11/08/2016 08:28 AM, cbris...@apache.org wrote:
> Author: cbrisson
> Date: Tue Nov  8 13:28:42 2016
> New Revision: 1768687
> 
> URL: http://svn.apache.org/viewvc?rev=1768687&view=rev
> Log:
> [engine] fix conversions towards Number, and handle widening boxed 
> conversions as well
> 
> Modified:
>     
> velocity/engine/trunk/velocity-engine-core/src/main/java/org/apache/velocity/util/introspection/ConversionHandlerImpl.java
>     
> velocity/engine/trunk/velocity-engine-core/src/main/java/org/apache/velocity/util/introspection/IntrospectionUtils.java
>     
> velocity/engine/trunk/velocity-engine-core/src/test/java/org/apache/velocity/test/util/introspection/ConversionHandlerTestCase.java
>     
> velocity/engine/trunk/velocity-engine-core/src/test/resources/conversion/compare/matrix.cmp
>     
> velocity/engine/trunk/velocity-engine-core/src/test/resources/conversion/matrix.vhtml
> 
> Modified: 
> velocity/engine/trunk/velocity-engine-core/src/main/java/org/apache/velocity/util/introspection/ConversionHandlerImpl.java
> URL: 
> http://svn.apache.org/viewvc/velocity/engine/trunk/velocity-engine-core/src/main/java/org/apache/velocity/util/introspection/ConversionHandlerImpl.java?rev=1768687&r1=1768686&r2=1768687&view=diff
> ==============================================================================
> --- 
> velocity/engine/trunk/velocity-engine-core/src/main/java/org/apache/velocity/util/introspection/ConversionHandlerImpl.java
>  (original)
> +++ 
> velocity/engine/trunk/velocity-engine-core/src/main/java/org/apache/velocity/util/introspection/ConversionHandlerImpl.java
>  Tue Nov  8 13:28:42 2016
> @@ -278,7 +348,26 @@ public class ConversionHandlerImpl imple
>              }
>          };
>          standardConverterMap.put(new Pair<>(Float.class, Double.class), 
> narrowingToFloat);
> +        standardConverterMap.put(new Pair<>(Float.class, Double.TYPE), 
> narrowingToFloat);
>          standardConverterMap.put(new Pair<>(Float.TYPE, Double.class), 
> narrowingToFloat);
> +        standardConverterMap.put(new Pair<>(Float.TYPE, Double.TYPE), 
> narrowingToFloat);
> +
> +        /* exact towards Float */

Nitpicking: this isn't exact, Long and Integer require more bits than
Float has to offer.

> +        Converter<Float> toFloat = new Converter<Float>()
> +        {
> +            @Override
> +            public Float convert(Object o)
> +            {
> +                if (o == null) return null;
> +                return ((Number) o).floatValue();
> +            }
> +        };
> +        standardConverterMap.put(new Pair<>(Float.class, Short.class), 
> toFloat);
> +        standardConverterMap.put(new Pair<>(Float.class, Integer.class), 
> toFloat);
> +        standardConverterMap.put(new Pair<>(Float.class, Long.class), 
> toFloat);
> +        standardConverterMap.put(new Pair<>(Float.class, Short.TYPE), 
> toFloat);
> +        standardConverterMap.put(new Pair<>(Float.class, Integer.TYPE), 
> toFloat);
> +        standardConverterMap.put(new Pair<>(Float.class, Long.TYPE), 
> toFloat);
>  
>          /* string to float */
>          Converter<Float> stringToFloat = new Converter<Float>()


-- 
Sergiu Dumitriu
http://purl.org/net/sergiu

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@velocity.apache.org
For additional commands, e-mail: dev-h...@velocity.apache.org

Reply via email to