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 2015/01/03 13:24:43 UTC
incubator-tamaya git commit: Added additional Javadocs (need still
more).
Repository: incubator-tamaya
Updated Branches:
refs/heads/master 95885781e -> ced3463f9
Added additional Javadocs (need still more).
Project: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/commit/ced3463f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/tree/ced3463f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/diff/ced3463f
Branch: refs/heads/master
Commit: ced3463f935aaa21048678b88746b755d156d04f
Parents: 9588578
Author: anatole <an...@apache.org>
Authored: Sat Jan 3 13:24:34 2015 +0100
Committer: anatole <an...@apache.org>
Committed: Sat Jan 3 13:24:34 2015 +0100
----------------------------------------------------------------------
.../core/PathBasedPropertySourceProvider.java | 20 +++++++--
.../core/ResourcePropertySourceProvider.java | 4 ++
.../tamaya/core/formats/PropertiesFormat.java | 8 +++-
.../core/formats/PropertiesXmlFormat.java | 11 ++++-
.../internal/DefaultConfigurationContext.java | 44 ++++++++++++++++----
.../core/internal/PropertyConverterManager.java | 11 +++--
6 files changed, 79 insertions(+), 19 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/ced3463f/core/src/main/java/org/apache/tamaya/core/PathBasedPropertySourceProvider.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/tamaya/core/PathBasedPropertySourceProvider.java b/core/src/main/java/org/apache/tamaya/core/PathBasedPropertySourceProvider.java
index 53d6760..fc04c3b 100644
--- a/core/src/main/java/org/apache/tamaya/core/PathBasedPropertySourceProvider.java
+++ b/core/src/main/java/org/apache/tamaya/core/PathBasedPropertySourceProvider.java
@@ -32,23 +32,37 @@ import java.util.logging.Level;
import java.util.logging.Logger;
/**
- * Implementation of a PropertySourceProvider that reads configuration from some given resource paths
- * and using the goven formats.
+ * Implementation of a {@link PropertySourceProvider} that reads configuration from some given resource paths
+ * and using the given formats.
*/
public class PathBasedPropertySourceProvider implements PropertySourceProvider {
-
+ /** The lohgger. */
private static final Logger LOG = Logger.getLogger(PathBasedPropertySourceProvider.class.getName());
private String baseName;
+ /** The config formats tried. */
private List<ConfigurationFormat> configFormats = new ArrayList<>();
+ /** The paths tpo be evaluated. */
private List<String> paths = new ArrayList<>();
+ /**
+ * Creates a new instance.
+ * @param baseName the base name of the configuration, used for creating PropertySource child names.
+ * @param formats the formats to be used, not null, not empty.
+ * @param paths the paths to be resolved, not null, not empty.
+ */
public PathBasedPropertySourceProvider(String baseName, List<ConfigurationFormat> formats, String... paths) {
this.baseName = Objects.requireNonNull(baseName);
this.configFormats.addAll(Objects.requireNonNull(formats));
this.paths.addAll(Arrays.asList(Objects.requireNonNull(paths)));
}
+ /**
+ * Creates a new instance.
+ * @param baseName the base name of the configuration, used for creating PropertySource child names.
+ * @param format the format to be used.
+ * @param paths the paths to be resolved, not null, not empty.
+ */
public PathBasedPropertySourceProvider(String baseName, ConfigurationFormat format, String... paths) {
this.baseName = Objects.requireNonNull(baseName);
this.configFormats.add(Objects.requireNonNull(format));
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/ced3463f/core/src/main/java/org/apache/tamaya/core/ResourcePropertySourceProvider.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/tamaya/core/ResourcePropertySourceProvider.java b/core/src/main/java/org/apache/tamaya/core/ResourcePropertySourceProvider.java
index 978ab9a..48e9790 100644
--- a/core/src/main/java/org/apache/tamaya/core/ResourcePropertySourceProvider.java
+++ b/core/src/main/java/org/apache/tamaya/core/ResourcePropertySourceProvider.java
@@ -30,6 +30,10 @@ import java.util.List;
import java.util.Objects;
import java.util.logging.Logger;
+/**
+ * Implementation of a {@link org.apache.tamaya.spi.PropertySourceProvider} that is based on a single resource
+ * and a number of formats.
+ */
public class ResourcePropertySourceProvider implements PropertySourceProvider {
private static final Logger LOG = Logger.getLogger(ResourcePropertySourceProvider.class.getName());
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/ced3463f/core/src/main/java/org/apache/tamaya/core/formats/PropertiesFormat.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/tamaya/core/formats/PropertiesFormat.java b/core/src/main/java/org/apache/tamaya/core/formats/PropertiesFormat.java
index 6ca4f3d..4a06b3c 100644
--- a/core/src/main/java/org/apache/tamaya/core/formats/PropertiesFormat.java
+++ b/core/src/main/java/org/apache/tamaya/core/formats/PropertiesFormat.java
@@ -33,10 +33,14 @@ import java.util.logging.Level;
import java.util.logging.Logger;
/**
- * Implementation of a configuration format for -properties files.
+ * Implementation of a {@link org.apache.tamaya.core.formats.ConfigurationFormat} for -properties files.
+ *
+ * @see java.util.Properties#load(java.io.InputStream)
*/
public class PropertiesFormat implements ConfigurationFormat {
-
+ /**
+ * The logger.
+ */
private final static Logger LOG = Logger.getLogger(PropertiesFormat.class.getName());
/**
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/ced3463f/core/src/main/java/org/apache/tamaya/core/formats/PropertiesXmlFormat.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/tamaya/core/formats/PropertiesXmlFormat.java b/core/src/main/java/org/apache/tamaya/core/formats/PropertiesXmlFormat.java
index 98e26f3..81fcd73 100644
--- a/core/src/main/java/org/apache/tamaya/core/formats/PropertiesXmlFormat.java
+++ b/core/src/main/java/org/apache/tamaya/core/formats/PropertiesXmlFormat.java
@@ -32,9 +32,16 @@ import java.util.Properties;
import java.util.logging.Level;
import java.util.logging.Logger;
-
+/**
+ * Implementation of a {@link org.apache.tamaya.core.formats.ConfigurationFormat} for xml property
+ * files.
+ *
+ * @see java.util.Properties#loadFromXML(java.io.InputStream)
+ */
public class PropertiesXmlFormat implements ConfigurationFormat {
-
+ /**
+ * The logger.
+ */
private final static Logger LOG = Logger.getLogger(PropertiesXmlFormat.class.getName());
/**
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/ced3463f/core/src/main/java/org/apache/tamaya/core/internal/DefaultConfigurationContext.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/tamaya/core/internal/DefaultConfigurationContext.java b/core/src/main/java/org/apache/tamaya/core/internal/DefaultConfigurationContext.java
index 08e55a7..995f2dd 100644
--- a/core/src/main/java/org/apache/tamaya/core/internal/DefaultConfigurationContext.java
+++ b/core/src/main/java/org/apache/tamaya/core/internal/DefaultConfigurationContext.java
@@ -33,20 +33,40 @@ import java.util.List;
import java.util.Map;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.StampedLock;
+import java.util.logging.Level;
+import java.util.logging.Logger;
/**
* Default Implementation of a simple ConfigurationContext.
*/
public class DefaultConfigurationContext implements ConfigurationContext {
-
+ /** The logger. */
+ private static final Logger LOG = Logger.getLogger(DefaultConfigurationContext.class.getName());
+ /**
+ * Cubcomponent handling {@link org.apache.tamaya.spi.PropertyConverter} instances.
+ */
private PropertyConverterManager propertyConverterManager = new PropertyConverterManager();
-
+ /**
+ * The current list of loaded {@link org.apache.tamaya.spi.PropertySource} instances.
+ */
private List<PropertySource> propertySources = new ArrayList<>();
+ /**
+ * The current list of loaded {@link org.apache.tamaya.spi.PropertySourceProvider} instances.
+ */
private List<PropertySourceProvider> propertySourceProviders = new ArrayList<>();
+ /**
+ * The current list of loaded {@link org.apache.tamaya.spi.PropertyFilter} instances.
+ */
private List<PropertyFilter> propertyFilters = new ArrayList<>();
- private boolean loaded = false;
-
+ /**
+ * Lock for internal synchronization.
+ */
private StampedLock propertySourceLock = new StampedLock();
+ /**
+ * Loaded flag.
+ * TODO replace flag with check on sources load size.
+ */
+ private boolean loaded = false;
@Override
@@ -66,9 +86,9 @@ public class DefaultConfigurationContext implements ConfigurationContext {
/**
* Order property source reversely, the most important come first.
*
- * @param source1
- * @param source2
- * @return
+ * @param source1 the first PropertySource
+ * @param source2 the second PropertySource
+ * @return the comparison result.
*/
private int comparePropertySources(PropertySource source1, PropertySource source2) {
if (source1.getOrdinal() < source2.getOrdinal()) {
@@ -80,6 +100,13 @@ public class DefaultConfigurationContext implements ConfigurationContext {
}
}
+ /**
+ * Compare 2 filters for ordering the filter chain.
+ *
+ * @param filter1 the first filter
+ * @param filter2 the second filter
+ * @return the comparison result
+ */
private int comparePropertyFilters(PropertyFilter filter1, PropertyFilter filter2) {
Priority prio1 = filter1.getClass().getAnnotation(Priority.class);
Priority prio2 = filter2.getClass().getAnnotation(Priority.class);
@@ -107,13 +134,12 @@ public class DefaultConfigurationContext implements ConfigurationContext {
try {
this.propertySources.addAll(prov.getPropertySources());
} catch (Exception e) {
- //X TODO Log!
+ LOG.log(Level.SEVERE, "Failed to load PropertySources from Provider: " + prov, e);
}
}
Collections.sort(this.propertySources, this::comparePropertySources);
this.propertyFilters.addAll(ServiceContext.getInstance().getServices(PropertyFilter.class));
Collections.sort(this.propertyFilters, this::comparePropertyFilters);
- loaded = true;
}
} finally {
writeLock.unlock();
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/ced3463f/core/src/main/java/org/apache/tamaya/core/internal/PropertyConverterManager.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/tamaya/core/internal/PropertyConverterManager.java b/core/src/main/java/org/apache/tamaya/core/internal/PropertyConverterManager.java
index 4f8118b..88e68e3 100644
--- a/core/src/main/java/org/apache/tamaya/core/internal/PropertyConverterManager.java
+++ b/core/src/main/java/org/apache/tamaya/core/internal/PropertyConverterManager.java
@@ -36,16 +36,21 @@ import java.util.Objects;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.StampedLock;
+import java.util.logging.Logger;
import org.apache.tamaya.ConfigException;
import org.apache.tamaya.spi.PropertyConverter;
/**
* Manager that deals with {@link org.apache.tamaya.spi.PropertyConverter} instances.
+ * This class is thread-safe.
*/
public class PropertyConverterManager {
-
+ /** The logger used. */
+ private static final Logger LOG = Logger.getLogger(PropertyConverterManager.class.getName());
+ /** The registered converters. */
private Map<Class<?>, List<PropertyConverter<?>>> converters = new ConcurrentHashMap<>();
+ /** The lock used. */
private StampedLock lock = new StampedLock();
/**
@@ -210,7 +215,7 @@ public class PropertyConverterManager {
}
};
} catch (Exception e) {
- //X ignore, TODO log finest
+ LOG.finest(() -> "Failed to construct instance of type: " + targetType.getName()+": " + e);
}
}
return converter;
@@ -230,7 +235,7 @@ public class PropertyConverterManager {
m = type.getDeclaredMethod(name, String.class);
return m;
} catch (Exception e) {
- //X ignore, TODO log finest
+ LOG.finest(() -> "No such factory method found on type: " + type.getName()+", methodName: " + name);
}
}
return null;