DELTASPIKE-1332 support custom view-meta-data without default-values for primitive data-types
Project: http://git-wip-us.apache.org/repos/asf/deltaspike/repo Commit: http://git-wip-us.apache.org/repos/asf/deltaspike/commit/45dba462 Tree: http://git-wip-us.apache.org/repos/asf/deltaspike/tree/45dba462 Diff: http://git-wip-us.apache.org/repos/asf/deltaspike/diff/45dba462 Branch: refs/heads/deltaspike-1.8.x Commit: 45dba462b8f16d86e3246bc28910fb241ef332e1 Parents: add0adf Author: gpetracek <gpetra...@apache.org> Authored: Fri Mar 23 23:34:24 2018 +0100 Committer: gpetracek <gpetra...@apache.org> Committed: Thu Mar 29 23:37:55 2018 +0200 ---------------------------------------------------------------------- .../impl/config/view/DefaultConfigNodeConverter.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/deltaspike/blob/45dba462/deltaspike/modules/jsf/impl/src/main/java/org/apache/deltaspike/jsf/impl/config/view/DefaultConfigNodeConverter.java ---------------------------------------------------------------------- diff --git a/deltaspike/modules/jsf/impl/src/main/java/org/apache/deltaspike/jsf/impl/config/view/DefaultConfigNodeConverter.java b/deltaspike/modules/jsf/impl/src/main/java/org/apache/deltaspike/jsf/impl/config/view/DefaultConfigNodeConverter.java index 44682cb..8851592 100644 --- a/deltaspike/modules/jsf/impl/src/main/java/org/apache/deltaspike/jsf/impl/config/view/DefaultConfigNodeConverter.java +++ b/deltaspike/modules/jsf/impl/src/main/java/org/apache/deltaspike/jsf/impl/config/view/DefaultConfigNodeConverter.java @@ -192,7 +192,17 @@ public class DefaultConfigNodeConverter implements ConfigNodeConverter Annotation defaultAnnotation = AnnotationInstanceProvider.of(existingMetaData.annotationType()); try { - Object defaultValue = annotationMethod.invoke(defaultAnnotation); + Object defaultValue = null; + + try + { + defaultValue = annotationMethod.invoke(defaultAnnotation); + } + catch (NullPointerException e) //happens with primitive data-types without default values + { + defaultValue = null; + } + Object existingValue = annotationMethod.invoke(existingMetaData); if (existingValue == null /*possible with literal instances*/ ||