diff --git a/logstash-core/src/main/java/org/logstash/Valuefier.java b/logstash-core/src/main/java/org/logstash/Valuefier.java index 85ee9a74b9..bfe71ec03e 100644 --- a/logstash-core/src/main/java/org/logstash/Valuefier.java +++ b/logstash-core/src/main/java/org/logstash/Valuefier.java @@ -2,6 +2,7 @@ import java.math.BigDecimal; import java.math.BigInteger; +import java.util.Date; import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; @@ -122,6 +123,8 @@ private static Map, Valuefier.Converter> initConverters() { ); converters.put(Long.class, LONG_CONVERTER); converters.put(Integer.class, LONG_CONVERTER); + converters.put(Short.class, LONG_CONVERTER); + converters.put(Byte.class, LONG_CONVERTER); converters.put(Boolean.class, input -> RubyUtil.RUBY.newBoolean((Boolean) input)); converters.put( Timestamp.class, @@ -139,6 +142,11 @@ RubyUtil.RUBY, new Timestamp(((RubyTime) input).getDateTime()) RubyUtil.RUBY, new Timestamp((DateTime) input) ) ); + converters.put( + Date.class, input -> JrubyTimestampExtLibrary.RubyTimestamp.newRubyTimestamp( + RubyUtil.RUBY, new Timestamp((Date) input) + ) + ); converters.put(RubyHash.class, input -> ConvertedMap.newFromRubyHash((RubyHash) input)); converters.put(Map.class, input -> ConvertedMap.newFromMap((Map) input)); converters.put(List.class, input -> ConvertedList.newFromList((List) input));