You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by da...@apache.org on 2017/03/10 16:15:51 UTC
svn commit: r1786376 - in
/felix/trunk/converter/converter/src/main/java/org/apache/felix/converter/impl:
ConverterImpl.java ConvertingImpl.java
Author: davidb
Date: Fri Mar 10 16:15:51 2017
New Revision: 1786376
URL: http://svn.apache.org/viewvc?rev=1786376&view=rev
Log:
Felix Converter - support Date <-> Long conversions
Also fixed an issue in which sometimes objects were considered as JavaBeans when they shouldn't have.
Modified:
felix/trunk/converter/converter/src/main/java/org/apache/felix/converter/impl/ConverterImpl.java
felix/trunk/converter/converter/src/main/java/org/apache/felix/converter/impl/ConvertingImpl.java
Modified: felix/trunk/converter/converter/src/main/java/org/apache/felix/converter/impl/ConverterImpl.java
URL: http://svn.apache.org/viewvc/felix/trunk/converter/converter/src/main/java/org/apache/felix/converter/impl/ConverterImpl.java?rev=1786376&r1=1786375&r2=1786376&view=diff
==============================================================================
--- felix/trunk/converter/converter/src/main/java/org/apache/felix/converter/impl/ConverterImpl.java (original)
+++ felix/trunk/converter/converter/src/main/java/org/apache/felix/converter/impl/ConverterImpl.java Fri Mar 10 16:15:51 2017
@@ -50,6 +50,7 @@ public class ConverterImpl implements In
v -> v.length() > 0 ? v.charAt(0) : 0);
cb.rule(Class.class, String.class, Class::toString,
this::loadClassUnchecked);
+ cb.rule(Date.class, Long.class, d -> d.getTime(), l -> new Date(l));
cb.rule(Date.class, String.class, v -> v.toInstant().toString(),
v -> Date.from(Instant.parse(v)));
cb.rule(Double.class, String.class, v -> v.toString(), Double::parseDouble);
Modified: felix/trunk/converter/converter/src/main/java/org/apache/felix/converter/impl/ConvertingImpl.java
URL: http://svn.apache.org/viewvc/felix/trunk/converter/converter/src/main/java/org/apache/felix/converter/impl/ConvertingImpl.java?rev=1786376&r1=1786375&r2=1786376&view=diff
==============================================================================
--- felix/trunk/converter/converter/src/main/java/org/apache/felix/converter/impl/ConvertingImpl.java (original)
+++ felix/trunk/converter/converter/src/main/java/org/apache/felix/converter/impl/ConvertingImpl.java Fri Mar 10 16:15:51 2017
@@ -200,7 +200,7 @@ public class ConvertingImpl implements C
return convertToCollection();
} else if (isDTOType(targetAsClass) || ((sourceAsDTO || targetAsDTO) && DTO.class.isAssignableFrom(targetClass))) {
return convertToDTO();
- } else if (isMapType(targetAsClass)) {
+ } else if (isMapType(targetAsClass, targetAsJavaBean)) {
return convertToMapType();
}
@@ -540,7 +540,7 @@ public class ConvertingImpl implements C
return true;
}
- private static boolean isMapType(Class<?> cls) {
+ private static boolean isMapType(Class<?> cls, boolean asJavaBean) {
// All interface types that are not Collections are treated as maps
if (Map.class.isAssignableFrom(cls))
return true;
@@ -548,7 +548,7 @@ public class ConvertingImpl implements C
return true;
else if (isDTOType(cls))
return true;
- else if (isWriteableJavaBean(cls))
+ else if (asJavaBean && isWriteableJavaBean(cls))
return true;
else
return Dictionary.class.isAssignableFrom(cls);