On 11/08/2016 08:28 AM, [email protected] 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: [email protected]
For additional commands, e-mail: [email protected]