You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tamaya.apache.org by an...@apache.org on 2017/08/08 22:23:35 UTC
[1/4] incubator-tamaya git commit: TAMAYA-274: Moved to Java 8,
set version to 0.4-incubating-SNAPSHOT
Repository: incubator-tamaya
Updated Branches:
refs/heads/java8 0402fd349 -> c4285641a
TAMAYA-274: Moved to Java 8, set version to 0.4-incubating-SNAPSHOT
Project: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/commit/d659c1ae
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/tree/d659c1ae
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/diff/d659c1ae
Branch: refs/heads/java8
Commit: d659c1ae3d03893f989cea41274364243e9837de
Parents: 0402fd3
Author: anatole <an...@apache.org>
Authored: Tue Aug 8 21:44:51 2017 +0200
Committer: anatole <an...@apache.org>
Committed: Tue Aug 8 21:44:51 2017 +0200
----------------------------------------------------------------------
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/d659c1ae/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index c9cba10..337cb3b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
<properties>
<commons-io.version>2.5</commons-io.version>
<findbugs.skip>false</findbugs.skip>
- <jdkVersion>1.7</jdkVersion>
+ <jdkVersion>1.8</jdkVersion>
<osgi.version>5.0.0</osgi.version>
<osgi.compendium.version>${osgi.version}</osgi.compendium.version>
<maven.compile.targetLevel>${jdkVersion}</maven.compile.targetLevel>
[4/4] incubator-tamaya git commit: TAMAYA-274: Moved to Java 8,
added missing converters.
Posted by an...@apache.org.
TAMAYA-274: Moved to Java 8, added missing converters.
Project: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/commit/c4285641
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/tree/c4285641
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/diff/c4285641
Branch: refs/heads/java8
Commit: c4285641af328fe7c3a0ee4522eca73c27f4fbdb
Parents: c32b45f
Author: anatole <an...@apache.org>
Authored: Wed Aug 9 00:22:59 2017 +0200
Committer: anatole <an...@apache.org>
Committed: Wed Aug 9 00:22:59 2017 +0200
----------------------------------------------------------------------
.../internal/converters/BooleanConverter.java | 4 +-
.../internal/converters/InstantConverter.java | 49 ++++++++++++++++
.../internal/converters/OptionalConverter.java | 61 ++++++++++++++++++++
.../org.apache.tamaya.spi.PropertyConverter | 2 +
4 files changed, 115 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/c4285641/code/core/src/main/java/org/apache/tamaya/core/internal/converters/BooleanConverter.java
----------------------------------------------------------------------
diff --git a/code/core/src/main/java/org/apache/tamaya/core/internal/converters/BooleanConverter.java b/code/core/src/main/java/org/apache/tamaya/core/internal/converters/BooleanConverter.java
index d926b14..61c182b 100644
--- a/code/core/src/main/java/org/apache/tamaya/core/internal/converters/BooleanConverter.java
+++ b/code/core/src/main/java/org/apache/tamaya/core/internal/converters/BooleanConverter.java
@@ -34,11 +34,12 @@ public class BooleanConverter implements PropertyConverter<Boolean> {
@Override
public Boolean convert(String value, ConversionContext context) {
- context.addSupportedFormats(getClass(), "yes (ignore case)", "y (ignore case)", "true (ignore case)", "t (ignore case)", "no (ignore case)", "n (ignore case)", "false (ignore case)", "f (ignore case)");
+ context.addSupportedFormats(getClass(), "yes (ignore case)", "y (ignore case)", "true (ignore case)", "t (ignore case)", "1", "no (ignore case)", "n (ignore case)", "false (ignore case)", "f (ignore case)", "0");
String ignoreCaseValue = Objects.requireNonNull(value)
.trim()
.toLowerCase(Locale.ENGLISH);
switch(ignoreCaseValue) {
+ case "1":
case "yes":
case "y":
case "true":
@@ -48,6 +49,7 @@ public class BooleanConverter implements PropertyConverter<Boolean> {
case "n":
case "false":
case "f":
+ case "0":
return Boolean.FALSE;
default:
LOG.finest("Unknown boolean value encountered: " + value);
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/c4285641/code/core/src/main/java/org/apache/tamaya/core/internal/converters/InstantConverter.java
----------------------------------------------------------------------
diff --git a/code/core/src/main/java/org/apache/tamaya/core/internal/converters/InstantConverter.java b/code/core/src/main/java/org/apache/tamaya/core/internal/converters/InstantConverter.java
new file mode 100644
index 0000000..c0f2bf0
--- /dev/null
+++ b/code/core/src/main/java/org/apache/tamaya/core/internal/converters/InstantConverter.java
@@ -0,0 +1,49 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tamaya.core.internal.converters;
+
+import org.apache.tamaya.spi.ConversionContext;
+import org.apache.tamaya.spi.PropertyConverter;
+
+import java.time.Instant;
+import java.util.logging.Logger;
+
+/**
+ * Converter, converting from String to Boolean.
+ */
+public class InstantConverter implements PropertyConverter<Instant> {
+
+ private final Logger LOG = Logger.getLogger(getClass().getName());
+
+ @Override
+ public Instant convert(String value, ConversionContext context) {
+ context.addSupportedFormats(getClass(), Instant.now().toString());
+ return Instant.parse(value);
+ }
+
+ @Override
+ public boolean equals(Object o){
+ return getClass().equals(o.getClass());
+ }
+
+ @Override
+ public int hashCode(){
+ return getClass().hashCode();
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/c4285641/code/core/src/main/java/org/apache/tamaya/core/internal/converters/OptionalConverter.java
----------------------------------------------------------------------
diff --git a/code/core/src/main/java/org/apache/tamaya/core/internal/converters/OptionalConverter.java b/code/core/src/main/java/org/apache/tamaya/core/internal/converters/OptionalConverter.java
new file mode 100644
index 0000000..69595ac
--- /dev/null
+++ b/code/core/src/main/java/org/apache/tamaya/core/internal/converters/OptionalConverter.java
@@ -0,0 +1,61 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tamaya.core.internal.converters;
+
+import org.apache.tamaya.TypeLiteral;
+import org.apache.tamaya.core.internal.PropertyConverterManager;
+import org.apache.tamaya.spi.ConversionContext;
+import org.apache.tamaya.spi.PropertyConverter;
+
+import java.util.Locale;
+import java.util.Objects;
+import java.util.Optional;
+import java.util.logging.Logger;
+
+/**
+ * Converter, converting from String to Boolean.
+ */
+public class OptionalConverter implements PropertyConverter<Optional> {
+
+ private final Logger LOG = Logger.getLogger(getClass().getName());
+
+ @Override
+ public Optional<?> convert(String value, ConversionContext context) {
+ TypeLiteral<Optional> target = (TypeLiteral<Optional>)context.getTargetType();
+ Object result = null;
+ for(PropertyConverter pv:context.getConfigurationContext().getPropertyConverters(
+ TypeLiteral.of(target.getType()))){
+ result = pv.convert(value, context);
+ if(result!=null){
+ return Optional.of(result);
+ }
+ }
+ return Optional.ofNullable(result);
+ }
+
+ @Override
+ public boolean equals(Object o){
+ return getClass().equals(o.getClass());
+ }
+
+ @Override
+ public int hashCode(){
+ return getClass().hashCode();
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/c4285641/code/core/src/main/resources/META-INF/services/org.apache.tamaya.spi.PropertyConverter
----------------------------------------------------------------------
diff --git a/code/core/src/main/resources/META-INF/services/org.apache.tamaya.spi.PropertyConverter b/code/core/src/main/resources/META-INF/services/org.apache.tamaya.spi.PropertyConverter
index a53d80d..f934197 100644
--- a/code/core/src/main/resources/META-INF/services/org.apache.tamaya.spi.PropertyConverter
+++ b/code/core/src/main/resources/META-INF/services/org.apache.tamaya.spi.PropertyConverter
@@ -39,3 +39,5 @@ org.apache.tamaya.core.internal.converters.LocalDateTimeConverter
org.apache.tamaya.core.internal.converters.LocalTimeConverter
org.apache.tamaya.core.internal.converters.OffsetDateTimeConverter
org.apache.tamaya.core.internal.converters.OffsetTimeConverter
+org.apache.tamaya.core.internal.converters.InstantConverter
+org.apache.tamaya.core.internal.converters.OptionalConverter
[3/4] incubator-tamaya git commit: TAMAYA-274: Simplified compiler
settings, set version to 0.4-incubating-SNAPSHOT
Posted by an...@apache.org.
TAMAYA-274: Simplified compiler settings, set version to 0.4-incubating-SNAPSHOT
Project: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/commit/c32b45f4
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/tree/c32b45f4
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/diff/c32b45f4
Branch: refs/heads/java8
Commit: c32b45f41e13ff15edaa87d3e87c954522b3de7b
Parents: fd6184b
Author: anatole <an...@apache.org>
Authored: Wed Aug 9 00:22:29 2017 +0200
Committer: anatole <an...@apache.org>
Committed: Wed Aug 9 00:22:29 2017 +0200
----------------------------------------------------------------------
examples/11-distributed/pom.xml | 5 ++---
pom.xml | 11 +++++------
2 files changed, 7 insertions(+), 9 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/c32b45f4/examples/11-distributed/pom.xml
----------------------------------------------------------------------
diff --git a/examples/11-distributed/pom.xml b/examples/11-distributed/pom.xml
index 72e5ac1..0f0bfe9 100644
--- a/examples/11-distributed/pom.xml
+++ b/examples/11-distributed/pom.xml
@@ -31,9 +31,8 @@
<packaging>jar</packaging>
<properties>
- <jdkVersion>1.8</jdkVersion>
- <maven.compile.targetLevel>${jdkVersion}</maven.compile.targetLevel>
- <maven.compile.sourceLevel>${jdkVersion}</maven.compile.sourceLevel>
+ <maven.compile.targetLevel>1.8</maven.compile.targetLevel>
+ <maven.compile.sourceLevel>1.8</maven.compile.sourceLevel>
<maven.compile.optimize>false</maven.compile.optimize>
<maven.compile.deprecation>true</maven.compile.deprecation>
<tamaya.version>0.3-incubating-SNAPSHOT</tamaya.version>
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/c32b45f4/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 337cb3b..8f79347 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,11 +39,10 @@
<properties>
<commons-io.version>2.5</commons-io.version>
<findbugs.skip>false</findbugs.skip>
- <jdkVersion>1.8</jdkVersion>
<osgi.version>5.0.0</osgi.version>
<osgi.compendium.version>${osgi.version}</osgi.compendium.version>
- <maven.compile.targetLevel>${jdkVersion}</maven.compile.targetLevel>
- <maven.compile.sourceLevel>${jdkVersion}</maven.compile.sourceLevel>
+ <maven.compile.targetLevel>1.8</maven.compile.targetLevel>
+ <maven.compile.sourceLevel>1.8</maven.compile.sourceLevel>
<maven.compile.optimize>false</maven.compile.optimize>
<maven.compile.deprecation>true</maven.compile.deprecation>
<maven.javadoc.skip>false</maven.javadoc.skip>
@@ -417,9 +416,9 @@
<version>3.6.0</version>
<configuration>
<debug>true</debug>
- <optimize>${maven.compile.optimize}</optimize>
<source>${maven.compile.sourceLevel}</source>
<target>${maven.compile.targetLevel}</target>
+ <optimize>${maven.compile.optimize}</optimize>
<encoding>${project.build.sourceEncoding}</encoding>
<showDeprecation>${maven.compile.deprecation}</showDeprecation>
</configuration>
@@ -716,8 +715,8 @@
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
- <source>1.7</source>
- <target>1.7</target>
+ <source>${maven.compile.sourceLevel}</source>
+ <target>${maven.compile.targetLevel}</target>
</configuration>
</plugin>
<plugin>
[2/4] incubator-tamaya git commit: TAMAYA-274: Moved to Java 8,
added @FunctionalInterface annotations and java.time converters.
Posted by an...@apache.org.
TAMAYA-274: Moved to Java 8, added @FunctionalInterface annotations and java.time converters.
Project: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/commit/fd6184b8
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/tree/fd6184b8
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/diff/fd6184b8
Branch: refs/heads/java8
Commit: fd6184b8f7bb665596b04033b7635432a247f22b
Parents: d659c1a
Author: anatole <an...@apache.org>
Authored: Tue Aug 8 21:45:49 2017 +0200
Committer: anatole <an...@apache.org>
Committed: Tue Aug 8 21:45:49 2017 +0200
----------------------------------------------------------------------
.../java/org/apache/tamaya/ConfigOperator.java | 1 +
.../java/org/apache/tamaya/ConfigQuery.java | 1 +
.../apache/tamaya/spi/PropertyConverter.java | 3 ++
.../org/apache/tamaya/spi/PropertyFilter.java | 1 +
.../tamaya/spi/PropertySourceProvider.java | 1 +
.../org/apache/tamaya/spi/PropertyValue.java | 3 +-
.../org/apache/tamaya/spi/ServiceContext.java | 3 +-
.../DefaultConfigurationContextBuilder.java | 1 +
.../core/internal/PropertySourceComparator.java | 2 +-
.../internal/converters/DurationConverter.java | 51 ++++++++++++++++++++
.../internal/converters/LocalDateConverter.java | 49 +++++++++++++++++++
.../converters/LocalDateTimeConverter.java | 49 +++++++++++++++++++
.../internal/converters/LocalTimeConverter.java | 49 +++++++++++++++++++
.../converters/OffsetDateTimeConverter.java | 50 +++++++++++++++++++
.../converters/OffsetTimeConverter.java | 50 +++++++++++++++++++
.../org.apache.tamaya.spi.PropertyConverter | 6 +++
16 files changed, 316 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/fd6184b8/code/api/src/main/java/org/apache/tamaya/ConfigOperator.java
----------------------------------------------------------------------
diff --git a/code/api/src/main/java/org/apache/tamaya/ConfigOperator.java b/code/api/src/main/java/org/apache/tamaya/ConfigOperator.java
index 2144218..b14c155 100644
--- a/code/api/src/main/java/org/apache/tamaya/ConfigOperator.java
+++ b/code/api/src/main/java/org/apache/tamaya/ConfigOperator.java
@@ -23,6 +23,7 @@ package org.apache.tamaya;
* to modell additional functionality and applying it to a given {@link org.apache.tamaya.Configuration} instance by calling
* the {@link org.apache.tamaya.Configuration#with(org.apache.tamaya.ConfigOperator)} method.
*/
+@FunctionalInterface
public interface ConfigOperator {
/**
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/fd6184b8/code/api/src/main/java/org/apache/tamaya/ConfigQuery.java
----------------------------------------------------------------------
diff --git a/code/api/src/main/java/org/apache/tamaya/ConfigQuery.java b/code/api/src/main/java/org/apache/tamaya/ConfigQuery.java
index 60e87bb..28b8b93 100644
--- a/code/api/src/main/java/org/apache/tamaya/ConfigQuery.java
+++ b/code/api/src/main/java/org/apache/tamaya/ConfigQuery.java
@@ -23,6 +23,7 @@ package org.apache.tamaya;
* to model additional functionality and applying it to a given {@link Configuration} instance by
* calling the {@link Configuration#query(ConfigQuery)} method.
*/
+@FunctionalInterface
public interface ConfigQuery<T> {
/**
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/fd6184b8/code/api/src/main/java/org/apache/tamaya/spi/PropertyConverter.java
----------------------------------------------------------------------
diff --git a/code/api/src/main/java/org/apache/tamaya/spi/PropertyConverter.java b/code/api/src/main/java/org/apache/tamaya/spi/PropertyConverter.java
index ef6e2ac..56ac5e6 100644
--- a/code/api/src/main/java/org/apache/tamaya/spi/PropertyConverter.java
+++ b/code/api/src/main/java/org/apache/tamaya/spi/PropertyConverter.java
@@ -19,6 +19,8 @@
package org.apache.tamaya.spi;
+import jdk.nashorn.internal.objects.annotations.Function;
+
/**
* Interface for an property that converts a configured String into something else.
* This is used for implementing type conversion from a property (String) to a certain target
@@ -26,6 +28,7 @@ package org.apache.tamaya.spi;
*
* @param <T> the type of the type literal
*/
+@FunctionalInterface
public interface PropertyConverter<T>{
/**
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/fd6184b8/code/api/src/main/java/org/apache/tamaya/spi/PropertyFilter.java
----------------------------------------------------------------------
diff --git a/code/api/src/main/java/org/apache/tamaya/spi/PropertyFilter.java b/code/api/src/main/java/org/apache/tamaya/spi/PropertyFilter.java
index 350bd73..3054496 100644
--- a/code/api/src/main/java/org/apache/tamaya/spi/PropertyFilter.java
+++ b/code/api/src/main/java/org/apache/tamaya/spi/PropertyFilter.java
@@ -25,6 +25,7 @@ package org.apache.tamaya.spi;
* hereby is defined by the corresponding {@code @Priority} annotation.</p>
* <p>Filters </p>
*/
+@FunctionalInterface
public interface PropertyFilter {
/**
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/fd6184b8/code/api/src/main/java/org/apache/tamaya/spi/PropertySourceProvider.java
----------------------------------------------------------------------
diff --git a/code/api/src/main/java/org/apache/tamaya/spi/PropertySourceProvider.java b/code/api/src/main/java/org/apache/tamaya/spi/PropertySourceProvider.java
index 79a8d98..3f7beea 100644
--- a/code/api/src/main/java/org/apache/tamaya/spi/PropertySourceProvider.java
+++ b/code/api/src/main/java/org/apache/tamaya/spi/PropertySourceProvider.java
@@ -34,6 +34,7 @@ import java.util.Collections;
* {@link java.util.ServiceLoader} mechanism and must get registered via
* META-INF/services/org.apache.tamaya.spi.PropertySourceProvider</p>
*/
+@FunctionalInterface
public interface PropertySourceProvider {
/**
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/fd6184b8/code/api/src/main/java/org/apache/tamaya/spi/PropertyValue.java
----------------------------------------------------------------------
diff --git a/code/api/src/main/java/org/apache/tamaya/spi/PropertyValue.java b/code/api/src/main/java/org/apache/tamaya/spi/PropertyValue.java
index d1a8b9c..c538de7 100644
--- a/code/api/src/main/java/org/apache/tamaya/spi/PropertyValue.java
+++ b/code/api/src/main/java/org/apache/tamaya/spi/PropertyValue.java
@@ -74,7 +74,7 @@ public final class PropertyValue implements Serializable{
/**
* The source.
* @return the source, which provided the value, not {@code null}.
- * @see PropertySource#getName().
+ * @see PropertySource#getName() .
*/
public String getSource() {
return this.source;
@@ -116,6 +116,7 @@ public final class PropertyValue implements Serializable{
/**
* Creates a new builder instance.
* @param key the key, not {@code null}.
+ * @param value the property value, not {@code null}.
* @param source the source, typically the name of the {@link PropertySource}
* providing the value, not {@code null}.
* @return a new builder instance.
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/fd6184b8/code/api/src/main/java/org/apache/tamaya/spi/ServiceContext.java
----------------------------------------------------------------------
diff --git a/code/api/src/main/java/org/apache/tamaya/spi/ServiceContext.java b/code/api/src/main/java/org/apache/tamaya/spi/ServiceContext.java
index ef6c0b9..9eb18e8 100644
--- a/code/api/src/main/java/org/apache/tamaya/spi/ServiceContext.java
+++ b/code/api/src/main/java/org/apache/tamaya/spi/ServiceContext.java
@@ -78,7 +78,7 @@ public interface ServiceContext {
* @param resource the resource, not {@code null}.
* @param cl the desired classloader context, if null, the current thread context classloader is used.
* @return the resources found
- * @throws IOException
+ * @throws IOException if load fails.
*/
Enumeration<URL> getResources(String resource, ClassLoader cl) throws IOException;
@@ -88,7 +88,6 @@ public interface ServiceContext {
* @param resource the resource, not {@code null}.
* @param cl the desired classloader context, if null, the current thread context classloader is used.
* @return the resource found, or {@code null}.
- * @throws IOException
*/
URL getResource(String resource, ClassLoader cl);
}
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/fd6184b8/code/core/src/main/java/org/apache/tamaya/core/internal/DefaultConfigurationContextBuilder.java
----------------------------------------------------------------------
diff --git a/code/core/src/main/java/org/apache/tamaya/core/internal/DefaultConfigurationContextBuilder.java b/code/core/src/main/java/org/apache/tamaya/core/internal/DefaultConfigurationContextBuilder.java
index f825614..f63e5bb 100644
--- a/code/core/src/main/java/org/apache/tamaya/core/internal/DefaultConfigurationContextBuilder.java
+++ b/code/core/src/main/java/org/apache/tamaya/core/internal/DefaultConfigurationContextBuilder.java
@@ -73,6 +73,7 @@ public class DefaultConfigurationContextBuilder implements ConfigurationContextB
/**
* Creates a new builder instance.
+ * @param context the context to be used, not null.
*/
public DefaultConfigurationContextBuilder(ConfigurationContext context) {
this.propertyConverters.putAll(context.getPropertyConverters());
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/fd6184b8/code/core/src/main/java/org/apache/tamaya/core/internal/PropertySourceComparator.java
----------------------------------------------------------------------
diff --git a/code/core/src/main/java/org/apache/tamaya/core/internal/PropertySourceComparator.java b/code/core/src/main/java/org/apache/tamaya/core/internal/PropertySourceComparator.java
index 1f2e412..64e245d 100644
--- a/code/core/src/main/java/org/apache/tamaya/core/internal/PropertySourceComparator.java
+++ b/code/core/src/main/java/org/apache/tamaya/core/internal/PropertySourceComparator.java
@@ -76,7 +76,7 @@ public class PropertySourceComparator implements Comparator<PropertySource>, Ser
* <ol>
* <li>It evaluates the {@code String} value for {@link PropertySource#TAMAYA_ORDINAL} and tries
* to convert it to an {@code int} value, using {@link Integer#parseInt(String)}.</li>
- * <li>It tries to find and evaluate a method {@code int getOrdinal()}</li>.
+ * <li>It tries to find and evaluate a method {@code int getOrdinal()}.</li>
* <li>It tries to find and evaluate a static field {@code int ORDINAL}.</li>
* <li>It tries to find an d evaluate a class level {@link Priority} annotation.</li>
* <li>It uses the default priority ({@code 0}.</li>
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/fd6184b8/code/core/src/main/java/org/apache/tamaya/core/internal/converters/DurationConverter.java
----------------------------------------------------------------------
diff --git a/code/core/src/main/java/org/apache/tamaya/core/internal/converters/DurationConverter.java b/code/core/src/main/java/org/apache/tamaya/core/internal/converters/DurationConverter.java
new file mode 100644
index 0000000..65086d8
--- /dev/null
+++ b/code/core/src/main/java/org/apache/tamaya/core/internal/converters/DurationConverter.java
@@ -0,0 +1,51 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tamaya.core.internal.converters;
+
+import org.apache.tamaya.spi.ConversionContext;
+import org.apache.tamaya.spi.PropertyConverter;
+
+import java.time.Duration;
+import java.time.temporal.ChronoUnit;
+import java.util.logging.Logger;
+
+/**
+ * Converter, converting from String to Boolean.
+ */
+public class DurationConverter implements PropertyConverter<Duration> {
+
+ private final Logger LOG = Logger.getLogger(getClass().getName());
+
+ @Override
+ public Duration convert(String value, ConversionContext context) {
+ context.addSupportedFormats(getClass(),
+ Duration.of(1234, ChronoUnit.SECONDS).toString());
+ return Duration.parse(value);
+ }
+
+ @Override
+ public boolean equals(Object o){
+ return getClass().equals(o.getClass());
+ }
+
+ @Override
+ public int hashCode(){
+ return getClass().hashCode();
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/fd6184b8/code/core/src/main/java/org/apache/tamaya/core/internal/converters/LocalDateConverter.java
----------------------------------------------------------------------
diff --git a/code/core/src/main/java/org/apache/tamaya/core/internal/converters/LocalDateConverter.java b/code/core/src/main/java/org/apache/tamaya/core/internal/converters/LocalDateConverter.java
new file mode 100644
index 0000000..2ae8bef
--- /dev/null
+++ b/code/core/src/main/java/org/apache/tamaya/core/internal/converters/LocalDateConverter.java
@@ -0,0 +1,49 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tamaya.core.internal.converters;
+
+import org.apache.tamaya.spi.ConversionContext;
+import org.apache.tamaya.spi.PropertyConverter;
+
+import java.time.LocalDate;
+import java.util.logging.Logger;
+
+/**
+ * Converter, converting from String to Boolean.
+ */
+public class LocalDateConverter implements PropertyConverter<LocalDate> {
+
+ private final Logger LOG = Logger.getLogger(getClass().getName());
+
+ @Override
+ public LocalDate convert(String value, ConversionContext context) {
+ context.addSupportedFormats(getClass(), LocalDate.now().toString());
+ return LocalDate.parse(value);
+ }
+
+ @Override
+ public boolean equals(Object o){
+ return getClass().equals(o.getClass());
+ }
+
+ @Override
+ public int hashCode(){
+ return getClass().hashCode();
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/fd6184b8/code/core/src/main/java/org/apache/tamaya/core/internal/converters/LocalDateTimeConverter.java
----------------------------------------------------------------------
diff --git a/code/core/src/main/java/org/apache/tamaya/core/internal/converters/LocalDateTimeConverter.java b/code/core/src/main/java/org/apache/tamaya/core/internal/converters/LocalDateTimeConverter.java
new file mode 100644
index 0000000..cdf6042
--- /dev/null
+++ b/code/core/src/main/java/org/apache/tamaya/core/internal/converters/LocalDateTimeConverter.java
@@ -0,0 +1,49 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tamaya.core.internal.converters;
+
+import org.apache.tamaya.spi.ConversionContext;
+import org.apache.tamaya.spi.PropertyConverter;
+
+import java.time.LocalDateTime;
+import java.util.logging.Logger;
+
+/**
+ * Converter, converting from String to Boolean.
+ */
+public class LocalDateTimeConverter implements PropertyConverter<LocalDateTime> {
+
+ private final Logger LOG = Logger.getLogger(getClass().getName());
+
+ @Override
+ public LocalDateTime convert(String value, ConversionContext context) {
+ context.addSupportedFormats(getClass(), LocalDateTime.now().toString());
+ return LocalDateTime.parse(value);
+ }
+
+ @Override
+ public boolean equals(Object o){
+ return getClass().equals(o.getClass());
+ }
+
+ @Override
+ public int hashCode(){
+ return getClass().hashCode();
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/fd6184b8/code/core/src/main/java/org/apache/tamaya/core/internal/converters/LocalTimeConverter.java
----------------------------------------------------------------------
diff --git a/code/core/src/main/java/org/apache/tamaya/core/internal/converters/LocalTimeConverter.java b/code/core/src/main/java/org/apache/tamaya/core/internal/converters/LocalTimeConverter.java
new file mode 100644
index 0000000..e6e62a5
--- /dev/null
+++ b/code/core/src/main/java/org/apache/tamaya/core/internal/converters/LocalTimeConverter.java
@@ -0,0 +1,49 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tamaya.core.internal.converters;
+
+import org.apache.tamaya.spi.ConversionContext;
+import org.apache.tamaya.spi.PropertyConverter;
+
+import java.time.LocalTime;
+import java.util.logging.Logger;
+
+/**
+ * Converter, converting from String to Boolean.
+ */
+public class LocalTimeConverter implements PropertyConverter<LocalTime> {
+
+ private final Logger LOG = Logger.getLogger(getClass().getName());
+
+ @Override
+ public LocalTime convert(String value, ConversionContext context) {
+ context.addSupportedFormats(getClass(), LocalTime.now().toString());
+ return LocalTime.parse(value);
+ }
+
+ @Override
+ public boolean equals(Object o){
+ return getClass().equals(o.getClass());
+ }
+
+ @Override
+ public int hashCode(){
+ return getClass().hashCode();
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/fd6184b8/code/core/src/main/java/org/apache/tamaya/core/internal/converters/OffsetDateTimeConverter.java
----------------------------------------------------------------------
diff --git a/code/core/src/main/java/org/apache/tamaya/core/internal/converters/OffsetDateTimeConverter.java b/code/core/src/main/java/org/apache/tamaya/core/internal/converters/OffsetDateTimeConverter.java
new file mode 100644
index 0000000..4bcf1ef
--- /dev/null
+++ b/code/core/src/main/java/org/apache/tamaya/core/internal/converters/OffsetDateTimeConverter.java
@@ -0,0 +1,50 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tamaya.core.internal.converters;
+
+import org.apache.tamaya.spi.ConversionContext;
+import org.apache.tamaya.spi.PropertyConverter;
+
+import java.time.LocalDate;
+import java.time.OffsetDateTime;
+import java.util.logging.Logger;
+
+/**
+ * Converter, converting from String to Boolean.
+ */
+public class OffsetDateTimeConverter implements PropertyConverter<OffsetDateTime> {
+
+ private final Logger LOG = Logger.getLogger(getClass().getName());
+
+ @Override
+ public OffsetDateTime convert(String value, ConversionContext context) {
+ context.addSupportedFormats(getClass(), OffsetDateTime.now().toString());
+ return OffsetDateTime.parse(value);
+ }
+
+ @Override
+ public boolean equals(Object o){
+ return getClass().equals(o.getClass());
+ }
+
+ @Override
+ public int hashCode(){
+ return getClass().hashCode();
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/fd6184b8/code/core/src/main/java/org/apache/tamaya/core/internal/converters/OffsetTimeConverter.java
----------------------------------------------------------------------
diff --git a/code/core/src/main/java/org/apache/tamaya/core/internal/converters/OffsetTimeConverter.java b/code/core/src/main/java/org/apache/tamaya/core/internal/converters/OffsetTimeConverter.java
new file mode 100644
index 0000000..eaaafc6
--- /dev/null
+++ b/code/core/src/main/java/org/apache/tamaya/core/internal/converters/OffsetTimeConverter.java
@@ -0,0 +1,50 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tamaya.core.internal.converters;
+
+import org.apache.tamaya.spi.ConversionContext;
+import org.apache.tamaya.spi.PropertyConverter;
+
+import java.time.OffsetDateTime;
+import java.time.OffsetTime;
+import java.util.logging.Logger;
+
+/**
+ * Converter, converting from String to Boolean.
+ */
+public class OffsetTimeConverter implements PropertyConverter<OffsetTime> {
+
+ private final Logger LOG = Logger.getLogger(getClass().getName());
+
+ @Override
+ public OffsetTime convert(String value, ConversionContext context) {
+ context.addSupportedFormats(getClass(), OffsetTime.now().toString());
+ return OffsetTime.parse(value);
+ }
+
+ @Override
+ public boolean equals(Object o){
+ return getClass().equals(o.getClass());
+ }
+
+ @Override
+ public int hashCode(){
+ return getClass().hashCode();
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/fd6184b8/code/core/src/main/resources/META-INF/services/org.apache.tamaya.spi.PropertyConverter
----------------------------------------------------------------------
diff --git a/code/core/src/main/resources/META-INF/services/org.apache.tamaya.spi.PropertyConverter b/code/core/src/main/resources/META-INF/services/org.apache.tamaya.spi.PropertyConverter
index 878e8a7..a53d80d 100644
--- a/code/core/src/main/resources/META-INF/services/org.apache.tamaya.spi.PropertyConverter
+++ b/code/core/src/main/resources/META-INF/services/org.apache.tamaya.spi.PropertyConverter
@@ -33,3 +33,9 @@ org.apache.tamaya.core.internal.converters.URIConverter
org.apache.tamaya.core.internal.converters.URLConverter
org.apache.tamaya.core.internal.converters.FileConverter
org.apache.tamaya.core.internal.converters.PathConverter
+org.apache.tamaya.core.internal.converters.DurationConverter
+org.apache.tamaya.core.internal.converters.LocalDateConverter
+org.apache.tamaya.core.internal.converters.LocalDateTimeConverter
+org.apache.tamaya.core.internal.converters.LocalTimeConverter
+org.apache.tamaya.core.internal.converters.OffsetDateTimeConverter
+org.apache.tamaya.core.internal.converters.OffsetTimeConverter