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/09/28 20:03:37 UTC
[01/12] incubator-tamaya git commit: TAMAYA-274: Moved to Java 8,
set version to 0.4-incubating-SNAPSHOT
Repository: incubator-tamaya
Updated Branches:
refs/heads/master 0852f7fe5 -> 7d2b5a873
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/bbfee921
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/tree/bbfee921
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/diff/bbfee921
Branch: refs/heads/master
Commit: bbfee921054c574e6e3d8c41cef6c48cc986e7e6
Parents: 0852f7f
Author: anatole <an...@apache.org>
Authored: Tue Aug 8 21:44:51 2017 +0200
Committer: Anatole Tresch <an...@apache.org>
Committed: Thu Sep 28 21:52:10 2017 +0200
----------------------------------------------------------------------
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/bbfee921/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 9d18024..affc2d5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -35,7 +35,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>
[11/12] incubator-tamaya git commit: TAMAYA-297: Removed unused
ServiceTracker.
Posted by an...@apache.org.
TAMAYA-297: Removed unused ServiceTracker.
Project: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/commit/cdc74d72
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/tree/cdc74d72
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/diff/cdc74d72
Branch: refs/heads/master
Commit: cdc74d72877fa5a8012160e7fe6d47a0d7cc2cee
Parents: fe4302a
Author: anatole <an...@apache.org>
Authored: Tue Sep 19 22:07:01 2017 +0200
Committer: Anatole Tresch <an...@apache.org>
Committed: Thu Sep 28 22:01:28 2017 +0200
----------------------------------------------------------------------
.../java/org/apache/tamaya/core/internal/OSGIServiceLoader.java | 2 --
1 file changed, 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/cdc74d72/code/core/src/main/java/org/apache/tamaya/core/internal/OSGIServiceLoader.java
----------------------------------------------------------------------
diff --git a/code/core/src/main/java/org/apache/tamaya/core/internal/OSGIServiceLoader.java b/code/core/src/main/java/org/apache/tamaya/core/internal/OSGIServiceLoader.java
index 0854b0d..dae7bea 100644
--- a/code/core/src/main/java/org/apache/tamaya/core/internal/OSGIServiceLoader.java
+++ b/code/core/src/main/java/org/apache/tamaya/core/internal/OSGIServiceLoader.java
@@ -42,8 +42,6 @@ public class OSGIServiceLoader implements BundleListener {
private BundleContext context;
- private Map<Class, ServiceTracker<Object,Object>> services = new ConcurrentHashMap<>();
-
private Set<Bundle> resourceBundles = Collections.synchronizedSet(new HashSet<Bundle>());
public OSGIServiceLoader(BundleContext context){
[12/12] incubator-tamaya git commit: TAMAYA-311: Removed logging for
loaded SPI.
Posted by an...@apache.org.
TAMAYA-311: Removed logging for loaded SPI.
Project: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/commit/7d2b5a87
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/tree/7d2b5a87
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/diff/7d2b5a87
Branch: refs/heads/master
Commit: 7d2b5a8731e744a9c07fc84387f4a61c8638c16b
Parents: cdc74d7
Author: anatole <an...@apache.org>
Authored: Sun Sep 24 21:29:40 2017 +0200
Committer: Anatole Tresch <an...@apache.org>
Committed: Thu Sep 28 22:01:29 2017 +0200
----------------------------------------------------------------------
.../src/main/java/org/apache/tamaya/ConfigurationProvider.java | 3 ---
1 file changed, 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/7d2b5a87/code/api/src/main/java/org/apache/tamaya/ConfigurationProvider.java
----------------------------------------------------------------------
diff --git a/code/api/src/main/java/org/apache/tamaya/ConfigurationProvider.java b/code/api/src/main/java/org/apache/tamaya/ConfigurationProvider.java
index 38af74e..564d5a1 100644
--- a/code/api/src/main/java/org/apache/tamaya/ConfigurationProvider.java
+++ b/code/api/src/main/java/org/apache/tamaya/ConfigurationProvider.java
@@ -38,7 +38,6 @@ public final class ConfigurationProvider {
if(spi==null){
throw new IllegalStateException("ConfigurationProviderSpi not available.");
}
- LOG.info("TAMAYA Loaded ConfigurationProviderSpi: " + spi.getClass().getName());
return spi;
}
@@ -62,7 +61,6 @@ public final class ConfigurationProvider {
* @return a new Configuration instance, never {@code null}.
*/
public static Configuration createConfiguration(ConfigurationContext context) {
- // todo obf if (1==1) throw new RuntimeException("No tests written.");
return spi().createConfiguration(context);
}
@@ -106,7 +104,6 @@ public final class ConfigurationProvider {
* applying a new Configuration.
*/
public static void setConfiguration(Configuration config) {
- // todo obf if (1==1) throw new RuntimeException("No tests written.");
LOG.info("TAMAYA Applying new Configuration: " + config);
spi().setConfiguration(config);
}
[05/12] incubator-tamaya git commit: TAMAYA-260: Fixed CDI issues
regarding MP integration.
Posted by an...@apache.org.
TAMAYA-260: Fixed CDI issues regarding MP integration.
Project: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/commit/e8a6386b
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/tree/e8a6386b
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/diff/e8a6386b
Branch: refs/heads/master
Commit: e8a6386b2d3265f1cd8c0efb17e70fbc52a20f28
Parents: aea69a7
Author: anatole <an...@apache.org>
Authored: Sun Aug 13 01:27:48 2017 +0200
Committer: Anatole Tresch <an...@apache.org>
Committed: Thu Sep 28 21:52:13 2017 +0200
----------------------------------------------------------------------
.../tamaya/core/internal/converters/OptionalConverter.java | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/e8a6386b/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
index 69595ac..e05e645 100644
--- 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
@@ -23,6 +23,7 @@ import org.apache.tamaya.core.internal.PropertyConverterManager;
import org.apache.tamaya.spi.ConversionContext;
import org.apache.tamaya.spi.PropertyConverter;
+import java.lang.reflect.Type;
import java.util.Locale;
import java.util.Objects;
import java.util.Optional;
@@ -39,8 +40,12 @@ public class OptionalConverter implements PropertyConverter<Optional> {
public Optional<?> convert(String value, ConversionContext context) {
TypeLiteral<Optional> target = (TypeLiteral<Optional>)context.getTargetType();
Object result = null;
+ Type targetType = TypeLiteral.getTypeParameters(target.getType())[0];
+ if(String.class.equals(targetType)){
+ result = value;
+ }
for(PropertyConverter pv:context.getConfigurationContext().getPropertyConverters(
- TypeLiteral.of(target.getType()))){
+ TypeLiteral.of(targetType))){
result = pv.convert(value, context);
if(result!=null){
return Optional.of(result);
[03/12] 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/2278346a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/tree/2278346a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/diff/2278346a
Branch: refs/heads/master
Commit: 2278346a684cf6ef8dd12c8d4edef7631d45feaf
Parents: bbfee92
Author: anatole <an...@apache.org>
Authored: Tue Aug 8 21:45:49 2017 +0200
Committer: Anatole Tresch <an...@apache.org>
Committed: Thu Sep 28 21:52:11 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/2278346a/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/2278346a/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/2278346a/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/2278346a/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/2278346a/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/2278346a/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/2278346a/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/2278346a/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/2278346a/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/2278346a/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/2278346a/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/2278346a/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/2278346a/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/2278346a/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/2278346a/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/2278346a/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
[02/12] 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/2c4ecc32
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/tree/2c4ecc32
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/diff/2c4ecc32
Branch: refs/heads/master
Commit: 2c4ecc329757207f14e0bdaaa4af1bd5a8a99dfb
Parents: 2278346
Author: anatole <an...@apache.org>
Authored: Wed Aug 9 00:22:29 2017 +0200
Committer: Anatole Tresch <an...@apache.org>
Committed: Thu Sep 28 21:52:11 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/2c4ecc32/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/2c4ecc32/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index affc2d5..cd8eda3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -35,11 +35,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>
@@ -423,9 +422,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>
@@ -722,8 +721,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>
[07/12] incubator-tamaya git commit: Merged conflicts.
Posted by an...@apache.org.
Merged conflicts.
Project: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/commit/4872a508
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/tree/4872a508
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/diff/4872a508
Branch: refs/heads/master
Commit: 4872a5082806eedfefdc57c984e5f75d6999cff6
Parents: 3bcb169
Author: Anatole Tresch <an...@apache.org>
Authored: Thu Sep 28 22:01:18 2017 +0200
Committer: Anatole Tresch <an...@apache.org>
Committed: Thu Sep 28 22:01:18 2017 +0200
----------------------------------------------------------------------
code/api/bnd.bnd | 22 +++++++++-
code/api/pom.xml | 7 +++
.../java/org/apache/tamaya/package-info.java | 24 ++++++++++
.../org/apache/tamaya/spi/package-info.java | 24 ++++++++++
code/core/bnd.bnd | 40 +++++++++++++++--
code/core/pom.xml | 8 +++-
.../org/apache/tamaya/core/OSGIActivator.java | 4 +-
.../internal/DefaultConfigValueEvaluator.java | 2 +
.../core/internal/DefaultConfiguration.java | 2 +
.../DefaultConfigurationContextBuilder.java | 2 +
.../internal/DefaultConfigurationProvider.java | 2 +
.../core/internal/DefaultServiceContext.java | 1 +
.../core/internal/OSGIServiceContext.java | 13 ++++--
.../tamaya/core/internal/OSGIServiceLoader.java | 37 +++++++++-------
.../converters/BigDecimalConverter.java | 5 ++-
.../converters/BigIntegerConverter.java | 2 +
.../internal/converters/BooleanConverter.java | 2 +
.../core/internal/converters/ByteConverter.java | 2 +
.../core/internal/converters/CharConverter.java | 2 +
.../internal/converters/ClassConverter.java | 2 +
.../internal/converters/CurrencyConverter.java | 2 +
.../internal/converters/DoubleConverter.java | 2 +
.../internal/converters/DurationConverter.java | 2 +
.../core/internal/converters/EnumConverter.java | 2 +
.../core/internal/converters/FileConverter.java | 2 +
.../internal/converters/FloatConverter.java | 2 +
.../internal/converters/InstantConverter.java | 2 +
.../internal/converters/IntegerConverter.java | 2 +
.../internal/converters/LocalDateConverter.java | 2 +
.../converters/LocalDateTimeConverter.java | 2 +
.../internal/converters/LocalTimeConverter.java | 2 +
.../core/internal/converters/LongConverter.java | 2 +
.../internal/converters/NumberConverter.java | 2 +
.../converters/OffsetDateTimeConverter.java | 2 +
.../converters/OffsetTimeConverter.java | 2 +
.../internal/converters/OptionalConverter.java | 2 +
.../core/internal/converters/PathConverter.java | 2 +
.../internal/converters/ShortConverter.java | 2 +
.../core/internal/converters/URIConverter.java | 2 +
.../core/internal/converters/URLConverter.java | 2 +
.../core/internal/converters/package-info.java | 23 ++++++++++
.../tamaya/core/internal/package-info.java | 25 +++++++++++
.../org/apache/tamaya/core/package-info.java | 24 ++++++++++
.../core/propertysource/CLIPropertySource.java | 5 ++-
.../EnvironmentPropertySource.java | 2 +
.../JavaConfigurationPropertySource.java | 2 +
.../propertysource/SystemPropertySource.java | 3 ++
.../core/propertysource/package-info.java | 23 ++++++++++
pom.xml | 46 +++++++++++++++-----
49 files changed, 355 insertions(+), 41 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/4872a508/code/api/bnd.bnd
----------------------------------------------------------------------
diff --git a/code/api/bnd.bnd b/code/api/bnd.bnd
index 7ca7687..b606a72 100644
--- a/code/api/bnd.bnd
+++ b/code/api/bnd.bnd
@@ -1,4 +1,24 @@
+-buildpath: \
+ osgi.annotation; version=6.0.0,\
+ osgi.core; version=6.0,\
+ osgi.cmpn; version=6.0
+
+-testpath: \
+ ${junit}
+
+javac.source: 1.8
+javac.target: 1.8
+
+Bundle-Version: ${version}.${tstamp}
+Bundle-SymbolicName: org.apache.tamaya
+Bundle-Name: Apache Tamaya - API
+Bundle-Description: Apacha Tamaya Configuration Java API
+Bundle-Category: API
+Bundle-Copyright: (C) Apache Foundation
+Bundle-License: Apache Licence version 2
+Bundle-Vendor: Apache Software Foundation
+Bundle-ContactAddress: dev-tamaya@incubator.apache.org
+Bundle-DocURL: http://tamaya.apache.org
Export-Package: \
org.apache.tamaya,\
org.apache.tamaya.spi
-Bundle-SymbolicName: org.apache.tamaya
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/4872a508/code/api/pom.xml
----------------------------------------------------------------------
diff --git a/code/api/pom.xml b/code/api/pom.xml
index d37ba4a..cccaae2 100644
--- a/code/api/pom.xml
+++ b/code/api/pom.xml
@@ -33,6 +33,7 @@ under the License.
The API for accessing configuration data.
</description>
+
<url>http://tamaya.incubator.apache.org</url>
<dependencies>
@@ -49,6 +50,12 @@ under the License.
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.annotation</artifactId>
+ <scope>provided</scope>
+ <optional>true</optional>
+ </dependency>
</dependencies>
</project>
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/4872a508/code/api/src/main/java/org/apache/tamaya/package-info.java
----------------------------------------------------------------------
diff --git a/code/api/src/main/java/org/apache/tamaya/package-info.java b/code/api/src/main/java/org/apache/tamaya/package-info.java
new file mode 100644
index 0000000..60692a4
--- /dev/null
+++ b/code/api/src/main/java/org/apache/tamaya/package-info.java
@@ -0,0 +1,24 @@
+/*
+ * 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.
+ */
+
+/**
+ * This package contains the Apache Tamaya API.
+ */
+@org.osgi.annotation.versioning.Version("0.4")
+package org.apache.tamaya;
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/4872a508/code/api/src/main/java/org/apache/tamaya/spi/package-info.java
----------------------------------------------------------------------
diff --git a/code/api/src/main/java/org/apache/tamaya/spi/package-info.java b/code/api/src/main/java/org/apache/tamaya/spi/package-info.java
new file mode 100644
index 0000000..49dbab9
--- /dev/null
+++ b/code/api/src/main/java/org/apache/tamaya/spi/package-info.java
@@ -0,0 +1,24 @@
+/*
+ * 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.
+ */
+
+/**
+ * This package contains the Apache Tamaya SPI artifacts.
+ */
+@org.osgi.annotation.versioning.Version("0.4")
+package org.apache.tamaya.spi;
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/4872a508/code/core/bnd.bnd
----------------------------------------------------------------------
diff --git a/code/core/bnd.bnd b/code/core/bnd.bnd
index 7aa4182..5419c17 100644
--- a/code/core/bnd.bnd
+++ b/code/core/bnd.bnd
@@ -1,11 +1,43 @@
+-buildpath: \
+ osgi.annotation; version=6.0.0,\
+ osgi.core; version=6.0,\
+ osgi.cmpn; version=6.0
+
+-testpath: \
+ ${junit}
+
+javac.source: 1.8
+javac.target: 1.8
+
+Bundle-Version: ${version}.${tstamp}
+Bundle-Name: Apache Tamaya - Core
+Bundle-SymbolicName: org.apache.tamaya.core
+Bundle-Description: Apacha Tamaya Configuration Java Core Implementation
+Bundle-Category: Implementation
+Bundle-Copyright: (C) Apache Foundation
+Bundle-License: Apache Licence version 2
+Bundle-Vendor: Apache Software Foundation
+Bundle-ContactAddress: dev-tamaya@incubator.apache.org
+Bundle-DocURL: http://tamaya.apache.org
+Bundle-Activator: org.apache.tamaya.core.OSGIActivator
Export-Package: \
org.apache.tamaya.core,\
- org.apache.tamaya.core.internal,\
- org.apache.tamaya.core.propertysource
+ org.apache.tamaya.core.propertysource,\
+ org.apache.tamaya.core.provider
Import-Package: \
org.apache.tamaya,\
org.apache.tamaya.spi,\
org.osgi.framework,\
javax.annotation
-Bundle-Activator: org.apache.tamaya.core.OSGIActivator
-Bundle-SymbolicName: org.apache.tamaya.core
\ No newline at end of file
+Private-Package: \
+ org.apache.tamaya.core.internal,\
+ org.apache.tamaya.core.internal.converters
+Export-Service: \
+ org.apache.tamaya.Configuration,\
+ org.apache.tamaya.core.internal.ConfigValueEvaluator,\
+ org.apache.tamaya.spi.ConfigurationContextBuilder,\
+ org.apache.tamaya.spi.ConfigurationProviderSpi,\
+ org.apache.tamaya.spi.PropertyConverter,\
+ org.apache.tamaya.spi.PropertySource,\
+ org.apache.tamaya.spi.ServiceContext
+
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/4872a508/code/core/pom.xml
----------------------------------------------------------------------
diff --git a/code/core/pom.xml b/code/core/pom.xml
index a608882..0c57c6d 100644
--- a/code/core/pom.xml
+++ b/code/core/pom.xml
@@ -51,13 +51,17 @@ under the License.
<groupId>org.osgi</groupId>
<artifactId>org.osgi.compendium</artifactId>
<scope>provided</scope>
- <version>${osgi.compendium.version}</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.core</artifactId>
- <version>${osgi.version}</version>
+ <scope>provided</scope>
+ <optional>true</optional>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.annotation</artifactId>
<scope>provided</scope>
<optional>true</optional>
</dependency>
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/4872a508/code/core/src/main/java/org/apache/tamaya/core/OSGIActivator.java
----------------------------------------------------------------------
diff --git a/code/core/src/main/java/org/apache/tamaya/core/OSGIActivator.java b/code/core/src/main/java/org/apache/tamaya/core/OSGIActivator.java
index 8798531..46355f3 100644
--- a/code/core/src/main/java/org/apache/tamaya/core/OSGIActivator.java
+++ b/code/core/src/main/java/org/apache/tamaya/core/OSGIActivator.java
@@ -40,10 +40,10 @@ public class OSGIActivator implements BundleActivator {
@Override
public void start(BundleContext context) {
// Register marker service
- serviceLoader = new OSGIServiceLoader(context);
+ this.serviceLoader = new OSGIServiceLoader(context);
context.addBundleListener(serviceLoader);
ServiceContextManager.set(new OSGIServiceContext(serviceLoader));
- LOG.info("Registered OSGI enabled ServiceContext...");
+ LOG.info("Registered Tamaya OSGI ServiceContext...");
ConfigurationProvider.setConfiguration(
new DefaultConfiguration(
new DefaultConfigurationContextBuilder()
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/4872a508/code/core/src/main/java/org/apache/tamaya/core/internal/DefaultConfigValueEvaluator.java
----------------------------------------------------------------------
diff --git a/code/core/src/main/java/org/apache/tamaya/core/internal/DefaultConfigValueEvaluator.java b/code/core/src/main/java/org/apache/tamaya/core/internal/DefaultConfigValueEvaluator.java
index 332df89..4d8a7f3 100644
--- a/code/core/src/main/java/org/apache/tamaya/core/internal/DefaultConfigValueEvaluator.java
+++ b/code/core/src/main/java/org/apache/tamaya/core/internal/DefaultConfigValueEvaluator.java
@@ -22,6 +22,7 @@ import org.apache.tamaya.spi.ConfigurationContext;
import org.apache.tamaya.spi.PropertyFilter;
import org.apache.tamaya.spi.PropertySource;
import org.apache.tamaya.spi.PropertyValue;
+import org.osgi.service.component.annotations.Component;
import java.util.HashMap;
import java.util.Map;
@@ -32,6 +33,7 @@ import java.util.Map;
* chain of {@link PropertySource} and {@link PropertyFilter}
* instance to evaluate the current Configuration.
*/
+@Component(service = ConfigValueEvaluator.class)
public class DefaultConfigValueEvaluator implements ConfigValueEvaluator{
@Override
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/4872a508/code/core/src/main/java/org/apache/tamaya/core/internal/DefaultConfiguration.java
----------------------------------------------------------------------
diff --git a/code/core/src/main/java/org/apache/tamaya/core/internal/DefaultConfiguration.java b/code/core/src/main/java/org/apache/tamaya/core/internal/DefaultConfiguration.java
index c768a4c..2011133 100644
--- a/code/core/src/main/java/org/apache/tamaya/core/internal/DefaultConfiguration.java
+++ b/code/core/src/main/java/org/apache/tamaya/core/internal/DefaultConfiguration.java
@@ -24,6 +24,7 @@ import org.apache.tamaya.ConfigQuery;
import org.apache.tamaya.Configuration;
import org.apache.tamaya.TypeLiteral;
import org.apache.tamaya.spi.*;
+import org.osgi.service.component.annotations.Component;
import java.util.HashMap;
import java.util.List;
@@ -37,6 +38,7 @@ import java.util.logging.Logger;
* chain of {@link PropertySource} and {@link PropertyFilter}
* instance to evaluate the current Configuration.
*/
+@Component(service = Configuration.class)
public class DefaultConfiguration implements Configuration {
/**
* The logger.
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/4872a508/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 f63e5bb..35590f9 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
@@ -33,6 +33,7 @@ import org.apache.tamaya.spi.PropertySource;
import org.apache.tamaya.spi.PropertySourceProvider;
import org.apache.tamaya.spi.PropertyValueCombinationPolicy;
import org.apache.tamaya.spi.ServiceContextManager;
+import org.osgi.service.component.annotations.Component;
import java.io.File;
import java.lang.reflect.Type;
@@ -47,6 +48,7 @@ import java.util.logging.Logger;
/**
* Default implementation of {@link org.apache.tamaya.spi.ConfigurationContextBuilder}.
*/
+@Component(service = ConfigurationContextBuilder.class)
public class DefaultConfigurationContextBuilder implements ConfigurationContextBuilder {
private static final Logger LOG = Logger.getLogger(DefaultConfigurationContextBuilder.class.getName());
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/4872a508/code/core/src/main/java/org/apache/tamaya/core/internal/DefaultConfigurationProvider.java
----------------------------------------------------------------------
diff --git a/code/core/src/main/java/org/apache/tamaya/core/internal/DefaultConfigurationProvider.java b/code/core/src/main/java/org/apache/tamaya/core/internal/DefaultConfigurationProvider.java
index 4b02472..a7f0a6f 100644
--- a/code/core/src/main/java/org/apache/tamaya/core/internal/DefaultConfigurationProvider.java
+++ b/code/core/src/main/java/org/apache/tamaya/core/internal/DefaultConfigurationProvider.java
@@ -22,6 +22,7 @@ import org.apache.tamaya.Configuration;
import org.apache.tamaya.spi.ConfigurationContext;
import org.apache.tamaya.spi.ConfigurationContextBuilder;
import org.apache.tamaya.spi.ConfigurationProviderSpi;
+import org.osgi.service.component.annotations.Component;
import java.util.Objects;
@@ -30,6 +31,7 @@ import java.util.Objects;
* chain of {@link org.apache.tamaya.spi.PropertySource} and {@link org.apache.tamaya.spi.PropertyFilter}
* instance to evaluate the current Configuration.
*/
+@Component(service = ConfigurationProviderSpi.class)
public class DefaultConfigurationProvider implements ConfigurationProviderSpi {
ConfigurationContext context = new DefaultConfigurationContextBuilder()
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/4872a508/code/core/src/main/java/org/apache/tamaya/core/internal/DefaultServiceContext.java
----------------------------------------------------------------------
diff --git a/code/core/src/main/java/org/apache/tamaya/core/internal/DefaultServiceContext.java b/code/core/src/main/java/org/apache/tamaya/core/internal/DefaultServiceContext.java
index c29aae1..b4a059c 100644
--- a/code/core/src/main/java/org/apache/tamaya/core/internal/DefaultServiceContext.java
+++ b/code/core/src/main/java/org/apache/tamaya/core/internal/DefaultServiceContext.java
@@ -20,6 +20,7 @@ package org.apache.tamaya.core.internal;
import org.apache.tamaya.ConfigException;
import org.apache.tamaya.spi.ServiceContext;
+import org.osgi.service.component.annotations.Component;
import javax.annotation.Priority;
import java.io.IOException;
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/4872a508/code/core/src/main/java/org/apache/tamaya/core/internal/OSGIServiceContext.java
----------------------------------------------------------------------
diff --git a/code/core/src/main/java/org/apache/tamaya/core/internal/OSGIServiceContext.java b/code/core/src/main/java/org/apache/tamaya/core/internal/OSGIServiceContext.java
index 3763937..d17650b 100644
--- a/code/core/src/main/java/org/apache/tamaya/core/internal/OSGIServiceContext.java
+++ b/code/core/src/main/java/org/apache/tamaya/core/internal/OSGIServiceContext.java
@@ -89,21 +89,28 @@ public class OSGIServiceContext implements ServiceContext{
public <T> List<T> getServices(Class<T> serviceType) {
LOG.finest("TAMAYA Loading services: " + serviceType.getName());
List<ServiceReference<T>> refs = new ArrayList<>();
+ List<T> services = new ArrayList<>(refs.size());
try {
refs.addAll(this.osgiServiceLoader.getBundleContext().getServiceReferences(serviceType, null));
Collections.sort(refs, REF_COMPARATOR);
- List<T> services = new ArrayList<>(refs.size());
for(ServiceReference<T> ref:refs){
T service = osgiServiceLoader.getBundleContext().getService(ref);
if(service!=null) {
services.add(service);
}
}
- return services;
} catch (InvalidSyntaxException e) {
e.printStackTrace();
- return Collections.emptyList();
}
+ try{
+ for(T service:ServiceLoader.load(serviceType)){
+ services.add(service);
+ }
+ return services;
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return services;
}
@Override
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/4872a508/code/core/src/main/java/org/apache/tamaya/core/internal/OSGIServiceLoader.java
----------------------------------------------------------------------
diff --git a/code/core/src/main/java/org/apache/tamaya/core/internal/OSGIServiceLoader.java b/code/core/src/main/java/org/apache/tamaya/core/internal/OSGIServiceLoader.java
index 96f9562..4c12df9 100644
--- a/code/core/src/main/java/org/apache/tamaya/core/internal/OSGIServiceLoader.java
+++ b/code/core/src/main/java/org/apache/tamaya/core/internal/OSGIServiceLoader.java
@@ -38,7 +38,7 @@ import org.osgi.util.tracker.ServiceTracker;
public class OSGIServiceLoader implements BundleListener {
// Provide logging
private static final Logger log = Logger.getLogger(OSGIServiceLoader.class.getName());
- private static final String OSGIRESOURCE_MARKER = "META-INF/OSGIResource";
+ private static final String META_INF_SERVICES = "META-INF/services/";
private BundleContext context;
@@ -65,14 +65,13 @@ public class OSGIServiceLoader implements BundleListener {
// Parse and create metadata on STARTING
if (bundleEvent.getType() == BundleEvent.STARTING) {
Bundle bundle = bundleEvent.getBundle();
- if (bundle.getEntry(OSGIRESOURCE_MARKER) != null) {
- synchronized (resourceBundles){
- resourceBundles.add(bundle);
- }
- }
- if (bundle.getEntry("META-INF/services/") == null) {
+ if (bundle.getEntry(META_INF_SERVICES) == null) {
return;
}
+ synchronized (resourceBundles){
+ resourceBundles.add(bundle);
+ log.info("Registered ServiceLoader bundle: " + bundle.getSymbolicName());
+ }
Enumeration<String> entryPaths = bundle.getEntryPaths("META-INF/services/");
while (entryPaths.hasMoreElements()) {
String entryPath = entryPaths.nextElement();
@@ -82,14 +81,13 @@ public class OSGIServiceLoader implements BundleListener {
}
} else if (bundleEvent.getType() == BundleEvent.STOPPING) {
Bundle bundle = bundleEvent.getBundle();
- if (bundle.getEntry(OSGIRESOURCE_MARKER) != null) {
- synchronized (resourceBundles){
- resourceBundles.remove(bundle);
- }
- }
- if (bundle.getEntry("META-INF/services/") == null) {
+ if (bundle.getEntry(META_INF_SERVICES) == null) {
return;
}
+ synchronized (resourceBundles) {
+ resourceBundles.remove(bundle);
+ log.finest("Unregistered ServiceLoader bundle: " + bundle.getSymbolicName());
+ }
Enumeration<String> entryPaths = bundle.getEntryPaths("META-INF/services/");
while (entryPaths.hasMoreElements()) {
String entryPath = entryPaths.nextElement();
@@ -102,9 +100,13 @@ public class OSGIServiceLoader implements BundleListener {
private void processEntryPath(Bundle bundle, String entryPath) {
try {
- String serviceName = entryPath.substring("META-INF/services/".length());
+ String serviceName = entryPath.substring(META_INF_SERVICES.length());
+ if(!serviceName.startsWith("org.apache.tamaya")){
+ // Ignore non Tamaya entries...
+ return;
+ }
Class<?> serviceClass = bundle.loadClass(serviceName);
-
+ log.info("Loaded Tamaya service class: " + serviceClass.getName() +"("+serviceName+")");
URL child = bundle.getEntry(entryPath);
InputStream inStream = child.openStream();
@@ -140,6 +142,7 @@ public class OSGIServiceLoader implements BundleListener {
// Register the service factory on behalf of the intercepted bundle
JDKUtilServiceFactory factory = new JDKUtilServiceFactory(implClass);
BundleContext bundleContext = bundle.getBundleContext();
+ log.info("Registering Tamaya service class: " + serviceClass.getName() +"("+serviceName+")");
bundleContext.registerService(serviceName, factory, props);
}
catch(Exception e){
@@ -162,6 +165,10 @@ public class OSGIServiceLoader implements BundleListener {
private void removeEntryPath(Bundle bundle, String entryPath) {
try {
String serviceName = entryPath.substring("META-INF/services/".length());
+ if(!serviceName.startsWith("org.apache.tamaya")){
+ // Ignore non Tamaya entries...
+ return;
+ }
Class<?> serviceClass = bundle.loadClass(serviceName);
URL child = bundle.getEntry(entryPath);
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/4872a508/code/core/src/main/java/org/apache/tamaya/core/internal/converters/BigDecimalConverter.java
----------------------------------------------------------------------
diff --git a/code/core/src/main/java/org/apache/tamaya/core/internal/converters/BigDecimalConverter.java b/code/core/src/main/java/org/apache/tamaya/core/internal/converters/BigDecimalConverter.java
index a0d9c5f..7e71b7e 100644
--- a/code/core/src/main/java/org/apache/tamaya/core/internal/converters/BigDecimalConverter.java
+++ b/code/core/src/main/java/org/apache/tamaya/core/internal/converters/BigDecimalConverter.java
@@ -20,6 +20,7 @@ package org.apache.tamaya.core.internal.converters;
import org.apache.tamaya.spi.ConversionContext;
import org.apache.tamaya.spi.PropertyConverter;
+import org.osgi.service.component.annotations.Component;
import java.math.BigDecimal;
import java.math.BigInteger;
@@ -37,7 +38,9 @@ import java.util.logging.Logger;
* <li>0XFFFFAC (integral numbers only)</li>
* </ul>
*/
-public class BigDecimalConverter implements PropertyConverter<BigDecimal> {
+@Component(service = PropertyConverter.class)
+public class BigDecimalConverter implements PropertyConverter<BigDecimal>{
+
/** The logger. */
private static final Logger LOG = Logger.getLogger(BigDecimalConverter.class.getName());
/** Converter to be used if the format is not directly supported by BigDecimal, e.g. for integral hex values. */
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/4872a508/code/core/src/main/java/org/apache/tamaya/core/internal/converters/BigIntegerConverter.java
----------------------------------------------------------------------
diff --git a/code/core/src/main/java/org/apache/tamaya/core/internal/converters/BigIntegerConverter.java b/code/core/src/main/java/org/apache/tamaya/core/internal/converters/BigIntegerConverter.java
index 19052f7..edca14a 100644
--- a/code/core/src/main/java/org/apache/tamaya/core/internal/converters/BigIntegerConverter.java
+++ b/code/core/src/main/java/org/apache/tamaya/core/internal/converters/BigIntegerConverter.java
@@ -20,6 +20,7 @@ package org.apache.tamaya.core.internal.converters;
import org.apache.tamaya.spi.ConversionContext;
import org.apache.tamaya.spi.PropertyConverter;
+import org.osgi.service.component.annotations.Component;
import java.math.BigInteger;
import java.util.Objects;
@@ -37,6 +38,7 @@ import java.util.logging.Logger;
* <li>-23257352735276352753</li>
* </ul>
*/
+@Component(service = PropertyConverter.class)
public class BigIntegerConverter implements PropertyConverter<BigInteger>{
/** The logger. */
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/4872a508/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 0d14fc1..7e61140 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
@@ -20,6 +20,7 @@ package org.apache.tamaya.core.internal.converters;
import org.apache.tamaya.spi.ConversionContext;
import org.apache.tamaya.spi.PropertyConverter;
+import org.osgi.service.component.annotations.Component;
import java.util.Locale;
import java.util.Objects;
@@ -28,6 +29,7 @@ import java.util.logging.Logger;
/**
* Converter, converting from String to Boolean.
*/
+@Component(service = PropertyConverter.class)
public class BooleanConverter implements PropertyConverter<Boolean> {
private final Logger LOG = Logger.getLogger(getClass().getName());
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/4872a508/code/core/src/main/java/org/apache/tamaya/core/internal/converters/ByteConverter.java
----------------------------------------------------------------------
diff --git a/code/core/src/main/java/org/apache/tamaya/core/internal/converters/ByteConverter.java b/code/core/src/main/java/org/apache/tamaya/core/internal/converters/ByteConverter.java
index 1382fdb..9b213cf 100644
--- a/code/core/src/main/java/org/apache/tamaya/core/internal/converters/ByteConverter.java
+++ b/code/core/src/main/java/org/apache/tamaya/core/internal/converters/ByteConverter.java
@@ -20,6 +20,7 @@ package org.apache.tamaya.core.internal.converters;
import org.apache.tamaya.spi.ConversionContext;
import org.apache.tamaya.spi.PropertyConverter;
+import org.osgi.service.component.annotations.Component;
import java.util.Locale;
import java.util.Objects;
@@ -43,6 +44,7 @@ import java.util.logging.Logger;
* <li>MAX (ignoring case)</li>
* </ul>
*/
+@Component(service = PropertyConverter.class)
public class ByteConverter implements PropertyConverter<Byte>{
private final Logger LOG = Logger.getLogger(getClass().getName());
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/4872a508/code/core/src/main/java/org/apache/tamaya/core/internal/converters/CharConverter.java
----------------------------------------------------------------------
diff --git a/code/core/src/main/java/org/apache/tamaya/core/internal/converters/CharConverter.java b/code/core/src/main/java/org/apache/tamaya/core/internal/converters/CharConverter.java
index fe332af..3895969 100644
--- a/code/core/src/main/java/org/apache/tamaya/core/internal/converters/CharConverter.java
+++ b/code/core/src/main/java/org/apache/tamaya/core/internal/converters/CharConverter.java
@@ -20,6 +20,7 @@ package org.apache.tamaya.core.internal.converters;
import org.apache.tamaya.spi.ConversionContext;
import org.apache.tamaya.spi.PropertyConverter;
+import org.osgi.service.component.annotations.Component;
import java.util.Objects;
import java.util.logging.Logger;
@@ -34,6 +35,7 @@ import java.util.logging.Logger;
* <li>0D1 (byte value)</li>
* </ul>
*/
+@Component(service = PropertyConverter.class)
public class CharConverter implements PropertyConverter<Character>{
private static final Logger LOG = Logger.getLogger(CharConverter.class.getName());
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/4872a508/code/core/src/main/java/org/apache/tamaya/core/internal/converters/ClassConverter.java
----------------------------------------------------------------------
diff --git a/code/core/src/main/java/org/apache/tamaya/core/internal/converters/ClassConverter.java b/code/core/src/main/java/org/apache/tamaya/core/internal/converters/ClassConverter.java
index 15311b2..b29bc15 100644
--- a/code/core/src/main/java/org/apache/tamaya/core/internal/converters/ClassConverter.java
+++ b/code/core/src/main/java/org/apache/tamaya/core/internal/converters/ClassConverter.java
@@ -20,6 +20,7 @@ package org.apache.tamaya.core.internal.converters;
import org.apache.tamaya.spi.ConversionContext;
import org.apache.tamaya.spi.PropertyConverter;
+import org.osgi.service.component.annotations.Component;
import java.util.Objects;
import java.util.logging.Logger;
@@ -32,6 +33,7 @@ import java.util.logging.Logger;
* <li>The system Classloader</li>
* </ul>
*/
+@Component(service = PropertyConverter.class)
public class ClassConverter implements PropertyConverter<Class<?>>{
private final Logger LOG = Logger.getLogger(getClass().getName());
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/4872a508/code/core/src/main/java/org/apache/tamaya/core/internal/converters/CurrencyConverter.java
----------------------------------------------------------------------
diff --git a/code/core/src/main/java/org/apache/tamaya/core/internal/converters/CurrencyConverter.java b/code/core/src/main/java/org/apache/tamaya/core/internal/converters/CurrencyConverter.java
index bdbc7a1..b769d06 100644
--- a/code/core/src/main/java/org/apache/tamaya/core/internal/converters/CurrencyConverter.java
+++ b/code/core/src/main/java/org/apache/tamaya/core/internal/converters/CurrencyConverter.java
@@ -20,6 +20,7 @@ package org.apache.tamaya.core.internal.converters;
import org.apache.tamaya.spi.ConversionContext;
import org.apache.tamaya.spi.PropertyConverter;
+import org.osgi.service.component.annotations.Component;
import java.util.Currency;
import java.util.Locale;
@@ -37,6 +38,7 @@ import java.util.logging.Logger;
* <li>de_DE, de_DE_123 (Locale)</li>
* </ul>
*/
+@Component(service = PropertyConverter.class)
public class CurrencyConverter implements PropertyConverter<Currency> {
private static final Logger LOG = Logger.getLogger(CurrencyConverter.class.getName());
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/4872a508/code/core/src/main/java/org/apache/tamaya/core/internal/converters/DoubleConverter.java
----------------------------------------------------------------------
diff --git a/code/core/src/main/java/org/apache/tamaya/core/internal/converters/DoubleConverter.java b/code/core/src/main/java/org/apache/tamaya/core/internal/converters/DoubleConverter.java
index 2311d9b..e527756 100644
--- a/code/core/src/main/java/org/apache/tamaya/core/internal/converters/DoubleConverter.java
+++ b/code/core/src/main/java/org/apache/tamaya/core/internal/converters/DoubleConverter.java
@@ -20,6 +20,7 @@ package org.apache.tamaya.core.internal.converters;
import org.apache.tamaya.spi.ConversionContext;
import org.apache.tamaya.spi.PropertyConverter;
+import org.osgi.service.component.annotations.Component;
import java.util.Locale;
import java.util.Objects;
@@ -35,6 +36,7 @@ import java.util.logging.Logger;
* <li>NEGATIVE_INFINITY (ignoring case)</li>
* </ul>
*/
+@Component(service = PropertyConverter.class)
public class DoubleConverter implements PropertyConverter<Double> {
/**
* The logger.
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/4872a508/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
index 65086d8..55b81ad 100644
--- 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
@@ -20,6 +20,7 @@ package org.apache.tamaya.core.internal.converters;
import org.apache.tamaya.spi.ConversionContext;
import org.apache.tamaya.spi.PropertyConverter;
+import org.osgi.service.component.annotations.Component;
import java.time.Duration;
import java.time.temporal.ChronoUnit;
@@ -28,6 +29,7 @@ import java.util.logging.Logger;
/**
* Converter, converting from String to Boolean.
*/
+@Component(service = PropertyConverter.class)
public class DurationConverter implements PropertyConverter<Duration> {
private final Logger LOG = Logger.getLogger(getClass().getName());
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/4872a508/code/core/src/main/java/org/apache/tamaya/core/internal/converters/EnumConverter.java
----------------------------------------------------------------------
diff --git a/code/core/src/main/java/org/apache/tamaya/core/internal/converters/EnumConverter.java b/code/core/src/main/java/org/apache/tamaya/core/internal/converters/EnumConverter.java
index d19c2f5..f66e638 100644
--- a/code/core/src/main/java/org/apache/tamaya/core/internal/converters/EnumConverter.java
+++ b/code/core/src/main/java/org/apache/tamaya/core/internal/converters/EnumConverter.java
@@ -21,6 +21,7 @@ package org.apache.tamaya.core.internal.converters;
import org.apache.tamaya.ConfigException;
import org.apache.tamaya.spi.ConversionContext;
import org.apache.tamaya.spi.PropertyConverter;
+import org.osgi.service.component.annotations.Component;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
@@ -32,6 +33,7 @@ import java.util.logging.Logger;
/**
* Converter, converting from String to tge given enum type.
*/
+@Component(service = PropertyConverter.class)
public class EnumConverter<T> implements PropertyConverter<T> {
private final Logger LOG = Logger.getLogger(EnumConverter.class.getName());
private Class<T> enumType;
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/4872a508/code/core/src/main/java/org/apache/tamaya/core/internal/converters/FileConverter.java
----------------------------------------------------------------------
diff --git a/code/core/src/main/java/org/apache/tamaya/core/internal/converters/FileConverter.java b/code/core/src/main/java/org/apache/tamaya/core/internal/converters/FileConverter.java
index 4e9ecea..0901c9f 100644
--- a/code/core/src/main/java/org/apache/tamaya/core/internal/converters/FileConverter.java
+++ b/code/core/src/main/java/org/apache/tamaya/core/internal/converters/FileConverter.java
@@ -20,6 +20,7 @@ package org.apache.tamaya.core.internal.converters;
import org.apache.tamaya.spi.ConversionContext;
import org.apache.tamaya.spi.PropertyConverter;
+import org.osgi.service.component.annotations.Component;
import java.io.File;
import java.net.URL;
@@ -30,6 +31,7 @@ import java.util.logging.Logger;
/**
* Converter, converting from String to URI, using new URL(value).
*/
+@Component(service = PropertyConverter.class)
public class FileConverter implements PropertyConverter<File> {
private final Logger LOG = Logger.getLogger(getClass().getName());
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/4872a508/code/core/src/main/java/org/apache/tamaya/core/internal/converters/FloatConverter.java
----------------------------------------------------------------------
diff --git a/code/core/src/main/java/org/apache/tamaya/core/internal/converters/FloatConverter.java b/code/core/src/main/java/org/apache/tamaya/core/internal/converters/FloatConverter.java
index 7a27f98..84daa10 100644
--- a/code/core/src/main/java/org/apache/tamaya/core/internal/converters/FloatConverter.java
+++ b/code/core/src/main/java/org/apache/tamaya/core/internal/converters/FloatConverter.java
@@ -20,6 +20,7 @@ package org.apache.tamaya.core.internal.converters;
import org.apache.tamaya.spi.ConversionContext;
import org.apache.tamaya.spi.PropertyConverter;
+import org.osgi.service.component.annotations.Component;
import java.util.Locale;
import java.util.Objects;
@@ -35,6 +36,7 @@ import java.util.logging.Logger;
* <li>NEGATIVE_INFINITY (ignoring case)</li>
* </ul>
*/
+@Component(service = PropertyConverter.class)
public class FloatConverter implements PropertyConverter<Float> {
/**
* The logger.
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/4872a508/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
index c0f2bf0..47489c5 100644
--- 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
@@ -20,6 +20,7 @@ package org.apache.tamaya.core.internal.converters;
import org.apache.tamaya.spi.ConversionContext;
import org.apache.tamaya.spi.PropertyConverter;
+import org.osgi.service.component.annotations.Component;
import java.time.Instant;
import java.util.logging.Logger;
@@ -27,6 +28,7 @@ import java.util.logging.Logger;
/**
* Converter, converting from String to Boolean.
*/
+@Component(service = PropertyConverter.class)
public class InstantConverter implements PropertyConverter<Instant> {
private final Logger LOG = Logger.getLogger(getClass().getName());
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/4872a508/code/core/src/main/java/org/apache/tamaya/core/internal/converters/IntegerConverter.java
----------------------------------------------------------------------
diff --git a/code/core/src/main/java/org/apache/tamaya/core/internal/converters/IntegerConverter.java b/code/core/src/main/java/org/apache/tamaya/core/internal/converters/IntegerConverter.java
index 27ce70f..d09df9b 100644
--- a/code/core/src/main/java/org/apache/tamaya/core/internal/converters/IntegerConverter.java
+++ b/code/core/src/main/java/org/apache/tamaya/core/internal/converters/IntegerConverter.java
@@ -20,6 +20,7 @@ package org.apache.tamaya.core.internal.converters;
import org.apache.tamaya.spi.ConversionContext;
import org.apache.tamaya.spi.PropertyConverter;
+import org.osgi.service.component.annotations.Component;
import java.util.Locale;
import java.util.Objects;
@@ -42,6 +43,7 @@ import java.util.logging.Logger;
* <li>MAX (ignoring case)</li>
* </ul>
*/
+@Component(service = PropertyConverter.class)
public class IntegerConverter implements PropertyConverter<Integer>{
/**
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/4872a508/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
index 2ae8bef..06bd9b2 100644
--- 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
@@ -20,6 +20,7 @@ package org.apache.tamaya.core.internal.converters;
import org.apache.tamaya.spi.ConversionContext;
import org.apache.tamaya.spi.PropertyConverter;
+import org.osgi.service.component.annotations.Component;
import java.time.LocalDate;
import java.util.logging.Logger;
@@ -27,6 +28,7 @@ import java.util.logging.Logger;
/**
* Converter, converting from String to Boolean.
*/
+@Component(service = PropertyConverter.class)
public class LocalDateConverter implements PropertyConverter<LocalDate> {
private final Logger LOG = Logger.getLogger(getClass().getName());
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/4872a508/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
index cdf6042..589ee78 100644
--- 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
@@ -20,6 +20,7 @@ package org.apache.tamaya.core.internal.converters;
import org.apache.tamaya.spi.ConversionContext;
import org.apache.tamaya.spi.PropertyConverter;
+import org.osgi.service.component.annotations.Component;
import java.time.LocalDateTime;
import java.util.logging.Logger;
@@ -27,6 +28,7 @@ import java.util.logging.Logger;
/**
* Converter, converting from String to Boolean.
*/
+@Component(service = PropertyConverter.class)
public class LocalDateTimeConverter implements PropertyConverter<LocalDateTime> {
private final Logger LOG = Logger.getLogger(getClass().getName());
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/4872a508/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
index e6e62a5..a8c7ac6 100644
--- 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
@@ -20,6 +20,7 @@ package org.apache.tamaya.core.internal.converters;
import org.apache.tamaya.spi.ConversionContext;
import org.apache.tamaya.spi.PropertyConverter;
+import org.osgi.service.component.annotations.Component;
import java.time.LocalTime;
import java.util.logging.Logger;
@@ -27,6 +28,7 @@ import java.util.logging.Logger;
/**
* Converter, converting from String to Boolean.
*/
+@Component(service = PropertyConverter.class)
public class LocalTimeConverter implements PropertyConverter<LocalTime> {
private final Logger LOG = Logger.getLogger(getClass().getName());
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/4872a508/code/core/src/main/java/org/apache/tamaya/core/internal/converters/LongConverter.java
----------------------------------------------------------------------
diff --git a/code/core/src/main/java/org/apache/tamaya/core/internal/converters/LongConverter.java b/code/core/src/main/java/org/apache/tamaya/core/internal/converters/LongConverter.java
index fee2efd..121c490 100644
--- a/code/core/src/main/java/org/apache/tamaya/core/internal/converters/LongConverter.java
+++ b/code/core/src/main/java/org/apache/tamaya/core/internal/converters/LongConverter.java
@@ -20,6 +20,7 @@ package org.apache.tamaya.core.internal.converters;
import org.apache.tamaya.spi.ConversionContext;
import org.apache.tamaya.spi.PropertyConverter;
+import org.osgi.service.component.annotations.Component;
import java.util.Locale;
import java.util.Objects;
@@ -42,6 +43,7 @@ import java.util.logging.Logger;
* <li>MAX (ignoring case)</li>
* </ul>
*/
+@Component(service = PropertyConverter.class)
public class LongConverter implements PropertyConverter<Long>{
private static final Logger LOGGER = Logger.getLogger(LongConverter.class.getName());
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/4872a508/code/core/src/main/java/org/apache/tamaya/core/internal/converters/NumberConverter.java
----------------------------------------------------------------------
diff --git a/code/core/src/main/java/org/apache/tamaya/core/internal/converters/NumberConverter.java b/code/core/src/main/java/org/apache/tamaya/core/internal/converters/NumberConverter.java
index 06f1e18..a7b2c43 100644
--- a/code/core/src/main/java/org/apache/tamaya/core/internal/converters/NumberConverter.java
+++ b/code/core/src/main/java/org/apache/tamaya/core/internal/converters/NumberConverter.java
@@ -20,6 +20,7 @@ package org.apache.tamaya.core.internal.converters;
import org.apache.tamaya.spi.ConversionContext;
import org.apache.tamaya.spi.PropertyConverter;
+import org.osgi.service.component.annotations.Component;
import java.math.BigDecimal;
import java.util.Locale;
@@ -36,6 +37,7 @@ import java.util.logging.Logger;
* 1234566789.23642327352735273752 -> new BigDecimal(input)
* </pre>
*/
+@Component(service = PropertyConverter.class)
public class NumberConverter implements PropertyConverter<Number>{
/** the logger. */
private static final Logger LOGGER = Logger.getLogger(NumberConverter.class.getName());
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/4872a508/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
index 4bcf1ef..980113e 100644
--- 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
@@ -20,6 +20,7 @@ package org.apache.tamaya.core.internal.converters;
import org.apache.tamaya.spi.ConversionContext;
import org.apache.tamaya.spi.PropertyConverter;
+import org.osgi.service.component.annotations.Component;
import java.time.LocalDate;
import java.time.OffsetDateTime;
@@ -28,6 +29,7 @@ import java.util.logging.Logger;
/**
* Converter, converting from String to Boolean.
*/
+@Component(service = PropertyConverter.class)
public class OffsetDateTimeConverter implements PropertyConverter<OffsetDateTime> {
private final Logger LOG = Logger.getLogger(getClass().getName());
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/4872a508/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
index eaaafc6..583ffe0 100644
--- 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
@@ -20,6 +20,7 @@ package org.apache.tamaya.core.internal.converters;
import org.apache.tamaya.spi.ConversionContext;
import org.apache.tamaya.spi.PropertyConverter;
+import org.osgi.service.component.annotations.Component;
import java.time.OffsetDateTime;
import java.time.OffsetTime;
@@ -28,6 +29,7 @@ import java.util.logging.Logger;
/**
* Converter, converting from String to Boolean.
*/
+@Component(service = PropertyConverter.class)
public class OffsetTimeConverter implements PropertyConverter<OffsetTime> {
private final Logger LOG = Logger.getLogger(getClass().getName());
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/4872a508/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
index e05e645..2213bcc 100644
--- 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
@@ -22,6 +22,7 @@ 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 org.osgi.service.component.annotations.Component;
import java.lang.reflect.Type;
import java.util.Locale;
@@ -32,6 +33,7 @@ import java.util.logging.Logger;
/**
* Converter, converting from String to Boolean.
*/
+@Component(service = PropertyConverter.class)
public class OptionalConverter implements PropertyConverter<Optional> {
private final Logger LOG = Logger.getLogger(getClass().getName());
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/4872a508/code/core/src/main/java/org/apache/tamaya/core/internal/converters/PathConverter.java
----------------------------------------------------------------------
diff --git a/code/core/src/main/java/org/apache/tamaya/core/internal/converters/PathConverter.java b/code/core/src/main/java/org/apache/tamaya/core/internal/converters/PathConverter.java
index 9d334c8..e59c0b9 100644
--- a/code/core/src/main/java/org/apache/tamaya/core/internal/converters/PathConverter.java
+++ b/code/core/src/main/java/org/apache/tamaya/core/internal/converters/PathConverter.java
@@ -20,6 +20,7 @@ package org.apache.tamaya.core.internal.converters;
import org.apache.tamaya.spi.ConversionContext;
import org.apache.tamaya.spi.PropertyConverter;
+import org.osgi.service.component.annotations.Component;
import java.io.File;
import java.nio.file.FileSystem;
@@ -33,6 +34,7 @@ import java.util.logging.Logger;
/**
* Converter, converting from String to URI, using new URL(value).
*/
+@Component(service = PropertyConverter.class)
public class PathConverter implements PropertyConverter<Path> {
private final Logger LOG = Logger.getLogger(getClass().getName());
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/4872a508/code/core/src/main/java/org/apache/tamaya/core/internal/converters/ShortConverter.java
----------------------------------------------------------------------
diff --git a/code/core/src/main/java/org/apache/tamaya/core/internal/converters/ShortConverter.java b/code/core/src/main/java/org/apache/tamaya/core/internal/converters/ShortConverter.java
index e42bc26..7b561f3 100644
--- a/code/core/src/main/java/org/apache/tamaya/core/internal/converters/ShortConverter.java
+++ b/code/core/src/main/java/org/apache/tamaya/core/internal/converters/ShortConverter.java
@@ -20,6 +20,7 @@ package org.apache.tamaya.core.internal.converters;
import org.apache.tamaya.spi.ConversionContext;
import org.apache.tamaya.spi.PropertyConverter;
+import org.osgi.service.component.annotations.Component;
import java.util.Locale;
import java.util.Objects;
@@ -42,6 +43,7 @@ import java.util.logging.Logger;
* <li>MAX (ignoring case)</li>
* </ul>
*/
+@Component(service = PropertyConverter.class)
public class ShortConverter implements PropertyConverter<Short>{
/** the logger. */
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/4872a508/code/core/src/main/java/org/apache/tamaya/core/internal/converters/URIConverter.java
----------------------------------------------------------------------
diff --git a/code/core/src/main/java/org/apache/tamaya/core/internal/converters/URIConverter.java b/code/core/src/main/java/org/apache/tamaya/core/internal/converters/URIConverter.java
index 9304f27..793631e 100644
--- a/code/core/src/main/java/org/apache/tamaya/core/internal/converters/URIConverter.java
+++ b/code/core/src/main/java/org/apache/tamaya/core/internal/converters/URIConverter.java
@@ -20,6 +20,7 @@ package org.apache.tamaya.core.internal.converters;
import org.apache.tamaya.spi.ConversionContext;
import org.apache.tamaya.spi.PropertyConverter;
+import org.osgi.service.component.annotations.Component;
import java.net.URI;
import java.util.Objects;
@@ -29,6 +30,7 @@ import java.util.logging.Logger;
/**
* Converter, converting from String to URI, using new URI(value).
*/
+@Component(service = PropertyConverter.class)
public class URIConverter implements PropertyConverter<URI> {
private final Logger LOG = Logger.getLogger(getClass().getName());
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/4872a508/code/core/src/main/java/org/apache/tamaya/core/internal/converters/URLConverter.java
----------------------------------------------------------------------
diff --git a/code/core/src/main/java/org/apache/tamaya/core/internal/converters/URLConverter.java b/code/core/src/main/java/org/apache/tamaya/core/internal/converters/URLConverter.java
index bca7637..e1994bf 100644
--- a/code/core/src/main/java/org/apache/tamaya/core/internal/converters/URLConverter.java
+++ b/code/core/src/main/java/org/apache/tamaya/core/internal/converters/URLConverter.java
@@ -20,6 +20,7 @@ package org.apache.tamaya.core.internal.converters;
import org.apache.tamaya.spi.ConversionContext;
import org.apache.tamaya.spi.PropertyConverter;
+import org.osgi.service.component.annotations.Component;
import java.net.URL;
import java.util.Objects;
@@ -29,6 +30,7 @@ import java.util.logging.Logger;
/**
* Converter, converting from String to URI, using new URL(value).
*/
+@Component(service = PropertyConverter.class)
public class URLConverter implements PropertyConverter<URL> {
private final Logger LOG = Logger.getLogger(getClass().getName());
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/4872a508/code/core/src/main/java/org/apache/tamaya/core/internal/converters/package-info.java
----------------------------------------------------------------------
diff --git a/code/core/src/main/java/org/apache/tamaya/core/internal/converters/package-info.java b/code/core/src/main/java/org/apache/tamaya/core/internal/converters/package-info.java
new file mode 100644
index 0000000..13f66c1
--- /dev/null
+++ b/code/core/src/main/java/org/apache/tamaya/core/internal/converters/package-info.java
@@ -0,0 +1,23 @@
+/*
+ * 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.
+ */
+
+/**
+ * Contains implementations of the converters provided by default.
+ */
+package org.apache.tamaya.core.internal.converters;
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/4872a508/code/core/src/main/java/org/apache/tamaya/core/internal/package-info.java
----------------------------------------------------------------------
diff --git a/code/core/src/main/java/org/apache/tamaya/core/internal/package-info.java b/code/core/src/main/java/org/apache/tamaya/core/internal/package-info.java
new file mode 100644
index 0000000..a99070b
--- /dev/null
+++ b/code/core/src/main/java/org/apache/tamaya/core/internal/package-info.java
@@ -0,0 +1,25 @@
+/*
+ * 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.
+ */
+
+/**
+ * Contains implementations of different property sources for supporting
+ * CLI, Environment and System Properties as well as simple properties
+ * based on the formats defined by {@link java.util.Properties}.
+ */
+package org.apache.tamaya.core.internal;
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/4872a508/code/core/src/main/java/org/apache/tamaya/core/package-info.java
----------------------------------------------------------------------
diff --git a/code/core/src/main/java/org/apache/tamaya/core/package-info.java b/code/core/src/main/java/org/apache/tamaya/core/package-info.java
new file mode 100644
index 0000000..eb7a398
--- /dev/null
+++ b/code/core/src/main/java/org/apache/tamaya/core/package-info.java
@@ -0,0 +1,24 @@
+/*
+ * 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.
+ */
+
+/**
+ * This is the root package of the Apache Tamaya API implementation.
+ */
+@org.osgi.annotation.versioning.Version("0.4")
+package org.apache.tamaya.core;
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/4872a508/code/core/src/main/java/org/apache/tamaya/core/propertysource/CLIPropertySource.java
----------------------------------------------------------------------
diff --git a/code/core/src/main/java/org/apache/tamaya/core/propertysource/CLIPropertySource.java b/code/core/src/main/java/org/apache/tamaya/core/propertysource/CLIPropertySource.java
index 40e39e0..276cc94 100644
--- a/code/core/src/main/java/org/apache/tamaya/core/propertysource/CLIPropertySource.java
+++ b/code/core/src/main/java/org/apache/tamaya/core/propertysource/CLIPropertySource.java
@@ -18,7 +18,9 @@
*/
package org.apache.tamaya.core.propertysource;
+import org.apache.tamaya.spi.PropertySource;
import org.apache.tamaya.spi.PropertyValue;
+import org.osgi.service.component.annotations.Component;
import java.util.Collections;
import java.util.HashMap;
@@ -29,7 +31,8 @@ import java.util.Objects;
* PropertySource that allows to add the programs main arguments as configuration entries. Unix syntax using '--' and
* '-' params is supported.
*/
-public class CLIPropertySource extends BasePropertySource {
+@Component(service = PropertySource.class)
+public class CLIPropertySource extends BasePropertySource{
/** The original main arguments. */
private static String[] args = new String[0];
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/4872a508/code/core/src/main/java/org/apache/tamaya/core/propertysource/EnvironmentPropertySource.java
----------------------------------------------------------------------
diff --git a/code/core/src/main/java/org/apache/tamaya/core/propertysource/EnvironmentPropertySource.java b/code/core/src/main/java/org/apache/tamaya/core/propertysource/EnvironmentPropertySource.java
index 6a0e6af..0ba4cd4 100644
--- a/code/core/src/main/java/org/apache/tamaya/core/propertysource/EnvironmentPropertySource.java
+++ b/code/core/src/main/java/org/apache/tamaya/core/propertysource/EnvironmentPropertySource.java
@@ -20,6 +20,7 @@ package org.apache.tamaya.core.propertysource;
import org.apache.tamaya.spi.PropertySource;
import org.apache.tamaya.spi.PropertyValue;
+import org.osgi.service.component.annotations.Component;
import java.util.*;
@@ -87,6 +88,7 @@ import java.util.*;
* disabled by the setting the systemproperty {@code tamaya.envprops.disable}
* or {@code tamaya.defaults.disable} to {@code true}.</p>
*/
+@Component(service = PropertySource.class)
public class EnvironmentPropertySource extends BasePropertySource {
private static final String TAMAYA_ENVPROPS_PREFIX = "tamaya.envprops.prefix";
private static final String TAMAYA_ENVPROPS_DISABLE = "tamaya.envprops.disable";
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/4872a508/code/core/src/main/java/org/apache/tamaya/core/propertysource/JavaConfigurationPropertySource.java
----------------------------------------------------------------------
diff --git a/code/core/src/main/java/org/apache/tamaya/core/propertysource/JavaConfigurationPropertySource.java b/code/core/src/main/java/org/apache/tamaya/core/propertysource/JavaConfigurationPropertySource.java
index a6cd5e3..1518fc0 100644
--- a/code/core/src/main/java/org/apache/tamaya/core/propertysource/JavaConfigurationPropertySource.java
+++ b/code/core/src/main/java/org/apache/tamaya/core/propertysource/JavaConfigurationPropertySource.java
@@ -23,6 +23,7 @@ import org.apache.tamaya.core.internal.PropertySourceComparator;
import org.apache.tamaya.spi.PropertySource;
import org.apache.tamaya.spi.PropertyValue;
import org.apache.tamaya.spi.ServiceContextManager;
+import org.osgi.service.component.annotations.Component;
import java.io.IOException;
import java.net.URL;
@@ -38,6 +39,7 @@ import static java.lang.Thread.currentThread;
* {@code tamaya.defaultprops.disable} or {@code tamaya.defaults.disable}
* as system or environment property this feature can be disabled.
*/
+@Component(service = PropertySource.class)
public class JavaConfigurationPropertySource extends BasePropertySource {
/**
* Default location in the classpath, where Tamaya looks for simple line based configuration by default.
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/4872a508/code/core/src/main/java/org/apache/tamaya/core/propertysource/SystemPropertySource.java
----------------------------------------------------------------------
diff --git a/code/core/src/main/java/org/apache/tamaya/core/propertysource/SystemPropertySource.java b/code/core/src/main/java/org/apache/tamaya/core/propertysource/SystemPropertySource.java
index 7759827..b4ded3a 100644
--- a/code/core/src/main/java/org/apache/tamaya/core/propertysource/SystemPropertySource.java
+++ b/code/core/src/main/java/org/apache/tamaya/core/propertysource/SystemPropertySource.java
@@ -18,7 +18,9 @@
*/
package org.apache.tamaya.core.propertysource;
+import org.apache.tamaya.spi.PropertySource;
import org.apache.tamaya.spi.PropertyValue;
+import org.osgi.service.component.annotations.Component;
import java.util.Collections;
import java.util.HashMap;
@@ -29,6 +31,7 @@ import java.util.Properties;
* This {@link org.apache.tamaya.spi.PropertySource} manages the system properties. You can disable this feature by
* setting {@code tamaya.envprops.disable} or {@code tamaya.defaults.disable}.
*/
+@Component(service = PropertySource.class)
public class SystemPropertySource extends BasePropertySource {
/**
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/4872a508/code/core/src/main/java/org/apache/tamaya/core/propertysource/package-info.java
----------------------------------------------------------------------
diff --git a/code/core/src/main/java/org/apache/tamaya/core/propertysource/package-info.java b/code/core/src/main/java/org/apache/tamaya/core/propertysource/package-info.java
new file mode 100644
index 0000000..05ed466
--- /dev/null
+++ b/code/core/src/main/java/org/apache/tamaya/core/propertysource/package-info.java
@@ -0,0 +1,23 @@
+/*
+ * 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.
+ */
+
+/**
+ * Contains internal implementations artifacts registered as services.
+ */
+package org.apache.tamaya.core.propertysource;
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/4872a508/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index cd8eda3..21797e3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -71,6 +71,7 @@
<!-- Dependencies for site generation -->
<reflow-skin.version>1.1.1</reflow-skin.version>
<released_version>0.2-incubating</released_version>
+ <osgi.annotation.version>6.0.0</osgi.annotation.version>
</properties>
<licenses>
@@ -206,6 +207,7 @@
<dependencyManagement>
<dependencies>
+ <!-- test support -->
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
@@ -230,7 +232,6 @@
<version>${commons-io.version}</version>
<scope>test</scope>
</dependency>
-
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
@@ -243,31 +244,52 @@
</exclusion>
</exclusions>
</dependency>
-
+ <dependency>
+ <groupId>org.hamcrest</groupId>
+ <artifactId>java-hamcrest</artifactId>
+ <version>${hamcrest.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <!-- quality gates -->
<dependency>
<groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId>
<version>${findbugs.version}</version>
</dependency>
-
+ <!-- JSON Specs -->
<dependency>
- <groupId>org.hamcrest</groupId>
- <artifactId>java-hamcrest</artifactId>
- <version>${hamcrest.version}</version>
- <scope>test</scope>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-json_1.0_spec</artifactId>
+ <version>${json.spec.version}</version>
</dependency>
-
+ <!-- asciidoctor -->
<dependency>
<groupId>rubygems</groupId>
<artifactId>asciidoctor-diagram</artifactId>
<version>${asciidoctor-diagramm.version}</version>
<type>gem</type>
</dependency>
-
+ <!-- OSGI support -->
<dependency>
- <groupId>org.apache.geronimo.specs</groupId>
- <artifactId>geronimo-json_1.0_spec</artifactId>
- <version>${json.spec.version}</version>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.annotation</artifactId>
+ <scope>provided</scope>
+ <version>${osgi.annotation.version}</version>
+ <optional>true</optional>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.compendium</artifactId>
+ <scope>provided</scope>
+ <version>${osgi.compendium.version}</version>
+ <optional>true</optional>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.core</artifactId>
+ <version>${osgi.version}</version>
+ <scope>provided</scope>
+ <optional>true</optional>
</dependency>
</dependencies>
</dependencyManagement>
[06/12] incubator-tamaya git commit: TAMAYA-260: Added on/off on
Boolean conversion. Fixed minor issue in value evaluation.
Posted by an...@apache.org.
TAMAYA-260: Added on/off on Boolean conversion.
Fixed minor issue in value evaluation.
Project: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/commit/3bcb1696
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/tree/3bcb1696
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/diff/3bcb1696
Branch: refs/heads/master
Commit: 3bcb1696cfac5e00d53de5d6f256fe0272ec9c77
Parents: e8a6386
Author: anatole <an...@apache.org>
Authored: Mon Aug 14 01:39:43 2017 +0200
Committer: Anatole Tresch <an...@apache.org>
Committed: Thu Sep 28 21:52:14 2017 +0200
----------------------------------------------------------------------
.../apache/tamaya/core/internal/DefaultConfigValueEvaluator.java | 2 +-
.../java/org/apache/tamaya/core/internal/DefaultConfiguration.java | 2 +-
.../apache/tamaya/core/internal/converters/BooleanConverter.java | 2 ++
3 files changed, 4 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/3bcb1696/code/core/src/main/java/org/apache/tamaya/core/internal/DefaultConfigValueEvaluator.java
----------------------------------------------------------------------
diff --git a/code/core/src/main/java/org/apache/tamaya/core/internal/DefaultConfigValueEvaluator.java b/code/core/src/main/java/org/apache/tamaya/core/internal/DefaultConfigValueEvaluator.java
index f3b30a3..332df89 100644
--- a/code/core/src/main/java/org/apache/tamaya/core/internal/DefaultConfigValueEvaluator.java
+++ b/code/core/src/main/java/org/apache/tamaya/core/internal/DefaultConfigValueEvaluator.java
@@ -42,7 +42,7 @@ public class DefaultConfigValueEvaluator implements ConfigValueEvaluator{
collect(unfilteredValue, key, propertySource);
}
if(unfilteredValue==null || unfilteredValue.getValue()==null){
- return unfilteredValue;
+ return null;
}
return unfilteredValue;
}
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/3bcb1696/code/core/src/main/java/org/apache/tamaya/core/internal/DefaultConfiguration.java
----------------------------------------------------------------------
diff --git a/code/core/src/main/java/org/apache/tamaya/core/internal/DefaultConfiguration.java b/code/core/src/main/java/org/apache/tamaya/core/internal/DefaultConfiguration.java
index 54cd186..c768a4c 100644
--- a/code/core/src/main/java/org/apache/tamaya/core/internal/DefaultConfiguration.java
+++ b/code/core/src/main/java/org/apache/tamaya/core/internal/DefaultConfiguration.java
@@ -81,7 +81,7 @@ public class DefaultConfiguration implements Configuration {
Objects.requireNonNull(key, "Key must not be null.");
PropertyValue value = configEvaluator.evaluteRawValue(key, configurationContext);
- if(value==null || value.getValue()==null){
+ if(value==null){
return null;
}
value = PropertyFiltering.applyFilter(value, configurationContext);
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/3bcb1696/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 61c182b..0d14fc1 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
@@ -44,12 +44,14 @@ public class BooleanConverter implements PropertyConverter<Boolean> {
case "y":
case "true":
case "t":
+ case "on":
return Boolean.TRUE;
case "no":
case "n":
case "false":
case "f":
case "0":
+ case "off":
return Boolean.FALSE;
default:
LOG.finest("Unknown boolean value encountered: " + value);
[08/12] incubator-tamaya git commit: TAMAYA-274: Added default
implementations for deprecated methods.
Posted by an...@apache.org.
TAMAYA-274: Added default implementations for deprecated methods.
Project: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/commit/48af147a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/tree/48af147a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/diff/48af147a
Branch: refs/heads/master
Commit: 48af147a8decac2a2988cdb4d29388c26ef625dc
Parents: 4872a50
Author: anatole <an...@apache.org>
Authored: Sun Sep 10 22:29:45 2017 +0200
Committer: Anatole Tresch <an...@apache.org>
Committed: Thu Sep 28 22:01:26 2017 +0200
----------------------------------------------------------------------
.../org/apache/tamaya/spi/ConfigurationProviderSpi.java | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/48af147a/code/api/src/main/java/org/apache/tamaya/spi/ConfigurationProviderSpi.java
----------------------------------------------------------------------
diff --git a/code/api/src/main/java/org/apache/tamaya/spi/ConfigurationProviderSpi.java b/code/api/src/main/java/org/apache/tamaya/spi/ConfigurationProviderSpi.java
index 63f09e9..b69bef6 100644
--- a/code/api/src/main/java/org/apache/tamaya/spi/ConfigurationProviderSpi.java
+++ b/code/api/src/main/java/org/apache/tamaya/spi/ConfigurationProviderSpi.java
@@ -79,7 +79,9 @@ public interface ConfigurationProviderSpi {
* @deprecated Will be removed in favour of {@link Configuration#getContext()}.
*/
@Deprecated
- ConfigurationContext getConfigurationContext();
+ default ConfigurationContext getConfigurationContext(){
+ return getConfiguration().getContext();
+ }
/**
* This method allows to replace the current {@link org.apache.tamaya.spi.ConfigurationContext} with a new
@@ -93,7 +95,9 @@ public interface ConfigurationProviderSpi {
* @deprecated use {@link #setConfiguration(Configuration)}
*/
@Deprecated
- void setConfigurationContext(ConfigurationContext context);
+ default void setConfigurationContext(ConfigurationContext context){
+ setConfiguration(createConfiguration(context));
+ }
/**
* Method that allows to determine if a new {@link org.apache.tamaya.spi.ConfigurationContext} can be applied
@@ -105,7 +109,9 @@ public interface ConfigurationProviderSpi {
* @deprecated use {@link #isConfigurationSettable()}
*/
@Deprecated
- boolean isConfigurationContextSettable();
+ default boolean isConfigurationContextSettable(){
+ return isConfigurationSettable();
+ }
}
[09/12] incubator-tamaya git commit: TAMAYA-274: Fixed basic service
loading in OSGI. Added missing requirements.
Posted by an...@apache.org.
TAMAYA-274: Fixed basic service loading in OSGI. Added missing requirements.
Project: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/commit/ec4079dc
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/tree/ec4079dc
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/diff/ec4079dc
Branch: refs/heads/master
Commit: ec4079dc3205c3825e6287be8d17013b91ade8e0
Parents: 48af147
Author: anatole <an...@apache.org>
Authored: Sun Sep 17 01:51:20 2017 +0200
Committer: Anatole Tresch <an...@apache.org>
Committed: Thu Sep 28 22:01:27 2017 +0200
----------------------------------------------------------------------
.../tamaya/core/internal/OSGIServiceLoader.java | 96 +++++++++++++-------
.../examples/minimal/TestConfigProvider.java | 49 ++++++++++
2 files changed, 110 insertions(+), 35 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/ec4079dc/code/core/src/main/java/org/apache/tamaya/core/internal/OSGIServiceLoader.java
----------------------------------------------------------------------
diff --git a/code/core/src/main/java/org/apache/tamaya/core/internal/OSGIServiceLoader.java b/code/core/src/main/java/org/apache/tamaya/core/internal/OSGIServiceLoader.java
index 4c12df9..0854b0d 100644
--- a/code/core/src/main/java/org/apache/tamaya/core/internal/OSGIServiceLoader.java
+++ b/code/core/src/main/java/org/apache/tamaya/core/internal/OSGIServiceLoader.java
@@ -48,6 +48,13 @@ public class OSGIServiceLoader implements BundleListener {
public OSGIServiceLoader(BundleContext context){
this.context = Objects.requireNonNull(context);
+ // Check for matching bundles already installed...
+ for(Bundle bundle:context.getBundles()){
+ switch(bundle.getState()){
+ case Bundle.ACTIVE:
+ checkAndLoadBundle(bundle);
+ }
+ }
}
public BundleContext getBundleContext(){
@@ -62,38 +69,46 @@ public class OSGIServiceLoader implements BundleListener {
@Override
public void bundleChanged(BundleEvent bundleEvent) {
- // Parse and create metadata on STARTING
- if (bundleEvent.getType() == BundleEvent.STARTING) {
+ // Parse and create metadata when installed
+ if (bundleEvent.getType() == BundleEvent.STARTED) {
Bundle bundle = bundleEvent.getBundle();
- if (bundle.getEntry(META_INF_SERVICES) == null) {
- return;
- }
- synchronized (resourceBundles){
- resourceBundles.add(bundle);
- log.info("Registered ServiceLoader bundle: " + bundle.getSymbolicName());
- }
- Enumeration<String> entryPaths = bundle.getEntryPaths("META-INF/services/");
- while (entryPaths.hasMoreElements()) {
- String entryPath = entryPaths.nextElement();
- if(!entryPath.endsWith("/")) {
- processEntryPath(bundle, entryPath);
- }
- }
- } else if (bundleEvent.getType() == BundleEvent.STOPPING) {
+ checkAndLoadBundle(bundle);
+ } else if (bundleEvent.getType() == BundleEvent.STOPPED) {
Bundle bundle = bundleEvent.getBundle();
- if (bundle.getEntry(META_INF_SERVICES) == null) {
- return;
- }
- synchronized (resourceBundles) {
- resourceBundles.remove(bundle);
- log.finest("Unregistered ServiceLoader bundle: " + bundle.getSymbolicName());
+ checkAndUnloadBundle(bundle);
+ }
+ }
+
+ private void checkAndUnloadBundle(Bundle bundle) {
+ if (bundle.getEntry(META_INF_SERVICES) == null) {
+ return;
+ }
+ synchronized (resourceBundles) {
+ resourceBundles.remove(bundle);
+ log.fine("Unregistered ServiceLoader bundle: " + bundle.getSymbolicName());
+ }
+ Enumeration<String> entryPaths = bundle.getEntryPaths("META-INF/services/");
+ while (entryPaths.hasMoreElements()) {
+ String entryPath = entryPaths.nextElement();
+ if(!entryPath.endsWith("/")) {
+ removeEntryPath(bundle, entryPath);
}
- Enumeration<String> entryPaths = bundle.getEntryPaths("META-INF/services/");
- while (entryPaths.hasMoreElements()) {
- String entryPath = entryPaths.nextElement();
- if(!entryPath.endsWith("/")) {
- removeEntryPath(bundle, entryPath);
- }
+ }
+ }
+
+ private void checkAndLoadBundle(Bundle bundle) {
+ if (bundle.getEntry(META_INF_SERVICES) == null) {
+ return;
+ }
+ synchronized (resourceBundles){
+ resourceBundles.add(bundle);
+ log.info("Registered ServiceLoader bundle: " + bundle.getSymbolicName());
+ }
+ Enumeration<String> entryPaths = bundle.getEntryPaths("META-INF/services/");
+ while (entryPaths.hasMoreElements()) {
+ String entryPath = entryPaths.nextElement();
+ if(!entryPath.endsWith("/")) {
+ processEntryPath(bundle, entryPath);
}
}
}
@@ -106,10 +121,9 @@ public class OSGIServiceLoader implements BundleListener {
return;
}
Class<?> serviceClass = bundle.loadClass(serviceName);
- log.info("Loaded Tamaya service class: " + serviceClass.getName() +"("+serviceName+")");
URL child = bundle.getEntry(entryPath);
InputStream inStream = child.openStream();
-
+ log.info("Loading Services " + serviceClass.getName() +" from bundle...: " + bundle.getSymbolicName());
BufferedReader br = new BufferedReader(new InputStreamReader(inStream, "UTF-8"));
String implClassName = br.readLine();
while (implClassName != null){
@@ -124,12 +138,14 @@ public class OSGIServiceLoader implements BundleListener {
if (implClassName.length() > 0) {
try {
// Load the service class
+ log.fine("Loading Class " + implClassName +" from bundle...: " + bundle.getSymbolicName());
Class<?> implClass = bundle.loadClass(implClassName);
if (!serviceClass.isAssignableFrom(implClass)) {
log.warning("Configured service: " + implClassName + " is not assignble to " +
serviceClass.getName());
continue;
}
+ log.info("Loaded Service Factory ("+serviceName+"): " + implClassName);
// Provide service properties
Hashtable<String, String> props = new Hashtable<>();
props.put(Constants.VERSION_ATTRIBUTE, bundle.getVersion().toString());
@@ -142,12 +158,16 @@ public class OSGIServiceLoader implements BundleListener {
// Register the service factory on behalf of the intercepted bundle
JDKUtilServiceFactory factory = new JDKUtilServiceFactory(implClass);
BundleContext bundleContext = bundle.getBundleContext();
- log.info("Registering Tamaya service class: " + serviceClass.getName() +"("+serviceName+")");
bundleContext.registerService(serviceName, factory, props);
+ log.info("Registered Tamaya service class: " + implClassName +"("+serviceName+")");
}
catch(Exception e){
log.log(Level.SEVERE,
- "Failed to load service class using ServiceLoader logic: " + implClassName, e);
+ "Failed to load service: " + implClassName, e);
+ }
+ catch(NoClassDefFoundError err){
+ log.log(Level.SEVERE,
+ "Failed to load service: " + implClassName, err);
}
}
implClassName = br.readLine();
@@ -186,6 +206,7 @@ public class OSGIServiceLoader implements BundleListener {
}
implClassName = implClassName.trim();
if (implClassName.length() > 0) {
+ log.fine("Unloading Service ("+serviceName+"): " + implClassName);
try {
// Load the service class
Class<?> implClass = bundle.loadClass(implClassName);
@@ -201,7 +222,11 @@ public class OSGIServiceLoader implements BundleListener {
}
catch(Exception e){
log.log(Level.SEVERE,
- "Failed to unload service class using ServiceLoader logic: " + implClassName, e);
+ "Failed to unload service: " + implClassName, e);
+ }
+ catch(NoClassDefFoundError err){
+ log.log(Level.SEVERE,
+ "Failed to unload service: " + implClassName, err);
}
}
implClassName = br.readLine();
@@ -230,11 +255,12 @@ public class OSGIServiceLoader implements BundleListener {
@Override
public Object getService(Bundle bundle, ServiceRegistration registration) {
try {
+ log.fine("Creating Service...:" + serviceClass.getName());
return serviceClass.newInstance();
}
catch (Exception ex) {
ex.printStackTrace();
- throw new IllegalStateException("Cannot create service: " + serviceClass.getName(), ex);
+ throw new IllegalStateException("Failed to create service: " + serviceClass.getName(), ex);
}
}
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/ec4079dc/examples/01-minimal/src/main/java/org/apache/tamaya/examples/minimal/TestConfigProvider.java
----------------------------------------------------------------------
diff --git a/examples/01-minimal/src/main/java/org/apache/tamaya/examples/minimal/TestConfigProvider.java b/examples/01-minimal/src/main/java/org/apache/tamaya/examples/minimal/TestConfigProvider.java
new file mode 100644
index 0000000..f9fb853
--- /dev/null
+++ b/examples/01-minimal/src/main/java/org/apache/tamaya/examples/minimal/TestConfigProvider.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.examples.minimal;
+
+import org.apache.tamaya.Configuration;
+import org.apache.tamaya.core.internal.DefaultConfigurationProvider;
+
+/**
+ * Configuration provider that allows to set and reset a configuration
+ * different per thread.
+ */
+public class TestConfigProvider extends DefaultConfigurationProvider{
+
+ private ThreadLocal<Configuration> threadedConfig = new ThreadLocal<>();
+
+ @Override
+ public Configuration getConfiguration() {
+ Configuration config = threadedConfig.get();
+ if(config!=null){
+ return config;
+ }
+ return super.getConfiguration();
+ }
+
+ @Override
+ public void setConfiguration(Configuration config) {
+ if(config==null){
+ threadedConfig.remove();
+ }else {
+ threadedConfig.set(config);
+ }
+ }
+}
[10/12] incubator-tamaya git commit: TAMAYA-304 - If no services came
back, use the class's class loader to discover services.
Posted by an...@apache.org.
TAMAYA-304 - If no services came back, use the class's class loader to discover services.
Project: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/commit/fe4302a2
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/tree/fe4302a2
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/diff/fe4302a2
Branch: refs/heads/master
Commit: fe4302a2f715cddf5bcb6bf56775c12e9773ba6f
Parents: ec4079d
Author: John D. Ament <jo...@gmail.com>
Authored: Wed Sep 20 23:01:16 2017 -0400
Committer: Anatole Tresch <an...@apache.org>
Committed: Thu Sep 28 22:01:27 2017 +0200
----------------------------------------------------------------------
.../org/apache/tamaya/core/internal/DefaultServiceContext.java | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/fe4302a2/code/core/src/main/java/org/apache/tamaya/core/internal/DefaultServiceContext.java
----------------------------------------------------------------------
diff --git a/code/core/src/main/java/org/apache/tamaya/core/internal/DefaultServiceContext.java b/code/core/src/main/java/org/apache/tamaya/core/internal/DefaultServiceContext.java
index b4a059c..7146ccf 100644
--- a/code/core/src/main/java/org/apache/tamaya/core/internal/DefaultServiceContext.java
+++ b/code/core/src/main/java/org/apache/tamaya/core/internal/DefaultServiceContext.java
@@ -20,7 +20,6 @@ package org.apache.tamaya.core.internal;
import org.apache.tamaya.ConfigException;
import org.apache.tamaya.spi.ServiceContext;
-import org.osgi.service.component.annotations.Component;
import javax.annotation.Priority;
import java.io.IOException;
@@ -96,6 +95,11 @@ public final class DefaultServiceContext implements ServiceContext {
for (T t : ServiceLoader.load(serviceType)) {
services.add(t);
}
+ if(services.isEmpty()) {
+ for (T t : ServiceLoader.load(serviceType, serviceType.getClassLoader())) {
+ services.add(t);
+ }
+ }
Collections.sort(services, PriorityServiceComparator.getInstance());
services = Collections.unmodifiableList(services);
} catch (ServiceConfigurationError e) {
[04/12] 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/aea69a75
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/tree/aea69a75
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/diff/aea69a75
Branch: refs/heads/master
Commit: aea69a75ec5303ee1eddda69e68fc75f012d584d
Parents: 2c4ecc3
Author: anatole <an...@apache.org>
Authored: Wed Aug 9 00:22:59 2017 +0200
Committer: Anatole Tresch <an...@apache.org>
Committed: Thu Sep 28 21:52:12 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/aea69a75/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/aea69a75/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/aea69a75/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/aea69a75/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