You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tamaya.apache.org by an...@apache.org on 2016/02/15 01:51:43 UTC

[1/2] incubator-tamaya git commit: Minor issues fixed.

Repository: incubator-tamaya
Updated Branches:
  refs/heads/master a9c15f82d -> 609b47648


Minor issues fixed.


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

Branch: refs/heads/master
Commit: 30ad1309d3355983523cb38aaeea2ec722fe1a69
Parents: a9c15f8
Author: anatole <an...@apache.org>
Authored: Mon Feb 15 01:46:39 2016 +0100
Committer: anatole <an...@apache.org>
Committed: Mon Feb 15 01:46:39 2016 +0100

----------------------------------------------------------------------
 .../main/java/org/apache/tamaya/format/ConfigurationFormats.java | 2 +-
 .../java/org/apache/tamaya/optional/OptionalConfiguration.java   | 4 +++-
 .../java/org/apache/tamaya/server/ConfigurationResource.java     | 3 +++
 3 files changed, 7 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/30ad1309/modules/formats/src/main/java/org/apache/tamaya/format/ConfigurationFormats.java
----------------------------------------------------------------------
diff --git a/modules/formats/src/main/java/org/apache/tamaya/format/ConfigurationFormats.java b/modules/formats/src/main/java/org/apache/tamaya/format/ConfigurationFormats.java
index df9aa84..bc8aabd 100644
--- a/modules/formats/src/main/java/org/apache/tamaya/format/ConfigurationFormats.java
+++ b/modules/formats/src/main/java/org/apache/tamaya/format/ConfigurationFormats.java
@@ -167,7 +167,7 @@ public final class ConfigurationFormats {
                                                           ConfigurationFormat... formats) throws IOException {
         Objects.requireNonNull(inputStream);
         Objects.requireNonNull(resource);
-        try (InputStreamFactory isFactory = new InputStreamFactory(inputStream)) {
+        try(InputStreamFactory isFactory = new InputStreamFactory(inputStream)) {
             for (final ConfigurationFormat format : formats) {
                 try (InputStream is = isFactory.createInputStream()) {
                     final ConfigurationData data = format.readConfiguration(resource, is);

http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/30ad1309/modules/optional/src/main/java/org/apache/tamaya/optional/OptionalConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/optional/src/main/java/org/apache/tamaya/optional/OptionalConfiguration.java b/modules/optional/src/main/java/org/apache/tamaya/optional/OptionalConfiguration.java
index 4868bc1..fe5c15d 100644
--- a/modules/optional/src/main/java/org/apache/tamaya/optional/OptionalConfiguration.java
+++ b/modules/optional/src/main/java/org/apache/tamaya/optional/OptionalConfiguration.java
@@ -105,6 +105,8 @@ public final class OptionalConfiguration {
 
     /**
      * Returns an instance of OptionalConfiguration, which uses the given provider and policy for evaluating the values.
+     * @param policy the policy how a value should be evaluated depending if Tamaya is available or not.
+     * @param provider the non Tamaya-based provider to be used to evaluate values.
      *
      * @param policy   the policy how a value should be evaluated depending if Tamaya is available or not.
      * @param provider the non Tamaya-based provider to be used to evaluate values.
@@ -117,7 +119,7 @@ public final class OptionalConfiguration {
     /**
      * Returns a default instance, which uses a default provider returning values from system properties and environment
      * only.
-     *
+     * @param policy the policy how a value should be evaluated depending if Tamaya is available or not.
      * @param policy the policy how a value should be evaluated depending if Tamaya is available or not.
      * @return a default OptionalConfiguration instance, never null.
      */

http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/30ad1309/modules/server/src/main/java/org/apache/tamaya/server/ConfigurationResource.java
----------------------------------------------------------------------
diff --git a/modules/server/src/main/java/org/apache/tamaya/server/ConfigurationResource.java b/modules/server/src/main/java/org/apache/tamaya/server/ConfigurationResource.java
index f239e5c..0dc99f2 100644
--- a/modules/server/src/main/java/org/apache/tamaya/server/ConfigurationResource.java
+++ b/modules/server/src/main/java/org/apache/tamaya/server/ConfigurationResource.java
@@ -189,7 +189,10 @@ public class ConfigurationResource {
      * </pre>
      *
      * @param key   name of the key to show
+     * @param key name of the key to show
      * @param value configuration value for the given key
+     * @param ttl time to live
+     * @return written configuration value.
      * @param ttl   time to live
      * @return written configuration value.
      */


[2/2] incubator-tamaya git commit: Added test and fixes for collection support.

Posted by an...@apache.org.
Added test and fixes for collection support.


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

Branch: refs/heads/master
Commit: 609b476485fc75aafbc099c2a6678004b7e76f67
Parents: 30ad130
Author: anatole <an...@apache.org>
Authored: Mon Feb 15 01:51:23 2016 +0100
Committer: anatole <an...@apache.org>
Committed: Mon Feb 15 01:51:23 2016 +0100

----------------------------------------------------------------------
 .../java/org/apache/tamaya/TypeLiteral.java     | 10 ++++----
 .../core/internal/PropertyConverterManager.java | 13 ++++++++++
 .../internal/AdaptiveCombinationPolicy.java     |  7 +++++
 .../collections/internal/HashMapConverter.java  | 27 ++++++++++++++++----
 .../internal/LinkedListConverter.java           |  2 +-
 .../collections/internal/SetConverter.java      |  2 +-
 .../collections/internal/TreeMapConverter.java  |  6 ++---
 .../collections/internal/TreeSetConverter.java  |  4 +--
 8 files changed, 54 insertions(+), 17 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/609b4764/code/api/src/main/java/org/apache/tamaya/TypeLiteral.java
----------------------------------------------------------------------
diff --git a/code/api/src/main/java/org/apache/tamaya/TypeLiteral.java b/code/api/src/main/java/org/apache/tamaya/TypeLiteral.java
index 597c27c..729f2b6 100644
--- a/code/api/src/main/java/org/apache/tamaya/TypeLiteral.java
+++ b/code/api/src/main/java/org/apache/tamaya/TypeLiteral.java
@@ -48,14 +48,14 @@ public class TypeLiteral<T> implements Serializable {
      * Constructor.
      * @param definedType the defined type.
      */
-    protected TypeLiteral(Type definedType) {
+    public TypeLiteral(Type definedType) {
         this.definedType = definedType;
     }
 
     /**
      * Constructor only for directly implemeting a TypeLiteral hereby dynamically implementing a generic interface.
      */
-    protected TypeLiteral() {
+    public TypeLiteral() {
         this.definedType = getDefinedType(this.getClass());
     }
 
@@ -140,9 +140,7 @@ public class TypeLiteral<T> implements Serializable {
 
         Type superClazz = clazz.getGenericSuperclass();
 
-        if (superClazz.equals(Object.class)) {
-            throw new RuntimeException("Super class must be parametrized type");
-        } else if (superClazz instanceof ParameterizedType) {
+        if (superClazz instanceof ParameterizedType) {
             ParameterizedType pt = (ParameterizedType) superClazz;
             Type[] actualArgs = pt.getActualTypeArguments();
 
@@ -153,6 +151,8 @@ public class TypeLiteral<T> implements Serializable {
                 throw new RuntimeException("More than one parametric type");
             }
 
+        } else if (superClazz.equals(Object.class)) {
+            throw new RuntimeException("Super class must be parametrized type");
         } else {
             type = getDefinedType((Class<?>) superClazz);
         }

http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/609b4764/code/core/src/main/java/org/apache/tamaya/core/internal/PropertyConverterManager.java
----------------------------------------------------------------------
diff --git a/code/core/src/main/java/org/apache/tamaya/core/internal/PropertyConverterManager.java b/code/core/src/main/java/org/apache/tamaya/core/internal/PropertyConverterManager.java
index eb18cfb..72facc4 100644
--- a/code/core/src/main/java/org/apache/tamaya/core/internal/PropertyConverterManager.java
+++ b/code/core/src/main/java/org/apache/tamaya/core/internal/PropertyConverterManager.java
@@ -273,6 +273,19 @@ public class PropertyConverterManager {
                 converterList.addAll(converters);
             }
         }
+        // check for parametrized types, ignoring param type
+        // direct mapped converters
+        if(targetType.getType()!=null) {
+            try {
+                readLock.lock();
+                converters = List.class.cast(this.converters.get(TypeLiteral.of(targetType.getRawType())));
+            } finally {
+                readLock.unlock();
+            }
+            if (converters != null) {
+                converterList.addAll(converters);
+            }
+        }
         return converterList;
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/609b4764/sandbox/collections/src/main/java/org/apache/tamaya/collections/internal/AdaptiveCombinationPolicy.java
----------------------------------------------------------------------
diff --git a/sandbox/collections/src/main/java/org/apache/tamaya/collections/internal/AdaptiveCombinationPolicy.java b/sandbox/collections/src/main/java/org/apache/tamaya/collections/internal/AdaptiveCombinationPolicy.java
index 9170eb3..161e874 100644
--- a/sandbox/collections/src/main/java/org/apache/tamaya/collections/internal/AdaptiveCombinationPolicy.java
+++ b/sandbox/collections/src/main/java/org/apache/tamaya/collections/internal/AdaptiveCombinationPolicy.java
@@ -43,6 +43,13 @@ public class AdaptiveCombinationPolicy implements PropertyValueCombinationPolicy
 
     @Override
     public Map<String,String> collect(Map<String,String> currentValue, String key, PropertySource propertySource){
+        if(key.startsWith("_")){
+            PropertyValue newValue = propertySource.get(key);
+            if(newValue!=null){
+                return newValue.getConfigEntries();
+            }
+            return currentValue;
+        }
         String adaptiveCombinationPolicyClass  = ConfigurationProvider.getConfiguration().get('_' + key+".combinationPolicy");
         if(adaptiveCombinationPolicyClass!=null){
             PropertyValueCombinationPolicy delegatePolicy = null;

http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/609b4764/sandbox/collections/src/main/java/org/apache/tamaya/collections/internal/HashMapConverter.java
----------------------------------------------------------------------
diff --git a/sandbox/collections/src/main/java/org/apache/tamaya/collections/internal/HashMapConverter.java b/sandbox/collections/src/main/java/org/apache/tamaya/collections/internal/HashMapConverter.java
index 76ded4f..8091dc6 100644
--- a/sandbox/collections/src/main/java/org/apache/tamaya/collections/internal/HashMapConverter.java
+++ b/sandbox/collections/src/main/java/org/apache/tamaya/collections/internal/HashMapConverter.java
@@ -24,6 +24,7 @@ import org.apache.tamaya.spi.PropertyConverter;
 
 import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
@@ -68,13 +69,29 @@ public class HashMapConverter implements PropertyConverter<HashMap> {
                 LOG.log(Level.SEVERE, "Error convertion config to HashMap type.", e);
             }
         }
-        return null;
+        HashMap<String,String> result = new HashMap<>();
+        for(String raw:rawList){
+            String[] items = splitItems(raw);
+            if(items!=null){
+                result.put(items[0], items[1]);
+            }
+        }
+        return result;
     }
 
     static String[] splitItems(String raw) {
-        String[] items = new String[2];
-        // check for '[]'
-        // else split with ':'
-        return raw.split("::");
+        String[] items = raw.split("::");
+        if(items[0].trim().startsWith("[")){
+            items[0]= items[0].trim();
+            items[0] = items[0].substring(1);
+        }else{
+            items[0]= items[0].trim();
+        }
+        if(items[1].trim().endsWith("]")){
+            items[1] = items[1].substring(0,items[1].length()-1);
+        }else{
+            items[1]= items[1].trim();
+        }
+        return items;
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/609b4764/sandbox/collections/src/main/java/org/apache/tamaya/collections/internal/LinkedListConverter.java
----------------------------------------------------------------------
diff --git a/sandbox/collections/src/main/java/org/apache/tamaya/collections/internal/LinkedListConverter.java b/sandbox/collections/src/main/java/org/apache/tamaya/collections/internal/LinkedListConverter.java
index d41211c..f1c2514 100644
--- a/sandbox/collections/src/main/java/org/apache/tamaya/collections/internal/LinkedListConverter.java
+++ b/sandbox/collections/src/main/java/org/apache/tamaya/collections/internal/LinkedListConverter.java
@@ -56,7 +56,7 @@ public class LinkedListConverter implements PropertyConverter<LinkedList> {
                 LOG.log(Level.SEVERE, "Error convertion config to ArrayList type.", e);
             }
         }
-        return null;
+        return new LinkedList(rawList);
     }
 
 }

http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/609b4764/sandbox/collections/src/main/java/org/apache/tamaya/collections/internal/SetConverter.java
----------------------------------------------------------------------
diff --git a/sandbox/collections/src/main/java/org/apache/tamaya/collections/internal/SetConverter.java b/sandbox/collections/src/main/java/org/apache/tamaya/collections/internal/SetConverter.java
index ddf19ad..27fdee9 100644
--- a/sandbox/collections/src/main/java/org/apache/tamaya/collections/internal/SetConverter.java
+++ b/sandbox/collections/src/main/java/org/apache/tamaya/collections/internal/SetConverter.java
@@ -27,7 +27,7 @@ import java.util.Set;
 /**
  *  PropertyConverter for gnerating a LIST representation of values.
  */
-public class SetConverter implements PropertyConverter<Set<?>> {
+public class SetConverter implements PropertyConverter<Set> {
 
     @Override
     public Set convert(String value, ConversionContext context) {

http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/609b4764/sandbox/collections/src/main/java/org/apache/tamaya/collections/internal/TreeMapConverter.java
----------------------------------------------------------------------
diff --git a/sandbox/collections/src/main/java/org/apache/tamaya/collections/internal/TreeMapConverter.java b/sandbox/collections/src/main/java/org/apache/tamaya/collections/internal/TreeMapConverter.java
index 08b92fd..b350944 100644
--- a/sandbox/collections/src/main/java/org/apache/tamaya/collections/internal/TreeMapConverter.java
+++ b/sandbox/collections/src/main/java/org/apache/tamaya/collections/internal/TreeMapConverter.java
@@ -26,7 +26,7 @@ import java.util.TreeMap;
 /**
  *  PropertyConverter for gnerating HashMap representation of a values.
  */
-public class TreeMapConverter implements PropertyConverter<TreeMap<?,?>> {
+public class TreeMapConverter implements PropertyConverter<TreeMap> {
 
     /** The shared instance, used by other collection converters in this package.*/
     private static TreeMapConverter INSTANCE = new TreeMapConverter();
@@ -40,7 +40,7 @@ public class TreeMapConverter implements PropertyConverter<TreeMap<?,?>> {
     }
 
     @Override
-    public TreeMap<?, ?> convert(String value, ConversionContext context) {
-        return null;
+    public TreeMap convert(String value, ConversionContext context) {
+        return new TreeMap<>(HashMapConverter.getInstance().convert(value, context));
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/609b4764/sandbox/collections/src/main/java/org/apache/tamaya/collections/internal/TreeSetConverter.java
----------------------------------------------------------------------
diff --git a/sandbox/collections/src/main/java/org/apache/tamaya/collections/internal/TreeSetConverter.java b/sandbox/collections/src/main/java/org/apache/tamaya/collections/internal/TreeSetConverter.java
index fca00de..32fee83 100644
--- a/sandbox/collections/src/main/java/org/apache/tamaya/collections/internal/TreeSetConverter.java
+++ b/sandbox/collections/src/main/java/org/apache/tamaya/collections/internal/TreeSetConverter.java
@@ -30,7 +30,7 @@ import java.util.logging.Logger;
 /**
  *  PropertyConverter for gnerating HashSet representation of a values.
  */
-public class TreeSetConverter implements PropertyConverter<TreeSet<?>> {
+public class TreeSetConverter implements PropertyConverter<TreeSet> {
 
     private static final Logger LOG = Logger.getLogger(TreeSetConverter.class.getName());
 
@@ -68,6 +68,6 @@ public class TreeSetConverter implements PropertyConverter<TreeSet<?>> {
                 LOG.log(Level.SEVERE, "Error convertion config to HashSet type.", e);
             }
         }
-        return null;
+        return new TreeSet<>(rawList);
     }
 }