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/10/29 13:09:57 UTC
[04/10] incubator-tamaya git commit: TAMAYA-128: Added
ConversionContext for supporting more complex conversion cases,
adapted evaluation of conversion, passing along the finally found key value,
if any.
TAMAYA-128: Added ConversionContext for supporting more complex conversion cases, adapted evaluation of conversion, passing along the finally found key value, if any.
Project: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/commit/ff3f3140
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/tree/ff3f3140
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/diff/ff3f3140
Branch: refs/heads/master
Commit: ff3f3140c60bac6a4d6c14ea190452b43059eb83
Parents: fad1e9d
Author: Anatole Tresch <an...@apache.org>
Authored: Thu Oct 29 12:39:53 2015 +0100
Committer: Anatole Tresch <an...@apache.org>
Committed: Thu Oct 29 12:39:53 2015 +0100
----------------------------------------------------------------------
.../tamaya/integration/cdi/internal/EnumConverter.java | 4 +++-
.../integration/cdi/internal/PropertyConverterManager.java | 9 +++++++--
2 files changed, 10 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/ff3f3140/modules/integration/cdi-se/src/main/java/org/apache/tamaya/integration/cdi/internal/EnumConverter.java
----------------------------------------------------------------------
diff --git a/modules/integration/cdi-se/src/main/java/org/apache/tamaya/integration/cdi/internal/EnumConverter.java b/modules/integration/cdi-se/src/main/java/org/apache/tamaya/integration/cdi/internal/EnumConverter.java
index 5b96044..15a5698 100644
--- a/modules/integration/cdi-se/src/main/java/org/apache/tamaya/integration/cdi/internal/EnumConverter.java
+++ b/modules/integration/cdi-se/src/main/java/org/apache/tamaya/integration/cdi/internal/EnumConverter.java
@@ -19,6 +19,7 @@
package org.apache.tamaya.integration.cdi.internal;
import org.apache.tamaya.ConfigException;
+import org.apache.tamaya.spi.ConversionContext;
import org.apache.tamaya.spi.PropertyConverter;
import javax.enterprise.inject.Vetoed;
@@ -53,7 +54,8 @@ public class EnumConverter<T> implements PropertyConverter<T> {
}
@Override
- public T convert(String value) {
+ public T convert(String value, ConversionContext context) {
+ context.addSupportedFormats(getClass(), "<enumValue>");
try {
return (T) factory.invoke(null, value);
} catch (InvocationTargetException | IllegalAccessException e) {
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/ff3f3140/modules/integration/cdi-se/src/main/java/org/apache/tamaya/integration/cdi/internal/PropertyConverterManager.java
----------------------------------------------------------------------
diff --git a/modules/integration/cdi-se/src/main/java/org/apache/tamaya/integration/cdi/internal/PropertyConverterManager.java b/modules/integration/cdi-se/src/main/java/org/apache/tamaya/integration/cdi/internal/PropertyConverterManager.java
index 8a78548..e10b2da 100644
--- a/modules/integration/cdi-se/src/main/java/org/apache/tamaya/integration/cdi/internal/PropertyConverterManager.java
+++ b/modules/integration/cdi-se/src/main/java/org/apache/tamaya/integration/cdi/internal/PropertyConverterManager.java
@@ -20,6 +20,7 @@ package org.apache.tamaya.integration.cdi.internal;
import org.apache.tamaya.ConfigException;
import org.apache.tamaya.TypeLiteral;
+import org.apache.tamaya.spi.ConversionContext;
import org.apache.tamaya.spi.PropertyConverter;
import org.apache.tamaya.spi.ServiceContextManager;
@@ -349,7 +350,10 @@ public class PropertyConverterManager {
if (factoryMethod != null) {
converter = new PropertyConverter<T>() {
@Override
- public T convert(String value) {
+ public T convert(String value, ConversionContext context) {
+ context.addSupportedFormats(PropertyConverter.class, "static T of(String)", "static T valueOf(String)",
+ "static T getInstance(String)", "static T from(String)",
+ "static T fromString(String)", "static T parse(String)");
try {
if (!Modifier.isStatic(factoryMethod.getModifiers())) {
throw new ConfigException(factoryMethod.toGenericString() +
@@ -376,7 +380,8 @@ public class PropertyConverterManager {
final Constructor<T> constr = targetType.getRawType().getDeclaredConstructor(String.class);
converter = new PropertyConverter<T>() {
@Override
- public T convert(String value) {
+ public T convert(String value, ConversionContext context) {
+ context.addSupportedFormats(PropertyConverter.class, "new T(String)");
try {
AccessController.doPrivileged(new PrivilegedAction<Object>() {
@Override