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 2015/01/20 22:31:38 UTC

incubator-tamaya git commit: Bugfixes, resynch.

Repository: incubator-tamaya
Updated Branches:
  refs/heads/master 4be64f1ce -> 56f9e21ab


Bugfixes, resynch.


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

Branch: refs/heads/master
Commit: 56f9e21aba70aca796dac390f6bcabcfc77d7048
Parents: 4be64f1
Author: anatole <an...@apache.org>
Authored: Tue Jan 20 22:31:27 2015 +0100
Committer: anatole <an...@apache.org>
Committed: Tue Jan 20 22:31:27 2015 +0100

----------------------------------------------------------------------
 .../apache/tamaya/spi/ConfigurationContext.java |  2 +-
 .../apache/tamaya/spi/PropertyConverter.java    |  7 ----
 .../java/org/apache/tamaya/Configuration.java   | 37 ++++++++--------
 .../apache/tamaya/spi/PropertyConverter.java    |  7 ----
 .../org/apache/tamaya/ConfigurationTest.java    | 23 ++++++----
 .../core/internal/PropertyConverterManager.java | 44 +++++++++-----------
 .../tamaya/core/internal/ReflectionUtil.java    | 42 +++++++++++++++++++
 .../converters/BigDecimalConverter.java         |  4 --
 .../converters/BigIntegerConverter.java         |  4 --
 .../internal/converters/BooleanConverter.java   |  7 +---
 .../core/internal/converters/ByteConverter.java |  4 --
 .../core/internal/converters/CharConverter.java |  4 --
 .../internal/converters/CurrencyConverter.java  |  4 --
 .../internal/converters/DoubleConverter.java    |  4 --
 .../internal/converters/FloatConverter.java     |  4 --
 .../internal/converters/IntegerConverter.java   |  4 --
 .../internal/converters/LocalDateConverter.java |  4 --
 .../converters/LocalDateTimeConverter.java      |  4 --
 .../internal/converters/LocalTimeConverter.java |  4 --
 .../core/internal/converters/LongConverter.java |  4 --
 .../internal/converters/NumberConverter.java    |  4 --
 .../internal/converters/ShortConverter.java     |  4 --
 .../internal/converters/ZoneIdConverter.java    |  4 --
 23 files changed, 95 insertions(+), 134 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/56f9e21a/java7/api/src/main/java/org/apache/tamaya/spi/ConfigurationContext.java
----------------------------------------------------------------------
diff --git a/java7/api/src/main/java/org/apache/tamaya/spi/ConfigurationContext.java b/java7/api/src/main/java/org/apache/tamaya/spi/ConfigurationContext.java
index efad465..6f5de4b 100644
--- a/java7/api/src/main/java/org/apache/tamaya/spi/ConfigurationContext.java
+++ b/java7/api/src/main/java/org/apache/tamaya/spi/ConfigurationContext.java
@@ -25,7 +25,7 @@ import java.util.Map;
 /**
  * Central SPI for programmatically dealing with the setup of the configuration system.
  * This includes adding and enlisting {@link org.apache.tamaya.spi.PropertySource}s,
- * managing {@link org.apache.tamaya.spi.PropertyConverter}s, ConfigFilters, etc.
+ * managing {@link PropertyConverter}s, ConfigFilters, etc.
  */
 public interface ConfigurationContext {
 

http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/56f9e21a/java7/api/src/main/java/org/apache/tamaya/spi/PropertyConverter.java
----------------------------------------------------------------------
diff --git a/java7/api/src/main/java/org/apache/tamaya/spi/PropertyConverter.java b/java7/api/src/main/java/org/apache/tamaya/spi/PropertyConverter.java
index 29f67b6..167e0a8 100644
--- a/java7/api/src/main/java/org/apache/tamaya/spi/PropertyConverter.java
+++ b/java7/api/src/main/java/org/apache/tamaya/spi/PropertyConverter.java
@@ -26,13 +26,6 @@ package org.apache.tamaya.spi;
  */
 public interface PropertyConverter<T>{
 
-//    /**
-//     * Access the target type, this converter is producing. This is necessary to determine which converters are
-//     * to be used for converting a possible value.
-//     * @return the target type returned by a converter instance, never null.
-//     */
-//    Class<T> getTargetType();
-
     /**
      * Convert the given configuration keys from it' String representation into the required target type.
      * @param value the configuration keys

http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/56f9e21a/java8/api/src/main/java/org/apache/tamaya/Configuration.java
----------------------------------------------------------------------
diff --git a/java8/api/src/main/java/org/apache/tamaya/Configuration.java b/java8/api/src/main/java/org/apache/tamaya/Configuration.java
index a9e7490..2335e4b 100644
--- a/java8/api/src/main/java/org/apache/tamaya/Configuration.java
+++ b/java8/api/src/main/java/org/apache/tamaya/Configuration.java
@@ -18,7 +18,6 @@
  */
 package org.apache.tamaya;
 
-import org.apache.tamaya.spi.PropertyConverter;
 import org.apache.tamaya.spi.ServiceContext;
 
 import java.util.Map;
@@ -26,6 +25,7 @@ import java.util.Optional;
 import java.util.OptionalDouble;
 import java.util.OptionalInt;
 import java.util.OptionalLong;
+import java.util.function.Function;
 
 
 /**
@@ -60,9 +60,9 @@ public interface Configuration {
      * org.apache.tamaya.spi.PropertyConverter} to be available that is capable current providing type T
      * fromMap the given String keys.
      *
-     * @param key          the property's absolute, or relative path, e.g. @code
-     *                     a/b/c/d.myProperty}.
-     * @param type         The target type required, not null.
+     * @param key  the property's absolute, or relative path, e.g. @code
+     *             a/b/c/d.myProperty}.
+     * @param type The target type required, not null.
      * @return the property value, never null..
      * @throws ConfigException if the keys could not be converted to the required target type.
      */
@@ -83,9 +83,9 @@ public interface Configuration {
      * org.apache.tamaya.spi.PropertyConverter} to be available that is capable current providing type T
      * fromMap the given String keys.
      *
-     * @param key          the property's absolute, or relative path, e.g. @code
-     *                     a/b/c/d.myProperty}.
-     * @param type         The target type required, not null.
+     * @param key  the property's absolute, or relative path, e.g. @code
+     *             a/b/c/d.myProperty}.
+     * @param type The target type required, not null.
      * @return the property value, never null..
      * @throws ConfigException if the keys could not be converted to the required target type.
      */
@@ -99,7 +99,7 @@ public interface Configuration {
      * instances may not be contained in the result, but nevertheless be accessible calling one of the
      * {@code get(...)} methods.
      */
-    Map<String,String> getProperties();
+    Map<String, String> getProperties();
 
     /**
      * Get the property keys as type {@code Class<T>}.
@@ -110,23 +110,22 @@ public interface Configuration {
      * available to perform the conversion fromMap {@link String} to
      * {@code Class<T>}.
      *
-     * @param key     the property's absolute, or relative path, e.g. @code
-     *                a/b/c/d.myProperty}.
+     * @param key       the property's absolute, or relative path, e.g. @code
+     *                  a/b/c/d.myProperty}.
      * @param converter the PropertyConverter to perform the conversion fromMap
-     *                {@link String} to {@code Class<T>}, not {@code null}.
+     *                  {@link String} to {@code Class<T>}, not {@code null}.
      * @return the property's keys.
      * @throws ConfigException if the keys could not be converted to the required target
-     *                                  type, or no such property exists.
+     *                         type, or no such property exists.
      */
-    default <T> Optional<T> get(String key, PropertyConverter<T> converter) {
+    default <T> Optional<T> getOptional(String key, Function<String, T> converter) {
         Optional<String> value = getOptional(key);
         if (value.isPresent()) {
-            return Optional.ofNullable(converter.convert(value.get()));
+            return Optional.ofNullable(converter.apply(value.get()));
         }
         return Optional.empty();
     }
 
-
     /**
      * Get the property keys as {@link Boolean}.
      *
@@ -152,7 +151,7 @@ public interface Configuration {
     default OptionalInt getInteger(String key) {
         Optional<Integer> val = getOptional(key, Integer.class);
 
-        if (val.isPresent()){
+        if (val.isPresent()) {
             return OptionalInt.of(val.get());
         }
         return OptionalInt.empty();
@@ -169,7 +168,7 @@ public interface Configuration {
      */
     default OptionalLong getLong(String key) {
         Optional<Long> val = getOptional(key, Long.class);
-        if (val.isPresent()){
+        if (val.isPresent()) {
             return OptionalLong.of(val.get());
         }
         return OptionalLong.empty();
@@ -187,7 +186,7 @@ public interface Configuration {
     default OptionalDouble getDouble(String key) {
 
         Optional<Double> val = getOptional(key, Double.class);
-        if (val.isPresent()){
+        if (val.isPresent()) {
             return OptionalDouble.of(val.get());
         }
         return OptionalDouble.empty();
@@ -223,7 +222,7 @@ public interface Configuration {
      * @return the corresponding Configuration instance, never null.
      * @throws ConfigException if no such configuration is defined.
      */
-    public static Configuration current(){
+    public static Configuration current() {
         return ServiceContext.getInstance().getService(Configuration.class).get();
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/56f9e21a/java8/api/src/main/java/org/apache/tamaya/spi/PropertyConverter.java
----------------------------------------------------------------------
diff --git a/java8/api/src/main/java/org/apache/tamaya/spi/PropertyConverter.java b/java8/api/src/main/java/org/apache/tamaya/spi/PropertyConverter.java
index 7c3ee83..e237aa9 100644
--- a/java8/api/src/main/java/org/apache/tamaya/spi/PropertyConverter.java
+++ b/java8/api/src/main/java/org/apache/tamaya/spi/PropertyConverter.java
@@ -27,13 +27,6 @@ package org.apache.tamaya.spi;
 public interface PropertyConverter<T>{
 
     /**
-     * Access the target type, this converter is producing. This is necessary to determine which converters are
-     * to be used for converting a possible value.
-     * @return the target type returned by a converter instance, never null.
-     */
-    Class<T> getTargetType();
-
-    /**
      * Convert the given configuration keys from it's String representation into the required target type.
      * @param value the configuration value
      * @return the converted value

http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/56f9e21a/java8/api/src/test/java/org/apache/tamaya/ConfigurationTest.java
----------------------------------------------------------------------
diff --git a/java8/api/src/test/java/org/apache/tamaya/ConfigurationTest.java b/java8/api/src/test/java/org/apache/tamaya/ConfigurationTest.java
index 0e62205..11508a0 100644
--- a/java8/api/src/test/java/org/apache/tamaya/ConfigurationTest.java
+++ b/java8/api/src/test/java/org/apache/tamaya/ConfigurationTest.java
@@ -18,6 +18,10 @@
  */
 package org.apache.tamaya;
 
+import org.apache.tamaya.spi.ListPropertyConverter;
+
+import java.util.Map;
+
 import static org.junit.Assert.*;
 
 /**
@@ -28,13 +32,14 @@ public class ConfigurationTest {
 
     @org.junit.Test
     public void testget() throws Exception {
-        assertEquals(Boolean.TRUE, Configuration.current().get("booleanTrue", (s) -> Boolean.valueOf(s)).get());
-        assertEquals(Boolean.FALSE, Configuration.current().get("booleanFalse", (s) -> Boolean.valueOf(s)).get());
-        assertEquals((int)Byte.MAX_VALUE, (int)Configuration.current().get("byte", (s) -> Byte.valueOf(s)).get());
-        assertEquals((int)Integer.MAX_VALUE, (int)Configuration.current().get("int", (s) -> Integer.valueOf(s)).get());
-        assertEquals((long)Long.MAX_VALUE, (long)Configuration.current().get("long", (s) -> Long.valueOf(s)).get());
-        assertEquals((double)Float.MAX_VALUE, (double)Configuration.current().get("float", (s) -> Float.valueOf(s)).get(), 0.0d);
-        assertEquals((double)Double.MAX_VALUE, (double)Configuration.current().get("double", (s) -> Double.valueOf(s)).get(), 0.0d);
+        assertEquals(Boolean.TRUE, Configuration.current().getOptional("booleanTrue", (s) -> Boolean.valueOf(s)).get());
+        assertEquals(Boolean.FALSE, Configuration.current().getOptional("booleanFalse", (s) -> Boolean.valueOf(s)).get());
+        assertEquals((int)Byte.MAX_VALUE, (int)Configuration.current().getOptional("byte", (s) -> Byte.valueOf(s)).get());
+        assertEquals((int)Integer.MAX_VALUE, (int)Configuration.current().getOptional("int", (s) -> Integer.valueOf(s)).get());
+        assertEquals((long)Long.MAX_VALUE, (long)Configuration.current().getOptional("long", (s) -> Long.valueOf(s)).get());
+        assertEquals((double)Float.MAX_VALUE, (double)Configuration.current().getOptional("float", (s) -> Float.valueOf(s)).get(), 0.0d);
+        assertEquals((double)Double.MAX_VALUE, (double)Configuration.current().getOptional("double", (s) -> Double.valueOf(s)).get(), 0.0d);
+        ListPropertyConverter<Map<String,Integer>> test;
     }
 
     @org.junit.Test
@@ -71,8 +76,8 @@ public class ConfigurationTest {
 
     @org.junit.Test
     public void testGetAdapted() throws Exception {
-        assertEquals("yes", Configuration.current().get("booleanTrue", (v) -> Boolean.parseBoolean(v)?"yes":"no").get());
-        assertEquals("no", Configuration.current().get("booleanFalse", (v) -> Boolean.parseBoolean(v)?"yes":"no").get());
+        assertEquals("yes", Configuration.current().getOptional("booleanTrue", (v) -> Boolean.parseBoolean(v) ? "yes" : "no").get());
+        assertEquals("no", Configuration.current().getOptional("booleanFalse", (v) -> Boolean.parseBoolean(v) ? "yes" : "no").get());
     }
 
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/56f9e21a/java8/core/src/main/java/org/apache/tamaya/core/internal/PropertyConverterManager.java
----------------------------------------------------------------------
diff --git a/java8/core/src/main/java/org/apache/tamaya/core/internal/PropertyConverterManager.java b/java8/core/src/main/java/org/apache/tamaya/core/internal/PropertyConverterManager.java
index 58aad71..fdfb03d 100644
--- a/java8/core/src/main/java/org/apache/tamaya/core/internal/PropertyConverterManager.java
+++ b/java8/core/src/main/java/org/apache/tamaya/core/internal/PropertyConverterManager.java
@@ -20,6 +20,8 @@ package org.apache.tamaya.core.internal;
 
 import java.lang.reflect.Constructor;
 import java.lang.reflect.Method;
+import java.lang.reflect.ParameterizedType;
+import java.lang.reflect.Type;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.HashMap;
@@ -60,7 +62,15 @@ public class PropertyConverterManager {
      */
     protected void initConverters() {
         for(PropertyConverter conv: ServiceContext.getInstance().getServices(PropertyConverter.class)){
-            register(conv.getTargetType(), conv);
+            ParameterizedType type = ReflectionUtil.getParametrizedType(conv.getClass());
+            if(type==null || type.getActualTypeArguments().length==0){
+                LOG.warning(() -> "Failed to register PropertyConverter, no generic type information available: " +
+                        conv.getClass().getName());
+            }
+            else {
+                Type targetType = type.getActualTypeArguments()[0];
+                register((Class<?>)targetType, conv);
+            }
         }
     }
 
@@ -76,7 +86,7 @@ public class PropertyConverterManager {
         Lock writeLock = lock.asWriteLock();
         try {
             writeLock.lock();
-            List<PropertyConverter<T>> converters = List.class.cast(this.converters.get(targetType));
+            List converters = List.class.cast(this.converters.get(targetType));
             List<PropertyConverter<T>> newConverters = new ArrayList<>();
             if (converters != null) {
                 newConverters.addAll(converters);
@@ -168,40 +178,24 @@ public class PropertyConverterManager {
         PropertyConverter<T> converter = null;
         Method factoryMethod = getFactoryMethod(targetType, "of", "valueOf", "instanceOf", "getInstance", "from", "fromString", "parse");
         if (factoryMethod != null) {
-            converter = new PropertyConverter<T>() {
-                @Override
-                public Class<T> getTargetType() {
-                    return targetType;
-                }
-
-                @Override
-                public T convert(String value) {
+            converter = (value) -> {
                     try {
                         factoryMethod.setAccessible(true);
                         return targetType.cast(factoryMethod.invoke(value));
                     } catch (Exception e) {
                         throw new ConfigException("Failed to decode '" + value + "'", e);
                     }
-                }
             };
         }
         if (converter == null) {
             try {
                 Constructor<T> constr = targetType.getDeclaredConstructor(String.class);
-                converter = new PropertyConverter<T>() {
-                    @Override
-                    public Class<T> getTargetType() {
-                        return targetType;
-                    }
-
-                    @Override
-                    public T convert(String value) {
-                        try {
-                            constr.setAccessible(true);
-                            return constr.newInstance(value);
-                        } catch (Exception e) {
-                            throw new ConfigException("Failed to decode '" + value + "'", e);
-                        }
+                converter = (value) -> {
+                    try {
+                        constr.setAccessible(true);
+                        return constr.newInstance(value);
+                    } catch (Exception e) {
+                        throw new ConfigException("Failed to decode '" + value + "'", e);
                     }
                 };
             } catch (Exception e) {

http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/56f9e21a/java8/core/src/main/java/org/apache/tamaya/core/internal/ReflectionUtil.java
----------------------------------------------------------------------
diff --git a/java8/core/src/main/java/org/apache/tamaya/core/internal/ReflectionUtil.java b/java8/core/src/main/java/org/apache/tamaya/core/internal/ReflectionUtil.java
new file mode 100644
index 0000000..6c7a1d2
--- /dev/null
+++ b/java8/core/src/main/java/org/apache/tamaya/core/internal/ReflectionUtil.java
@@ -0,0 +1,42 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tamaya.core.internal;
+
+import java.lang.reflect.ParameterizedType;
+import java.lang.reflect.Type;
+
+
+/**
+ * Small utility class used by other parts.
+ */
+public final class ReflectionUtil {
+
+    private ReflectionUtil(){}
+
+    public static ParameterizedType getParametrizedType(Class<?> clazz) {
+        Type[] genericTypes = clazz.getGenericInterfaces();
+        for (Type type : genericTypes) {
+            if (type instanceof ParameterizedType) {
+                return (ParameterizedType) type;
+            }
+
+        }
+        return null;
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/56f9e21a/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/BigDecimalConverter.java
----------------------------------------------------------------------
diff --git a/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/BigDecimalConverter.java b/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/BigDecimalConverter.java
index ab4387b..f927e22 100644
--- a/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/BigDecimalConverter.java
+++ b/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/BigDecimalConverter.java
@@ -28,10 +28,6 @@ import java.util.Objects;
  * //X TODO not good enough as this is Locale dependent!
  */
 public class BigDecimalConverter implements PropertyConverter<BigDecimal>{
-    @Override
-    public Class<BigDecimal> getTargetType() {
-        return BigDecimal.class;
-    }
 
     @Override
     public BigDecimal convert(String value) {

http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/56f9e21a/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/BigIntegerConverter.java
----------------------------------------------------------------------
diff --git a/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/BigIntegerConverter.java b/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/BigIntegerConverter.java
index 4fc9c01..f0eba47 100644
--- a/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/BigIntegerConverter.java
+++ b/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/BigIntegerConverter.java
@@ -28,10 +28,6 @@ import java.util.Objects;
  * //X TODO not good enough as this is Locale dependent!
  */
 public class BigIntegerConverter implements PropertyConverter<BigInteger>{
-    @Override
-    public Class<BigInteger> getTargetType() {
-        return BigInteger.class;
-    }
 
     @Override
     public BigInteger convert(String value) {

http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/56f9e21a/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/BooleanConverter.java
----------------------------------------------------------------------
diff --git a/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/BooleanConverter.java b/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/BooleanConverter.java
index 9b51d1e..403c409 100644
--- a/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/BooleanConverter.java
+++ b/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/BooleanConverter.java
@@ -31,11 +31,6 @@ public class BooleanConverter implements PropertyConverter<Boolean> {
     private Logger LOG = Logger.getLogger(getClass().getName());
 
     @Override
-    public Class<Boolean> getTargetType() {
-        return Boolean.class;
-    }
-
-    @Override
     public Boolean convert(String value) {
         String ignoreCaseValue = value.toLowerCase(Locale.ENGLISH);
         switch(ignoreCaseValue) {
@@ -51,7 +46,7 @@ public class BooleanConverter implements PropertyConverter<Boolean> {
                 return Boolean.FALSE;
             default:
                 LOG.warning("Unknown boolean value encountered: " + value);
-                return null;
         }
+        return null;
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/56f9e21a/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/ByteConverter.java
----------------------------------------------------------------------
diff --git a/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/ByteConverter.java b/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/ByteConverter.java
index 64de0f5..514f2df 100644
--- a/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/ByteConverter.java
+++ b/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/ByteConverter.java
@@ -26,10 +26,6 @@ import java.util.Objects;
  * Converter, converting from String to Byte.
  */
 public class ByteConverter implements PropertyConverter<Byte>{
-    @Override
-    public Class<Byte> getTargetType() {
-        return Byte.class;
-    }
 
     @Override
     public Byte convert(String value) {

http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/56f9e21a/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/CharConverter.java
----------------------------------------------------------------------
diff --git a/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/CharConverter.java b/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/CharConverter.java
index 667ede3..829c16b 100644
--- a/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/CharConverter.java
+++ b/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/CharConverter.java
@@ -26,10 +26,6 @@ import java.util.Objects;
  * Converter, converting from String to Character.
  */
 public class CharConverter implements PropertyConverter<Character>{
-    @Override
-    public Class<Character> getTargetType() {
-        return Character.class;
-    }
 
     @Override
     public Character convert(String value) {

http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/56f9e21a/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/CurrencyConverter.java
----------------------------------------------------------------------
diff --git a/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/CurrencyConverter.java b/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/CurrencyConverter.java
index bd92abd..c3c6e56 100644
--- a/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/CurrencyConverter.java
+++ b/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/CurrencyConverter.java
@@ -28,10 +28,6 @@ import java.util.Objects;
  * Converter, converting from String to Currency.
  */
 public class CurrencyConverter implements PropertyConverter<Currency>{
-    @Override
-    public Class<Currency> getTargetType() {
-        return Currency.class;
-    }
 
     @Override
     public Currency convert(String value) {

http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/56f9e21a/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/DoubleConverter.java
----------------------------------------------------------------------
diff --git a/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/DoubleConverter.java b/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/DoubleConverter.java
index 91c6ac8..8eb016b 100644
--- a/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/DoubleConverter.java
+++ b/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/DoubleConverter.java
@@ -26,10 +26,6 @@ import java.util.Objects;
  * Converter, converting from String to Double.
  */
 public class DoubleConverter implements PropertyConverter<Double>{
-    @Override
-    public Class<Double> getTargetType() {
-        return Double.class;
-    }
 
     @Override
     public Double convert(String value) {

http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/56f9e21a/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/FloatConverter.java
----------------------------------------------------------------------
diff --git a/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/FloatConverter.java b/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/FloatConverter.java
index e5341b8..839dbe0 100644
--- a/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/FloatConverter.java
+++ b/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/FloatConverter.java
@@ -26,10 +26,6 @@ import java.util.Objects;
  * Converter, converting from String to Float.
  */
 public class FloatConverter implements PropertyConverter<Float>{
-    @Override
-    public Class<Float> getTargetType() {
-        return Float.class;
-    }
 
     @Override
     public Float convert(String value) {

http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/56f9e21a/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/IntegerConverter.java
----------------------------------------------------------------------
diff --git a/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/IntegerConverter.java b/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/IntegerConverter.java
index 772baad..c67e587 100644
--- a/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/IntegerConverter.java
+++ b/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/IntegerConverter.java
@@ -26,10 +26,6 @@ import java.util.Objects;
  * Converter, converting from String to Integer.
  */
 public class IntegerConverter implements PropertyConverter<Integer>{
-    @Override
-    public Class<Integer> getTargetType() {
-        return Integer.class;
-    }
 
     @Override
     public Integer convert(String value) {

http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/56f9e21a/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/LocalDateConverter.java
----------------------------------------------------------------------
diff --git a/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/LocalDateConverter.java b/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/LocalDateConverter.java
index 3b57768..7c223dd 100644
--- a/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/LocalDateConverter.java
+++ b/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/LocalDateConverter.java
@@ -27,10 +27,6 @@ import java.util.Objects;
  * Converter, converting from String to LocalDate.
  */
 public class LocalDateConverter implements PropertyConverter<LocalDate>{
-    @Override
-    public Class<LocalDate> getTargetType() {
-        return LocalDate.class;
-    }
 
     @Override
     public LocalDate convert(String value) {

http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/56f9e21a/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/LocalDateTimeConverter.java
----------------------------------------------------------------------
diff --git a/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/LocalDateTimeConverter.java b/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/LocalDateTimeConverter.java
index e05cbb8..0dd3351 100644
--- a/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/LocalDateTimeConverter.java
+++ b/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/LocalDateTimeConverter.java
@@ -27,10 +27,6 @@ import java.util.Objects;
  * Converter, converting from String to LocalDateTime.
  */
 public class LocalDateTimeConverter implements PropertyConverter<LocalDateTime>{
-    @Override
-    public Class<LocalDateTime> getTargetType() {
-        return LocalDateTime.class;
-    }
 
     @Override
     public LocalDateTime convert(String value) {

http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/56f9e21a/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/LocalTimeConverter.java
----------------------------------------------------------------------
diff --git a/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/LocalTimeConverter.java b/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/LocalTimeConverter.java
index b2080ce..031b028 100644
--- a/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/LocalTimeConverter.java
+++ b/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/LocalTimeConverter.java
@@ -27,10 +27,6 @@ import java.util.Objects;
  * Converter, converting from String to LocalTime.
  */
 public class LocalTimeConverter implements PropertyConverter<LocalTime>{
-    @Override
-    public Class<LocalTime> getTargetType() {
-        return LocalTime.class;
-    }
 
     @Override
     public LocalTime convert(String value) {

http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/56f9e21a/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/LongConverter.java
----------------------------------------------------------------------
diff --git a/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/LongConverter.java b/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/LongConverter.java
index dbfe332..600d875 100644
--- a/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/LongConverter.java
+++ b/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/LongConverter.java
@@ -26,10 +26,6 @@ import java.util.Objects;
  * Converter, converting from String to Long.
  */
 public class LongConverter implements PropertyConverter<Long>{
-    @Override
-    public Class<Long> getTargetType() {
-        return Long.class;
-    }
 
     @Override
     public Long convert(String value) {

http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/56f9e21a/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/NumberConverter.java
----------------------------------------------------------------------
diff --git a/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/NumberConverter.java b/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/NumberConverter.java
index 543988b..6c8094f 100644
--- a/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/NumberConverter.java
+++ b/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/NumberConverter.java
@@ -28,10 +28,6 @@ import java.util.Objects;
  * //X TODO not good enough as this is Locale dependent!
  */
 public class NumberConverter implements PropertyConverter<Number>{
-    @Override
-    public Class<Number> getTargetType() {
-        return Number.class;
-    }
 
     @Override
     public Number convert(String value) {

http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/56f9e21a/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/ShortConverter.java
----------------------------------------------------------------------
diff --git a/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/ShortConverter.java b/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/ShortConverter.java
index 5e12702..8a71ef7 100644
--- a/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/ShortConverter.java
+++ b/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/ShortConverter.java
@@ -26,10 +26,6 @@ import java.util.Objects;
  * Converter, converting from String to Short.
  */
 public class ShortConverter implements PropertyConverter<Short>{
-    @Override
-    public Class<Short> getTargetType() {
-        return Short.class;
-    }
 
     @Override
     public Short convert(String value) {

http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/56f9e21a/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/ZoneIdConverter.java
----------------------------------------------------------------------
diff --git a/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/ZoneIdConverter.java b/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/ZoneIdConverter.java
index eeeb84d..d2134e0 100644
--- a/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/ZoneIdConverter.java
+++ b/java8/core/src/main/java/org/apache/tamaya/core/internal/converters/ZoneIdConverter.java
@@ -27,10 +27,6 @@ import java.util.Objects;
  * Converter, converting from String to LocalDate.
  */
 public class ZoneIdConverter implements PropertyConverter<ZoneId>{
-    @Override
-    public Class<ZoneId> getTargetType() {
-        return ZoneId.class;
-    }
 
     @Override
     public ZoneId convert(String value) {