Bug 510792 - Add support to pass non string types through the command-service
diff --git a/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/adapter/internal/AdapterServiceImpl.java b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/adapter/internal/AdapterServiceImpl.java
index d97dc08..82947d1 100644
--- a/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/adapter/internal/AdapterServiceImpl.java
+++ b/bundles/runtime/org.eclipse.fx.core/src/org/eclipse/fx/core/adapter/internal/AdapterServiceImpl.java
@@ -113,11 +113,12 @@
ValueSerializer valueSerializer = this.valueSerializer;
if (!rv && valueSerializer != null) {
if (targetType == String.class) {
- return valueSerializer.test(sourceObject.getClass());
+ rv = valueSerializer.test(sourceObject.getClass());
} else if (sourceObject instanceof String) {
- return valueSerializer.test(targetType);
+ rv = valueSerializer.test(targetType);
}
}
+
return rv;
}
@@ -167,7 +168,7 @@
A rv = (A) adaptRec(sourceObject, sourceObject.getClass(), targetType, valueAccess);
ValueSerializer valueSerializer = this.valueSerializer;
- if (rv == null && canAdapt(sourceObject, targetType)) {
+ if (rv == null && valueSerializer != null && canAdapt(sourceObject, targetType)) {
if (targetType == String.class) {
return (@Nullable A) valueSerializer.toString(sourceObject);
} else if (sourceObject instanceof String) {