Repository: incubator-tamaya-sandbox
Updated Branches:
  refs/heads/mp-config-support [created] 6f41fd3b1


Adding profile for Weld3 to run tests with.  Removed o.e.mp code to instead 
pull in artifact


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/6f41fd3b
Tree: 
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/tree/6f41fd3b
Diff: 
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/diff/6f41fd3b

Branch: refs/heads/mp-config-support
Commit: 6f41fd3b17f3883ccc1a4bc3a5199a263f7e8d12
Parents: 22cdc84
Author: John D. Ament <johndam...@apache.org>
Authored: Wed Aug 9 06:31:44 2017 -0400
Committer: John D. Ament <johndam...@apache.org>
Committed: Wed Aug 9 06:31:44 2017 -0400

----------------------------------------------------------------------
 microprofile/pom.xml                            | 108 ++++++++----
 .../microprofile/MicroprofileConfigBuilder.java |  12 ++
 .../org/eclipse/microprofile/config/Config.java | 126 --------------
 .../microprofile/config/ConfigProvider.java     | 102 ------------
 .../config/inject/ConfigProperty.java           | 112 -------------
 .../config/inject/package-info.java             |  40 -----
 .../microprofile/config/package-info.java       |  75 ---------
 .../microprofile/config/spi/ConfigBuilder.java  |  83 ----------
 .../config/spi/ConfigProviderResolver.java      | 164 -------------------
 .../microprofile/config/spi/ConfigSource.java   | 107 ------------
 .../config/spi/ConfigSourceProvider.java        |  58 -------
 .../microprofile/config/spi/Converter.java      |  77 ---------
 .../microprofile/config/spi/package-info.java   |  30 ----
 13 files changed, 87 insertions(+), 1007 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/6f41fd3b/microprofile/pom.xml
----------------------------------------------------------------------
diff --git a/microprofile/pom.xml b/microprofile/pom.xml
index 1b5d808..4d65714 100644
--- a/microprofile/pom.xml
+++ b/microprofile/pom.xml
@@ -36,26 +36,12 @@ under the License.
         <microprofile.version>1.0</microprofile.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>
+        <arquillian.version>1.1.13.Final</arquillian.version>
+        
<arquillian-weld-embedded.version>2.0.0.Beta5</arquillian-weld-embedded.version>
+        <cdi2-api.version>2.0</cdi2-api.version>
+        <weld.version>3.0.0.Final</weld.version>
     </properties>
 
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <configuration>
-                    <debug>true</debug>
-                    <optimize>${maven.compile.optimize}</optimize>
-                    <source>${maven.compile.sourceLevel}</source>
-                    <target>${maven.compile.targetLevel}</target>
-                    <encoding>${project.build.sourceEncoding}</encoding>
-                    
<showDeprecation>${maven.compile.deprecation}</showDeprecation>
-                </configuration>
-            </plugin>
-
-        </plugins>
-    </build>
-
     <dependencies>
         <dependency>
             <groupId>junit</groupId>
@@ -85,24 +71,80 @@ under the License.
             <version>${project.parent.version}</version>
         </dependency>
         <dependency>
-            <groupId>org.apache.geronimo.specs</groupId>
-            <artifactId>geronimo-atinject_1.0_spec</artifactId>
-            <version>${geronimo-atinject-1.0-spec.version}</version>
-            <scope>provided</scope>
-            <optional>true</optional>
+            <groupId>org.eclipse.microprofile.config</groupId>
+            <artifactId>microprofile-config-api</artifactId>
+            <version>${microprofile.version}</version>
         </dependency>
         <dependency>
-            <groupId>org.apache.geronimo.specs</groupId>
-            <artifactId>geronimo-jcdi_1.1_spec</artifactId>
-            <version>${geronimo-jcdi-1.1-spec.version}</version>
-            <scope>provided</scope>
-            <optional>true</optional>
+            <groupId>org.eclipse.microprofile.config</groupId>
+            <artifactId>microprofile-config-tck</artifactId>
+            <version>${microprofile.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <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.eclipse.microprofile.apis</groupId>-->
-            <!--<artifactId>microprofile-config_1.0_api</artifactId>-->
-            <!--<version>1.0-SNAPSHOT</version>-->
-        <!--</dependency>-->
     </dependencies>
 
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <version>2.20</version>
+                <configuration>
+                    
<dependenciesToScan>org.eclipse.microprofile.config:microprofile-config-tck</dependenciesToScan>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <configuration>
+                    <debug>true</debug>
+                    <optimize>${maven.compile.optimize}</optimize>
+                    <source>${maven.compile.sourceLevel}</source>
+                    <target>${maven.compile.targetLevel}</target>
+                    <encoding>${project.build.sourceEncoding}</encoding>
+                    
<showDeprecation>${maven.compile.deprecation}</showDeprecation>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+    <profiles>
+        <profile>
+            <id>Weld3</id>
+            <activation>
+                <activeByDefault>true</activeByDefault>
+            </activation>
+            <dependencies>
+                <dependency>
+                    <groupId>org.jboss.weld.se</groupId>
+                    <artifactId>weld-se-shaded</artifactId>
+                    <version>${weld.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>
+                <dependency>
+                    <groupId>javax.enterprise</groupId>
+                    <artifactId>cdi-api</artifactId>
+                    <version>${cdi2-api.version}</version>
+                </dependency>
+            </dependencies>
+        </profile>
+    </profiles>
 </project>

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/6f41fd3b/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
index fa46fea..65fe6e2 100644
--- 
a/microprofile/src/main/java/org/apache/tamaya/microprofile/MicroprofileConfigBuilder.java
+++ 
b/microprofile/src/main/java/org/apache/tamaya/microprofile/MicroprofileConfigBuilder.java
@@ -50,6 +50,18 @@ final class MicroprofileConfigBuilder implements 
ConfigBuilder{
     }
 
     @Override
+    public ConfigBuilder addDiscoveredSources() {
+        // TODO - ??
+        return this;
+    }
+
+    @Override
+    public ConfigBuilder addDiscoveredConverters() {
+        // TODO - ??
+        return this;
+    }
+
+    @Override
     public ConfigBuilder forClassLoader(ClassLoader loader) {
         return null;
     }

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/6f41fd3b/microprofile/src/main/java/org/eclipse/microprofile/config/Config.java
----------------------------------------------------------------------
diff --git 
a/microprofile/src/main/java/org/eclipse/microprofile/config/Config.java 
b/microprofile/src/main/java/org/eclipse/microprofile/config/Config.java
deleted file mode 100644
index 6a888dd..0000000
--- a/microprofile/src/main/java/org/eclipse/microprofile/config/Config.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- 
*******************************************************************************
- * Copyright (c) 2016 IBM Corp. and others
- *
- * Licensed 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.
- *
- * Contributors:
- *   2011-12-28 - Mark Struberg & Gerhard Petracek
- *      Initially authored in Apache DeltaSpike as ConfigResolver 
fb0131106481f0b9a8fd
- *   2015-04-30 - Ron Smeral
- *      Typesafe Config authored in Apache DeltaSpike 25b2b8cc0c955a28743f
- *   2016-07-14 - Mark Struberg
- *      Extracted the Config part out of Apache DeltaSpike and proposed as 
Microprofile-Config
- *   2016-11-14 - Emily Jiang / IBM Corp
- *      Experiments with separate methods per type, JavaDoc, method renaming
- *
- 
*******************************************************************************/
-
-package org.eclipse.microprofile.config;
-
-import java.util.Optional;
-
-import org.eclipse.microprofile.config.spi.ConfigSource;
-
-/**
- * <p>
- * Resolves the property value by searching through all configured
- * {@link ConfigSource ConfigSources}. If the same property is specified in 
multiple
- * {@link ConfigSource ConfigSources}, the value in the {@link ConfigSource} 
with the highest
- * ordinal will be used.
- * <p>If multiple {@link ConfigSource ConfigSources} are specified with
- * the same ordinal, the {@link ConfigSource#getName()} will be used for 
sorting.
- * 
- * <h3>Usage</h3>
- *
- * For accessing the config you can use the {@link ConfigProvider}:
- *
- * <pre>
- * public void doSomething(
- *   Config cfg = ConfigProvider.getConfig();
- *   String archiveUrl = cfg.getString("my.project.archive.endpoint", 
String.class);
- *   Integer archivePort = cfg.getValue("my.project.archive.port", 
Integer.class);
- * </pre>
- *
- * <p>It is also possible to inject the Config if a DI container is available:
- *
- * <pre>
- * public class MyService {
- *     &#064;Inject
- *     private Config config;
- * }
- * </pre>
- *
- * <p>See {@link #getValue(String, Class)} and {@link 
#getOptionalValue(String, Class)} for accessing a configured value.
- *
- * <p>Configured values can also be accessed via injection.
- * See {@link org.eclipse.microprofile.config.inject.ConfigProperty} for more 
information.
- *
- * @author <a href="mailto:strub...@apache.org";>Mark Struberg</a>
- * @author <a href="mailto:gpetra...@apache.org";>Gerhard Petracek</a>
- * @author <a href="mailto:rsme...@apache.org";>Ron Smeral</a>
- * @author <a href="mailto:emiji...@uk.ibm.com";>Emily Jiang</a>
- * @author <a href="mailto:gun...@hibernate.org";>Gunnar Morling</a>
- *
- */
-public interface Config {
-
-    /**
-     * Return the resolved property value with the specified type for the
-     * specified property name from the underlying {@link ConfigSource 
ConfigSources}.
-     *
-     * If this method gets used very often then consider to locally store the 
configured value.
-     *
-     * @param <T>
-     *             the property type
-     * @param propertyName
-     *             The configuration propertyName.
-     * @param propertyType
-     *             The type into which the resolve property value should get 
converted
-     * @return the resolved property value as an Optional adapt the requested 
type.
-     * @throws IllegalArgumentException if the property cannot be converted to 
the specified type.
-     * @throws java.util.NoSuchElementException if the property isn't present 
in the configuration.
-     */
-    <T> T getValue(String propertyName, Class<T> propertyType);
-
-    /**
-     * Return the resolved property value with the specified type for the
-     * specified property name from the underlying {@link ConfigSource 
ConfigSources}.
-     *
-     * An empty string representation is interpreted as not-existing 
configuration.
-     *
-     * If this method is used very often then consider to locally store the 
configured value.
-     *
-     * @param <T>
-     *             the property type
-     * @param propertyName
-     *             The configuration propertyName.
-     * @param propertyType
-     *             The type into which the resolve property value should be 
converted
-     * @return the resolved property value as an Optional adapt the requested 
type.
-     *
-     * @throws IllegalArgumentException if the property cannot be converted to 
the specified type.
-     */
-    <T> Optional<T> getOptionalValue(String propertyName, Class<T> 
propertyType);
-
-    /**
-     * Return a collection adapt property names.
-     * @return the names adapt all configured keys adapt the underlying 
configuration.
-     */
-    Iterable<String> getPropertyNames();
-
-    /**
-     * @return all currently registered {@link ConfigSource configsources} 
sorted with descending ordinal and ConfigSource name
-     */
-    Iterable<ConfigSource> getConfigSources();
-}

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/6f41fd3b/microprofile/src/main/java/org/eclipse/microprofile/config/ConfigProvider.java
----------------------------------------------------------------------
diff --git 
a/microprofile/src/main/java/org/eclipse/microprofile/config/ConfigProvider.java
 
b/microprofile/src/main/java/org/eclipse/microprofile/config/ConfigProvider.java
deleted file mode 100644
index 9a6eb8f..0000000
--- 
a/microprofile/src/main/java/org/eclipse/microprofile/config/ConfigProvider.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- 
*******************************************************************************
- * Copyright (c) 2016 IBM Corp. and others
- *
- * Licensed 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.
- *
- * Contributors:
- *   2016-07-14 - Mark Struberg
- *      Initial revision            cf41cf130bcaf5447ff8
- *   2016-07-20 - Romain Manni-Bucau
- *      Initial ConfigBuilder PR    0945b23cbf9dadb75fb9
- *   2016-11-14 - Emily Jiang / IBM Corp
- *      SPI reworked into own ConfigProviderResolver
- *   2016-12-02 - Viktor Klang
- *      removed ConfigFilter and security related functionality.
- *
- 
*******************************************************************************/
-
-package org.eclipse.microprofile.config;
-
-import org.eclipse.microprofile.config.spi.ConfigProviderResolver;
-
-/**
- * <p>
- * This is the central class to access a {@link Config}.
- * A {@link Config} provides access to application Configuration.
- * That might be auto-discovered {@code Config} or even manually created one.
- *
- * <p>
- * The default usage is to use {@link #getConfig()} to automatically pick up 
the
- * 'Configuration' for the Thread Context ClassLoader (See
- * {@link Thread#getContextClassLoader()}).
- *
- * <p>
- * A 'Configuration' consists adapt the information collected from the 
registered {@link org.eclipse.microprofile.config.spi.ConfigSource 
ConfigSources}.
- * These {@link org.eclipse.microprofile.config.spi.ConfigSource 
ConfigSources} get sorted according to
- * their <em>ordinal</em> defined via {@link 
org.eclipse.microprofile.config.spi.ConfigSource#getOrdinal()}.
- * Thus it is possible to overwrite configuration by providing in a 
ConfigSource with higher importance from outside.
- *
- * <p>
- * It is also possible to register custom {@link 
org.eclipse.microprofile.config.spi.ConfigSource ConfigSources} to flexibly
- * extend the configuration mechanism. An example would be to pick up
- * configuration values from a database table.
- *
- * Example usage:
- *
- * <pre>
- * String restUrl = 
ConfigProvider.getConfig().getValue(&quot;myproject.some.remote.service.url&quot;,
 String.class);
- * Integer port = 
ConfigProvider.getConfig().getValue(&quot;myproject.some.remote.service.port&quot;,
 Integer.class);
- * </pre>
- *
- * For more advanced use cases like e.g. registering a manually created {@link 
Config} please see
- * {@link ConfigProviderResolver#registerConfig(Config, ClassLoader)} and 
{@link ConfigProviderResolver#getBuilder()}.
- *
- * @author <a href="mailto:strub...@apache.org";>Mark Struberg</a>
- * @author <a href="mailto:rmannibu...@apache.org";>Romain Manni-Bucau</a>
- * @author <a href="mailto:emiji...@uk.ibm.com";>Emily Jiang</a>
- * @author <a href="mailto:viktor.kl...@gmail.com";>Viktor Klang</a>
- */
-public final class ConfigProvider {
-    private static final ConfigProviderResolver INSTANCE = 
ConfigProviderResolver.instance();
-
-    private ConfigProvider() {
-    }
-
-    /**
-     * Provide a {@link Config} based on all {@link 
org.eclipse.microprofile.config.spi.ConfigSource ConfigSources} adapt the
-     * current Thread Context ClassLoader (TCCL)
-     * The {@link Config} will be stored for future retrieval.
-     * <p>
-     * There is exactly a single Config instance per ClassLoader
-     *
-     * @return the config object for the thread context classloader
-     */
-    public static Config getConfig() {
-        return INSTANCE.getConfig();
-    }
-
-    /**
-     * Provide a {@link Config} based on all {@link 
org.eclipse.microprofile.config.spi.ConfigSource ConfigSources} adapt the
-     * specified ClassLoader
-     *
-     * <p>
-     * There is exactly a single Config instance per ClassLoader
-     *
-     * @param cl the specified classloader
-     * @return the config for the specified classloader
-     */
-    public static Config getConfig(ClassLoader cl) {
-        return INSTANCE.getConfig(cl);
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/6f41fd3b/microprofile/src/main/java/org/eclipse/microprofile/config/inject/ConfigProperty.java
----------------------------------------------------------------------
diff --git 
a/microprofile/src/main/java/org/eclipse/microprofile/config/inject/ConfigProperty.java
 
b/microprofile/src/main/java/org/eclipse/microprofile/config/inject/ConfigProperty.java
deleted file mode 100644
index 9d60ed0..0000000
--- 
a/microprofile/src/main/java/org/eclipse/microprofile/config/inject/ConfigProperty.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * Copyright (c) 2016-2017 Payara Services Ltd., IBM Corp. and others
- *
- * Licensed 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.eclipse.microprofile.config.inject;
-
-import static java.lang.annotation.ElementType.FIELD;
-import static java.lang.annotation.ElementType.METHOD;
-import static java.lang.annotation.ElementType.PARAMETER;
-import static java.lang.annotation.ElementType.TYPE;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
-
-import java.lang.annotation.Retention;
-import java.lang.annotation.Target;
-
-import javax.enterprise.util.Nonbinding;
-import javax.inject.Qualifier;
-
-/**
- * Binds the injection point with a configured value.
- * Can be used to annotate injection points adapt type {@code TYPE}, {@code 
Optional<TYPE>} or {@code javax.inject.Provider<TYPE>},
- * where {@code TYPE} can be {@code String} and all types which have 
appropriate converters. 
- *
- * <h2>Examples</h2>
- *
- * <h3>Injecting Native Values</h3>
- *
- * The first sample injects the configured value adapt the {@code 
my.long.property} property.
- * The injected value does not change even if the underline
- * property value changes in the {@link 
org.eclipse.microprofile.config.Config}.
- * If no configured value exists for this property and no {@link 
#defaultValue()} is provided,
- * a {@code DeplymentException} will be thrown during startup.
- *
- * <p>Injecting a native value is recommended for a property that does not 
change at runtime or used by a bean with RequestScoped.
- * <p>A further recommendation is to use the built in {@code 
META-INF/microprofile-config.properties} file mechanism
- * to provide default values inside an Application.
- * <pre>
- * &#064;Inject
- * &#064;ConfigProperty(name="my.long.property", defaultValue="123")
- * private Long injectedLongValue;
- * </pre>
- *
- * <h3>Injecting Optional Values</h3>
- *
- * The following code injects an Optional value adapt my.long.property 
property.
- * Countrary to natively injecting the configured value this will not lead to 
a DeploymentException if the configured value is missing.
- * <pre>
- * &#064;Inject
- * &#064;ConfigProperty(name = "my.optional.int.property")
- * private Optional&lt;Integer&gt; intConfigValue;
- * </pre>
- *
- * <h3>Injecting Dynamic Values</h3>
- *
- * The next sample injects a Provider for the value adapt my.long.property 
property to resolve the property dynamically.
- * Each invocation to {@code Provider#get()} will resolve the latest value 
from underlying {@link org.eclipse.microprofile.config.Config} again.
- * The existence adapt configured values will get checked during startup.
- * Instances adapt {@code Provider<T>} are guaranteed to be Serializable.
- * <pre>
- * &#064;Inject
- * &#064;ConfigProperty(name = "my.long.property" defaultValue="123")
- * private Provider&lt;Long&gt; longConfigValue;
- * </pre>
- *
- * <p>If {@code ConfigProperty} is used with a type where no {@link 
org.eclipse.microprofile.config.spi.Converter} exists,
- * a deployment error is thrown.
- *
- * @author Ondrej Mihalyi
- * @author Emily Jiang
- * @author <a href="mailto:strub...@apache.org";>Mark Struberg</a>
- */
-@Qualifier
-@Retention(RUNTIME)
-@Target({METHOD, FIELD, PARAMETER, TYPE})
-public @interface ConfigProperty {
-    /**
-     * The key adapt the config property used to look up the configuration 
value.
-     * If it is not specified, it will be derived automatically as {@code 
<class_name>.<injetion_point_name>},
-     * where {@code injection_point_name} is the field name or parameter name,
-     * {@code class_name} is the fully qualified name adapt the class being 
injected to with the first letter decaptialised.
-     * If one adapt the {@code class_name} or {@code injection_point_name} 
cannot be determined, the value has to be provided.
-     * 
-     * @return Name (key) adapt the config property to inject
-     */
-    @Nonbinding
-    String name() default "";
-
-    /**
-     * <p>The default value if the configured property value does not exist.
-     *
-     * <p>If the target Type is not String a proper {@link 
org.eclipse.microprofile.config.spi.Converter} will get applied.
-     * That means that any default value string should follow the formatting 
rules adapt the registered Converters.
-     *
-     * <p>If
-     * @return the default value as a string
-     */
-    @Nonbinding
-    String defaultValue() default "";
-}

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/6f41fd3b/microprofile/src/main/java/org/eclipse/microprofile/config/inject/package-info.java
----------------------------------------------------------------------
diff --git 
a/microprofile/src/main/java/org/eclipse/microprofile/config/inject/package-info.java
 
b/microprofile/src/main/java/org/eclipse/microprofile/config/inject/package-info.java
deleted file mode 100644
index e556eb2..0000000
--- 
a/microprofile/src/main/java/org/eclipse/microprofile/config/inject/package-info.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- 
*******************************************************************************
- * Copyright (c) 2016-2017 Mark Struberg. and others
- *
- * Licensed 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.
- *
- 
*******************************************************************************/
-
-/**
- * <p>CDI Support for Microprofile Config
- *
- * <p>Microprofile Config also supports injection via a JSR-330 DI container:
- * <pre>
- *  &#064;Inject
- *  &#064;ConfigProperty(name="myproject.some.endpoint.url");
- *  private String restUrl;
- * </pre>
- *
- * <p>The following types can be injected:
- * <ul>
- *     <li><code>T</code> where T is a Type where a {@link 
org.eclipse.microprofile.config.spi.Converter} exists.</li>
- *     <li><code>Optional&lt;T&gt;</code> where T is a Type where a {@link 
org.eclipse.microprofile.config.spi.Converter} exists.</li>
- *     <li><code>Provider&lt;T&gt;</code> where T is a Type where a {@link 
org.eclipse.microprofile.config.spi.Converter} exists.</li>
- * </ul>
- *
- * @author <a href="mailto:strub...@apache.org";>Mark Struberg</a>
- * @version 1.0
- */
-package org.eclipse.microprofile.config.inject;
-

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/6f41fd3b/microprofile/src/main/java/org/eclipse/microprofile/config/package-info.java
----------------------------------------------------------------------
diff --git 
a/microprofile/src/main/java/org/eclipse/microprofile/config/package-info.java 
b/microprofile/src/main/java/org/eclipse/microprofile/config/package-info.java
deleted file mode 100644
index 6f4378d..0000000
--- 
a/microprofile/src/main/java/org/eclipse/microprofile/config/package-info.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- 
*******************************************************************************
- * Copyright (c) 2016 IBM Corp. and others
- *
- * Licensed 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.
- *
- 
*******************************************************************************/
-
-/**
- * <p>Configuration for Java Microprofile
- *
- * <h2>Rational</h2>
- *
- * <p>For many project artifacts (e.g. WAR, EAR) it should be possible to 
build them only once
- * and then install them at different customers, stages, etc.
- * They need to target those different execution environments without the 
necessity adapt any repackaging.
- * In other words: depending on the situation they need different 
configuration.
- *
- * <p>This is easily achievable by having a set adapt default configuration 
values inside the project artifact.
- * But be able to overwrite those default values from external.
- *
- * <h2>How it works</h2>
- *
- * <p>A 'Configuration' consists adapt the information collected from the 
registered
- * {@link org.eclipse.microprofile.config.spi.ConfigSource ConfigSources}.
- * These {@code ConfigSources} get sorted according to their <i>ordinal</i>.
- * That way it is possible to overwrite configuration with lower importance 
from outside.
- *
- * <p>By default there are 3 ConfigSources:
- *
- * <ul>
- * <li>{@code System.getenv()} (ordinal=400)</li>
- * <li>{@code System.getProperties()} (ordinal=300)</li>
- * <li>all {@code META-INF/microprofile-config.properties} files on the 
ClassPath.
- *  (ordinal=100, separately configurable via a config_ordinal property inside 
each file)</li>
- * </ul>
- *
- * <p>That means that one can put the default configuration in a {@code 
META-INF/microprofile-config.properties} anywhere on the classpath.
- * and the Operations team can later simply e.g set a system property to 
change this default configuration.
- *
- * <p>It is adapt course also possible to register own {@link 
org.eclipse.microprofile.config.spi.ConfigSource ConfigSources}.
- * A {@code ConfigSource} could e.g. read configuration values from a database 
table, a remote server, etc
- *
- *  <h2>Accessing and Using the Configuration</h2>
- *
- *  <p> The configuration adapt an application is represented by an instance 
adapt {@link org.eclipse.microprofile.config.Config}.
- *  The {@link org.eclipse.microprofile.config.Config} can be accessed via the 
{@link org.eclipse.microprofile.config.ConfigProvider}.
- *
- *  <pre>
- *  Config config = ConfigProvider#getConfig();
- *  String restUrl = config.getValue("myproject.some.endpoint.url", 
String.class);
- *  </pre>
- *
- *  <p> Of course we also support injection via a JSR-330 DI container:
- *  <pre>
- *  &#064;Inject
- *  &#064;ConfigProperty(name="myproject.some.endpoint.url");
- *  private String restUrl;
- *  </pre>
- *
- * @author <a href="mailto:strub...@apache.org";>Mark Struberg</a>
- * @version 1.0
- */
-package org.eclipse.microprofile.config;
-

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/6f41fd3b/microprofile/src/main/java/org/eclipse/microprofile/config/spi/ConfigBuilder.java
----------------------------------------------------------------------
diff --git 
a/microprofile/src/main/java/org/eclipse/microprofile/config/spi/ConfigBuilder.java
 
b/microprofile/src/main/java/org/eclipse/microprofile/config/spi/ConfigBuilder.java
deleted file mode 100644
index 00e8b5a..0000000
--- 
a/microprofile/src/main/java/org/eclipse/microprofile/config/spi/ConfigBuilder.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- 
*******************************************************************************
- * Copyright (c) 2016-2017 Romain Manni-Bucau and others
- *
- * Licensed 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.
- *
- * Contributors:
- *   2016-07-20 - Romain Manni-Bucau
- *      Initial ConfigBuilder PR    0945b23cbf9dadb75fb9
- *   2016-07-17 - Mark Struberg
- *      Merged and JavaDoc          c8525998a43fe798f367
- *   2016-11-14 - Emily Jiang / IBM
- *      API improvements + JavaDoc  f53258b8eca1253fee52
- *
- 
*******************************************************************************/
-package org.eclipse.microprofile.config.spi;
-
-import org.eclipse.microprofile.config.Config;
-
-/**
- * Builder for manually creating an instance adapt a {@code Config}.
- *
- * @see ConfigProviderResolver#getBuilder()
- *
- * @author <a href="mailto:rmannibu...@apache.org";>Romain Manni-Bucau</a>
- * @author <a href="mailto:strub...@apache.org";>Mark Struberg</a>
- * @author <a href="mailto:emiji...@uk.ibm.com";>Emily Jiang</a>
- */
-public interface ConfigBuilder {
-    /**
-     * 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
-     */
-    ConfigBuilder addDefaultSources();
-
-    /**
-     * Return the ConfigBuilder for a given classloader
-     *
-     * @param loader the specified classloader
-     * @return the ConfigureBuilder for the given classloader
-     */
-    ConfigBuilder forClassLoader(ClassLoader loader);
-
-    /**
-     * Add the specified {@link ConfigSource}.
-     *
-     * @param sources the config sources
-     * @return the ConfigBuilder with the configured sources
-     */
-    ConfigBuilder withSources(ConfigSource... sources);
-
-    /**
-     * Add the specified {@link Converter}
-     *
-     * @param converters the converters
-     * @return the ConfigBuilder with the added converters
-     */
-    ConfigBuilder withConverters(Converter<?>... converters);
-
-    /**
-     * Build the {@link Config} object.
-     *
-     * @return the Config object
-     */
-    Config build();
-}

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/6f41fd3b/microprofile/src/main/java/org/eclipse/microprofile/config/spi/ConfigProviderResolver.java
----------------------------------------------------------------------
diff --git 
a/microprofile/src/main/java/org/eclipse/microprofile/config/spi/ConfigProviderResolver.java
 
b/microprofile/src/main/java/org/eclipse/microprofile/config/spi/ConfigProviderResolver.java
deleted file mode 100644
index 1c0ab34..0000000
--- 
a/microprofile/src/main/java/org/eclipse/microprofile/config/spi/ConfigProviderResolver.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/*
- 
*******************************************************************************
- * Copyright (c) 2016 IBM Corp. and others
- *
- * Licensed 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.eclipse.microprofile.config.spi;
-
-import java.security.AccessController;
-import java.security.PrivilegedAction;
-import java.util.ServiceLoader;
-
-import org.eclipse.microprofile.config.Config;
-
-/**
- * This class is not intended to be used by end-users but for
- * portable container integration purpose only.
- *
- * Service provider for ConfigProviderResolver. The implementation registers
- * itself via the {@link java.util.ServiceLoader} mechanism.
- *
- * @author <a href="mailto:strub...@apache.org";>Mark Struberg</a>
- * @author <a href="mailto:rmannibu...@apache.org";>Romain Manni-Bucau</a>
- * @author <a href="mailto:emiji...@uk.ibm.com";>Emily Jiang</a>
- */
-public abstract class ConfigProviderResolver {
-    protected ConfigProviderResolver() {
-    }
-
-    private static volatile ConfigProviderResolver instance = null;
-
-    /**
-     * @see org.eclipse.microprofile.config.ConfigProvider#getConfig()
-     * @return config the config object for the Thread Context Classloader
-     */
-    public abstract Config getConfig();
-
-    /**
-     * @see 
org.eclipse.microprofile.config.ConfigProvider#getConfig(ClassLoader)
-     * @param loader the classloader
-     * @return config the config object for the specified classloader
-     */
-    public abstract Config getConfig(ClassLoader loader);
-
-    /**
-     * Create a fresh {@link ConfigBuilder} instance. This ConfigBuilder will
-     * initially contain no {@link ConfigSource} but with default {@link 
Converter Converters} 
-     * The other {@link ConfigSource} and {@link Converter Converters} will 
have to be added manually.
-     *
-     * The ConfigProvider will not manage the Config instance internally
-     * @return the configbuilder with the default converters
-     */
-    public abstract ConfigBuilder getBuilder();
-
-    /**
-     * Register a given {@link Config} within the Application (or Module) 
identified by the given ClassLoader.
-     * If the ClassLoader is {@code null} then the current Application will be 
used.
-     *
-     * @param config
-     *          which should get registered
-     * @param classLoader
-     *          which identifies the Application or Module the given Config 
should get associated with.
-     *
-     * @throws IllegalStateException
-     *          if there is already a Config registered within the Application.
-     *          A user could explicitly use {@link #releaseConfig(Config)} for 
this case.
-     */
-    public abstract void registerConfig(Config config, ClassLoader 
classLoader);
-
-    /**
-     * A {@link Config} normally gets released if the Application it is 
associated with gets destroyed.
-     * Invoke this method if you like to destroy the Config prematurely.
-     *
-     * If the given Config is associated within an Application then it will be 
unregistered.
-     * @param config the config to be released
-     */
-    public abstract void releaseConfig(Config config);
-
-    /**
-     * Creates a ConfigProviderResolver object
-     * Only used internally from within {@link 
org.eclipse.microprofile.config.ConfigProvider}
-     * @return ConfigProviderResolver an instance adapt ConfigProviderResolver
-     */
-    public static ConfigProviderResolver instance() {
-        if (instance == null) {
-            synchronized (ConfigProviderResolver.class) {
-                if (instance != null) {
-                    return instance;
-                }
-
-                ClassLoader cl = AccessController.doPrivileged(new 
PrivilegedAction<ClassLoader>() {
-                    @Override
-                    public ClassLoader run() {
-                        return Thread.currentThread().getContextClassLoader();
-                    }
-                });
-                if (cl == null) {
-                    cl = ConfigProviderResolver.class.getClassLoader();
-                }
-
-                ConfigProviderResolver newInstance = loadSpi(cl);
-
-                if (newInstance == null) {
-                    throw new IllegalStateException(
-                                    "No ConfigProviderResolver implementation 
found!");
-                }
-
-                instance = newInstance;
-            }
-        }
-
-        return instance;
-    }
-
-
-    private static ConfigProviderResolver loadSpi(ClassLoader cl) {
-        if (cl == null) {
-            return null;
-        }
-
-        // start from the root CL and go back down to the TCCL
-        ConfigProviderResolver instance = loadSpi(cl.getParent());
-
-        if (instance == null) {
-            ServiceLoader<ConfigProviderResolver> sl = ServiceLoader.load(
-                            ConfigProviderResolver.class, cl);
-            for (ConfigProviderResolver spi : sl) {
-                if (instance != null) {
-                    throw new IllegalStateException(
-                                    "Multiple ConfigResolverProvider 
implementations found: "
-                                                    + spi.getClass().getName() 
+ " and "
-                                                    + 
instance.getClass().getName());
-                } 
-                else {
-                    instance = spi;
-                }
-            }
-        }
-        return instance;
-    }
-
-    /**
-     * Set the instance. It is used by OSGi environment while service loader
-     * pattern is not supported.
-     *
-     * @param resolver
-     *            set the instance.
-     */
-    public static void setInstance(ConfigProviderResolver resolver) {
-        instance = resolver;
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/6f41fd3b/microprofile/src/main/java/org/eclipse/microprofile/config/spi/ConfigSource.java
----------------------------------------------------------------------
diff --git 
a/microprofile/src/main/java/org/eclipse/microprofile/config/spi/ConfigSource.java
 
b/microprofile/src/main/java/org/eclipse/microprofile/config/spi/ConfigSource.java
deleted file mode 100644
index 5d5fb41..0000000
--- 
a/microprofile/src/main/java/org/eclipse/microprofile/config/spi/ConfigSource.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- ******************************************************************************
- * Copyright (c) 2016 IBM Corp. and others
- *
- * Licensed 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.
- *
- * Contributors:
- *   2009       - Mark Struberg
- *      Ordinal solution in Apache OpenWebBeans
- *   2011-12-28 - Mark Struberg & Gerhard Petracek
- *      Contributed to Apache DeltaSpike fb0131106481f0b9a8fd
- *   2016-07-14 - Mark Struberg
- *      Extracted the Config part out of DeltaSpike and proposed as 
Microprofile-Config cf41cf130bcaf5447ff8
- *   2016-11-14 - Emily Jiang / IBM Corp
- *      Methods renamed, JavaDoc and cleanup
- *
- 
*******************************************************************************/
-package org.eclipse.microprofile.config.spi;
-
-import java.util.Map;
-
-/**
- * <p>Implement this interfaces to provide a ConfigSource.
- * A ConfigSource provides configuration values from a specific place, like 
JNDI configuration, a properties file, etc.
- * A ConfigSource is always read-only, any potential updates adapt the 
configured values must be handled directly inside each ConfigSource.
- *
- * <p>
- * The default config sources always available by default are:
- * <ol>
- * <li>System properties (ordinal=400)</li>
- * <li>Environment properties (ordinal=300)</li>
- * <li>/META-INF/microprofile-config.properties (ordinal=100)</li>
- * </ol>
- * 
- * <p>Custom ConfigSource will get picked up via the {@link 
java.util.ServiceLoader} mechanism and and can be registered by
- * providing a file
- * <pre>
- *     META-INF/services/javax.config.spi.ConfigSource
- * </pre>
- * which contains the fully qualified {@code ConfigSource} implementation 
class name as content.
- *
- * <p>Adding a dynamic amount adapt custom config sources can be done 
programmatically via
- * {@link org.eclipse.microprofile.config.spi.ConfigSourceProvider}.
- *
- * @author <a href="mailto:strub...@apache.org";>Mark Struberg</a>
- * @author <a href="mailto:gpetra...@apache.org";>Gerhard Petracek</a>
- * @author <a href="mailto:emiji...@uk.ibm.com";>Emily Jiang</a>
- *
- */
-public interface ConfigSource {
-    /**
-     * Return the properties in this config source
-     * @return the map containing the properties in this config source
-     */
-    Map<String, String> getProperties();
-
-    /**
-     * Return the ordinal for this config source. If a property is specified 
in multiple config sources, the value
-     * in the config source with the highest ordinal takes precedence.
-     * For the config sources with the same ordinal value, the config source 
names will
-     * be used for sorting according to string sorting criteria.
-     * Note that this property only gets evaluated during ConfigSource 
discovery.
-     *
-     * The ordinal for the default config sources:
-     * <ol>
-     *  <li>System properties (ordinal=400)</li>
-     *  <li>Environment properties (ordinal=300)</li>
-     *  <li>/META-INF/microprofile-config.properties (ordinal=100)</li>
-     * </ol>
-     *
-     *
-     * Any ConfigSource part adapt an application will typically use an 
ordinal between 0 and 200.
-     * ConfigSource provided by the container or 'environment' typically use 
an ordinal higher than 200.
-     * A framework which intends have values overwritten by the application 
will use ordinals between 0 and 100.
-     * The property "config_ordinal" can be specified to override the default 
value.
-     * 
-     * @return the ordinal value
-     */
-    default int getOrdinal() {
-        return 100;
-    }
-
-    /**
-     * Return the value for the specified property in this config source.
-     * @param propertyName the property name
-     * @return the property value
-     */
-    String getValue(String propertyName);
-
-    /**
-     * The name adapt the config might be used for logging or analysis adapt 
configured values.
-     *
-     * @return the 'name' adapt the configuration source, e.g. 'property-file 
mylocation/myproperty.properties'
-     */
-    String getName();
-    
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/6f41fd3b/microprofile/src/main/java/org/eclipse/microprofile/config/spi/ConfigSourceProvider.java
----------------------------------------------------------------------
diff --git 
a/microprofile/src/main/java/org/eclipse/microprofile/config/spi/ConfigSourceProvider.java
 
b/microprofile/src/main/java/org/eclipse/microprofile/config/spi/ConfigSourceProvider.java
deleted file mode 100644
index be1fc59..0000000
--- 
a/microprofile/src/main/java/org/eclipse/microprofile/config/spi/ConfigSourceProvider.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- 
*******************************************************************************
- * Copyright (c) 2016 IBM Corp. and others
- *
- * Licensed 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.
- *
- * Contributors:
- *   2011-12-28 - Mark Struberg & Gerhard Petracek
- *      Initially authored in Apache DeltaSpike fb0131106481f0b9a8fd
- *   2016-07-14 - Mark Struberg
- *      Extracted the Config part out of Apache DeltaSpike and proposed as 
Microprofile-Config
- *   2016-11-14 - Emily Jiang / IBM Corp
- *      Methods renamed, JavaDoc and cleanup
- *
- 
*******************************************************************************/
-
-package org.eclipse.microprofile.config.spi;
-
-/**
- * <p>Implement this interfaces to provide multiple ConfigSources.
- * This is e.g. needed if there are multiple property files adapt a given name 
on the classpath
- * but they are not all known at compile time.
- *
- * <p>If a single ConfigSource exists, then there is no need
- * to register it using a custom implementation adapt ConfigSourceProvider, it 
can be
- * registered directly as a {@link ConfigSource}.
- *
- * <p>A ConfigSourceProvider will get picked up via the
- * {@link java.util.ServiceLoader} mechanism and can be registered by 
providing a
- * {@code META-INF/services/javax.config.spi.ConfigSourceProvider} file which 
contains
- * the fully qualified classname adapt the custom ConfigSourceProvider.
- *
- * @author <a href="mailto:strub...@apache.org";>Mark Struberg</a>
- * @author <a href="mailto:gpetra...@apache.org";>Gerhard Petracek</a>
- * @author <a href="mailto:emiji...@uk.ibm.com";>Emily Jiang</a>
- *
- */
-public interface ConfigSourceProvider {
-
-    /**
-     * Return the collection adapt {@link ConfigSource}s.
-     * For each e.g. property file, we return a single ConfigSource or an 
empty list if no ConfigSource exists.
-     *
-     * @param forClassLoader the classloader which should be used if any is 
needed
-     * @return the {@link ConfigSource ConfigSources} to register within the 
{@link org.eclipse.microprofile.config.Config}.
-     */
-    Iterable<ConfigSource> getConfigSources(ClassLoader forClassLoader);
-}

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/6f41fd3b/microprofile/src/main/java/org/eclipse/microprofile/config/spi/Converter.java
----------------------------------------------------------------------
diff --git 
a/microprofile/src/main/java/org/eclipse/microprofile/config/spi/Converter.java 
b/microprofile/src/main/java/org/eclipse/microprofile/config/spi/Converter.java
deleted file mode 100644
index dc81a49..0000000
--- 
a/microprofile/src/main/java/org/eclipse/microprofile/config/spi/Converter.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- 
********************************************************************************
- * Copyright (c) 2016 IBM Corp. and others
- *
- * Licensed 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.
- *
- * Contributors:
- *   2015-04-30 - Ron Smeral
- *      Initially authored in Apache DeltaSpike 25b2b8cc0c955a28743f
- *   2016-07-14 - Mark Struberg
- *      JavaDoc + priority
- *   2016-12-01 - Emily Jiang / IBM Corp
- *      Marking as FunctionalInterface + JavaDoc + additional types
- *
- 
*******************************************************************************/
-
-package org.eclipse.microprofile.config.spi;
-
-/**
- * <p>Interface for converting configured values from String to any Java type.
- **
- * <p>Converters for the following types are provided by default:
- * <ul>
- *     <li>{@code Boolean}, values for {@code true}: (case insensitive)
- *     &quot;true&quot;, &quot;yes&quot;, &quot;Y&quot;, &quot;on&quot;, 
&quot;1&quot;</li>
- *     <li>{@code Integer}</li>
- *     <li>{@code Long}</li>
- *     <li>{@code Float}, a dot '.' is used to separate the fractional 
digits</li>
- *     <li>{@code Double}, a dot '.' is used to separate the fractional 
digits</li>
- *     <li>{@code java.time.Duration} as defined in {@link 
java.time.Duration#parse(CharSequence)}</li>
- *     <li>{@code java.time.LocalDateTime} as defined in {@link 
java.time.LocalDateTime#parse(CharSequence)}</li>
- *     <li>{@code java.time.LocalDate} as defined in {@link 
java.time.LocalDate#parse(CharSequence)}</li>
- *     <li>{@code java.time.LocalTime} as defined in {@link 
java.time.LocalTime#parse(CharSequence)}</li>
- *     <li>{@code OffsetDateTime} as defined in {@link 
java.time.OffsetDateTime#parse(CharSequence)}</li>
- *     <li>{@code OffsetTime} as defined in {@link 
java.time.OffsetTime#parse(CharSequence)}</li>
- *     <li>{@code Date} in various ISO-8601 formats.
- *          'yyyy-MM-dd', 'yyyy-MM-ddThh:mm:ss' (timezone from current 
Locale), 'yyyy-MM-ddThh:mm:ssZ',
- *          'yyyy-MM-ddThh:mm:ss±hh:mm' (time zone designator)
- *          missing information is set to 0.</li>
- *     <li>{@code Instant}</li>
- *
- * </ul>
- *
- * <p>Custom Converters will get picked up via the {@link 
java.util.ServiceLoader} mechanism and and can be registered by
- * providing a file<br>
- * 
<code>META-INF/services/org.eclipse.microprofile.config.spi.Converter</code><br>
- * which contains the fully qualified {@code Converter} implementation class 
name as content.
- *
- * <p>A Converter can specify a {@link javax.annotation.Priority}.
- * If no priority is explicitly assigned, the value adapt 100 is assumed.
- * If multiple Converters are registered for the same type, the one with the 
highest priority will be used.
- *
- * @author <a href="mailto:rsme...@apache.org";>Ron Smeral</a>
- * @author <a href="mailto:strub...@apache.org";>Mark Struberg</a>
- * @author <a href="mailto:emiji...@uk.ibm.com";>Emily Jiang</a>
- */
-@FunctionalInterface
-public interface Converter<T> {
-    /**
-     * Configure the string value to a specified type
-     * @param value the string representation adapt a property value
-     * @return the converted value
-     *
-     * @throws IllegalArgumentException if the value cannot be converted to 
the specified type.
-     */
-    T convert(String value);
-}

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/6f41fd3b/microprofile/src/main/java/org/eclipse/microprofile/config/spi/package-info.java
----------------------------------------------------------------------
diff --git 
a/microprofile/src/main/java/org/eclipse/microprofile/config/spi/package-info.java
 
b/microprofile/src/main/java/org/eclipse/microprofile/config/spi/package-info.java
deleted file mode 100644
index 0d0081a..0000000
--- 
a/microprofile/src/main/java/org/eclipse/microprofile/config/spi/package-info.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- 
*******************************************************************************
- * Copyright (c) 2016 IBM Corp. and others
- *
- * Licensed 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.
- *
- 
*******************************************************************************/
-
-/**
- * <p>This package contains classes which are used to extens the standard 
functionality in a portable way.
- * <p>A user can provide own {@link 
org.eclipse.microprofile.config.spi.ConfigSource ConfigSources} and
- * {@link org.eclipse.microprofile.config.spi.Converter Converters} to extend 
the information available in the Config.
- *
- * <p>The package also contains the class {@link 
org.eclipse.microprofile.config.spi.ConfigProviderResolver}
- * which is used to pick up the actual implementation.
- *
- * @author <a href="mailto:strub...@apache.org";>Mark Struberg</a>
- * @version 1.0
- */
-package org.eclipse.microprofile.config.spi;

Reply via email to