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 2016/08/16 13:51:51 UTC
[14/15] incubator-tamaya git commit: Added toString implementations.
Added toString implementations.
Project: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/commit/4a3388d7
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/tree/4a3388d7
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/diff/4a3388d7
Branch: refs/heads/master
Commit: 4a3388d77729d0d4b1b34281e95d6bfce56c59df
Parents: 11db7b0
Author: anatole <an...@apache.org>
Authored: Tue Aug 16 10:54:30 2016 +0200
Committer: anatole <an...@apache.org>
Committed: Tue Aug 16 15:51:30 2016 +0200
----------------------------------------------------------------------
.../java/org/apache/tamaya/Configuration.java | 2 +-
.../apache/tamaya/spi/ConfigurationContext.java | 9 +-
.../internal/DefaultConfigurationContext.java | 97 ++++++++++++++++++++
.../core/internal/PropertyConverterManager.java | 16 ++++
4 files changed, 122 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/4a3388d7/code/api/src/main/java/org/apache/tamaya/Configuration.java
----------------------------------------------------------------------
diff --git a/code/api/src/main/java/org/apache/tamaya/Configuration.java b/code/api/src/main/java/org/apache/tamaya/Configuration.java
index 0af0cf4..12e38aa 100644
--- a/code/api/src/main/java/org/apache/tamaya/Configuration.java
+++ b/code/api/src/main/java/org/apache/tamaya/Configuration.java
@@ -151,7 +151,7 @@ public interface Configuration {
<T> T query(ConfigQuery<T> query);
/**
- * Access a configuration\u015d context.
+ * Access a configuration'\u015d context.
* @return the configuration context, never null.
*/
ConfigurationContext getContext();
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/4a3388d7/code/api/src/main/java/org/apache/tamaya/spi/ConfigurationContext.java
----------------------------------------------------------------------
diff --git a/code/api/src/main/java/org/apache/tamaya/spi/ConfigurationContext.java b/code/api/src/main/java/org/apache/tamaya/spi/ConfigurationContext.java
index d61bde7..3a757a0 100644
--- a/code/api/src/main/java/org/apache/tamaya/spi/ConfigurationContext.java
+++ b/code/api/src/main/java/org/apache/tamaya/spi/ConfigurationContext.java
@@ -21,7 +21,6 @@ package org.apache.tamaya.spi;
import org.apache.tamaya.TypeLiteral;
-import java.util.Collections;
import java.util.List;
import java.util.Map;
@@ -55,6 +54,13 @@ public interface ConfigurationContext {
List<PropertySource> getPropertySources();
+// /**
+// * Access a {@link PropertySource} using its (unique) name.
+// * @param name the propoerty source's name, not null.
+// * @return the propoerty source found, or null.
+// */
+// PropertySource getPropertySource(String name);
+
/**
* This method can be used for programmatically adding {@link PropertyConverter}s.
* It is not needed for normal 'usage' by end users, but only for Extension Developers!
@@ -65,6 +71,7 @@ public interface ConfigurationContext {
*/
<T> void addPropertyConverter(TypeLiteral<T> typeToConvert, PropertyConverter<T> propertyConverter);
+
/**
* <p>
* This method returns the Map of registered PropertyConverters
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/4a3388d7/code/core/src/main/java/org/apache/tamaya/core/internal/DefaultConfigurationContext.java
----------------------------------------------------------------------
diff --git a/code/core/src/main/java/org/apache/tamaya/core/internal/DefaultConfigurationContext.java b/code/core/src/main/java/org/apache/tamaya/core/internal/DefaultConfigurationContext.java
index b0533b0..a1a2f64 100644
--- a/code/core/src/main/java/org/apache/tamaya/core/internal/DefaultConfigurationContext.java
+++ b/code/core/src/main/java/org/apache/tamaya/core/internal/DefaultConfigurationContext.java
@@ -180,6 +180,93 @@ public class DefaultConfigurationContext implements ConfigurationContext {
}
}
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (!(o instanceof DefaultConfigurationContext)) return false;
+
+ DefaultConfigurationContext that = (DefaultConfigurationContext) o;
+
+ if (!propertyConverterManager.equals(that.propertyConverterManager)) return false;
+ if (!immutablePropertySources.equals(that.immutablePropertySources)) return false;
+ if (!immutablePropertyFilters.equals(that.immutablePropertyFilters)) return false;
+ return getPropertyValueCombinationPolicy().equals(that.getPropertyValueCombinationPolicy());
+
+ }
+
+ @Override
+ public int hashCode() {
+ int result = propertyConverterManager.hashCode();
+ result = 31 * result + immutablePropertySources.hashCode();
+ result = 31 * result + immutablePropertyFilters.hashCode();
+ result = 31 * result + getPropertyValueCombinationPolicy().hashCode();
+ return result;
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder b = new StringBuilder("ConfigurationContext{\n");
+ b.append(" Property Sources\n");
+ b.append(" ----------------\n");
+ b.append(" CLASS NAME ORDINAL SCANNABLE SIZE\n");
+ for(PropertySource ps:getPropertySources()){
+ b.append(" ");
+ appendFormatted(b, ps.getClass().getSimpleName(), 30);
+ appendFormatted(b, ps.getName(), 70);
+ appendFormatted(b, String.valueOf(ps.getOrdinal()), 8);
+ appendFormatted(b, String.valueOf(ps.isScannable()), 10);
+ if(ps.isScannable()) {
+ appendFormatted(b, String.valueOf(ps.getProperties().size()), 8);
+ }else{
+ appendFormatted(b, "-", 8);
+ }
+ b.append('\n');
+ }
+ b.append("\n");
+ b.append(" Property Filters\n");
+ b.append(" ----------------\n");
+ b.append(" CLASS INFO\n");
+ for(PropertyFilter filter:getPropertyFilters()){
+ b.append(" ");
+ appendFormatted(b, filter.getClass().getSimpleName(), 30);
+ b.append(removeNewLines(filter.toString()));
+ b.append('\n');
+ }
+ b.append("\n\n");
+ b.append(" Property Converters\n");
+ b.append(" -------------------\n");
+ b.append(" CLASS TYPE INFO\n");
+ for(Map.Entry<TypeLiteral<?>, List<PropertyConverter<?>>> converterEntry:getPropertyConverters().entrySet()){
+ for(PropertyConverter converter: converterEntry.getValue()){
+ b.append(" ");
+ appendFormatted(b, converter.getClass().getSimpleName(), 30);
+ appendFormatted(b, converterEntry.getKey().getRawType().getSimpleName(), 30);
+ b.append(removeNewLines(converter.toString()));
+ b.append('\n');
+ }
+ }
+ b.append('}');
+ return b.toString();
+ }
+
+ private void appendFormatted(StringBuilder b, String text, int length) {
+ int padding;
+ if(text.length() <= (length)){
+ b.append(text);
+ padding = length - text.length();
+ }else{
+ b.append(text.substring(0, length-1));
+ padding = 1;
+ }
+ for(int i=0;i<padding;i++){
+ b.append(' ');
+ }
+ }
+
+ private String removeNewLines(String s) {
+ return s.replace('\n', ' ').replace('\r', ' ');
+ }
+
private static class PropertySourceComparator implements Comparator<PropertySource>, Serializable {
private static final long serialVersionUID = 1L;
@@ -244,6 +331,16 @@ public class DefaultConfigurationContext implements ConfigurationContext {
return immutablePropertySources;
}
+// @Override
+// public PropertySource getPropertySource(String name) {
+// for(PropertySource ps:getPropertySources()){
+// if(name.equals(ps.getName())){
+// return ps;
+// }
+// }
+// return null;
+// }
+
@Override
public <T> void addPropertyConverter(TypeLiteral<T> typeToConvert, PropertyConverter<T> propertyConverter) {
propertyConverterManager.register(typeToConvert, propertyConverter);
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/4a3388d7/code/core/src/main/java/org/apache/tamaya/core/internal/PropertyConverterManager.java
----------------------------------------------------------------------
diff --git a/code/core/src/main/java/org/apache/tamaya/core/internal/PropertyConverterManager.java b/code/core/src/main/java/org/apache/tamaya/core/internal/PropertyConverterManager.java
index 2ec48b4..9360a35 100644
--- a/code/core/src/main/java/org/apache/tamaya/core/internal/PropertyConverterManager.java
+++ b/code/core/src/main/java/org/apache/tamaya/core/internal/PropertyConverterManager.java
@@ -411,6 +411,22 @@ public class PropertyConverterManager {
return null;
}
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (!(o instanceof PropertyConverterManager)) return false;
+
+ PropertyConverterManager that = (PropertyConverterManager) o;
+
+ return converters.equals(that.converters);
+
+ }
+
+ @Override
+ public int hashCode() {
+ return converters.hashCode();
+ }
+
private static class DefaultPropertyConverter<T> implements PropertyConverter<T> {
private final Method factoryMethod;