Repository: incubator-tamaya
Updated Branches:
  refs/heads/master cd43cfacd -> aa55969e9


TAMAYA-260 Fixed Microprofile Optional injection for String values.


Project: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/commit/aa55969e
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/tree/aa55969e
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/diff/aa55969e

Branch: refs/heads/master
Commit: aa55969e9dde38a18fe5d6c22d9c28b06dd0b044
Parents: cd43cfa
Author: Anatole Tresch <[email protected]>
Authored: Fri Oct 13 01:21:18 2017 +0200
Committer: Anatole Tresch <[email protected]>
Committed: Fri Oct 13 01:21:18 2017 +0200

----------------------------------------------------------------------
 .../tamaya/core/internal/converters/OptionalConverter.java     | 6 ++++++
 1 file changed, 6 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/aa55969e/code/core/src/main/java/org/apache/tamaya/core/internal/converters/OptionalConverter.java
----------------------------------------------------------------------
diff --git 
a/code/core/src/main/java/org/apache/tamaya/core/internal/converters/OptionalConverter.java
 
b/code/core/src/main/java/org/apache/tamaya/core/internal/converters/OptionalConverter.java
index 58fe898..8cf614a 100644
--- 
a/code/core/src/main/java/org/apache/tamaya/core/internal/converters/OptionalConverter.java
+++ 
b/code/core/src/main/java/org/apache/tamaya/core/internal/converters/OptionalConverter.java
@@ -46,9 +46,15 @@ public class OptionalConverter implements 
PropertyConverter<Optional> {
 
     @Override
     public Optional convert(String value, ConversionContext context) {
+        if(value==null){
+            return Optional.ofNullable(null);
+        }
         try{
             Type targetType = context.getTargetType().getType();
             ParameterizedType pt = (ParameterizedType) targetType;
+            if(String.class.equals(pt.getActualTypeArguments()[0])){
+                return Optional.of(value);
+            }
             ConvertQuery converter = new ConvertQuery(value, 
TypeLiteral.of(pt.getActualTypeArguments()[0]));
             return 
Optional.ofNullable(context.getConfiguration().query(converter));
         }catch(Exception e){

Reply via email to