You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tamaya.apache.org by pl...@apache.org on 2016/09/26 22:18:44 UTC
[03/50] [abbrv] incubator-tamaya-extensions git commit: - Removed
dependecy of formats module from events module. - Simplified events module.
- Removed dependecy of formats module from events module.
- Simplified events module.
Project: http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/commit/6a7e974b
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/tree/6a7e974b
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/diff/6a7e974b
Branch: refs/heads/master
Commit: 6a7e974bc02513087401bf2834085d0d73795d86
Parents: da820c7
Author: anatole <an...@apache.org>
Authored: Fri Dec 18 02:45:14 2015 +0100
Committer: Oliver B. Fischer <pl...@apache.org>
Committed: Tue Sep 27 00:18:31 2016 +0200
----------------------------------------------------------------------
pom.xml | 10 +--
.../ObservingPropertySourceProvider.java | 78 ++++++--------------
...g.apache.tamaya.events.spi.ConfigObserverSpi | 19 -----
.../tamaya/events/TestObservingProvider.java | 4 +-
4 files changed, 30 insertions(+), 81 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/6a7e974b/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index cf56fa3..918f4ef 100644
--- a/pom.xml
+++ b/pom.xml
@@ -41,11 +41,11 @@ under the License.
<version>${project.version}</version>
<scope>provided</scope>
</dependency>
- <dependency>
- <groupId>org.apache.tamaya.ext</groupId>
- <artifactId>tamaya-formats</artifactId>
- <version>${project.version}</version>
- </dependency>
+ <!--<dependency>-->
+ <!--<groupId>org.apache.tamaya.ext</groupId>-->
+ <!--<artifactId>tamaya-formats</artifactId>-->
+ <!--<version>${project.version}</version>-->
+ <!--</dependency>-->
<dependency>
<groupId>org.apache.tamaya</groupId>
<artifactId>tamaya-core</artifactId>
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/6a7e974b/src/main/java/org/apache/tamaya/events/folderobserver/ObservingPropertySourceProvider.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/tamaya/events/folderobserver/ObservingPropertySourceProvider.java b/src/main/java/org/apache/tamaya/events/folderobserver/ObservingPropertySourceProvider.java
index 8387504..d8c869f 100644
--- a/src/main/java/org/apache/tamaya/events/folderobserver/ObservingPropertySourceProvider.java
+++ b/src/main/java/org/apache/tamaya/events/folderobserver/ObservingPropertySourceProvider.java
@@ -19,12 +19,10 @@
package org.apache.tamaya.events.folderobserver;
import org.apache.tamaya.ConfigException;
+import org.apache.tamaya.core.propertysource.BasePropertySource;
import org.apache.tamaya.events.ConfigEventManager;
import org.apache.tamaya.events.ConfigurationContextChange;
import org.apache.tamaya.events.ConfigurationContextChangeBuilder;
-import org.apache.tamaya.format.ConfigurationData;
-import org.apache.tamaya.format.ConfigurationFormat;
-import org.apache.tamaya.format.FlattenedDefaultPropertySource;
import org.apache.tamaya.spi.PropertySource;
import org.apache.tamaya.spi.PropertySourceProvider;
@@ -35,12 +33,7 @@ import java.net.URL;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.LinkedList;
-import java.util.List;
+import java.util.*;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.logging.Level;
@@ -64,29 +57,16 @@ public class ObservingPropertySourceProvider implements PropertySourceProvider,
*/
private final List<PropertySource> propertySources = Collections.synchronizedList(new LinkedList<PropertySource>());
/**
- * The supported configuration formats of this provider.
- */
- private Collection<ConfigurationFormat> formats = new ArrayList<>();
- /**
* The thread pool used.
*/
private ExecutorService executor = Executors.newSingleThreadExecutor();
/**
- * Constructor, reading the config file from classpath resource and system property.
- */
- public ObservingPropertySourceProvider(ConfigurationFormat... formats) {
- this(null, formats);
- }
-
- /**
* Constructorm using an explicit directory, ignoring all kind of configuration, if set.
*
* @param directory the target directory. If null, the default configuration and system property are used.
- * @param formats the formats to be used.
*/
- public ObservingPropertySourceProvider(Path directory, ConfigurationFormat... formats) {
- this.formats = Arrays.asList(formats);
+ public ObservingPropertySourceProvider(Path directory) {
if (directory == null) {
directory = getDirectory();
}
@@ -111,10 +91,7 @@ public class ObservingPropertySourceProvider implements PropertySourceProvider,
try {
synchronized (propertySources) {
for (Path path : Files.newDirectoryStream(directory, "*")) {
- ConfigurationData data = loadFile(path);
- if (data != null) {
- result.addAll(getPropertySources(data));
- }
+ result.addAll(getPropertySources(path));
}
return result;
}
@@ -124,8 +101,14 @@ public class ObservingPropertySourceProvider implements PropertySourceProvider,
return result;
}
- protected Collection<PropertySource> getPropertySources(ConfigurationData data) {
- return Arrays.asList(new PropertySource[]{new FlattenedDefaultPropertySource(data)});
+ protected Collection<PropertySource> getPropertySources(final Path file) {
+ return Arrays.asList(new PropertySource[]{new BasePropertySource() {
+ private Map<String,String> props = readProperties(file);
+ @Override
+ public Map<String, String> getProperties() {
+ return props;
+ }
+ }});
}
/**
@@ -133,33 +116,20 @@ public class ObservingPropertySourceProvider implements PropertySourceProvider,
*
* @param file the file, not null.
*/
- protected ConfigurationData loadFile(Path file) {
- InputStream is = null;
- for (ConfigurationFormat format : formats) {
- try {
- URL url = file.toUri().toURL();
- if (format.accepts(url)) {
- is = url.openStream();
- ConfigurationData data = format.readConfiguration(file.toString(), is);
- if (data != null) {
- return data;
- }
- }
- } catch (IOException e) {
- LOG.log(Level.INFO, "Error reading file: " + file.toString() +
- ", using format: " + format, e);
- } finally {
- if (is != null) {
- try {
- is.close();
- } catch (IOException ioe) {
- LOG.log(Level.SEVERE, "Failed to rea data...", ioe);
- }
- }
+ protected static Map<String,String> readProperties(Path file) {
+ try (InputStream is = file.toUri().toURL().openStream()){
+ Properties props = new Properties();
+ props.load(is);
+ Map<String,String> result = new HashMap<>();
+ for(Map.Entry en:props.entrySet()){
+ result.put(en.getKey().toString(), en.getValue().toString());
}
+ return result;
+ } catch (Exception e) {
+ LOG.log(Level.INFO, "Error reading file: " + file.toString() +
+ ", using format: properties", e);
}
- LOG.warning("Error reading file: " + file.toString());
- return null;
+ return Collections.emptyMap();
}
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/6a7e974b/src/main/resources/META-INF/services/org.apache.tamaya.events.spi.ConfigObserverSpi
----------------------------------------------------------------------
diff --git a/src/main/resources/META-INF/services/org.apache.tamaya.events.spi.ConfigObserverSpi b/src/main/resources/META-INF/services/org.apache.tamaya.events.spi.ConfigObserverSpi
deleted file mode 100644
index 99670e3..0000000
--- a/src/main/resources/META-INF/services/org.apache.tamaya.events.spi.ConfigObserverSpi
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy current the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-org.apache.tamaya.events.internal.DefaultConfigChangeObserver
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/6a7e974b/src/test/java/org/apache/tamaya/events/TestObservingProvider.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/tamaya/events/TestObservingProvider.java b/src/test/java/org/apache/tamaya/events/TestObservingProvider.java
index 896fcf7..2685d3e 100644
--- a/src/test/java/org/apache/tamaya/events/TestObservingProvider.java
+++ b/src/test/java/org/apache/tamaya/events/TestObservingProvider.java
@@ -20,7 +20,6 @@ package org.apache.tamaya.events;
import org.apache.commons.io.FileUtils;
import org.apache.tamaya.events.folderobserver.ObservingPropertySourceProvider;
-import org.apache.tamaya.format.formats.PropertiesFormat;
import java.io.File;
import java.nio.file.Files;
@@ -74,8 +73,7 @@ public class TestObservingProvider extends ObservingPropertySourceProvider{
}
public TestObservingProvider(){
- super(propertyLocation,
- new PropertiesFormat());
+ super(propertyLocation);
Logger.getLogger(getClass().getName()).info("Using test directory: " + getTestPath());
}