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