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 2017/08/13 23:13:20 UTC
incubator-tamaya-sandbox git commit: TAMAYA-260: Fixed CDI tests/impl
for all non Provider-related test cases.
Repository: incubator-tamaya-sandbox
Updated Branches:
refs/heads/java8 50927f438 -> 4a63a4a4f
TAMAYA-260: Fixed CDI tests/impl for all non Provider-related test cases.
Project: http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/commit/4a63a4a4
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/tree/4a63a4a4
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/diff/4a63a4a4
Branch: refs/heads/java8
Commit: 4a63a4a4f30492535bd3b98881b442f681d69f78
Parents: 50927f4
Author: anatole <an...@apache.org>
Authored: Mon Aug 14 01:13:13 2017 +0200
Committer: anatole <an...@apache.org>
Committed: Mon Aug 14 01:13:13 2017 +0200
----------------------------------------------------------------------
.../microprofile/cdi/BridgingConfigBean.java | 3 ++-
.../cdi/MicroprofileCDIExtension.java | 2 +-
.../cdi/MicroprofileConfigurationProducer.java | 28 +++++++++++++++-----
.../imported/CDIPlainInjectionTest.java | 16 ++++++-----
4 files changed, 34 insertions(+), 15 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/4a63a4a4/microprofile/src/main/java/org/apache/tamaya/microprofile/cdi/BridgingConfigBean.java
----------------------------------------------------------------------
diff --git a/microprofile/src/main/java/org/apache/tamaya/microprofile/cdi/BridgingConfigBean.java b/microprofile/src/main/java/org/apache/tamaya/microprofile/cdi/BridgingConfigBean.java
index 763f6ed..deb2496 100644
--- a/microprofile/src/main/java/org/apache/tamaya/microprofile/cdi/BridgingConfigBean.java
+++ b/microprofile/src/main/java/org/apache/tamaya/microprofile/cdi/BridgingConfigBean.java
@@ -79,7 +79,8 @@ final class BridgingConfigBean implements Bean<Object> {
@Override
public boolean isNullable() {
- return delegate.isNullable();
+ return false;
+ // delegate.isNullable();
}
@Override
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/4a63a4a4/microprofile/src/main/java/org/apache/tamaya/microprofile/cdi/MicroprofileCDIExtension.java
----------------------------------------------------------------------
diff --git a/microprofile/src/main/java/org/apache/tamaya/microprofile/cdi/MicroprofileCDIExtension.java b/microprofile/src/main/java/org/apache/tamaya/microprofile/cdi/MicroprofileCDIExtension.java
index 9260d3d..7a819fc 100644
--- a/microprofile/src/main/java/org/apache/tamaya/microprofile/cdi/MicroprofileCDIExtension.java
+++ b/microprofile/src/main/java/org/apache/tamaya/microprofile/cdi/MicroprofileCDIExtension.java
@@ -63,7 +63,7 @@ public class MicroprofileCDIExtension implements Extension {
if (injectionPoint.getAnnotated().isAnnotationPresent(ConfigProperty.class)) {
System.err.println("Configured: " + injectionPoint);
final ConfigProperty annotation = injectionPoint.getAnnotated().getAnnotation(ConfigProperty.class);
- String key = !annotation.name().isEmpty()?annotation.name():injectionPoint.getMember().getName();
+ String key = !annotation.name().isEmpty()?annotation.name():MicroprofileConfigurationProducer.getDefaultKey(injectionPoint);
Member member = injectionPoint.getMember();
if(member instanceof Field) {
types.add(((Field) member).getType());
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/4a63a4a4/microprofile/src/main/java/org/apache/tamaya/microprofile/cdi/MicroprofileConfigurationProducer.java
----------------------------------------------------------------------
diff --git a/microprofile/src/main/java/org/apache/tamaya/microprofile/cdi/MicroprofileConfigurationProducer.java b/microprofile/src/main/java/org/apache/tamaya/microprofile/cdi/MicroprofileConfigurationProducer.java
index 7a7799f..e6c1174 100644
--- a/microprofile/src/main/java/org/apache/tamaya/microprofile/cdi/MicroprofileConfigurationProducer.java
+++ b/microprofile/src/main/java/org/apache/tamaya/microprofile/cdi/MicroprofileConfigurationProducer.java
@@ -16,6 +16,7 @@
*/
package org.apache.tamaya.microprofile.cdi;
+import org.apache.commons.lang.StringUtils;
import org.apache.tamaya.*;
import org.apache.tamaya.spi.ConversionContext;
import org.apache.tamaya.spi.PropertyConverter;
@@ -34,6 +35,8 @@ import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
+import static org.apache.commons.lang.WordUtils.uncapitalize;
+
/**
* Producer bean for configuration properties.
*/
@@ -45,9 +48,12 @@ public class MicroprofileConfigurationProducer {
@Produces
@ConfigProperty
public Object resolveAndConvert(final InjectionPoint injectionPoint) {
- System.err.println("Inject: " + injectionPoint);
+ LOGGER.finest( () -> "Inject: " + injectionPoint);
final ConfigProperty annotation = injectionPoint.getAnnotated().getAnnotation(ConfigProperty.class);
String key = annotation.name();
+ if(key.isEmpty()){
+ key = getDefaultKey(injectionPoint);
+ }
// unless the extension is not installed, this should never happen because the extension
// enforces the resolvability of the config
@@ -64,6 +70,16 @@ public class MicroprofileConfigurationProducer {
return value;
}
+ static String getDefaultKey(InjectionPoint injectionPoint) {
+ String memberName = injectionPoint.getMember().getName();
+ String beanClassNames[] = injectionPoint.getBean().getBeanClass().getName().split("\\$");
+ if(beanClassNames.length==1) {
+ return beanClassNames[0] + "." + uncapitalize(memberName);
+ }else{
+ return beanClassNames[0] + "." + uncapitalize(beanClassNames[1]) + "." + uncapitalize(memberName);
+ }
+ }
+
static ConversionContext createConversionContext(String key, InjectionPoint injectionPoint) {
final Type targetType = injectionPoint.getAnnotated().getBaseType();
Configuration config = ConfigurationProvider.getConfiguration();
@@ -76,12 +92,12 @@ public class MicroprofileConfigurationProducer {
}
static Object resolveValue(String defaultTextValue, ConversionContext context, InjectionPoint injectionPoint) {
- Configuration config = ConfigurationProvider.getConfiguration();
- String textValue = config.get(context.getKey());
- if (textValue == null) {
- textValue = defaultTextValue;
- }
+ Config config = ConfigProviderResolver.instance().getConfig();
+ String textValue = config.getOptionalValue(context.getKey(), String.class).orElse(defaultTextValue);
Object value = null;
+ if(String.class.equals(context.getTargetType().getRawType())){
+ value = textValue;
+ }
if (textValue != null) {
List<PropertyConverter> converters = ConfigurationProvider.getConfiguration().getContext()
.getPropertyConverters((TypeLiteral)context.getTargetType());
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/4a63a4a4/microprofile/src/test/java/org/apache/tamaya/microprofile/imported/CDIPlainInjectionTest.java
----------------------------------------------------------------------
diff --git a/microprofile/src/test/java/org/apache/tamaya/microprofile/imported/CDIPlainInjectionTest.java b/microprofile/src/test/java/org/apache/tamaya/microprofile/imported/CDIPlainInjectionTest.java
index e27ff4a..443e8d8 100644
--- a/microprofile/src/test/java/org/apache/tamaya/microprofile/imported/CDIPlainInjectionTest.java
+++ b/microprofile/src/test/java/org/apache/tamaya/microprofile/imported/CDIPlainInjectionTest.java
@@ -27,13 +27,12 @@ import org.apache.tamaya.microprofile.cdi.*;
import org.eclipse.microprofile.config.inject.ConfigProperty;
import org.eclipse.microprofile.config.spi.ConfigSource;
import org.junit.After;
-import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import javax.enterprise.context.Dependent;
-import javax.enterprise.inject.spi.CDI;
+import javax.enterprise.inject.Instance;
import javax.inject.Inject;
import javax.inject.Provider;
import java.util.HashMap;
@@ -48,12 +47,11 @@ import static org.junit.Assert.assertEquals;
* The tests depend only on CDI 1.2.
* @author Ondrej Mihalyi
*/
-@Ignore
@RunWith(ApplicationComposer.class)
public class CDIPlainInjectionTest{
private static final String DEFAULT_PROPERTY_BEAN_KEY =
- "org.eclipse.microprofile.config.tck.CDIPlainInjectionTest.defaultPropertyBean.configProperty";
+ "org.apache.tamaya.microprofile.imported.CDIPlainInjectionTest.defaultPropertyBean.configProperty";
static{
System.setProperty("my.string.property", "text");
@@ -65,9 +63,12 @@ public class CDIPlainInjectionTest{
System.setProperty(DEFAULT_PROPERTY_BEAN_KEY, "pathConfigValue");
}
+ @Inject
+ private Instance<Object> instance;
+
@Module
@Classes(cdi = true, value = {
- SimpleValuesBean.class, DynamicValuesBean.class, DefaultPropertyBean.class,
+ SimpleValuesBean.class, /*DynamicValuesBean.class, */ DefaultPropertyBean.class,
MicroprofileCDIExtension.class,
MicroprofileConfigurationProducer.class,
ConfiguredType.class, ConfiguredMethod.class, ConfiguredField.class,
@@ -101,6 +102,7 @@ public class CDIPlainInjectionTest{
}
@Test
+ @Ignore
public void can_inject_dynamic_values_via_CDI_provider() {
clear_all_property_values();
@@ -146,7 +148,7 @@ public class CDIPlainInjectionTest{
}
private <T> T getBeanOfType(Class<T> beanClass) {
- return CDI.current().select(beanClass).get();
+ return instance.select(beanClass).get();
}
@Dependent
@@ -204,7 +206,7 @@ public class CDIPlainInjectionTest{
}
- @Dependent
+// @Dependent
public static class DynamicValuesBean {
@Inject