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/10/16 23:03:15 UTC
[6/6] incubator-tamaya-sandbox git commit: TAMAYA-300 Added tests to
improve mutation coverage. Movewd OSGI and MP to extensions.
TAMAYA-300 Added tests to improve mutation coverage. Movewd OSGI and MP to extensions.
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/eeab5ce0
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/tree/eeab5ce0
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/diff/eeab5ce0
Branch: refs/heads/master
Commit: eeab5ce02582159ff4ea039f82ef2707d03107f6
Parents: 3aa3145
Author: Anatole Tresch <an...@apache.org>
Authored: Tue Oct 17 01:02:55 2017 +0200
Committer: Anatole Tresch <an...@apache.org>
Committed: Tue Oct 17 01:02:56 2017 +0200
----------------------------------------------------------------------
microprofile/bnd.bnd | 34 --
microprofile/pom.xml | 159 -------
.../microprofile/MicroprofileAdapter.java | 185 --------
.../tamaya/microprofile/MicroprofileConfig.java | 100 -----
.../microprofile/MicroprofileConfigBuilder.java | 140 ------
.../MicroprofileConfigProviderResolver.java | 82 ----
.../microprofile/MicroprofileConfigSource.java | 78 ----
.../MicroprofileConfigSourceProvider.java | 64 ---
.../microprofile/MicroprofileConverter.java | 50 ---
.../MicroprofileDefaultProperties.java | 33 --
.../microprofile/TamayaConfiguration.java | 93 ----
.../microprofile/TamayaPropertyConverter.java | 48 --
.../microprofile/TamayaPropertySource.java | 78 ----
.../TamayaPropertySourceProvider.java | 56 ---
.../microprofile/cdi/BridgingConfigBean.java | 95 ----
.../microprofile/cdi/ConfiguredField.java | 65 ---
.../microprofile/cdi/ConfiguredMethod.java | 65 ---
.../tamaya/microprofile/cdi/ConfiguredType.java | 86 ----
.../cdi/MicroprofileCDIExtension.java | 127 ------
.../cdi/MicroprofileConfigurationProducer.java | 156 -------
.../converter/BooleanAsIntegerConverterFix.java | 61 ---
.../converter/ProviderConverter.java | 98 ----
.../javax.enterprise.inject.spi.Extension | 20 -
.../org.apache.tamaya.spi.PropertyConverter | 21 -
.../org.apache.tamaya.spi.PropertySource | 20 -
...croprofile.config.spi.ConfigProviderResolver | 20 -
microprofile/src/main/resources/beans.xml | 25 --
.../MicroprofileConfigBuilderTest.java | 99 -----
.../MicroprofileConfigProviderResolverTest.java | 73 ---
.../MicroprofileConfigProviderTest.java | 62 ---
.../microprofile/MicroprofileConfigTest.java | 95 ----
.../tck/TamayaConfigArchiveProcessor.java | 79 ----
.../microprofile/tck/TamayaConfigExtension.java | 36 --
.../src/test/resources/META-INF/beans.xml | 24 -
.../META-INF/microprofile-config.properties | 105 -----
....jboss.arquillian.core.spi.LoadableExtension | 19 -
.../src/test/resources/sampleconfig.yaml | 18 -
microprofile/src/test/tck-suite.xml | 27 --
osgi/common/bnd.bnd | 33 --
osgi/common/pom.xml | 91 ----
.../java/org/apache/tamaya/osgi/Activator.java | 74 ----
.../java/org/apache/tamaya/osgi/Backups.java | 157 -------
.../org/apache/tamaya/osgi/ConfigChanger.java | 215 ---------
.../org/apache/tamaya/osgi/ConfigHistory.java | 268 -----------
.../java/org/apache/tamaya/osgi/Policy.java | 31 --
.../apache/tamaya/osgi/TamayaConfigPlugin.java | 444 -------------------
.../tamaya/osgi/commands/BackupCommands.java | 135 ------
.../tamaya/osgi/commands/ConfigCommands.java | 244 ----------
.../tamaya/osgi/commands/HistoryCommands.java | 95 ----
.../apache/tamaya/osgi/commands/StringUtil.java | 46 --
.../osgi/commands/TamayaConfigService.java | 206 ---------
.../apache/tamaya/osgi/AbstractOSGITest.java | 100 -----
.../org/apache/tamaya/osgi/ActivatorTest.java | 44 --
.../org/apache/tamaya/osgi/BackupsTest.java | 107 -----
.../apache/tamaya/osgi/ConfigHistoryTest.java | 148 -------
.../tamaya/osgi/TamayaConfigPluginTest.java | 290 ------------
.../osgi/commands/BackupCommandsTest.java | 103 -----
.../osgi/commands/ConfigCommandsTest.java | 204 ---------
.../osgi/commands/HistoryCommandsTest.java | 87 ----
.../META-INF/javaconfiguration.properties | 22 -
.../test/resources/org.ops4j.pax.logging.cfg | 48 --
osgi/gogo-shell/bnd.bnd | 34 --
osgi/gogo-shell/pom.xml | 71 ---
.../org/apache/tamaya/gogo/shell/Activator.java | 92 ----
.../tamaya/gogo/shell/BackupCommands.java | 78 ----
.../tamaya/gogo/shell/ConfigCommands.java | 89 ----
.../tamaya/gogo/shell/HistoryCommands.java | 89 ----
.../tamaya/gogo/shell/SettingsCommands.java | 83 ----
.../tamaya/gogo/shell/AbstractOSGITest.java | 100 -----
.../apache/tamaya/gogo/shell/ActivatorTest.java | 46 --
osgi/injection/bnd.bnd | 34 --
osgi/injection/pom.xml | 72 ---
.../apache/tamaya/osgi/injection/Activator.java | 61 ---
.../OSGIConfigAdminPropertySource.java | 108 -----
.../injection/OSGIConfigurationInjector.java | 75 ----
.../osgi/injection/TamayaOSGIInjector.java | 112 -----
.../tamaya/osgi/injection/AbstractOSGITest.java | 99 -----
.../tamaya/osgi/injection/ActivatorTest.java | 43 --
.../OSGIConfigAdminPropertySourceTest.java | 65 ---
.../OSGIConfigurationInjectorTest.java | 97 ----
osgi/karaf-features/pom.xml | 47 --
.../src/main/features/features.xml | 84 ----
osgi/karaf-shell/bnd.bnd | 38 --
osgi/karaf-shell/pom.xml | 63 ---
.../karaf/shell/ApplyTamayaConfigCommand.java | 56 ---
.../tamaya/karaf/shell/BackupCreateCommand.java | 56 ---
.../tamaya/karaf/shell/BackupDeleteCommand.java | 47 --
.../tamaya/karaf/shell/BackupListCommand.java | 47 --
.../karaf/shell/BackupRestoreCommand.java | 46 --
.../karaf/shell/DefaultEnableCommand.java | 67 ---
.../karaf/shell/DefaultEnabledCommand.java | 62 ---
.../tamaya/karaf/shell/GetPolicyCommand.java | 42 --
.../karaf/shell/HistoryDeleteAllCommand.java | 43 --
.../karaf/shell/HistoryDeleteCommand.java | 45 --
.../tamaya/karaf/shell/HistoryGetCommand.java | 69 ---
.../karaf/shell/HistoryMaxsizeCommand.java | 41 --
.../karaf/shell/HistoryMaxsizeSetCommand.java | 47 --
.../apache/tamaya/karaf/shell/InfoCommand.java | 41 --
.../tamaya/karaf/shell/OSGIConfigCommand.java | 51 ---
.../tamaya/karaf/shell/PolicyGetCommand.java | 42 --
.../tamaya/karaf/shell/PolicySetCommand.java | 68 ---
.../karaf/shell/PropagateUpdatesCommand.java | 44 --
.../karaf/shell/PropagateUpdatesSetCommand.java | 49 --
.../tamaya/karaf/shell/PropertyGetCommand.java | 49 --
.../karaf/shell/PropertySourceCommand.java | 41 --
.../karaf/shell/PropertySourcesCommand.java | 39 --
.../tamaya/karaf/shell/TamayaConfigCommand.java | 53 ---
.../org/apache/tamaya/karaf/shell/commands | 44 --
osgi/pom.xml | 109 -----
osgi/updater/bnd.bnd | 34 --
osgi/updater/pom.xml | 92 ----
.../apache/tamaya/osgi/updater/Activator.java | 76 ----
.../tamaya/osgi/updater/EventListener.java | 79 ----
.../tamaya/osgi/updater/AbstractOSGITest.java | 99 -----
.../tamaya/osgi/updater/ActivatorTest.java | 44 --
pom.xml | 2 -
116 files changed, 9292 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/eeab5ce0/microprofile/bnd.bnd
----------------------------------------------------------------------
diff --git a/microprofile/bnd.bnd b/microprofile/bnd.bnd
deleted file mode 100644
index da67308..0000000
--- a/microprofile/bnd.bnd
+++ /dev/null
@@ -1,34 +0,0 @@
--buildpath: \
- osgi.annotation; version=6.0.0,\
- osgi.core; version=6.0,\
- osgi.cmpn; version=6.0
-
--testpath: \
- ${junit}
-
-javac.source: 1.8
-javac.target: 1.8
-
-Bundle-Version: ${version}.${tstamp}
-Bundle-Name: Apache Tamaya - Microprofile
-Bundle-SymbolicName: org.apache.tamaya.microprofile
-Bundle-Description: Apacha Tamaya Config - Microprofile Implementation
-Bundle-Category: Implementation
-Bundle-Copyright: (C) Apache Foundation
-Bundle-License: Apache Licence version 2
-Bundle-Vendor: Apache Software Foundation
-Bundle-ContactAddress: dev-tamaya@incubator.apache.org
-Bundle-DocURL: http://tamaya.apache.org
-Export-Package: \
- org.apache.tamaya.microprofile,\
- org.apache.tamaya.microprofile.cdi,\
- org.apache.tamaya.microprofile.converter
-Import-Package: \
- org.apache.tamaya,\
- org.apache.tamaya.spi,\
- org.eclipse.microprofile.config
-Export-Service: \
- org.apache.tamaya.spi.PropertyConverter,\
- org.apache.tamaya.spi.ProperySource,\
- org.eclipse.microprofile.config.spi.ConfigProviderResolver,\
- javax.enterprise.inject.spi.Extension
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/eeab5ce0/microprofile/pom.xml
----------------------------------------------------------------------
diff --git a/microprofile/pom.xml b/microprofile/pom.xml
deleted file mode 100644
index e3bad3e..0000000
--- a/microprofile/pom.xml
+++ /dev/null
@@ -1,159 +0,0 @@
-<!--
-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 current 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.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <groupId>org.apache.tamaya.ext</groupId>
- <artifactId>tamaya-sandbox</artifactId>
- <version>0.4-incubating-SNAPSHOT</version>
- </parent>
-
- <artifactId>tamaya-microprofile_alpha</artifactId>
- <name>Apache Tamaya Modules - Microprofile API</name>
- <packaging>jar</packaging>
-
- <properties>
- <maven.compile.sourceLevel>1.8</maven.compile.sourceLevel>
- <maven.compile.targetLevel>1.8</maven.compile.targetLevel>
- <microprofile.config.version>1.1</microprofile.config.version>
- <geronimo-atinject-1.0-spec.version>1.0</geronimo-atinject-1.0-spec.version>
- <geronimo-jcdi-1.1-spec.version>1.0</geronimo-jcdi-1.1-spec.version>
- <version.shrinkwrap.resolvers>2.2.6</version.shrinkwrap.resolvers>
- <tamaya-version>0.4-incubating-SNAPSHOT</tamaya-version>
- <arquillian.version>1.1.13.Final</arquillian.version>
- <arquillian-weld-embedded.version>2.0.0.Beta5</arquillian-weld-embedded.version>
- <cdi-api.version>2.0</cdi-api.version>
- <weld-shaded.version>3.0.1.Final</weld-shaded.version>
- <weld.version>3.0.1.Final</weld.version>
- <deltaspike.version>1.1.0</deltaspike.version>
- <openejb.version>4.7.1</openejb.version>
- </properties>
-
- <dependencies>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.hamcrest</groupId>
- <artifactId>java-hamcrest</artifactId>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tamaya</groupId>
- <artifactId>tamaya-core</artifactId>
- <version>${tamaya-version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.tamaya</groupId>
- <artifactId>tamaya-api</artifactId>
- <version>${tamaya-version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tamaya.ext</groupId>
- <artifactId>tamaya-functions</artifactId>
- <version>${tamaya-version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tamaya.ext</groupId>
- <artifactId>tamaya-events</artifactId>
- <version>${tamaya-version}</version>
- </dependency>
- <dependency>
- <groupId>org.eclipse.microprofile.config</groupId>
- <artifactId>microprofile-config-api</artifactId>
- <version>${microprofile.config.version}</version>
- </dependency>
- <dependency>
- <groupId>javax.enterprise</groupId>
- <artifactId>cdi-api</artifactId>
- <version>${cdi-api.version}</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.jboss.weld.se</groupId>
- <artifactId>weld-se-shaded</artifactId>
- <version>${weld.version}</version>
- <scope>test</scope>
- </dependency>
- <!-- Microprofile TCK support only -->
- <dependency>
- <groupId>org.jboss.arquillian.testng</groupId>
- <artifactId>arquillian-testng-container</artifactId>
- <version>${arquillian.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.testng</groupId>
- <artifactId>testng</artifactId>
- <version>6.9.9</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.jboss.shrinkwrap.resolver</groupId>
- <artifactId>shrinkwrap-resolver-depchain</artifactId>
- <version>${version.shrinkwrap.resolvers}</version>
- <scope>test</scope>
- <type>pom</type>
- </dependency>
- </dependencies>
-
- <profiles>
- <profile>
- <id>TCK</id>
- <activation>
- <activeByDefault>false</activeByDefault>
- </activation>
- <dependencies>
- <dependency>
- <groupId>org.eclipse.microprofile.config</groupId>
- <artifactId>microprofile-config-tck</artifactId>
- <version>${microprofile.config.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.jboss.arquillian.container</groupId>
- <artifactId>arquillian-weld-embedded</artifactId>
- <version>${arquillian-weld-embedded.version}</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <version>2.20.1</version>
- <configuration>
- <suiteXmlFiles>
- <suiteXmlFile>src/test/tck-suite.xml</suiteXmlFile>
- </suiteXmlFiles>
- </configuration>
- </plugin>
- </plugins>
- </build>
- </profile>
- </profiles>
-
-</project>
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/eeab5ce0/microprofile/src/main/java/org/apache/tamaya/microprofile/MicroprofileAdapter.java
----------------------------------------------------------------------
diff --git a/microprofile/src/main/java/org/apache/tamaya/microprofile/MicroprofileAdapter.java b/microprofile/src/main/java/org/apache/tamaya/microprofile/MicroprofileAdapter.java
deleted file mode 100644
index 8f5002c..0000000
--- a/microprofile/src/main/java/org/apache/tamaya/microprofile/MicroprofileAdapter.java
+++ /dev/null
@@ -1,185 +0,0 @@
-/*
- * 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.microprofile;
-
-
-import org.apache.tamaya.*;
-import org.apache.tamaya.spi.ConfigurationContextBuilder;
-import org.apache.tamaya.spi.PropertyConverter;
-import org.apache.tamaya.spi.PropertySource;
-import org.apache.tamaya.spi.PropertyValue;
-import org.eclipse.microprofile.config.Config;
-import org.eclipse.microprofile.config.spi.ConfigBuilder;
-import org.eclipse.microprofile.config.spi.ConfigSource;
-import org.eclipse.microprofile.config.spi.Converter;
-
-import java.util.*;
-
-/**
- * Utility class for adapting microprofile artifacts into Tamaya artifacts and vice versa.
- */
-public final class MicroprofileAdapter{
-
- /**
- * Singleton constructor.
- */
- private MicroprofileAdapter(){}
-
- /**
- * Converts a Tamaya {@link Configuration} into a Microprofile.io {@link Config}.
- * @param config the Tamaya {@link Configuration} instance, not null.
- * @return the corresponding Microprofile.io {@link Config} instance, never null.
- */
- public static Config toConfig(Configuration config){
- if(config instanceof TamayaConfiguration){
- return ((TamayaConfiguration)config).getConfig();
- }
- return new MicroprofileConfig(config);
- }
-
- /**
- * Converts a Microprofile {@link Config}s into Tamaya {@link Configuration}s.
- * @param config the Microprofile {@link Config} instance, not null.
- * @return the corresponding Tamaya {@link Configuration} instance, never null.
- */
- public static Configuration toConfiguration(Config config){
- if(config instanceof MicroprofileConfig){
- return ((MicroprofileConfig)config).getConfiguration();
- }
- return new TamayaConfiguration(config);
- }
-
- /**
- * Converts a Tamaya {@link PropertySource}s into a Microprofile.io {@link ConfigSource}.
- * @param propertySources the Tamaya {@link PropertySource} instances, not null.
- * @return the corresponding Microprofile.io {@link ConfigSource} instance, never null.
- */
- public static List<ConfigSource> toConfigSources(Iterable<PropertySource> propertySources) {
- List<ConfigSource> configSources = new ArrayList<>();
- for(PropertySource ps:propertySources){
- configSources.add(toConfigSource(ps));
- }
- Collections.reverse(configSources);
- return configSources;
- }
-
- /**
- * Converts a Microprofile {@link ConfigSource}s into Tamaya {@link PropertySource}s.
- * @param configSources the Microprofile {@link ConfigSource} instances, not null.
- * @return the corresponding Tamaya {@link PropertySource} instances, never null.
- */
- public static List<PropertySource> toPropertySources(Iterable<ConfigSource> configSources) {
- List<PropertySource> propertySources = new ArrayList<>();
- for(ConfigSource cs:configSources){
- propertySources.add(toPropertySource(cs));
- }
- return propertySources;
- }
-
- /**
- * Converts a Tamaya {@link PropertySource} into a Microprofile.io {@link ConfigSource}.
- * @param propertySource the Tamaya {@link PropertySource} instance, not null.
- * @return the corresponding Microprofile.io {@link ConfigSource} instance, never null.
- */
- public static ConfigSource toConfigSource(PropertySource propertySource) {
- if(propertySource instanceof TamayaPropertySource){
- return ((TamayaPropertySource)propertySource).getConfigSource();
- }
- return new MicroprofileConfigSource(propertySource);
- }
-
- /**
- * Converts a Microprofile {@link ConfigSource} into a Tamaya {@link PropertySource}.
- * @param configSource the Microprofile {@link ConfigSource} instance, not null.
- * @return the corresponding Tamaya {@link PropertySource} instance, never null.
- */
- public static PropertySource toPropertySource(ConfigSource configSource) {
- if(configSource instanceof MicroprofileConfigSource){
- return ((MicroprofileConfigSource)configSource).getPropertySource();
- }
- return new TamayaPropertySource(configSource);
- }
-
- /**
- * Converts a Microprofile {@link Converter} into a Tamaya {@link PropertyConverter}.
- * @param converter the Microprofile {@link Converter} instance, not null.
- * @param <T> the target type
- * @return the corresponding Tamaya {@link PropertyConverter} instance, never null.
- */
- public static <T> PropertyConverter<T> toPropertyConverter(Converter<T> converter) {
- if(converter instanceof MicroprofileConverter){
- return ((MicroprofileConverter)converter).getPropertyConverter();
- }
- return new TamayaPropertyConverter(converter);
- }
-
- /**
- * Converts a Tamaya {@link PropertyConverter} into a Microprofile.io {@link Converter}.
- * @param converter the Tamaya {@link PropertyConverter} instance, not null.
- * @param <T> the target type
- * @return the corresponding Microprofile.io {@link Converter} instance, never null.
- */
- public static <T> Converter<T> toConverter(PropertyConverter<T> converter) {
- if(converter instanceof TamayaPropertyConverter){
- return ((TamayaPropertyConverter)converter).getConverter();
- }
- return new MicroprofileConverter(converter);
- }
-
- /**
- * Converts a Tamaya {@link ConfigurationContextBuilder} into a Microprofile.io {@link ConfigBuilder}.
- * @param builder the Tamaya {@link ConfigurationContextBuilder} instance, not null.
- * @return the corresponding Microprofile.io {@link ConfigBuilder} instance, never null.
- */
- public static ConfigBuilder toConfigBuilder(ConfigurationContextBuilder builder) {
- return new MicroprofileConfigBuilder(builder);
- }
-
- /**
- * Converts the given Tamaya key, value map into a corresponding String based map, hereby
- * omitting all meta-entries.
- * @param properties the Tamaya key, value map, not null.
- * @return the corresponding String based map, never null.
- */
- public static Map<String, String> toStringMap(Map<String, PropertyValue> properties) {
- Map<String, String> valueMap = new HashMap<>(properties.size());
- for(Map.Entry<String,PropertyValue> en:properties.entrySet()){
- if(en.getValue().getValue()!=null) {
- valueMap.put(en.getKey(), en.getValue().getValue());
- }
- }
- return valueMap;
- }
-
- /**
- * Converts the given String based key, value map into a corresponding String,PropertyValue
- * based map.
- * @param properties the String based key, value map, not null.
- * @param source the source of the entries, not null.
- * @return the corresponding String,PropertyValue based map, never null.
- */
- public static Map<String, PropertyValue> toPropertyValueMap(Map<String, String> properties, String source) {
- Map<String, PropertyValue> valueMap = new HashMap<>(properties.size());
- for(Map.Entry<String,String> en:properties.entrySet()){
- valueMap.put(en.getKey(), PropertyValue.of(en.getKey(), en.getValue(), source));
- }
- return valueMap;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/eeab5ce0/microprofile/src/main/java/org/apache/tamaya/microprofile/MicroprofileConfig.java
----------------------------------------------------------------------
diff --git a/microprofile/src/main/java/org/apache/tamaya/microprofile/MicroprofileConfig.java b/microprofile/src/main/java/org/apache/tamaya/microprofile/MicroprofileConfig.java
deleted file mode 100644
index 61c3cdc..0000000
--- a/microprofile/src/main/java/org/apache/tamaya/microprofile/MicroprofileConfig.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * 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.microprofile;
-
-import org.apache.tamaya.ConfigException;
-import org.apache.tamaya.Configuration;
-import org.apache.tamaya.events.FrozenConfiguration;
-import org.apache.tamaya.spi.PropertySource;
-import org.eclipse.microprofile.config.Config;
-import org.eclipse.microprofile.config.spi.ConfigSource;
-
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.io.ObjectOutputStream;
-import java.io.Serializable;
-import java.util.*;
-
-/**
- * Microprofile {@link ConfigSource} implementation that wraps a {@link PropertySource} instance.
- */
-public class MicroprofileConfig implements Config, Serializable {
-
- private Configuration delegate;
-
- public MicroprofileConfig(Configuration delegate){
- this.delegate = Objects.requireNonNull(delegate);
- }
-
- public Configuration getConfiguration(){
- return this.delegate;
- }
-
-
- @Override
- public <T> T getValue(String propertyName, Class<T> propertyType) {
- T value = null;
- try{
- value = delegate.get(propertyName, propertyType);
- }catch(ConfigException e){
- if(e.toString().contains("Unparseable")){
- throw new IllegalArgumentException("Invalid type: " + propertyType.getName());
- }
- }
- if(value == null){
- throw new NoSuchElementException("No such config property: " + propertyName);
- }
- return value;
- }
-
- @Override
- public <T> Optional<T> getOptionalValue(String propertyName, Class<T> propertyType) {
- return Optional.ofNullable(delegate.get(propertyName, propertyType));
- }
-
- @Override
- public Iterable<String> getPropertyNames() {
- return delegate.getProperties().keySet();
- }
-
- @Override
- public Iterable<ConfigSource> getConfigSources() {
- return MicroprofileAdapter.toConfigSources(delegate.getContext().getPropertySources());
- }
-
- @Override
- public String toString() {
- return "MicroprofileConfig{" +
- "delegate=" + delegate +
- '}';
- }
-
- private void writeObject(ObjectOutputStream out) throws IOException{
- if(!(this.delegate instanceof Serializable)){
- out.writeObject(FrozenConfiguration.of(this.delegate));
- }else {
- out.writeObject(this.delegate);
- }
- }
-
- private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException{
- this.delegate = (Configuration)in.readObject();
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/eeab5ce0/microprofile/src/main/java/org/apache/tamaya/microprofile/MicroprofileConfigBuilder.java
----------------------------------------------------------------------
diff --git a/microprofile/src/main/java/org/apache/tamaya/microprofile/MicroprofileConfigBuilder.java b/microprofile/src/main/java/org/apache/tamaya/microprofile/MicroprofileConfigBuilder.java
deleted file mode 100644
index 896311c..0000000
--- a/microprofile/src/main/java/org/apache/tamaya/microprofile/MicroprofileConfigBuilder.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- * 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.microprofile;
-
-import org.apache.tamaya.ConfigurationProvider;
-import org.apache.tamaya.TypeLiteral;
-import org.apache.tamaya.spi.ConfigurationContextBuilder;
-import org.apache.tamaya.spi.ServiceContextManager;
-import org.apache.tamaya.spisupport.EnvironmentPropertySource;
-import org.apache.tamaya.spisupport.PropertySourceComparator;
-import org.apache.tamaya.spisupport.SystemPropertySource;
-import org.eclipse.microprofile.config.Config;
-import org.eclipse.microprofile.config.spi.ConfigBuilder;
-import org.eclipse.microprofile.config.spi.ConfigSource;
-import org.eclipse.microprofile.config.spi.ConfigSourceProvider;
-import org.eclipse.microprofile.config.spi.Converter;
-
-import java.util.Objects;
-
-/**
- * Created by atsticks on 23.03.17.
- */
-final class MicroprofileConfigBuilder implements ConfigBuilder{
-
- private ConfigurationContextBuilder contextBuilder;
- private ClassLoader classLoader;
-
- MicroprofileConfigBuilder(ConfigurationContextBuilder contextBuilder){
- this.contextBuilder = Objects.requireNonNull(contextBuilder);
- contextBuilder.addDefaultPropertyConverters();
- }
-
- public ConfigurationContextBuilder getConfigurationContextBuilder(){
- return contextBuilder;
- }
-
- /**
- * Add the default config sources appearing on the builder's classpath
- * including:
- * <ol>
- * <li>System properties</li>
- * <li>Environment properties</li>
- * <li>/META-INF/microprofile-config.properties</li>
- * </ol>
- *
- * @return the ConfigBuilder with the default config sources
- */
- @Override
- public ConfigBuilder addDefaultSources() {
- contextBuilder.addPropertySources(
- new SystemPropertySource(400),
- new EnvironmentPropertySource(300),
- new MicroprofileDefaultProperties());
- contextBuilder.sortPropertySources(PropertySourceComparator.getInstance());
- return this;
- }
-
- /**
- * Add ConfigSources registered using the ServiceLoader.
- * @return the ConfigBuilder with the added config sources
- */
- @Override
- public ConfigBuilder addDiscoveredSources() {
- for(ConfigSource configSource: ServiceContextManager.getServiceContext().getServices(ConfigSource.class)){
- contextBuilder.addPropertySources(MicroprofileAdapter.toPropertySource(configSource));
- }
- for(ConfigSourceProvider configSourceProvider: ServiceContextManager.getServiceContext().getServices(ConfigSourceProvider.class)){
- contextBuilder.addPropertySources(MicroprofileAdapter.toPropertySources(configSourceProvider.getConfigSources(
- Thread.currentThread().getContextClassLoader()
- )));
- }
- contextBuilder.sortPropertySources(PropertySourceComparator.getInstance());
- return this;
- }
-
- /**
- * Add Converters registered using the ServiceLoader.
- * @return the ConfigBuilder with the added config converters
- */
- @Override
- public ConfigBuilder addDiscoveredConverters() {
- for(Converter<?> converter: ServiceContextManager.getServiceContext().getServices(Converter.class)){
- TypeLiteral targetType = TypeLiteral.of(
- TypeLiteral.getGenericInterfaceTypeParameters(converter.getClass(),Converter.class)[0]);
- contextBuilder.addPropertyConverters(targetType,
- MicroprofileAdapter.toPropertyConverter(converter));
- }
- return this;
- }
-
- @Override
- public ConfigBuilder forClassLoader(ClassLoader loader) {
- this.classLoader = loader;
- return this;
- }
-
- @Override
- public ConfigBuilder withSources(ConfigSource... sources) {
- for(ConfigSource source:sources){
- contextBuilder.addPropertySources(MicroprofileAdapter.toPropertySource(source));
- }
- return this;
- }
-
- @Override
- public ConfigBuilder withConverters(Converter<?>... converters) {
- for(Converter<?> converter:converters){
- TypeLiteral lit = TypeLiteral.of(converter.getClass());
- TypeLiteral target = TypeLiteral.of(lit.getType());
- contextBuilder.removePropertyConverters(target);
- contextBuilder.addPropertyConverters(
- target,
- MicroprofileAdapter.toPropertyConverter(converter));
- }
- return this;
- }
-
- @Override
- public Config build() {
- return MicroprofileAdapter.toConfig(ConfigurationProvider.createConfiguration(
- contextBuilder.build()
- ));
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/eeab5ce0/microprofile/src/main/java/org/apache/tamaya/microprofile/MicroprofileConfigProviderResolver.java
----------------------------------------------------------------------
diff --git a/microprofile/src/main/java/org/apache/tamaya/microprofile/MicroprofileConfigProviderResolver.java b/microprofile/src/main/java/org/apache/tamaya/microprofile/MicroprofileConfigProviderResolver.java
deleted file mode 100644
index 92a928a..0000000
--- a/microprofile/src/main/java/org/apache/tamaya/microprofile/MicroprofileConfigProviderResolver.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * 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.microprofile;
-
-import org.apache.tamaya.ConfigurationProvider;
-import org.apache.tamaya.spi.ConfigurationContextBuilder;
-import org.eclipse.microprofile.config.Config;
-import org.eclipse.microprofile.config.spi.ConfigBuilder;
-import org.eclipse.microprofile.config.spi.ConfigProviderResolver;
-
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.logging.Logger;
-
-/**
- * Created by atsticks on 23.03.17.
- */
-public class MicroprofileConfigProviderResolver extends ConfigProviderResolver {
-
- private Map<ClassLoader, Config> configs = new ConcurrentHashMap<>();
-
- @Override
- public Config getConfig() {
- return getConfig(Thread.currentThread().getContextClassLoader());
- }
-
- @Override
- public Config getConfig(ClassLoader loader) {
- Config config = this.configs.get(loader);
- if(config==null){
- ConfigurationContextBuilder builder = ConfigurationProvider.getConfigurationContextBuilder();
- builder.addDefaultPropertyConverters();
- MicroprofileConfigBuilder microConfigBuilder = new MicroprofileConfigBuilder(builder);
- microConfigBuilder.addDefaultSources();
- microConfigBuilder.addDiscoveredSources();
- config = microConfigBuilder.build();
- this.configs.put(loader, config);
- }
- return config;
- }
-
- @Override
- public ConfigBuilder getBuilder() {
- return new MicroprofileConfigBuilder(ConfigurationProvider.getConfigurationContextBuilder());
- }
-
- @Override
- public void registerConfig(Config config, ClassLoader classLoader) {
- if(configs.containsKey(classLoader)){
- Logger.getLogger(getClass().getName())
- .warning("Replacing existing config for classloader: " + classLoader);
-// throw new IllegalArgumentException("Already a config registered with classloader: " + classLoader);
- }
- this.configs.put(classLoader, config);
- }
-
- @Override
- public void releaseConfig(Config config) {
- for(Map.Entry<ClassLoader, Config> en: this.configs.entrySet()){
- if(en.getValue().equals(config)){
- this.configs.remove(en.getKey());
- return;
- }
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/eeab5ce0/microprofile/src/main/java/org/apache/tamaya/microprofile/MicroprofileConfigSource.java
----------------------------------------------------------------------
diff --git a/microprofile/src/main/java/org/apache/tamaya/microprofile/MicroprofileConfigSource.java b/microprofile/src/main/java/org/apache/tamaya/microprofile/MicroprofileConfigSource.java
deleted file mode 100644
index 39ca119..0000000
--- a/microprofile/src/main/java/org/apache/tamaya/microprofile/MicroprofileConfigSource.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * 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.microprofile;
-
-import org.apache.tamaya.spi.PropertySource;
-import org.apache.tamaya.spi.PropertyValue;
-import org.eclipse.microprofile.config.spi.ConfigSource;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Objects;
-
-/**
- * Microprofile {@link ConfigSource} implementation that wraps a {@link PropertySource} instance.
- */
-public class MicroprofileConfigSource implements ConfigSource{
-
- private PropertySource delegate;
-
- public MicroprofileConfigSource(PropertySource propertySource){
- this.delegate = Objects.requireNonNull(propertySource);
- }
-
- public PropertySource getPropertySource(){
- return this.delegate;
- }
-
- @Override
- public int getOrdinal() {
- return delegate.getOrdinal();
- }
-
- @Override
- public String getName() {
- return delegate.getName();
- }
-
- @Override
- public String getValue(String key) {
- PropertyValue value = delegate.get(key);
- if(value!=null){
- return value.getValue();
- }
- return null;
- }
-
- @Override
- public Map<String, String> getProperties() {
- return toMap(delegate.getProperties());
- }
-
- private Map<String, String> toMap(Map<String, PropertyValue> properties) {
- Map<String, String> valueMap = new HashMap<>(properties.size());
- for(Map.Entry<String,PropertyValue> en:properties.entrySet()){
- if(en.getValue().getValue()!=null) {
- valueMap.put(en.getKey(), en.getValue().getValue());
- }
- }
- return valueMap;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/eeab5ce0/microprofile/src/main/java/org/apache/tamaya/microprofile/MicroprofileConfigSourceProvider.java
----------------------------------------------------------------------
diff --git a/microprofile/src/main/java/org/apache/tamaya/microprofile/MicroprofileConfigSourceProvider.java b/microprofile/src/main/java/org/apache/tamaya/microprofile/MicroprofileConfigSourceProvider.java
deleted file mode 100644
index 5176940..0000000
--- a/microprofile/src/main/java/org/apache/tamaya/microprofile/MicroprofileConfigSourceProvider.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * 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.microprofile;
-
-import org.apache.tamaya.spi.PropertySource;
-import org.apache.tamaya.spi.PropertySourceProvider;
-import org.apache.tamaya.spi.PropertyValue;
-import org.eclipse.microprofile.config.spi.ConfigSource;
-import org.eclipse.microprofile.config.spi.ConfigSourceProvider;
-
-import java.util.*;
-
-/**
- * Microprofile {@link ConfigSource} implementation that wraps a {@link PropertySource} instance.
- */
-public class MicroprofileConfigSourceProvider implements ConfigSourceProvider{
-
- private PropertySourceProvider delegate;
-
- public MicroprofileConfigSourceProvider(PropertySourceProvider propertySourceProvider){
- this.delegate = Objects.requireNonNull(propertySourceProvider);
- }
-
- public PropertySourceProvider getPropertySourceProvider(){
- return this.delegate;
- }
-
-
- private Map<String, String> toMap(Map<String, PropertyValue> properties) {
- Map<String, String> valueMap = new HashMap<>(properties.size());
- for(Map.Entry<String,PropertyValue> en:properties.entrySet()){
- if(en.getValue().getValue()!=null) {
- valueMap.put(en.getKey(), en.getValue().getValue());
- }
- }
- return valueMap;
- }
-
- @Override
- public Iterable<ConfigSource> getConfigSources(ClassLoader forClassLoader) {
- if(delegate instanceof TamayaPropertySourceProvider){
- return ((TamayaPropertySourceProvider)delegate).getConfigSourceProvider()
- .getConfigSources(forClassLoader);
- }else {
- return MicroprofileAdapter.toConfigSources(delegate.getPropertySources());
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/eeab5ce0/microprofile/src/main/java/org/apache/tamaya/microprofile/MicroprofileConverter.java
----------------------------------------------------------------------
diff --git a/microprofile/src/main/java/org/apache/tamaya/microprofile/MicroprofileConverter.java b/microprofile/src/main/java/org/apache/tamaya/microprofile/MicroprofileConverter.java
deleted file mode 100644
index cb6aab2..0000000
--- a/microprofile/src/main/java/org/apache/tamaya/microprofile/MicroprofileConverter.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * 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.microprofile;
-
-
-import org.apache.tamaya.TypeLiteral;
-import org.apache.tamaya.spi.ConversionContext;
-import org.apache.tamaya.spi.PropertyConverter;
-import org.eclipse.microprofile.config.spi.ConfigSource;
-import org.eclipse.microprofile.config.spi.Converter;
-
-import java.util.Objects;
-
-/**
- * Property source implementation that wraps a Microprofile {@link ConfigSource} instance.
- */
-public class MicroprofileConverter<T> implements Converter<T> {
-
- private PropertyConverter<T> delegate;
-
- public MicroprofileConverter(PropertyConverter<T> delegate){
- this.delegate = Objects.requireNonNull(delegate);
- }
-
- public PropertyConverter<T> getPropertyConverter(){
- return this.delegate;
- }
-
- @Override
- public T convert(String value) {
- return delegate.convert(value, new ConversionContext.Builder("microprofile:no-key", TypeLiteral.of(
- TypeLiteral.of(getClass()).getType())).build());
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/eeab5ce0/microprofile/src/main/java/org/apache/tamaya/microprofile/MicroprofileDefaultProperties.java
----------------------------------------------------------------------
diff --git a/microprofile/src/main/java/org/apache/tamaya/microprofile/MicroprofileDefaultProperties.java b/microprofile/src/main/java/org/apache/tamaya/microprofile/MicroprofileDefaultProperties.java
deleted file mode 100644
index cfe06bd..0000000
--- a/microprofile/src/main/java/org/apache/tamaya/microprofile/MicroprofileDefaultProperties.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * 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.microprofile;
-
-import org.apache.tamaya.spisupport.PropertiesResourcePropertySource;
-
-
-/**
- * Default property source for config properties in the classpath.
- */
-public class MicroprofileDefaultProperties extends PropertiesResourcePropertySource{
-
- public MicroprofileDefaultProperties() {
- super("META-INF/microprofile-config.properties", null);
- setDefaultOrdinal(100);
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/eeab5ce0/microprofile/src/main/java/org/apache/tamaya/microprofile/TamayaConfiguration.java
----------------------------------------------------------------------
diff --git a/microprofile/src/main/java/org/apache/tamaya/microprofile/TamayaConfiguration.java b/microprofile/src/main/java/org/apache/tamaya/microprofile/TamayaConfiguration.java
deleted file mode 100644
index 0f27821..0000000
--- a/microprofile/src/main/java/org/apache/tamaya/microprofile/TamayaConfiguration.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * 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.microprofile;
-
-import org.apache.tamaya.*;
-import org.apache.tamaya.spi.ConfigurationContext;
-import org.eclipse.microprofile.config.Config;
-
-import java.util.*;
-
-/**
- * Created by atsticks on 23.03.17.
- */
-public class TamayaConfiguration implements Configuration{
-
- private Config delegate;
-
- public TamayaConfiguration(Config config){
- this.delegate = Objects.requireNonNull(config);
- }
-
- public Config getConfig(){
- return delegate;
- }
-
- @Override
- public String get(String key) {
- return this.delegate.getOptionalValue(key, String.class).orElse(null);
- }
-
- @Override
- public String getOrDefault(String key, String defaultValue) {
- return this.delegate.getOptionalValue(key, String.class).orElse(defaultValue);
- }
-
- @Override
- public <T> T getOrDefault(String key, Class<T> type, T defaultValue) {
- return this.delegate.getOptionalValue(key, type).orElse(defaultValue);
- }
-
- @Override
- public <T> T get(String key, Class<T> type) {
- return this.delegate.getOptionalValue(key, type).orElseThrow(
- () -> new NoSuchElementException("Missing key: " + key));
- }
-
- @Override
- public <T> T get(String key, TypeLiteral<T> type) {
- return this.delegate.getOptionalValue(key, type.getRawType()).orElseThrow(
- () -> new NoSuchElementException("Missing key: " + key));
- }
-
- @Override
- public <T> T getOrDefault(String key, TypeLiteral<T> type, T defaultValue) {
- return null;
- }
-
- @Override
- public Map<String, String> getProperties() {
- return null;
- }
-
- @Override
- public Configuration with(ConfigOperator operator) {
- return operator.operate(this);
- }
-
- @Override
- public <T> T query(ConfigQuery<T> query) {
- return query.query(this);
- }
-
- @Override
- public ConfigurationContext getContext() {
- return null;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/eeab5ce0/microprofile/src/main/java/org/apache/tamaya/microprofile/TamayaPropertyConverter.java
----------------------------------------------------------------------
diff --git a/microprofile/src/main/java/org/apache/tamaya/microprofile/TamayaPropertyConverter.java b/microprofile/src/main/java/org/apache/tamaya/microprofile/TamayaPropertyConverter.java
deleted file mode 100644
index a83008a..0000000
--- a/microprofile/src/main/java/org/apache/tamaya/microprofile/TamayaPropertyConverter.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * 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.microprofile;
-
-
-import org.apache.tamaya.spi.ConversionContext;
-import org.apache.tamaya.spi.PropertyConverter;
-import org.eclipse.microprofile.config.spi.ConfigSource;
-import org.eclipse.microprofile.config.spi.Converter;
-
-import java.util.Objects;
-
-/**
- * Property source implementation that wraps a Microprofile {@link ConfigSource} instance.
- */
-public class TamayaPropertyConverter<T> implements PropertyConverter<T> {
-
- private Converter<T> delegate;
-
- public TamayaPropertyConverter(Converter<T> delegate){
- this.delegate = Objects.requireNonNull(delegate);
- }
-
- public Converter<T> getConverter(){
- return this.delegate;
- }
-
- @Override
- public T convert(String value, ConversionContext context) {
- return delegate.convert(value);
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/eeab5ce0/microprofile/src/main/java/org/apache/tamaya/microprofile/TamayaPropertySource.java
----------------------------------------------------------------------
diff --git a/microprofile/src/main/java/org/apache/tamaya/microprofile/TamayaPropertySource.java b/microprofile/src/main/java/org/apache/tamaya/microprofile/TamayaPropertySource.java
deleted file mode 100644
index f526514..0000000
--- a/microprofile/src/main/java/org/apache/tamaya/microprofile/TamayaPropertySource.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * 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.microprofile;
-
-import org.apache.tamaya.spi.PropertySource;
-import org.apache.tamaya.spi.PropertyValue;
-import org.eclipse.microprofile.config.spi.ConfigSource;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Objects;
-import java.util.Optional;
-
-/**
- * Property source implementation that wraps a Microprofile {@link ConfigSource} instance.
- */
-public class TamayaPropertySource implements PropertySource{
-
- private ConfigSource delegate;
-
- public TamayaPropertySource(ConfigSource configSource){
- this.delegate = Objects.requireNonNull(configSource);
- }
-
- public ConfigSource getConfigSource(){
- return this.delegate;
- }
-
- @Override
- public int getOrdinal() {
- return delegate.getOrdinal();
- }
-
- @Override
- public String getName() {
- return Optional.ofNullable(delegate.getName())
- .orElse(delegate.toString());
- }
-
- @Override
- public PropertyValue get(String key) {
- return PropertyValue.of(key, delegate.getValue(key),getName());
- }
-
- @Override
- public Map<String, PropertyValue> getProperties() {
- return toValueMap(delegate.getProperties());
- }
-
- private Map<String, PropertyValue> toValueMap(Map<String, String> properties) {
- Map<String, PropertyValue> valueMap = new HashMap<>(properties.size());
- for(Map.Entry<String,String> en:properties.entrySet()){
- valueMap.put(en.getKey(), PropertyValue.of(en.getKey(), en.getValue(), getName()));
- }
- return valueMap;
- }
-
- @Override
- public boolean isScannable() {
- return true;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/eeab5ce0/microprofile/src/main/java/org/apache/tamaya/microprofile/TamayaPropertySourceProvider.java
----------------------------------------------------------------------
diff --git a/microprofile/src/main/java/org/apache/tamaya/microprofile/TamayaPropertySourceProvider.java b/microprofile/src/main/java/org/apache/tamaya/microprofile/TamayaPropertySourceProvider.java
deleted file mode 100644
index 5b0bcf7..0000000
--- a/microprofile/src/main/java/org/apache/tamaya/microprofile/TamayaPropertySourceProvider.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * 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.microprofile;
-
-
-import org.apache.tamaya.spi.PropertySource;
-import org.apache.tamaya.spi.PropertySourceProvider;
-import org.eclipse.microprofile.config.spi.ConfigSource;
-import org.eclipse.microprofile.config.spi.ConfigSourceProvider;
-
-import java.util.*;
-
-/**
- * Microprofile {@link ConfigSource} implementation that wraps a {@link PropertySource} instance.
- */
-public class TamayaPropertySourceProvider implements PropertySourceProvider{
-
- private ConfigSourceProvider delegate;
-
- public TamayaPropertySourceProvider(ConfigSourceProvider configSourceProvider){
- this.delegate = Objects.requireNonNull(configSourceProvider);
- }
-
- public ConfigSourceProvider getConfigSourceProvider(){
- return this.delegate;
- }
-
-
- @Override
- public Collection<PropertySource> getPropertySources() {
- if(delegate instanceof MicroprofileConfigSourceProvider){
- return ((MicroprofileConfigSourceProvider)delegate).getPropertySourceProvider()
- .getPropertySources();
- }else {
- return MicroprofileAdapter.toPropertySources(
- delegate.getConfigSources(Thread.currentThread().getContextClassLoader()));
- }
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/eeab5ce0/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
deleted file mode 100644
index a08f76f..0000000
--- a/microprofile/src/main/java/org/apache/tamaya/microprofile/cdi/BridgingConfigBean.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * 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.microprofile.cdi;
-
-import javax.enterprise.context.spi.CreationalContext;
-import javax.enterprise.inject.spi.Bean;
-import javax.enterprise.inject.spi.InjectionPoint;
-import java.lang.annotation.Annotation;
-import java.lang.reflect.Type;
-import java.util.Objects;
-import java.util.Set;
-
-/**
- * Internally used conversion bean.
- */
-final class BridgingConfigBean implements Bean<Object> {
-
- private final Bean<Object> delegate;
- private final Set<Type> types;
-
- public BridgingConfigBean(final Bean delegate, final Set<Type> types) {
- this.types = types;
- this.delegate = Objects.requireNonNull(delegate);
- }
-
- @Override
- public Set<Type> getTypes() {
- return types;
- }
-
- @Override
- public Class<?> getBeanClass() {
- return delegate.getBeanClass();
- }
-
- @Override
- public Set<InjectionPoint> getInjectionPoints() {
- return delegate.getInjectionPoints();
- }
-
- @Override
- public String getName() {
- return delegate.getName();
- }
-
- @Override
- public Set<Annotation> getQualifiers() {
- return delegate.getQualifiers();
- }
-
- @Override
- public Class<? extends Annotation> getScope() {
- return delegate.getScope();
- }
-
- @Override
- public Set<Class<? extends Annotation>> getStereotypes() {
- return delegate.getStereotypes();
- }
-
- @Override
- public boolean isAlternative() {
- return delegate.isAlternative();
- }
-
- @Override
- public boolean isNullable() {
- return false;
- // delegate.isNullable();
- }
-
- @Override
- public Object create(CreationalContext<Object> creationalContext) {
- return this.delegate.create(creationalContext);
- }
-
- @Override
- public void destroy(Object instance, CreationalContext<Object> creationalContext) {
- delegate.destroy(instance, creationalContext);
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/eeab5ce0/microprofile/src/main/java/org/apache/tamaya/microprofile/cdi/ConfiguredField.java
----------------------------------------------------------------------
diff --git a/microprofile/src/main/java/org/apache/tamaya/microprofile/cdi/ConfiguredField.java b/microprofile/src/main/java/org/apache/tamaya/microprofile/cdi/ConfiguredField.java
deleted file mode 100644
index 29d7122..0000000
--- a/microprofile/src/main/java/org/apache/tamaya/microprofile/cdi/ConfiguredField.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * 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.microprofile.cdi;
-
-import org.apache.tamaya.Configuration;
-
-import javax.enterprise.inject.spi.InjectionPoint;
-import java.lang.reflect.Field;
-
-/**
- * CDI implementation for event publishing of configured instances.
- */
-public final class ConfiguredField {
-
- private final Field field;
- private String key;
-
- ConfiguredField(InjectionPoint injectionPoint, String key){
- this.field = (Field)injectionPoint.getMember();
- this.key = key;
- }
-
- public Class<?> getType() {
- return field.getType();
- }
-
- public String getKey() {
- return key;
- }
-
- public Field getAnnotatedField() {
- return field;
- }
-
- public String getName() {
- return field.getName();
- }
-
- public String getSignature() {
- return getName()+':'+field.getType().getName();
- }
-
- public void configure(Object instance, Configuration config) {
- throw new UnsupportedOperationException("Use CDI annotations for configuration injection.");
- }
-
- @Override
- public String toString() {
- return "CDIConfiguredField["+getSignature()+']';
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/eeab5ce0/microprofile/src/main/java/org/apache/tamaya/microprofile/cdi/ConfiguredMethod.java
----------------------------------------------------------------------
diff --git a/microprofile/src/main/java/org/apache/tamaya/microprofile/cdi/ConfiguredMethod.java b/microprofile/src/main/java/org/apache/tamaya/microprofile/cdi/ConfiguredMethod.java
deleted file mode 100644
index 90204fe..0000000
--- a/microprofile/src/main/java/org/apache/tamaya/microprofile/cdi/ConfiguredMethod.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * 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.microprofile.cdi;
-
-import org.apache.tamaya.Configuration;
-
-import javax.enterprise.inject.spi.InjectionPoint;
-import java.lang.reflect.Method;
-
-/**
- * Implementation of a configured methods for CDI module.
- */
-public final class ConfiguredMethod {
-
- private final Method method;
- private String key;
-
- ConfiguredMethod(InjectionPoint injectionPoint, String key){
- this.method = (Method)injectionPoint.getMember();
- this.key = key;
- }
-
- public String getKey() {
- return key;
- }
-
- public Class<?>[] getParameterTypes() {
- return method.getParameterTypes();
- }
-
- public Method getAnnotatedMethod() {
- return method;
- }
-
- public String getName() {
- return method.getName();
- }
-
- public String getSignature() {
- return null;
- }
-
- public void configure(Object instance, Configuration config) {
- throw new UnsupportedOperationException("Use CDI annotations for configuration injection.");
- }
-
- @Override
- public String toString() {
- return "CDIConfiguredMethod["+getSignature()+']';
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/eeab5ce0/microprofile/src/main/java/org/apache/tamaya/microprofile/cdi/ConfiguredType.java
----------------------------------------------------------------------
diff --git a/microprofile/src/main/java/org/apache/tamaya/microprofile/cdi/ConfiguredType.java b/microprofile/src/main/java/org/apache/tamaya/microprofile/cdi/ConfiguredType.java
deleted file mode 100644
index 535a556..0000000
--- a/microprofile/src/main/java/org/apache/tamaya/microprofile/cdi/ConfiguredType.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * 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.microprofile.cdi;
-
-import org.apache.tamaya.Configuration;
-
-import javax.enterprise.inject.spi.InjectionPoint;
-import java.lang.reflect.Field;
-import java.lang.reflect.Member;
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-import java.util.Objects;
-
-/**
- * Event published for items configured by CDI extensions. This is for example used by the documentation module
- * to automatically track the configuration endpoints for documentation.
- */
-public final class ConfiguredType {
-
- private final Class<?> type;
- private final List<ConfiguredMethod> methods = new ArrayList<>();
- private final List<ConfiguredField> fields = new ArrayList<>();
-
- public ConfiguredType(Class<?> type){
- this.type = Objects.requireNonNull(type);
- }
-
- public Class getType() {
- return type;
- }
-
- public String getName() {
- return type.getName();
- }
-
- public Collection<ConfiguredField> getConfiguredFields() {
- return null;
- }
-
- public Collection<ConfiguredMethod> getConfiguredMethods() {
- return null;
- }
-
- public void configure(Object instance, Configuration config) {
- throw new UnsupportedOperationException("Use CDI annotations for configuration injection.");
- }
-
- /**
- * Used to build up during injection point processing.
- * @param injectionPoint the CDI injection point, not null.
- * @param key the possible config key, not null.
- */
- void addConfiguredMember(InjectionPoint injectionPoint, String key) {
- Member member = injectionPoint.getMember();
- if(member instanceof Field){
- this.fields.add(new ConfiguredField(injectionPoint, key));
- } else if(member instanceof Method){
- this.methods.add(new ConfiguredMethod(injectionPoint, key));
- }
- }
-
- @Override
- public String toString() {
- return "CDIConfiguredType{" +
- "type=" + type +
- ", methods=" + methods +
- ", fields=" + fields +
- '}';
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/eeab5ce0/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
deleted file mode 100644
index 310b72c..0000000
--- a/microprofile/src/main/java/org/apache/tamaya/microprofile/cdi/MicroprofileCDIExtension.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- * 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.microprofile.cdi;
-
-import org.eclipse.microprofile.config.inject.ConfigProperty;
-
-import javax.enterprise.event.Observes;
-import javax.enterprise.inject.Instance;
-import javax.enterprise.inject.spi.AfterBeanDiscovery;
-import javax.enterprise.inject.spi.Bean;
-import javax.enterprise.inject.spi.BeanManager;
-import javax.enterprise.inject.spi.Extension;
-import javax.enterprise.inject.spi.InjectionPoint;
-import javax.enterprise.inject.spi.ProcessBean;
-import javax.enterprise.inject.spi.ProcessProducerMethod;
-import javax.inject.Provider;
-import java.lang.reflect.AnnotatedType;
-import java.lang.reflect.Method;
-import java.lang.reflect.ParameterizedType;
-import java.lang.reflect.Type;
-import java.util.HashSet;
-import java.util.Set;
-import java.util.logging.Logger;
-
-
-/**
- * CDI Extension module that adds injection mechanism for configuration.
- *
- * @see org.eclipse.microprofile.config.Config
- * @see org.eclipse.microprofile.config.inject.ConfigProperty
- */
-public class MicroprofileCDIExtension implements Extension {
-
- private static final Logger LOG = Logger.getLogger(MicroprofileCDIExtension.class.getName());
-
- private final Set<Type> types = new HashSet<>();
- private Bean<?> convBean;
-
- /**
- * Constructor for loading logging its load.
- */
- public MicroprofileCDIExtension(){
- LOG.finest("Loading Tamaya Microprofile Support...");
- }
-
- /**
- * Method that checks the configuration injection points during deployment for available configuration.
- * @param pb the bean to process.
- * @param beanManager the bean manager to notify about new injections.
- */
- public void retrieveTypes(@Observes final ProcessBean<?> pb, BeanManager beanManager) {
-
- final Set<InjectionPoint> ips = pb.getBean().getInjectionPoints();
- ConfiguredType configuredType = new ConfiguredType(pb.getBean().getBeanClass());
-
- boolean configured = false;
- for (InjectionPoint injectionPoint : ips) {
- if (injectionPoint.getAnnotated().isAnnotationPresent(ConfigProperty.class)) {
- LOG.fine("Configuring: " + injectionPoint);
- final ConfigProperty annotation = injectionPoint.getAnnotated().getAnnotation(ConfigProperty.class);
- String key = !annotation.name().isEmpty()?annotation.name():MicroprofileConfigurationProducer.getDefaultKey(injectionPoint);
- Type originalType = injectionPoint.getType();
- Type convertedType = unwrapType(originalType);
- types.add(convertedType);
- configured = true;
- LOG.finest(() -> "Enabling Tamaya Microprofile Configuration on bean: " + configuredType.getName());
- configuredType.addConfiguredMember(injectionPoint, key);
- }else if(injectionPoint.getMember() instanceof Method){
- Method method = (Method)injectionPoint.getMember();
- for(AnnotatedType paramType: method.getAnnotatedParameterTypes()){
- if(paramType.isAnnotationPresent(ConfigProperty.class)) {
- LOG.fine("Configuring method: " + injectionPoint);
- final ConfigProperty annotation = paramType.getAnnotation(ConfigProperty.class);
- String key = !annotation.name().isEmpty() ? annotation.name() : MicroprofileConfigurationProducer.getDefaultKey(injectionPoint);
- Type originalType = paramType.getType();
- Type convertedType = unwrapType(originalType);
- types.add(convertedType);
- configured = true;
- LOG.finest(() -> "Enabling Tamaya Microprofile Configuration on bean: " + configuredType.getName());
- configuredType.addConfiguredMember(injectionPoint, key);
- }
- }
- }
- }
- if(configured) {
- beanManager.fireEvent(configuredType);
- }
- }
-
-
- public void captureConvertBean(@Observes final ProcessProducerMethod<?, ?> ppm) {
- if (ppm.getAnnotated().isAnnotationPresent(ConfigProperty.class)) {
- convBean = ppm.getBean();
- }
- }
-
- public void addConverter(@Observes final AfterBeanDiscovery abd, final BeanManager bm) {
- if(!types.isEmpty() && convBean!=null) {
- abd.addBean(new BridgingConfigBean(convBean, types));
- }
- }
-
- private Type unwrapType(Type type) {
- if(type instanceof ParameterizedType) {
- Type rawType = ((ParameterizedType) type).getRawType();
- if(rawType == Provider.class || rawType == Instance.class) {
- return ((ParameterizedType) type).getActualTypeArguments()[0];
- }
- }
- return type;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/eeab5ce0/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
deleted file mode 100644
index bf61117..0000000
--- a/microprofile/src/main/java/org/apache/tamaya/microprofile/cdi/MicroprofileConfigurationProducer.java
+++ /dev/null
@@ -1,156 +0,0 @@
-/*
- * 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.microprofile.cdi;
-
-import org.apache.tamaya.ConfigException;
-import org.apache.tamaya.Configuration;
-import org.apache.tamaya.ConfigurationProvider;
-import org.apache.tamaya.TypeLiteral;
-import org.apache.tamaya.spi.ConversionContext;
-import org.apache.tamaya.spi.PropertyConverter;
-import org.eclipse.microprofile.config.Config;
-import org.eclipse.microprofile.config.ConfigProvider;
-import org.eclipse.microprofile.config.inject.ConfigProperty;
-import org.eclipse.microprofile.config.spi.ConfigBuilder;
-import org.eclipse.microprofile.config.spi.ConfigProviderResolver;
-
-import javax.enterprise.context.ApplicationScoped;
-import javax.enterprise.inject.Produces;
-import javax.enterprise.inject.spi.AnnotatedField;
-import javax.enterprise.inject.spi.AnnotatedType;
-import javax.enterprise.inject.spi.InjectionPoint;
-import javax.inject.Provider;
-import java.lang.reflect.AnnotatedElement;
-import java.lang.reflect.Method;
-import java.lang.reflect.ParameterizedType;
-import java.lang.reflect.Type;
-import java.util.List;
-import java.util.Optional;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-/**
- * Producer bean for configuration properties.
- */
-@ApplicationScoped
-public class MicroprofileConfigurationProducer {
-
- private static final Logger LOGGER = Logger.getLogger(MicroprofileConfigurationProducer.class.getName());
-
- @Produces
- @ConfigProperty
- public Object resolveAndConvert(final InjectionPoint 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
-
- String defaultTextValue = annotation.defaultValue().equals(ConfigProperty.UNCONFIGURED_VALUE) ? null : annotation.defaultValue();
- ConversionContext conversionContext = createConversionContext(key, injectionPoint);
- Object value = resolveValue(defaultTextValue, conversionContext, injectionPoint);
- if (value == null) {
- throw new ConfigException(String.format(
- "Can't resolve any of the possible config keys: %s to the required target type: %s, supported formats: %s",
- key, conversionContext.getTargetType(), conversionContext.getSupportedFormats().toString()));
- }
- LOGGER.finest(String.format("Injecting %s for key %s in class %s", key, value.toString(), injectionPoint.toString()));
- return value;
- }
-
- static String getDefaultKey(InjectionPoint injectionPoint) {
- AnnotatedField field = (AnnotatedField)injectionPoint.getAnnotated();
- AnnotatedType declaringType = field.getDeclaringType();
- return declaringType.getJavaClass().getCanonicalName() + "." + field.getJavaMember().getName();
- }
-
- static ConversionContext createConversionContext(String key, InjectionPoint injectionPoint) {
- final Type targetType = injectionPoint.getAnnotated().getBaseType();
- Configuration config = ConfigurationProvider.getConfiguration();
- ConversionContext.Builder builder = new ConversionContext.Builder(config,
- ConfigurationProvider.getConfiguration().getContext(), key, TypeLiteral.of(targetType));
- if(targetType instanceof ParameterizedType){
- ParameterizedType pt = (ParameterizedType)targetType;
- if(pt.getRawType().equals(Provider.class)) {
- builder = new ConversionContext.Builder(config,
- ConfigurationProvider.getConfiguration().getContext(), key,
- TypeLiteral.of(pt.getActualTypeArguments()[0]));
- }
- }
- if (injectionPoint.getMember() instanceof AnnotatedElement) {
- AnnotatedElement annotated = (AnnotatedElement)injectionPoint.getMember();
- if(annotated.isAnnotationPresent(ConfigProperty.class)) {
- builder.setAnnotatedElement(annotated);
- }
- }else if(injectionPoint.getMember() instanceof Method){
- Method method = (Method)injectionPoint.getMember();
- for(Type type:method.getParameterTypes()){
- if(type instanceof AnnotatedElement){
- AnnotatedElement annotated = (AnnotatedElement)type;
- if(annotated.isAnnotationPresent(ConfigProperty.class)) {
- builder.setAnnotatedElement(annotated);
- }
- }
- }
- }
- return builder.build();
- }
-
- static Object resolveValue(String defaultTextValue, ConversionContext context, InjectionPoint injectionPoint) {
- 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 || Optional.class.equals(context.getTargetType().getRawType())) {
- LOGGER.log(Level.FINEST, () -> "Converting KEY: " + context.getKey() + "("+context.getTargetType()+"), textValue: " + textValue);
- List<PropertyConverter> converters = ConfigurationProvider.getConfiguration().getContext()
- .getPropertyConverters((TypeLiteral)context.getTargetType());
- for (PropertyConverter<Object> converter : converters) {
- try {
- value = converter.convert(textValue, context);
- if (value != null) {
- LOGGER.log(Level.FINEST, "Parsed default value from '" + textValue + "' into " +
- injectionPoint);
- break;
- }
- } catch (Exception e) {
- LOGGER.log(Level.FINEST, "Failed to convert value '" + textValue + "' for " +
- injectionPoint, e);
- }
- }
- }
- return value;
- }
-
- @Produces
- public Config getConfiguration(){
- return ConfigProvider.getConfig();
- }
-
- @Produces
- public ConfigBuilder getConfigBuilder(){
- return ConfigProviderResolver.instance().getBuilder();
- }
-
-
-}