You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tamaya.apache.org by po...@apache.org on 2017/10/23 22:02:56 UTC
incubator-tamaya git commit: TAMAYA-289: Revisit code
Repository: incubator-tamaya
Updated Branches:
refs/heads/master 87569d293 -> 9f0e1ddc4
TAMAYA-289: Revisit code
Remove unused methods, fix Eclipse warnings.
Fix typos in Javadoc, minor refactorings.
Project: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/commit/9f0e1ddc
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/tree/9f0e1ddc
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/diff/9f0e1ddc
Branch: refs/heads/master
Commit: 9f0e1ddc47a2faa6d9119c1a3440172ee70e3c1a
Parents: 87569d2
Author: Phil Ottlinger <po...@apache.org>
Authored: Tue Oct 24 00:02:21 2017 +0200
Committer: Phil Ottlinger <po...@apache.org>
Committed: Tue Oct 24 00:02:21 2017 +0200
----------------------------------------------------------------------
.../core/internal/ConfigValueEvaluator.java | 2 -
.../core/internal/DefaultConfiguration.java | 6 +-
.../internal/DefaultConfigurationContext.java | 17 +-
.../DefaultConfigurationContextBuilder.java | 35 +-
.../core/internal/DefaultServiceContext.java | 19 +-
.../core/internal/OSGIServiceComparator.java | 15 +-
.../core/internal/OSGIServiceContext.java | 6 +-
.../tamaya/core/internal/OSGIServiceLoader.java | 450 +++++++++----------
.../internal/PriorityServiceComparator.java | 13 +-
.../core/internal/PropertyConverterManager.java | 25 +-
.../core/internal/PropertySourceComparator.java | 58 +--
.../core/internal/WrappedPropertySource.java | 3 -
12 files changed, 280 insertions(+), 369 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/9f0e1ddc/code/core/src/main/java/org/apache/tamaya/core/internal/ConfigValueEvaluator.java
----------------------------------------------------------------------
diff --git a/code/core/src/main/java/org/apache/tamaya/core/internal/ConfigValueEvaluator.java b/code/core/src/main/java/org/apache/tamaya/core/internal/ConfigValueEvaluator.java
index 368d763..f1c8bf2 100644
--- a/code/core/src/main/java/org/apache/tamaya/core/internal/ConfigValueEvaluator.java
+++ b/code/core/src/main/java/org/apache/tamaya/core/internal/ConfigValueEvaluator.java
@@ -21,10 +21,8 @@ package org.apache.tamaya.core.internal;
import org.apache.tamaya.spi.ConfigurationContext;
import org.apache.tamaya.spi.PropertyValue;
-import java.util.HashMap;
import java.util.Map;
-
/**
* Component SPI which encapsulates the evaluation of a single or full <b>raw</b>value
* for a {@link ConfigurationContext}.
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/9f0e1ddc/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 2011133..1c22e44 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
@@ -153,7 +153,8 @@ public class DefaultConfiguration implements Configuration {
* @param <T> the value type
* @return the converted value, never {@code null}.
*/
- @Override
+ @SuppressWarnings("unchecked")
+ @Override
public <T> T get(String key, Class<T> type) {
Objects.requireNonNull(key, "Key must not be null.");
Objects.requireNonNull(type, "Target type must not be null");
@@ -180,7 +181,8 @@ public class DefaultConfiguration implements Configuration {
return convertValue(key, get(key), type);
}
- protected <T> T convertValue(String key, String value, TypeLiteral<T> type) {
+ @SuppressWarnings("unchecked")
+ protected <T> T convertValue(String key, String value, TypeLiteral<T> type) {
if (value != null) {
List<PropertyConverter<T>> converters = configurationContext.getPropertyConverters(type);
ConversionContext context = new ConversionContext.Builder(this, this.configurationContext, key, type)
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/9f0e1ddc/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 f3126af..9645681 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
@@ -29,8 +29,6 @@ import org.apache.tamaya.spi.PropertyValue;
import org.apache.tamaya.spi.PropertyValueCombinationPolicy;
import org.apache.tamaya.spi.ServiceContextManager;
-import javax.annotation.Priority;
-import java.io.Serializable;
import java.util.*;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantReadWriteLock;
@@ -45,7 +43,7 @@ public class DefaultConfigurationContext implements ConfigurationContext {
private final static Logger LOG = Logger.getLogger(DefaultConfigurationContext.class.getName());
/**
- * Cubcomponent handling {@link org.apache.tamaya.spi.PropertyConverter} instances.
+ * Subcomponent handling {@link org.apache.tamaya.spi.PropertyConverter} instances.
*/
private final PropertyConverterManager propertyConverterManager = new PropertyConverterManager();
@@ -70,13 +68,8 @@ public class DefaultConfigurationContext implements ConfigurationContext {
*/
private final ReentrantReadWriteLock propertySourceLock = new ReentrantReadWriteLock();
- /**
- * Lock for internal synchronization.
- */
- private final ReentrantReadWriteLock propertyFilterLock = new ReentrantReadWriteLock();
-
-
- DefaultConfigurationContext(DefaultConfigurationContextBuilder builder) {
+ @SuppressWarnings("unchecked")
+ DefaultConfigurationContext(DefaultConfigurationContextBuilder builder) {
List<PropertySource> propertySources = new ArrayList<>();
// first we load all PropertySources which got registered via java.util.ServiceLoader
propertySources.addAll(builder.propertySources);
@@ -89,7 +82,7 @@ public class DefaultConfigurationContext implements ConfigurationContext {
// Finally add the converters
for(Map.Entry<TypeLiteral<?>, Collection<PropertyConverter<?>>> en:builder.getPropertyConverter().entrySet()) {
- for (PropertyConverter converter : en.getValue()) {
+ for (@SuppressWarnings("rawtypes") PropertyConverter converter : en.getValue()) {
this.propertyConverterManager.register(en.getKey(), converter);
}
}
@@ -195,7 +188,7 @@ public class DefaultConfigurationContext implements ConfigurationContext {
b.append(" -------------------\n");
b.append(" CLASS TYPE INFO\n\n");
for(Map.Entry<TypeLiteral<?>, List<PropertyConverter<?>>> converterEntry:getPropertyConverters().entrySet()){
- for(PropertyConverter converter: converterEntry.getValue()){
+ for(PropertyConverter<?> converter: converterEntry.getValue()){
b.append(" ");
appendFormatted(b, converter.getClass().getSimpleName(), 30);
appendFormatted(b, converterEntry.getKey().getRawType().getSimpleName(), 30);
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/9f0e1ddc/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 8d4dda4..2ddade6 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
@@ -64,8 +64,6 @@ public class DefaultConfigurationContextBuilder implements ConfigurationContextB
*/
private boolean built;
-
-
/**
* Creates a new builder instance.
*/
@@ -103,7 +101,6 @@ public class DefaultConfigurationContextBuilder implements ConfigurationContextB
return this;
}
-
@Override
public ConfigurationContextBuilder setContext(ConfigurationContext context) {
checkBuilderState();
@@ -162,8 +159,8 @@ public class DefaultConfigurationContextBuilder implements ConfigurationContextB
return this;
}
-
- @Override
+ @SuppressWarnings({ "rawtypes", "unchecked" })
+ @Override
public DefaultConfigurationContextBuilder addDefaultPropertyConverters() {
checkBuilderState();
addCorePropertyConverters();
@@ -175,7 +172,8 @@ public class DefaultConfigurationContextBuilder implements ConfigurationContextB
return this;
}
- private void addCorePropertyConverters() {
+ @SuppressWarnings("unchecked")
+ private void addCorePropertyConverters() {
addPropertyConverters(TypeLiteral.<BigDecimal>of(BigDecimal.class), new BigDecimalConverter());
addPropertyConverters(TypeLiteral.<BigInteger>of(BigInteger.class), new BigIntegerConverter());
addPropertyConverters(TypeLiteral.<Boolean>of(Boolean.class), new BooleanConverter());
@@ -207,15 +205,6 @@ public class DefaultConfigurationContextBuilder implements ConfigurationContextB
return this;
}
- private PropertySource getPropertySource(String name) {
- for(PropertySource ps:propertySources){
- if(ps.getName().equals(name)){
- return ps;
- }
- }
- throw new IllegalArgumentException("No such PropertySource: "+name);
- }
-
@Override
public List<PropertySource> getPropertySources() {
return this.propertySources;
@@ -308,7 +297,7 @@ public class DefaultConfigurationContextBuilder implements ConfigurationContextB
@Override
public <T> ConfigurationContextBuilder removePropertyConverters(TypeLiteral<T> typeToConvert,
- PropertyConverter<T>... converters) {
+ @SuppressWarnings("unchecked") PropertyConverter<T>... converters) {
return removePropertyConverters(typeToConvert, Arrays.asList(converters));
}
@@ -328,7 +317,6 @@ public class DefaultConfigurationContextBuilder implements ConfigurationContextB
return this;
}
-
@Override
public ConfigurationContextBuilder setPropertyValueCombinationPolicy(PropertyValueCombinationPolicy combinationPolicy){
checkBuilderState();
@@ -336,9 +324,8 @@ public class DefaultConfigurationContextBuilder implements ConfigurationContextB
return this;
}
-
@Override
- public <T> ConfigurationContextBuilder addPropertyConverters(TypeLiteral<T> type, PropertyConverter<T>... propertyConverters){
+ public <T> ConfigurationContextBuilder addPropertyConverters(TypeLiteral<T> type, @SuppressWarnings("unchecked") PropertyConverter<T>... propertyConverters){
checkBuilderState();
Objects.requireNonNull(type);
Objects.requireNonNull(propertyConverters);
@@ -377,11 +364,6 @@ public class DefaultConfigurationContextBuilder implements ConfigurationContextB
return this;
}
- private WrappedPropertySource getWrappedPropertySource(PropertySource delegate) {
- PropertySource ps = getPropertySource(delegate.getName());
- return WrappedPropertySource.of(ps);
- }
-
protected ConfigurationContextBuilder loadDefaults() {
checkBuilderState();
this.combinationPolicy = PropertyValueCombinationPolicy.DEFAULT_OVERRIDING_POLICY;
@@ -391,8 +373,8 @@ public class DefaultConfigurationContextBuilder implements ConfigurationContextB
return this;
}
-
- private Map<TypeLiteral, Collection<PropertyConverter>> getDefaultPropertyConverters() {
+ @SuppressWarnings("rawtypes")
+ private Map<TypeLiteral, Collection<PropertyConverter>> getDefaultPropertyConverters() {
Map<TypeLiteral, Collection<PropertyConverter>> result = new HashMap<>();
for (PropertyConverter conv : ServiceContextManager.getServiceContext().getServices(
PropertyConverter.class)) {
@@ -408,7 +390,6 @@ public class DefaultConfigurationContextBuilder implements ConfigurationContextB
return result;
}
-
/**
* Builds a new configuration based on the configuration of this builder instance.
*
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/9f0e1ddc/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 7146ccf..04377e2 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
@@ -44,7 +44,8 @@ public final class DefaultServiceContext implements ServiceContext {
* Singletons.
*/
private final Map<Class<?>, Object> singletons = new ConcurrentHashMap<>();
- private Map<Class, Class> factoryTypes = new ConcurrentHashMap<>();
+ @SuppressWarnings("rawtypes")
+ private Map<Class, Class> factoryTypes = new ConcurrentHashMap<>();
@Override
public <T> T getService(Class<T> serviceType) {
@@ -60,7 +61,8 @@ public final class DefaultServiceContext implements ServiceContext {
@Override
public <T> T create(Class<T> serviceType) {
- Class<? extends T> implType = factoryTypes.get(serviceType);
+ @SuppressWarnings("unchecked")
+ Class<? extends T> implType = factoryTypes.get(serviceType);
if(implType==null) {
Collection<T> services = getServices(serviceType);
if (services.isEmpty()) {
@@ -72,7 +74,7 @@ public final class DefaultServiceContext implements ServiceContext {
try {
return implType.newInstance();
} catch (Exception e) {
- LOG.log(Level.SEVERE, "Failed to create instabce of " + implType.getName(), e);
+ LOG.log(Level.SEVERE, "Failed to create instance of " + implType.getName(), e);
return null;
}
}
@@ -86,7 +88,8 @@ public final class DefaultServiceContext implements ServiceContext {
*/
@Override
public <T> List<T> getServices(final Class<T> serviceType) {
- List<T> found = (List<T>) servicesLoaded.get(serviceType);
+ @SuppressWarnings("unchecked")
+ List<T> found = (List<T>) servicesLoaded.get(serviceType);
if (found != null) {
return found;
}
@@ -109,13 +112,14 @@ public final class DefaultServiceContext implements ServiceContext {
services = Collections.emptyList();
}
}
- final List<T> previousServices = List.class.cast(servicesLoaded.putIfAbsent(serviceType, (List<Object>) services));
+ @SuppressWarnings("unchecked")
+ final List<T> previousServices = List.class.cast(servicesLoaded.putIfAbsent(serviceType, (List<Object>) services));
return previousServices != null ? previousServices : services;
}
/**
- * Checks the given instance for a @Priority annotation. If present the annotation's value s evaluated. If no such
- * annotation is present, a default priority is returned (1);
+ * Checks the given instance for a @Priority annotation. If present the annotation's value is evaluated. If no such
+ * annotation is present, a default priority of {@code 1} is returned.
* @param o the instance, not {@code null}.
* @return a priority, by default 1.
*/
@@ -197,5 +201,4 @@ public final class DefaultServiceContext implements ServiceContext {
return cl.getResource(resource);
}
-
}
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/9f0e1ddc/code/core/src/main/java/org/apache/tamaya/core/internal/OSGIServiceComparator.java
----------------------------------------------------------------------
diff --git a/code/core/src/main/java/org/apache/tamaya/core/internal/OSGIServiceComparator.java b/code/core/src/main/java/org/apache/tamaya/core/internal/OSGIServiceComparator.java
index a1a99b6..c9815cf 100644
--- a/code/core/src/main/java/org/apache/tamaya/core/internal/OSGIServiceComparator.java
+++ b/code/core/src/main/java/org/apache/tamaya/core/internal/OSGIServiceComparator.java
@@ -24,8 +24,9 @@ import javax.annotation.Priority;
import java.util.Comparator;
/**
- * Comparator implementation for odering services loaded based on their increasing priority values.
+ * Comparator implementation for ordering services loaded based on their increasing priority values.
*/
+@SuppressWarnings("rawtypes")
class OSGIServiceComparator implements Comparator<ServiceReference> {
@Override
@@ -41,8 +42,8 @@ class OSGIServiceComparator implements Comparator<ServiceReference> {
}
/**
- * Checks the given instance for a @Priority annotation. If present the annotation's value s evaluated. If no such
- * annotation is present, a default priority is returned (1);
+ * Checks the given instance for a @Priority annotation. If present the annotation's value is evaluated. If no such
+ * annotation is present, a default priority {@code 1} is returned.
*
* @param o the instance, not {@code null}.
* @return a priority, by default 1.
@@ -52,15 +53,15 @@ class OSGIServiceComparator implements Comparator<ServiceReference> {
}
/**
- * Checks the given type optionally annotated with a @Priority. If present the annotation's value s evaluated.
- * If no such annotation is present, a default priority is returned (1);
+ * Checks the given type optionally annotated with a @Priority. If present the annotation's value is evaluated.
+ * If no such annotation is present, a default priority {@code 1} is returned.
*
* @param type the type, not {@code null}.
* @return a priority, by default 1.
*/
- public static int getPriority(Class type) {
+ public static int getPriority(Class<? extends Object> type) {
int prio = 1;
- Priority priority = (Priority)type.getAnnotation(Priority.class);
+ Priority priority = type.getAnnotation(Priority.class);
if (priority != null) {
prio = priority.value();
}
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/9f0e1ddc/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 d17650b..ddbf692 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
@@ -61,7 +61,8 @@ public class OSGIServiceContext implements ServiceContext{
return this.osgiServiceLoader.getBundleContext().getService(ref);
}
if(ConfigurationProviderSpi.class==serviceType){
- T service = (T)new DefaultConfigurationProvider();
+ @SuppressWarnings("unchecked")
+ T service = (T)new DefaultConfigurationProvider();
this.osgiServiceLoader.getBundleContext().registerService(
serviceType.getName(),
service,
@@ -71,7 +72,8 @@ public class OSGIServiceContext implements ServiceContext{
return null;
}
- @Override
+ @SuppressWarnings("unchecked")
+ @Override
public <T> T create(Class<T> serviceType) {
LOG.finest("TAMAYA Creating service: " + serviceType.getName());
ServiceReference<T> ref = this.osgiServiceLoader.getBundleContext().getServiceReference(serviceType);
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/9f0e1ddc/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 dae7bea..3bf0291 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
@@ -23,247 +23,231 @@ import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URL;
import java.util.*;
-import java.util.concurrent.ConcurrentHashMap;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.osgi.framework.*;
-import org.osgi.util.tracker.ServiceTracker;
/**
- * An bundle listener that registers services defined in META-INF/services, when a bundle is starting.
+ * A bundle listener that registers services defined in META-INF/services, when
+ * a bundle is starting.
*
* @author anatole@apache.org
*/
+@SuppressWarnings("rawtypes")
public class OSGIServiceLoader implements BundleListener {
- // Provide logging
- private static final Logger log = Logger.getLogger(OSGIServiceLoader.class.getName());
- private static final String META_INF_SERVICES = "META-INF/services/";
-
- private BundleContext context;
-
- private Set<Bundle> resourceBundles = Collections.synchronizedSet(new HashSet<Bundle>());
-
- 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(){
- return context;
- }
-
- public Set<Bundle> getResourceBundles(){
- synchronized (resourceBundles){
- return new HashSet<>(resourceBundles);
- }
- }
-
- @Override
- public void bundleChanged(BundleEvent bundleEvent) {
- // Parse and create metadata when installed
- if (bundleEvent.getType() == BundleEvent.STARTED) {
- Bundle bundle = bundleEvent.getBundle();
- checkAndLoadBundle(bundle);
- } else if (bundleEvent.getType() == BundleEvent.STOPPED) {
- Bundle bundle = bundleEvent.getBundle();
- 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);
- }
- }
- }
-
- 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);
- }
- }
- }
-
- private void processEntryPath(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);
- 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){
- int hashIndex = implClassName.indexOf("#");
- if (hashIndex > 0) {
- implClassName = implClassName.substring(0, hashIndex-1);
- }
- else if (hashIndex == 0) {
- implClassName = "";
- }
- implClassName = implClassName.trim();
- 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());
- String vendor = bundle.getHeaders().get(Constants.BUNDLE_VENDOR);
- props.put(Constants.SERVICE_VENDOR, (vendor != null ? vendor : "anonymous"));
- // Translate annotated @Priority into a service ranking
- props.put(Constants.SERVICE_RANKING,
- String.valueOf(PriorityServiceComparator.getPriority(implClass)));
-
- // Register the service factory on behalf of the intercepted bundle
- JDKUtilServiceFactory factory = new JDKUtilServiceFactory(implClass);
- BundleContext bundleContext = bundle.getBundleContext();
- bundleContext.registerService(serviceName, factory, props);
- log.info("Registered Tamaya service class: " + implClassName +"("+serviceName+")");
- }
- catch(Exception e){
- log.log(Level.SEVERE,
- "Failed to load service: " + implClassName, e);
- }
- catch(NoClassDefFoundError err){
- log.log(Level.SEVERE,
- "Failed to load service: " + implClassName, err);
- }
- }
- implClassName = br.readLine();
- }
- br.close();
- }
- catch (RuntimeException rte) {
- throw rte;
- }
- catch (Exception e) {
- log.log(Level.SEVERE, "Failed to read services from: " + entryPath, e);
- }
- }
-
- 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);
- InputStream inStream = child.openStream();
-
- BufferedReader br = new BufferedReader(new InputStreamReader(inStream, "UTF-8"));
- String implClassName = br.readLine();
- while (implClassName != null){
- int hashIndex = implClassName.indexOf("#");
- if (hashIndex > 0) {
- implClassName = implClassName.substring(0, hashIndex-1);
- }
- else if (hashIndex == 0) {
- implClassName = "";
- }
- implClassName = implClassName.trim();
- if (implClassName.length() > 0) {
- log.fine("Unloading Service ("+serviceName+"): " + implClassName);
- try {
- // Load the service class
- Class<?> implClass = bundle.loadClass(implClassName);
- if (!serviceClass.isAssignableFrom(implClass)) {
- log.warning("Configured service: " + implClassName + " is not assignble to " +
- serviceClass.getName());
- continue;
- }
- ServiceReference<?> ref = bundle.getBundleContext().getServiceReference(implClass);
- if(ref!=null){
- bundle.getBundleContext().ungetService(ref);
- }
- }
- catch(Exception e){
- log.log(Level.SEVERE,
- "Failed to unload service: " + implClassName, e);
- }
- catch(NoClassDefFoundError err){
- log.log(Level.SEVERE,
- "Failed to unload service: " + implClassName, err);
- }
- }
- implClassName = br.readLine();
- }
- br.close();
- }
- catch (RuntimeException rte) {
- throw rte;
- }
- catch (Exception e) {
- log.log(Level.SEVERE, "Failed to read services from: " + entryPath, e);
- }
- }
-
- /**
- * Service factory simply instantiating the configured service.
- */
- static class JDKUtilServiceFactory implements ServiceFactory
- {
- private final Class<?> serviceClass;
-
- public JDKUtilServiceFactory(Class<?> serviceClass) {
- this.serviceClass = serviceClass;
- }
-
- @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("Failed to create service: " + serviceClass.getName(), ex);
- }
- }
-
- @Override
- public void ungetService(Bundle bundle, ServiceRegistration registration, Object service) {
- }
- }
+ // Provide logging
+ private static final Logger log = Logger.getLogger(OSGIServiceLoader.class.getName());
+ private static final String META_INF_SERVICES = "META-INF/services/";
+
+ private BundleContext context;
+
+ private Set<Bundle> resourceBundles = Collections.synchronizedSet(new HashSet<Bundle>());
+
+ 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() {
+ return context;
+ }
+
+ public Set<Bundle> getResourceBundles() {
+ synchronized (resourceBundles) {
+ return new HashSet<>(resourceBundles);
+ }
+ }
+
+ @Override
+ public void bundleChanged(BundleEvent bundleEvent) {
+ // Parse and create metadata when installed
+ if (bundleEvent.getType() == BundleEvent.STARTED) {
+ Bundle bundle = bundleEvent.getBundle();
+ checkAndLoadBundle(bundle);
+ } else if (bundleEvent.getType() == BundleEvent.STOPPED) {
+ Bundle bundle = bundleEvent.getBundle();
+ 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);
+ }
+ }
+ }
+
+ 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);
+ }
+ }
+ }
+
+ private void processEntryPath(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);
+ InputStream inStream = child.openStream();
+ log.info("Loading Services " + serviceClass.getName() + " from bundle...: " + bundle.getSymbolicName());
+ try (BufferedReader br = new BufferedReader(new InputStreamReader(inStream, "UTF-8"))) {
+ String implClassName = br.readLine();
+ while (implClassName != null) {
+ int hashIndex = implClassName.indexOf("#");
+ if (hashIndex > 0) {
+ implClassName = implClassName.substring(0, hashIndex - 1);
+ } else if (hashIndex == 0) {
+ implClassName = "";
+ }
+ implClassName = implClassName.trim();
+ 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 assignable 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());
+ String vendor = bundle.getHeaders().get(Constants.BUNDLE_VENDOR);
+ props.put(Constants.SERVICE_VENDOR, (vendor != null ? vendor : "anonymous"));
+ // Translate annotated @Priority into a service ranking
+ props.put(Constants.SERVICE_RANKING,
+ String.valueOf(PriorityServiceComparator.getPriority(implClass)));
+
+ // Register the service factory on behalf of the intercepted bundle
+ JDKUtilServiceFactory factory = new JDKUtilServiceFactory(implClass);
+ BundleContext bundleContext = bundle.getBundleContext();
+ bundleContext.registerService(serviceName, factory, props);
+ log.info("Registered Tamaya service class: " + implClassName + "(" + serviceName + ")");
+ } catch (Exception e) {
+ log.log(Level.SEVERE, "Failed to load service: " + implClassName, e);
+ } catch (NoClassDefFoundError err) {
+ log.log(Level.SEVERE, "Failed to load service: " + implClassName, err);
+ }
+ }
+ implClassName = br.readLine();
+ }
+ }
+ } catch (RuntimeException rte) {
+ throw rte;
+ } catch (Exception e) {
+ log.log(Level.SEVERE, "Failed to read services from: " + entryPath, e);
+ }
+ }
+
+ 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);
+ InputStream inStream = child.openStream();
+
+ BufferedReader br = new BufferedReader(new InputStreamReader(inStream, "UTF-8"));
+ String implClassName = br.readLine();
+ while (implClassName != null) {
+ int hashIndex = implClassName.indexOf("#");
+ if (hashIndex > 0) {
+ implClassName = implClassName.substring(0, hashIndex - 1);
+ } else if (hashIndex == 0) {
+ implClassName = "";
+ }
+ implClassName = implClassName.trim();
+ if (implClassName.length() > 0) {
+ log.fine("Unloading Service (" + serviceName + "): " + implClassName);
+ try {
+ // Load the service class
+ Class<?> implClass = bundle.loadClass(implClassName);
+ if (!serviceClass.isAssignableFrom(implClass)) {
+ log.warning("Configured service: " + implClassName + " is not assignable to "
+ + serviceClass.getName());
+ continue;
+ }
+ ServiceReference<?> ref = bundle.getBundleContext().getServiceReference(implClass);
+ if (ref != null) {
+ bundle.getBundleContext().ungetService(ref);
+ }
+ } catch (Exception e) {
+ log.log(Level.SEVERE, "Failed to unload service: " + implClassName, e);
+ } catch (NoClassDefFoundError err) {
+ log.log(Level.SEVERE, "Failed to unload service: " + implClassName, err);
+ }
+ }
+ implClassName = br.readLine();
+ }
+ br.close();
+ } catch (RuntimeException rte) {
+ throw rte;
+ } catch (Exception e) {
+ log.log(Level.SEVERE, "Failed to read services from: " + entryPath, e);
+ }
+ }
+
+ /**
+ * Service factory simply instantiating the configured service.
+ */
+ static class JDKUtilServiceFactory implements ServiceFactory {
+ private final Class<?> serviceClass;
+
+ public JDKUtilServiceFactory(Class<?> serviceClass) {
+ this.serviceClass = serviceClass;
+ }
+
+ @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("Failed to create service: " + serviceClass.getName(), ex);
+ }
+ }
+
+ @Override
+ public void ungetService(Bundle bundle, ServiceRegistration registration, Object service) {
+ }
+ }
}
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/9f0e1ddc/code/core/src/main/java/org/apache/tamaya/core/internal/PriorityServiceComparator.java
----------------------------------------------------------------------
diff --git a/code/core/src/main/java/org/apache/tamaya/core/internal/PriorityServiceComparator.java b/code/core/src/main/java/org/apache/tamaya/core/internal/PriorityServiceComparator.java
index d94f0d4..3b2ff5a 100644
--- a/code/core/src/main/java/org/apache/tamaya/core/internal/PriorityServiceComparator.java
+++ b/code/core/src/main/java/org/apache/tamaya/core/internal/PriorityServiceComparator.java
@@ -22,7 +22,7 @@ import javax.annotation.Priority;
import java.util.Comparator;
/**
- * Comparator implementation for odering services loaded based on their increasing priority values.
+ * Comparator implementation for ordering services loaded based on their increasing priority values.
*/
public class PriorityServiceComparator implements Comparator<Object> {
@@ -52,8 +52,8 @@ public class PriorityServiceComparator implements Comparator<Object> {
}
/**
- * Checks the given instance for a @Priority annotation. If present the annotation's value s evaluated. If no such
- * annotation is present, a default priority is returned (1);
+ * Checks the given instance for a @Priority annotation. If present the annotation's value is evaluated. If no such
+ * annotation is present, a default priority {@code 1} is returned.
*
* @param o the instance, not {@code null}.
* @return a priority, by default 1.
@@ -63,15 +63,16 @@ public class PriorityServiceComparator implements Comparator<Object> {
}
/**
- * Checks the given type optionally annotated with a @Priority. If present the annotation's value s evaluated.
- * If no such annotation is present, a default priority is returned (1);
+ * Checks the given type optionally annotated with a @Priority. If present the annotation's value is evaluated.
+ * If no such annotation is present, a default priority {@code 1} is returned.
*
* @param type the type, not {@code null}.
* @return a priority, by default 1.
*/
+ @SuppressWarnings({ "rawtypes", "unchecked" })
public static int getPriority(Class type) {
int prio = 1;
- Priority priority = (Priority)type.getAnnotation(Priority.class);
+ Priority priority = (Priority)type.getAnnotation(Priority.class);
if (priority != null) {
prio = priority.value();
}
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/9f0e1ddc/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 867553a..eb5fa92 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
@@ -92,26 +92,28 @@ public class PropertyConverterManager {
/**
* Registers the default converters provided out of the box.
*/
+ @SuppressWarnings({ "rawtypes", "unchecked" })
protected void initConverters() {
- for (PropertyConverter conv : ServiceContextManager.getServiceContext().getServices(PropertyConverter.class)) {
+ for ( PropertyConverter conv : ServiceContextManager.getServiceContext().getServices(PropertyConverter.class)) {
Type type = TypeLiteral.getGenericInterfaceTypeParameters(conv.getClass(), PropertyConverter.class)[0];
register(TypeLiteral.of(type), conv);
}
}
/**
- * Registers a ew converter instance.
+ * Registers a new converter instance.
*
* @param targetType the target type, not {@code null}.
* @param converter the converter, not {@code null}.
* @param <T> the type.
*/
+ @SuppressWarnings("unchecked")
public <T> void register(TypeLiteral<T> targetType, PropertyConverter<T> converter) {
Objects.requireNonNull(converter);
Lock writeLock = lock.writeLock();
try {
writeLock.lock();
- List converters = List.class.cast(this.converters.get(targetType));
+ List<PropertyConverter<?>> converters = List.class.cast(this.converters.get(targetType));
if(converters!=null && converters.contains(converter)){
return;
}
@@ -194,12 +196,12 @@ public class PropertyConverterManager {
/**
* Get the list of all current registered converters for the given target type.
* If not converters are registered, they component tries to create and register a dynamic
- * converter based on String costructor or static factory methods available.
+ * converter based on String constructor or static factory methods available.
* The converters provided are of the following type and returned in the following order:
* <ul>
* <li>Converters mapped explicitly to the required target type are returned first, ordered
* by decreasing priority. This means, if explicit converters are registered these are used
- * primarly for converting a value.</li>
+ * primarily for converting a value.</li>
* <li>The target type of each explicitly registered converter also can be transitively mapped to
* 1) all directly implemented interfaces, 2) all its superclasses (except Object), 3) all the interfaces
* implemented by its superclasses. These groups of transitive converters is returned similarly in the
@@ -219,10 +221,10 @@ public class PropertyConverterManager {
* @return the ordered list of converters (may be empty for not convertible types).
* @see #createDefaultPropertyConverter(org.apache.tamaya.TypeLiteral)
*/
- public <T> List<PropertyConverter<T>> getPropertyConverters(TypeLiteral<T> targetType) {
+ @SuppressWarnings("unchecked")
+ public <T> List<PropertyConverter<T>> getPropertyConverters(TypeLiteral<T> targetType) {
Lock readLock = lock.readLock();
List<PropertyConverter<T>> converterList = new ArrayList<>();
- List<PropertyConverter<T>> converters;
// direct mapped converters
try {
readLock.lock();
@@ -285,7 +287,8 @@ public class PropertyConverterManager {
* @param <T> the type
* @return the boxed type, or null.
*/
- private <T> TypeLiteral<T> mapBoxedType(TypeLiteral<T> targetType) {
+ @SuppressWarnings("unchecked")
+ private <T> TypeLiteral<T> mapBoxedType(TypeLiteral<T> targetType) {
Type parameterType = targetType.getType();
if (parameterType == int.class) {
return TypeLiteral.class.cast(TypeLiteral.of(Integer.class));
@@ -359,7 +362,7 @@ public class PropertyConverterManager {
try {
constr = targetType.getRawType().getDeclaredConstructor(String.class);
} catch (NoSuchMethodException e) {
- LOG.log(Level.FINEST, "No matching constrctor for " + targetType, e);
+ LOG.log(Level.FINEST, "No matching constructor for " + targetType, e);
return null;
}
converter = new PropertyConverter<T>() {
@@ -418,7 +421,6 @@ public class PropertyConverterManager {
PropertyConverterManager that = (PropertyConverterManager) o;
return converters.equals(that.converters);
-
}
@Override
@@ -442,8 +444,7 @@ public class PropertyConverterManager {
if (!Modifier.isStatic(factoryMethod.getModifiers())) {
throw new ConfigException(factoryMethod.toGenericString() +
- " is not a static method. Only static " +
- "methods can be used as factory methods.");
+ " is not a static method. Only static methods can be used as factory methods.");
}
try {
AccessController.doPrivileged(new PrivilegedAction<Object>() {
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/9f0e1ddc/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 64e245d..20ca097 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
@@ -19,17 +19,10 @@
package org.apache.tamaya.core.internal;
import org.apache.tamaya.spi.PropertySource;
-import org.apache.tamaya.spi.PropertyValue;
import javax.annotation.Priority;
import java.io.Serializable;
-import java.lang.reflect.Field;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
import java.util.Comparator;
-import java.util.logging.Level;
-import java.util.logging.Logger;
/**
* Comparator for ordering of PropertySources based on their ordinal method and class name.
@@ -38,8 +31,6 @@ public class PropertySourceComparator implements Comparator<PropertySource>, Ser
private static final long serialVersionUID = 1L;
- private static final Logger LOG = Logger.getLogger(PropertySourceComparator.class.getName());
-
private static final PropertySourceComparator INSTANCE = new PropertySourceComparator();
/** Singleton constructor. */
@@ -54,7 +45,7 @@ public class PropertySourceComparator implements Comparator<PropertySource>, Ser
}
/**
- * Order property source reversely, the most important come first.
+ * Order property source reversely, the most important comes first.
*
* @param source1 the first PropertySource
* @param source2 the second PropertySource
@@ -71,63 +62,20 @@ public class PropertySourceComparator implements Comparator<PropertySource>, Ser
}
/**
- * Evaluates an ordinal value from a {@link PropertySource}, Herey the ordinal of type {@code int}
+ * Evaluates an ordinal value from a {@link PropertySource}, Hereby the ordinal of type {@code int}
* is evaluated as follows:
* <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 static field {@code int ORDINAL}.</li>
- * <li>It tries to find an d evaluate a class level {@link Priority} annotation.</li>
+ * <li>It tries to find and evaluate a class level {@link Priority} annotation.</li>
* <li>It uses the default priority ({@code 0}.</li>
* </ol>
* @param propertySource the property source, not {@code null}.
* @return the ordinal value to compare the property source.
*/
public static int getOrdinal(PropertySource propertySource) {
-// PropertyValue ordinalValue = propertySource.get(PropertySource.TAMAYA_ORDINAL);
-// if(ordinalValue!=null){
-// try{
-// return Integer.parseInt(ordinalValue.getProperty().trim());
-// }catch(Exception e){
-// LOG.finest("Failed to parse ordinal from " + PropertySource.TAMAYA_ORDINAL +
-// " in " + propertySource.getName()+": "+ordinalValue.getProperty());
-// }
-// }
-// try {
-// Method method = propertySource.getClass().getMethod("getOrdinal");
-// if(int.class.equals(method.getReturnType())){
-// if(!method.isAccessible()){
-// method.setAccessible(true);
-// }
-// try {
-// return (int)method.invoke(propertySource);
-// } catch (Exception e) {
-// LOG.log(Level.FINEST, "Error calling 'int getOrdinal()' on " + propertySource.getName(), e);
-// }
-// }
-// } catch (NoSuchMethodException e) {
-// LOG.finest("No 'int getOrdinal()' method found in " + propertySource.getName());
-// }
-// try {
-// Field field = propertySource.getClass().getField("ORDINAL");
-// if(int.class.equals(field.getType()) && Modifier.isStatic(field.getModifiers())){
-// if(!field.isAccessible()){
-// field.setAccessible(true);
-// }
-// try {
-// return (int)field.get(propertySource);
-// } catch (Exception e) {
-// LOG.log(Level.FINEST, "Error evaluating 'int ORDINAL' on " + propertySource.getName(), e);
-// }
-// }
-// } catch (NoSuchFieldException e) {
-// LOG.finest("No 'int ORDINAL' field found in " + propertySource.getName());
-// }
-// Priority prio = propertySource.getClass().getAnnotation(Priority.class);
-// if(prio!=null){
-// return prio.value();
-// }
return propertySource.getOrdinal();
}
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/9f0e1ddc/code/core/src/main/java/org/apache/tamaya/core/internal/WrappedPropertySource.java
----------------------------------------------------------------------
diff --git a/code/core/src/main/java/org/apache/tamaya/core/internal/WrappedPropertySource.java b/code/core/src/main/java/org/apache/tamaya/core/internal/WrappedPropertySource.java
index 32bb12b..34f4361 100644
--- a/code/core/src/main/java/org/apache/tamaya/core/internal/WrappedPropertySource.java
+++ b/code/core/src/main/java/org/apache/tamaya/core/internal/WrappedPropertySource.java
@@ -105,7 +105,6 @@ class WrappedPropertySource implements PropertySource{
WrappedPropertySource that = (WrappedPropertySource) o;
return getDelegate().getName().equals(that.getDelegate().getName());
-
}
@Override
@@ -123,6 +122,4 @@ class WrappedPropertySource implements PropertySource{
", delegate-class=" + delegate.getClass().getName() +
'}';
}
-
-
}