Repository: incubator-tamaya-extensions Updated Branches: refs/heads/configjsr 91c8e6923 -> d28a3f570
- Adapted OSGI deps. - Defined clear resolvability of packages, removing redundancies. - Refactored parts of TypeLiteral into util class. Signed-off-by: Anatole Tresch <[email protected]> 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/d28a3f57 Tree: http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/tree/d28a3f57 Diff: http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/diff/d28a3f57 Branch: refs/heads/configjsr Commit: d28a3f5706a9a6b7b26027277292dcaf9a9a0d2a Parents: 91c8e69 Author: Anatole Tresch <[email protected]> Authored: Mon Feb 5 19:48:21 2018 +0100 Committer: Anatole Tresch <[email protected]> Committed: Mon Feb 5 19:48:21 2018 +0100 ---------------------------------------------------------------------- .../tamaya/ext/examples/resources/Main.java | 2 - .../tamay/ext/examples/resolver/Main.java | 2 - .../apache/tamaya/ext/examples/events/Main.java | 17 +++--- .../tamaya/events/ConfigChangeBuilder.java | 8 +-- .../tamaya/events/ConfigEventManager.java | 4 +- .../org/apache/tamaya/events/FrozenConfig.java | 5 +- .../internal/DefaultConfigEventManagerSpi.java | 6 +-- .../tamaya/format/ConfigurationDataBuilder.java | 20 ++----- .../MappedConfigurationDataConfigSource.java | 14 +---- .../org/apache/tamaya/json/JSONVisitor.java | 2 +- .../functions/ConfigurationFunctions.java | 9 ++-- .../tamaya/functions/EnrichedConfiguration.java | 2 +- .../tamaya/cdi/ServiceLoaderServiceContext.java | 2 +- .../apache/tamaya/inject/api/DynamicValue.java | 1 - .../inject/internal/ConfiguredFieldImpl.java | 27 ++++------ .../inject/internal/ConfiguredSetterMethod.java | 10 ++-- .../inject/internal/ConfiguredTypeImpl.java | 7 +-- .../tamaya/inject/internal/InjectionHelper.java | 2 +- .../MutableConfigurationProvider.java | 55 ++++++++------------ .../org/apache/tamaya/osgi/ConfigHistory.java | 2 +- .../apache/tamaya/osgi/TamayaConfigPlugin.java | 2 +- .../tamaya/gogo/shell/ConfigCommands.java | 2 +- .../tamaya/gogo/shell/HistoryCommands.java | 2 +- .../apache/tamaya/osgi/injection/Activator.java | 4 +- .../injection/OSGIConfigurationInjector.java | 1 - .../osgi/injection/TamayaOSGIInjector.java | 6 +-- .../karaf/shell/ApplyTamayaConfigCommand.java | 1 - .../karaf/shell/HistoryDeleteAllCommand.java | 1 - .../internal/DefaultExpressionEvaluator.java | 13 ++--- 29 files changed, 72 insertions(+), 157 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/d28a3f57/examples/01-resources-example/src/main/java/org/apache/tamaya/ext/examples/resources/Main.java ---------------------------------------------------------------------- diff --git a/examples/01-resources-example/src/main/java/org/apache/tamaya/ext/examples/resources/Main.java b/examples/01-resources-example/src/main/java/org/apache/tamaya/ext/examples/resources/Main.java index f6b3d6f..9d8b75a 100644 --- a/examples/01-resources-example/src/main/java/org/apache/tamaya/ext/examples/resources/Main.java +++ b/examples/01-resources-example/src/main/java/org/apache/tamaya/ext/examples/resources/Main.java @@ -21,8 +21,6 @@ package org.apache.tamaya.ext.examples.resources; import javax.config.Config; import javax.config.ConfigProvider; import java.io.PrintStream; -import java.util.Map; -import java.util.TreeMap; import java.util.logging.LogManager; import java.util.logging.Logger; http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/d28a3f57/examples/02-resolver-example/src/main/java/org/apache/tamay/ext/examples/resolver/Main.java ---------------------------------------------------------------------- diff --git a/examples/02-resolver-example/src/main/java/org/apache/tamay/ext/examples/resolver/Main.java b/examples/02-resolver-example/src/main/java/org/apache/tamay/ext/examples/resolver/Main.java index 24b6f98..c27b1be 100644 --- a/examples/02-resolver-example/src/main/java/org/apache/tamay/ext/examples/resolver/Main.java +++ b/examples/02-resolver-example/src/main/java/org/apache/tamay/ext/examples/resolver/Main.java @@ -21,8 +21,6 @@ package org.apache.tamay.ext.examples.resolver; import javax.config.Config; import javax.config.ConfigProvider; import java.io.PrintStream; -import java.util.Map; -import java.util.TreeMap; import java.util.logging.LogManager; import java.util.logging.Logger; http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/d28a3f57/examples/04-events-example/src/main/java/org/apache/tamaya/ext/examples/events/Main.java ---------------------------------------------------------------------- diff --git a/examples/04-events-example/src/main/java/org/apache/tamaya/ext/examples/events/Main.java b/examples/04-events-example/src/main/java/org/apache/tamaya/ext/examples/events/Main.java index 6b319d9..0fdc073 100644 --- a/examples/04-events-example/src/main/java/org/apache/tamaya/ext/examples/events/Main.java +++ b/examples/04-events-example/src/main/java/org/apache/tamaya/ext/examples/events/Main.java @@ -85,17 +85,14 @@ public class Main { } private static void installCleanupHook(final Path path) { - Runtime.getRuntime().addShutdownHook(new Thread() { - @Override - public void run() { - try { - Files.delete(path); - out.println("Removed " + path); - } catch (IOException e) { - throw new RuntimeException("Failed to delete " + path, e); - } + Runtime.getRuntime().addShutdownHook(new Thread(() -> { + try { + Files.delete(path); + out.println("Removed " + path); + } catch (IOException e) { + throw new RuntimeException("Failed to delete " + path, e); } - }); + })); } static Path getPropertiesFilePath() { http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/d28a3f57/modules/events/src/main/java/org/apache/tamaya/events/ConfigChangeBuilder.java ---------------------------------------------------------------------- diff --git a/modules/events/src/main/java/org/apache/tamaya/events/ConfigChangeBuilder.java b/modules/events/src/main/java/org/apache/tamaya/events/ConfigChangeBuilder.java index a170ab4..ba631a3 100644 --- a/modules/events/src/main/java/org/apache/tamaya/events/ConfigChangeBuilder.java +++ b/modules/events/src/main/java/org/apache/tamaya/events/ConfigChangeBuilder.java @@ -95,9 +95,7 @@ public final class ConfigChangeBuilder { for (String key : previous.getPropertyNames()) { String previousValue = previous.getValue(key, String.class); Optional<String> currentValue = current.getOptionalValue(key, String.class); - if(Objects.equals(currentValue.orElse(null), previousValue)){ - continue; - }else { + if(!Objects.equals(currentValue.orElse(null), previousValue)){ PropertyChangeEvent event = new PropertyChangeEvent(previous, key, previousValue, currentValue.orElse(null)); events.put(key, event); } @@ -106,9 +104,7 @@ public final class ConfigChangeBuilder { for (String key : current.getPropertyNames()){ Optional<String> previousValue = previous.getOptionalValue(key, String.class); String currentValue = current.getOptionalValue(key, String.class).orElse(null); - if(Objects.equals(currentValue, previousValue.orElse(null))){ - continue; - }else{ + if(!Objects.equals(currentValue, previousValue.orElse(null))){ if (!previousValue.isPresent()) { PropertyChangeEvent event = new PropertyChangeEvent(current, key, null, currentValue); events.put(key, event); http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/d28a3f57/modules/events/src/main/java/org/apache/tamaya/events/ConfigEventManager.java ---------------------------------------------------------------------- diff --git a/modules/events/src/main/java/org/apache/tamaya/events/ConfigEventManager.java b/modules/events/src/main/java/org/apache/tamaya/events/ConfigEventManager.java index ea180a9..3c8575c 100644 --- a/modules/events/src/main/java/org/apache/tamaya/events/ConfigEventManager.java +++ b/modules/events/src/main/java/org/apache/tamaya/events/ConfigEventManager.java @@ -25,14 +25,14 @@ import java.util.Collection; /** * Singleton accessor for accessing the event support component that distributes change events of - * {@link org.apache.tamaya.spi.PropertySource} and {@link org.apache.tamaya.Configuration}. + * {@link javax.config.spi.ConfigSource} and {@link javax.config.Config}. */ @SuppressWarnings("rawtypes") public final class ConfigEventManager { /** * The backing SPI. */ - private static final ConfigEventManagerSpi spi(){ + private static ConfigEventManagerSpi spi(){ ConfigEventManagerSpi spi = ServiceContextManager.getServiceContext() .getService(ConfigEventManagerSpi.class); if(spi==null){ http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/d28a3f57/modules/events/src/main/java/org/apache/tamaya/events/FrozenConfig.java ---------------------------------------------------------------------- diff --git a/modules/events/src/main/java/org/apache/tamaya/events/FrozenConfig.java b/modules/events/src/main/java/org/apache/tamaya/events/FrozenConfig.java index ba7f737..93cc386 100644 --- a/modules/events/src/main/java/org/apache/tamaya/events/FrozenConfig.java +++ b/modules/events/src/main/java/org/apache/tamaya/events/FrozenConfig.java @@ -151,10 +151,7 @@ public final class FrozenConfig implements Config, Serializable { if (frozenAt != that.frozenAt) { return false; } - if (properties != null ? !properties.equals(that.properties) : that.properties != null) { - return false; - } - return id != null ? id.equals(that.id) : that.id == null; + return (properties != null ? properties.equals(that.properties) : that.properties == null) && (id != null ? id.equals(that.id) : that.id == null); } @Override http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/d28a3f57/modules/events/src/main/java/org/apache/tamaya/events/internal/DefaultConfigEventManagerSpi.java ---------------------------------------------------------------------- diff --git a/modules/events/src/main/java/org/apache/tamaya/events/internal/DefaultConfigEventManagerSpi.java b/modules/events/src/main/java/org/apache/tamaya/events/internal/DefaultConfigEventManagerSpi.java index e0a8b3a..3f3430f 100644 --- a/modules/events/src/main/java/org/apache/tamaya/events/internal/DefaultConfigEventManagerSpi.java +++ b/modules/events/src/main/java/org/apache/tamaya/events/internal/DefaultConfigEventManagerSpi.java @@ -71,11 +71,7 @@ public class DefaultConfigEventManagerSpi implements ConfigEventManagerSpi { @Override public <T extends ConfigEvent> void addListener(ConfigEventListener l, Class<T> eventType){ - List<ConfigEventListener> ls = listeners.get(eventType); - if(ls==null){ - ls = Collections.synchronizedList(new ArrayList<ConfigEventListener>()); - listeners.put(eventType, ls); - } + List<ConfigEventListener> ls = listeners.computeIfAbsent(eventType, k -> Collections.synchronizedList(new ArrayList<ConfigEventListener>())); synchronized (ls){ if(!ls.contains(l)){ ls.add(l); http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/d28a3f57/modules/formats/base/src/main/java/org/apache/tamaya/format/ConfigurationDataBuilder.java ---------------------------------------------------------------------- diff --git a/modules/formats/base/src/main/java/org/apache/tamaya/format/ConfigurationDataBuilder.java b/modules/formats/base/src/main/java/org/apache/tamaya/format/ConfigurationDataBuilder.java index 6ac485a..cf991da 100644 --- a/modules/formats/base/src/main/java/org/apache/tamaya/format/ConfigurationDataBuilder.java +++ b/modules/formats/base/src/main/java/org/apache/tamaya/format/ConfigurationDataBuilder.java @@ -81,7 +81,7 @@ public final class ConfigurationDataBuilder { public ConfigurationDataBuilder addSections(String... sections){ for (String section : sections) { if (!namedSections.containsKey(section)) { - namedSections.put(section, new HashMap<String, String>()); + namedSections.put(section, new HashMap<>()); } } return this; @@ -95,11 +95,7 @@ public final class ConfigurationDataBuilder { * @return the builder for chaining. */ public ConfigurationDataBuilder addSectionProperty(String section, String key, String value) { - Map<String, String> map = namedSections.get(section); - if (map == null) { - map = new HashMap<>(); - namedSections.put(section, map); - } + Map<String, String> map = namedSections.computeIfAbsent(section, k -> new HashMap<>()); map.put(key, value); return this; } @@ -133,11 +129,7 @@ public final class ConfigurationDataBuilder { * @return the builder for chaining. */ public ConfigurationDataBuilder addSectionProperties(String section, Map<String, String> properties) { - Map<String, String> map = namedSections.get(section); - if (map == null) { - map = new HashMap<>(); - namedSections.put(section, map); - } + Map<String, String> map = namedSections.computeIfAbsent(section, k -> new HashMap<>()); map.putAll(properties); return this; } @@ -160,11 +152,7 @@ public final class ConfigurationDataBuilder { * @return the builder for chaining. */ public ConfigurationDataBuilder addDefaultProperties(Map<String, String> properties) { - Map<String,String> defaultProps = this.namedSections.get("default"); - if(defaultProps==null){ - defaultProps = new HashMap<>(); - this.namedSections.put("default", defaultProps); - } + Map<String, String> defaultProps = this.namedSections.computeIfAbsent("default", k -> new HashMap<>()); defaultProps.putAll(properties); return this; } http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/d28a3f57/modules/formats/base/src/main/java/org/apache/tamaya/format/MappedConfigurationDataConfigSource.java ---------------------------------------------------------------------- diff --git a/modules/formats/base/src/main/java/org/apache/tamaya/format/MappedConfigurationDataConfigSource.java b/modules/formats/base/src/main/java/org/apache/tamaya/format/MappedConfigurationDataConfigSource.java index 3c45747..9da0737 100644 --- a/modules/formats/base/src/main/java/org/apache/tamaya/format/MappedConfigurationDataConfigSource.java +++ b/modules/formats/base/src/main/java/org/apache/tamaya/format/MappedConfigurationDataConfigSource.java @@ -56,12 +56,7 @@ public class MappedConfigurationDataConfigSource extends BaseConfigSource { * @see ConfigurationData#getCombinedProperties() */ public MappedConfigurationDataConfigSource(final ConfigurationData data) { - this(data.getResource(), 0, new Supplier<ConfigurationData>(){ - @Override - public ConfigurationData get() { - return data; - } - }); + this(data.getResource(), 0, () -> data); } /* @@ -72,12 +67,7 @@ public class MappedConfigurationDataConfigSource extends BaseConfigSource { * @see ConfigurationData#getCombinedProperties() */ public MappedConfigurationDataConfigSource(int defaultOrdinal, final ConfigurationData data) { - this(data.getResource(), defaultOrdinal, new Supplier<ConfigurationData>() { - @Override - public ConfigurationData get() { - return data; - } - }); + this(data.getResource(), defaultOrdinal, () -> data); } /* http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/d28a3f57/modules/formats/json/src/main/java/org/apache/tamaya/json/JSONVisitor.java ---------------------------------------------------------------------- diff --git a/modules/formats/json/src/main/java/org/apache/tamaya/json/JSONVisitor.java b/modules/formats/json/src/main/java/org/apache/tamaya/json/JSONVisitor.java index 07208d9..f429014 100644 --- a/modules/formats/json/src/main/java/org/apache/tamaya/json/JSONVisitor.java +++ b/modules/formats/json/src/main/java/org/apache/tamaya/json/JSONVisitor.java @@ -117,7 +117,7 @@ class JSONVisitor { private JsonValue formatArray(Iterator<JsonValue> iterator) { StringBuilder b = new StringBuilder(); - iterator.forEachRemaining(r -> {b.append(r.toString().replace(",", "\\,")).append(',');}); + iterator.forEachRemaining(r -> b.append(r.toString().replace(",", "\\,")).append(',')); if(b.length()>0){ b.setLength(b.length()-1); } http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/d28a3f57/modules/functions/src/main/java/org/apache/tamaya/functions/ConfigurationFunctions.java ---------------------------------------------------------------------- diff --git a/modules/functions/src/main/java/org/apache/tamaya/functions/ConfigurationFunctions.java b/modules/functions/src/main/java/org/apache/tamaya/functions/ConfigurationFunctions.java index 8089725..16f36ef 100644 --- a/modules/functions/src/main/java/org/apache/tamaya/functions/ConfigurationFunctions.java +++ b/modules/functions/src/main/java/org/apache/tamaya/functions/ConfigurationFunctions.java @@ -379,7 +379,7 @@ public final class ConfigurationFunctions { StringBuilder builder = new StringBuilder(400); builder.append("<configuration>\n"); for (Map.Entry<String, String> en : props.entrySet()) { - builder.append(" <entry key=\"" + escape(en.getKey()) + "\">" + escape(en.getValue()) + "</entry>\n"); + builder.append(" <entry key=\"").append(escape(en.getKey())).append("\">").append(escape(en.getValue())).append("</entry>\n"); } builder.append("</configuration>\n"); return builder.toString(); @@ -412,7 +412,7 @@ public final class ConfigurationFunctions { } StringBuilder builder = new StringBuilder(400).append("Configuration:\n"); for (Map.Entry<String, String> en : props.entrySet()) { - builder.append(" " + escape(en.getKey()) + ": " + escape(en.getValue()).replace("\n", "\n ") + ",\n"); + builder.append(" ").append(escape(en.getKey())).append(": ").append(escape(en.getValue()).replace("\n", "\n ")).append(",\n"); } if(builder.toString().endsWith(",\n")){ builder.setLength(builder.length() - 2); @@ -485,10 +485,7 @@ public final class ConfigurationFunctions { } catch (Exception e) { LOG.log(Level.INFO, "Failed to lookup hostname.", e); } - b.append("<html>\n<head><title>System Configuration</title></head>\n" + - "<body>\n" + - "<h1>System Configuration</h1>\n" + - "<p>This view shows the system configuration of " + host + " at " + new Date() + ".</p>"); + b.append("<html>\n<head><title>System Configuration</title></head>\n" + "<body>\n" + "<h1>System Configuration</h1>\n" + "<p>This view shows the system configuration of ").append(host).append(" at ").append(new Date()).append(".</p>"); } http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/d28a3f57/modules/functions/src/main/java/org/apache/tamaya/functions/EnrichedConfiguration.java ---------------------------------------------------------------------- diff --git a/modules/functions/src/main/java/org/apache/tamaya/functions/EnrichedConfiguration.java b/modules/functions/src/main/java/org/apache/tamaya/functions/EnrichedConfiguration.java index 0a9c549..10b6db5 100644 --- a/modules/functions/src/main/java/org/apache/tamaya/functions/EnrichedConfiguration.java +++ b/modules/functions/src/main/java/org/apache/tamaya/functions/EnrichedConfiguration.java @@ -86,7 +86,7 @@ class EnrichedConfiguration implements Config { public Iterable<String> getPropertyNames() { Set<String> allKeys = new HashSet<>(); baseConfiguration.getPropertyNames().forEach(allKeys::add); - addedProperties.keySet().forEach(allKeys::add); + allKeys.addAll(addedProperties.keySet()); return allKeys; } http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/d28a3f57/modules/injection/cdi/src/main/java/org/apache/tamaya/cdi/ServiceLoaderServiceContext.java ---------------------------------------------------------------------- diff --git a/modules/injection/cdi/src/main/java/org/apache/tamaya/cdi/ServiceLoaderServiceContext.java b/modules/injection/cdi/src/main/java/org/apache/tamaya/cdi/ServiceLoaderServiceContext.java index 781f0a1..375dacf 100644 --- a/modules/injection/cdi/src/main/java/org/apache/tamaya/cdi/ServiceLoaderServiceContext.java +++ b/modules/injection/cdi/src/main/java/org/apache/tamaya/cdi/ServiceLoaderServiceContext.java @@ -118,7 +118,7 @@ final class ServiceLoaderServiceContext implements ServiceContext { for (T t : ServiceLoader.load(serviceType, classLoader)) { services.add(t); } - Collections.sort(services, PriorityServiceComparator.getInstance()); + services.sort(PriorityServiceComparator.getInstance()); services = Collections.unmodifiableList(services); } catch (ServiceConfigurationError e) { LOG.log(Level.WARNING, http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/d28a3f57/modules/injection/injection-api/src/main/java/org/apache/tamaya/inject/api/DynamicValue.java ---------------------------------------------------------------------- diff --git a/modules/injection/injection-api/src/main/java/org/apache/tamaya/inject/api/DynamicValue.java b/modules/injection/injection-api/src/main/java/org/apache/tamaya/inject/api/DynamicValue.java index 1efcb11..8fd2e81 100644 --- a/modules/injection/injection-api/src/main/java/org/apache/tamaya/inject/api/DynamicValue.java +++ b/modules/injection/injection-api/src/main/java/org/apache/tamaya/inject/api/DynamicValue.java @@ -18,7 +18,6 @@ */ package org.apache.tamaya.inject.api; -import javax.inject.Provider; import java.beans.PropertyChangeListener; import java.util.function.Supplier; http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/d28a3f57/modules/injection/standalone/src/main/java/org/apache/tamaya/inject/internal/ConfiguredFieldImpl.java ---------------------------------------------------------------------- diff --git a/modules/injection/standalone/src/main/java/org/apache/tamaya/inject/internal/ConfiguredFieldImpl.java b/modules/injection/standalone/src/main/java/org/apache/tamaya/inject/internal/ConfiguredFieldImpl.java index 699208e..8728b2b 100644 --- a/modules/injection/standalone/src/main/java/org/apache/tamaya/inject/internal/ConfiguredFieldImpl.java +++ b/modules/injection/standalone/src/main/java/org/apache/tamaya/inject/internal/ConfiguredFieldImpl.java @@ -25,7 +25,6 @@ import org.apache.tamaya.inject.spi.ConfiguredField; import javax.config.Config; import javax.config.ConfigProvider; import java.lang.reflect.Field; -import java.lang.reflect.Type; import java.security.AccessController; import java.security.PrivilegedExceptionAction; import java.util.Collection; @@ -78,14 +77,11 @@ public class ConfiguredFieldImpl implements ConfiguredField{ private void applyDynamicValue(Object target) { Objects.requireNonNull(target); try { - AccessController.doPrivileged(new PrivilegedExceptionAction<Object>() { - @Override - public Object run() throws Exception { - annotatedField.setAccessible(true); - annotatedField.set(target, - DefaultDynamicValue.of(target, annotatedField, ConfigProvider.getConfig())); - return annotatedField; - } + AccessController.doPrivileged((PrivilegedExceptionAction<Object>) () -> { + annotatedField.setAccessible(true); + annotatedField.set(target, + DefaultDynamicValue.of(target, annotatedField, ConfigProvider.getConfig())); + return annotatedField; }); } catch (Exception e) { throw new NoSuchElementException("Failed to annotation configured field: " + this.annotatedField.getDeclaringClass() @@ -107,15 +103,12 @@ public class ConfiguredFieldImpl implements ConfiguredField{ Class targetType = this.annotatedField.getType(); Object configValue = InjectionHelper.getConfigValue(this.annotatedField, targetType, config); - AccessController.doPrivileged(new PrivilegedExceptionAction<Object>() { - @Override - public Object run() throws Exception { - annotatedField.setAccessible(true); - if(configValue!=null) { - annotatedField.set(target, configValue); - } - return annotatedField; + AccessController.doPrivileged((PrivilegedExceptionAction<Object>) () -> { + annotatedField.setAccessible(true); + if(configValue!=null) { + annotatedField.set(target, configValue); } + return annotatedField; }); } catch (Exception e) { e.printStackTrace(); http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/d28a3f57/modules/injection/standalone/src/main/java/org/apache/tamaya/inject/internal/ConfiguredSetterMethod.java ---------------------------------------------------------------------- diff --git a/modules/injection/standalone/src/main/java/org/apache/tamaya/inject/internal/ConfiguredSetterMethod.java b/modules/injection/standalone/src/main/java/org/apache/tamaya/inject/internal/ConfiguredSetterMethod.java index 7ea94d0..f495cc3 100644 --- a/modules/injection/standalone/src/main/java/org/apache/tamaya/inject/internal/ConfiguredSetterMethod.java +++ b/modules/injection/standalone/src/main/java/org/apache/tamaya/inject/internal/ConfiguredSetterMethod.java @@ -23,7 +23,6 @@ import org.apache.tamaya.inject.spi.ConfiguredMethod; import javax.config.Config; import java.lang.reflect.Method; -import java.lang.reflect.Type; import java.security.AccessController; import java.security.PrivilegedExceptionAction; import java.util.Collection; @@ -60,12 +59,9 @@ public class ConfiguredSetterMethod implements ConfiguredMethod { Object configValue = InjectionHelper.getConfigValue(this.setterMethod, targetType, config); Objects.requireNonNull(target); try { - AccessController.doPrivileged(new PrivilegedExceptionAction<Object>() { - @Override - public Object run() throws Exception { - setterMethod.setAccessible(true); - return setterMethod; - } + AccessController.doPrivileged((PrivilegedExceptionAction<Object>) () -> { + setterMethod.setAccessible(true); + return setterMethod; }); setterMethod.invoke(target, configValue); } catch (Exception e) { http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/d28a3f57/modules/injection/standalone/src/main/java/org/apache/tamaya/inject/internal/ConfiguredTypeImpl.java ---------------------------------------------------------------------- diff --git a/modules/injection/standalone/src/main/java/org/apache/tamaya/inject/internal/ConfiguredTypeImpl.java b/modules/injection/standalone/src/main/java/org/apache/tamaya/inject/internal/ConfiguredTypeImpl.java index 25bd051..f781979 100644 --- a/modules/injection/standalone/src/main/java/org/apache/tamaya/inject/internal/ConfiguredTypeImpl.java +++ b/modules/injection/standalone/src/main/java/org/apache/tamaya/inject/internal/ConfiguredTypeImpl.java @@ -195,14 +195,11 @@ public class ConfiguredTypeImpl implements ConfiguredType{ } // if no class level annotation is there we might have method level annotations only for (Method method : type.getDeclaredMethods()) { - if(isConfiguredMethod(method)) { + if (isConfiguredMethod(method)) { return true; } } - if (type.getSuperclass() != null) { - return isConfigured(type.getSuperclass()); - } - return false; + return type.getSuperclass() != null && isConfigured(type.getSuperclass()); } public static boolean isConfiguredField(Field field) { http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/d28a3f57/modules/injection/standalone/src/main/java/org/apache/tamaya/inject/internal/InjectionHelper.java ---------------------------------------------------------------------- diff --git a/modules/injection/standalone/src/main/java/org/apache/tamaya/inject/internal/InjectionHelper.java b/modules/injection/standalone/src/main/java/org/apache/tamaya/inject/internal/InjectionHelper.java index 38fd193..c198a1d 100644 --- a/modules/injection/standalone/src/main/java/org/apache/tamaya/inject/internal/InjectionHelper.java +++ b/modules/injection/standalone/src/main/java/org/apache/tamaya/inject/internal/InjectionHelper.java @@ -115,7 +115,7 @@ final class InjectionHelper { return getCustomConvertedConfigValue(member, converterAnnot, targetType, keys, config); } - Optional<T> result = null; + Optional<T> result; for(String key:keys) { result = config.getOptionalValue(key, targetType); if (result.isPresent()) { http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/d28a3f57/modules/mutable-config/src/main/java/org/apache/tamaya/mutableconfig/MutableConfigurationProvider.java ---------------------------------------------------------------------- diff --git a/modules/mutable-config/src/main/java/org/apache/tamaya/mutableconfig/MutableConfigurationProvider.java b/modules/mutable-config/src/main/java/org/apache/tamaya/mutableconfig/MutableConfigurationProvider.java index 127bd49..f5af5dc 100644 --- a/modules/mutable-config/src/main/java/org/apache/tamaya/mutableconfig/MutableConfigurationProvider.java +++ b/modules/mutable-config/src/main/java/org/apache/tamaya/mutableconfig/MutableConfigurationProvider.java @@ -143,57 +143,44 @@ public final class MutableConfigurationProvider { /** * This propagation policy writes through all changes to all mutable property sources, where applicable. */ - private static final ChangePropagationPolicy ALL_POLICY = new ChangePropagationPolicy() { - @Override - public void applyChange(ConfigChangeRequest change, Iterable<ConfigSource> propertySources) { - for(ConfigSource propertySource: propertySources){ - if(propertySource instanceof MutableConfigSource){ - MutableConfigSource target = (MutableConfigSource)propertySource; - try{ - target.applyChange(change); - }catch(Exception e){ - LOG.warning("Failed to store changes '"+change+"' not applicable to "+target.getName() - +"("+target.getClass().getName()+")."); - } + private static final ChangePropagationPolicy ALL_POLICY = (change, propertySources) -> { + for(ConfigSource propertySource: propertySources){ + if(propertySource instanceof MutableConfigSource){ + MutableConfigSource target = (MutableConfigSource)propertySource; + try{ + target.applyChange(change); + }catch(Exception e){ + LOG.warning("Failed to store changes '"+change+"' not applicable to "+target.getName() + +"("+target.getClass().getName()+")."); } } } - }; /** * This propagation policy writes changes only once to the most significant property source, where a change is * applicable. */ - private static final ChangePropagationPolicy MOST_SIGNIFICANT_ONLY_POLICY = new ChangePropagationPolicy() { - @Override - public void applyChange(ConfigChangeRequest change, Iterable<ConfigSource> propertySources) { - for(ConfigSource propertySource: propertySources){ - if(propertySource instanceof MutableConfigSource){ - MutableConfigSource target = (MutableConfigSource)propertySource; - try{ - target.applyChange(change); - }catch(Exception e){ - LOG.warning("Failed to store changes '"+change+"' not applicable to "+target.getName() - +"("+target.getClass().getName()+")."); - } - break; + private static final ChangePropagationPolicy MOST_SIGNIFICANT_ONLY_POLICY = (change, propertySources) -> { + for(ConfigSource propertySource: propertySources){ + if(propertySource instanceof MutableConfigSource){ + MutableConfigSource target = (MutableConfigSource)propertySource; + try{ + target.applyChange(change); + }catch(Exception e){ + LOG.warning("Failed to store changes '"+change+"' not applicable to "+target.getName() + +"("+target.getClass().getName()+")."); } + break; } } - }; /** * This propagation policy writes changes only once to the most significant property source, where a change is * applicable. */ - private static final ChangePropagationPolicy NONE_POLICY = new ChangePropagationPolicy() { - @Override - public void applyChange(ConfigChangeRequest change, Iterable<ConfigSource> propertySources) { - LOG.warning("Cannot store changes '"+change+"': prohibited by change policy (read-only)."); - } - }; + private static final ChangePropagationPolicy NONE_POLICY = (change, propertySources) -> LOG.warning("Cannot store changes '"+change+"': prohibited by change policy (read-only)."); /** * This propagation policy writes through all changes to all mutable property sources, where applicable. @@ -223,7 +210,7 @@ public final class MutableConfigurationProvider { } } } - }; + } } http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/d28a3f57/modules/osgi/common/src/main/java/org/apache/tamaya/osgi/ConfigHistory.java ---------------------------------------------------------------------- diff --git a/modules/osgi/common/src/main/java/org/apache/tamaya/osgi/ConfigHistory.java b/modules/osgi/common/src/main/java/org/apache/tamaya/osgi/ConfigHistory.java index e988a42..1c682bb 100644 --- a/modules/osgi/common/src/main/java/org/apache/tamaya/osgi/ConfigHistory.java +++ b/modules/osgi/common/src/main/java/org/apache/tamaya/osgi/ConfigHistory.java @@ -42,7 +42,7 @@ public final class ConfigHistory implements Serializable{ /** The max number of changes tracked. */ private static int maxHistory = 10000; /** The overall history. */ - private static List<ConfigHistory> history = new LinkedList<ConfigHistory>(); + private static List<ConfigHistory> history = new LinkedList<>(); /** The entry timestamp. */ private long timestamp = System.currentTimeMillis(); http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/d28a3f57/modules/osgi/common/src/main/java/org/apache/tamaya/osgi/TamayaConfigPlugin.java ---------------------------------------------------------------------- diff --git a/modules/osgi/common/src/main/java/org/apache/tamaya/osgi/TamayaConfigPlugin.java b/modules/osgi/common/src/main/java/org/apache/tamaya/osgi/TamayaConfigPlugin.java index 5d16ba7..ca8f0de 100644 --- a/modules/osgi/common/src/main/java/org/apache/tamaya/osgi/TamayaConfigPlugin.java +++ b/modules/osgi/common/src/main/java/org/apache/tamaya/osgi/TamayaConfigPlugin.java @@ -278,7 +278,7 @@ public class TamayaConfigPlugin implements TamayaConfigService,BundleListener, S && config.getProperties() != null) { props = config.getProperties(); } else { - props = new Hashtable<String, Object>(); + props = new Hashtable<>(); } return props; } catch (IOException e) { http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/d28a3f57/modules/osgi/gogo-shell/src/main/java/org/apache/tamaya/gogo/shell/ConfigCommands.java ---------------------------------------------------------------------- diff --git a/modules/osgi/gogo-shell/src/main/java/org/apache/tamaya/gogo/shell/ConfigCommands.java b/modules/osgi/gogo-shell/src/main/java/org/apache/tamaya/gogo/shell/ConfigCommands.java index 8926ede..366d589 100644 --- a/modules/osgi/gogo-shell/src/main/java/org/apache/tamaya/gogo/shell/ConfigCommands.java +++ b/modules/osgi/gogo-shell/src/main/java/org/apache/tamaya/gogo/shell/ConfigCommands.java @@ -73,7 +73,7 @@ public class ConfigCommands { @Descriptor("The property key")String key, @Parameter(absentValue = "false", names={"-e", "--extended"}) @Descriptor("Show extended info, default=false")Boolean extended) throws IOException { - System.out.println(org.apache.tamaya.osgi.commands.ConfigCommands.getProperty(propertysource, key, extended.booleanValue())); + System.out.println(org.apache.tamaya.osgi.commands.ConfigCommands.getProperty(propertysource, key, extended)); } @Descriptor("Get details of a property source.") http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/d28a3f57/modules/osgi/gogo-shell/src/main/java/org/apache/tamaya/gogo/shell/HistoryCommands.java ---------------------------------------------------------------------- diff --git a/modules/osgi/gogo-shell/src/main/java/org/apache/tamaya/gogo/shell/HistoryCommands.java b/modules/osgi/gogo-shell/src/main/java/org/apache/tamaya/gogo/shell/HistoryCommands.java index 906f471..0f3bf23 100644 --- a/modules/osgi/gogo-shell/src/main/java/org/apache/tamaya/gogo/shell/HistoryCommands.java +++ b/modules/osgi/gogo-shell/src/main/java/org/apache/tamaya/gogo/shell/HistoryCommands.java @@ -64,7 +64,7 @@ public class HistoryCommands { if(eventTypes.isEmpty()){ System.out.println(org.apache.tamaya.osgi.commands.HistoryCommands.getHistory( getService(TamayaConfigService.class), - pid, null)); + pid)); }else { System.out.println(org.apache.tamaya.osgi.commands.HistoryCommands.getHistory( getService(TamayaConfigService.class), http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/d28a3f57/modules/osgi/injection/src/main/java/org/apache/tamaya/osgi/injection/Activator.java ---------------------------------------------------------------------- diff --git a/modules/osgi/injection/src/main/java/org/apache/tamaya/osgi/injection/Activator.java b/modules/osgi/injection/src/main/java/org/apache/tamaya/osgi/injection/Activator.java index 57b8010..2a63431 100644 --- a/modules/osgi/injection/src/main/java/org/apache/tamaya/osgi/injection/Activator.java +++ b/modules/osgi/injection/src/main/java/org/apache/tamaya/osgi/injection/Activator.java @@ -68,12 +68,12 @@ public class Activator implements BundleActivator { @Override public boolean isInjectionEnabled(ServiceReference reference) { - return injector.isInjectionEnabled(reference); + return TamayaOSGIInjector.isInjectionEnabled(reference); } @Override public boolean isInjectionEnabled(Bundle bundle) { - return injector.isInjectionEnabled(bundle); + return TamayaOSGIInjector.isInjectionEnabled(bundle); } @Override http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/d28a3f57/modules/osgi/injection/src/main/java/org/apache/tamaya/osgi/injection/OSGIConfigurationInjector.java ---------------------------------------------------------------------- diff --git a/modules/osgi/injection/src/main/java/org/apache/tamaya/osgi/injection/OSGIConfigurationInjector.java b/modules/osgi/injection/src/main/java/org/apache/tamaya/osgi/injection/OSGIConfigurationInjector.java index 073f5a0..05ef049 100644 --- a/modules/osgi/injection/src/main/java/org/apache/tamaya/osgi/injection/OSGIConfigurationInjector.java +++ b/modules/osgi/injection/src/main/java/org/apache/tamaya/osgi/injection/OSGIConfigurationInjector.java @@ -22,7 +22,6 @@ import org.apache.tamaya.inject.ConfigurationInjection; import org.osgi.service.cm.ConfigurationAdmin; import javax.config.Config; -import javax.config.ConfigProvider; import javax.config.spi.ConfigProviderResolver; import java.util.Objects; import java.util.function.Supplier; http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/d28a3f57/modules/osgi/injection/src/main/java/org/apache/tamaya/osgi/injection/TamayaOSGIInjector.java ---------------------------------------------------------------------- diff --git a/modules/osgi/injection/src/main/java/org/apache/tamaya/osgi/injection/TamayaOSGIInjector.java b/modules/osgi/injection/src/main/java/org/apache/tamaya/osgi/injection/TamayaOSGIInjector.java index 18e0bd6..e2519fc 100644 --- a/modules/osgi/injection/src/main/java/org/apache/tamaya/osgi/injection/TamayaOSGIInjector.java +++ b/modules/osgi/injection/src/main/java/org/apache/tamaya/osgi/injection/TamayaOSGIInjector.java @@ -114,11 +114,7 @@ public class TamayaOSGIInjector{ */ private OSGIConfigurationInjector getInjector(String pid, String location){ String key = location==null?pid.trim():pid.trim()+"::"+location.trim(); - OSGIConfigurationInjector injector = INJECTORS.get(key); - if(injector==null){ - injector = new OSGIConfigurationInjector(cm, pid, location); - INJECTORS.put(key, injector); - } + OSGIConfigurationInjector injector = INJECTORS.computeIfAbsent(key, k -> new OSGIConfigurationInjector(cm, pid, location)); return injector; } http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/d28a3f57/modules/osgi/karaf-shell/src/main/java/org/apache/tamaya/karaf/shell/ApplyTamayaConfigCommand.java ---------------------------------------------------------------------- diff --git a/modules/osgi/karaf-shell/src/main/java/org/apache/tamaya/karaf/shell/ApplyTamayaConfigCommand.java b/modules/osgi/karaf-shell/src/main/java/org/apache/tamaya/karaf/shell/ApplyTamayaConfigCommand.java index d6b13c6..9e935ac 100644 --- a/modules/osgi/karaf-shell/src/main/java/org/apache/tamaya/karaf/shell/ApplyTamayaConfigCommand.java +++ b/modules/osgi/karaf-shell/src/main/java/org/apache/tamaya/karaf/shell/ApplyTamayaConfigCommand.java @@ -23,7 +23,6 @@ import org.apache.karaf.shell.api.action.Argument; import org.apache.karaf.shell.api.action.Command; import org.apache.karaf.shell.api.action.Option; import org.apache.karaf.shell.api.action.lifecycle.Service; -import org.apache.tamaya.osgi.TamayaConfigPlugin; import org.apache.tamaya.osgi.commands.ConfigCommands; import org.apache.tamaya.osgi.commands.TamayaConfigService; http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/d28a3f57/modules/osgi/karaf-shell/src/main/java/org/apache/tamaya/karaf/shell/HistoryDeleteAllCommand.java ---------------------------------------------------------------------- diff --git a/modules/osgi/karaf-shell/src/main/java/org/apache/tamaya/karaf/shell/HistoryDeleteAllCommand.java b/modules/osgi/karaf-shell/src/main/java/org/apache/tamaya/karaf/shell/HistoryDeleteAllCommand.java index cca7c4c..2e816dd 100644 --- a/modules/osgi/karaf-shell/src/main/java/org/apache/tamaya/karaf/shell/HistoryDeleteAllCommand.java +++ b/modules/osgi/karaf-shell/src/main/java/org/apache/tamaya/karaf/shell/HistoryDeleteAllCommand.java @@ -19,7 +19,6 @@ package org.apache.tamaya.karaf.shell; import org.apache.karaf.shell.api.action.Action; -import org.apache.karaf.shell.api.action.Argument; import org.apache.karaf.shell.api.action.Command; import org.apache.karaf.shell.api.action.lifecycle.Reference; import org.apache.karaf.shell.api.action.lifecycle.Service; http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/d28a3f57/modules/resolver/src/main/java/org/apache/tamaya/resolver/internal/DefaultExpressionEvaluator.java ---------------------------------------------------------------------- diff --git a/modules/resolver/src/main/java/org/apache/tamaya/resolver/internal/DefaultExpressionEvaluator.java b/modules/resolver/src/main/java/org/apache/tamaya/resolver/internal/DefaultExpressionEvaluator.java index 1aca102..149e983 100644 --- a/modules/resolver/src/main/java/org/apache/tamaya/resolver/internal/DefaultExpressionEvaluator.java +++ b/modules/resolver/src/main/java/org/apache/tamaya/resolver/internal/DefaultExpressionEvaluator.java @@ -41,12 +41,7 @@ public class DefaultExpressionEvaluator implements ExpressionEvaluator { /** * Comparator used (not needed with Java8). */ - private static final Comparator<ExpressionResolver> RESOLVER_COMPARATOR = new Comparator<ExpressionResolver>() { - @Override - public int compare(ExpressionResolver o1, ExpressionResolver o2) { - return compareExpressionResolver(o1, o2); - } - }; + private static final Comparator<ExpressionResolver> RESOLVER_COMPARATOR = (o1, o2) -> compareExpressionResolver(o1, o2); /** * Order ExpressionResolver reversely, the most important come first. @@ -151,10 +146,8 @@ public class DefaultExpressionEvaluator implements ExpressionEvaluator { @Override public Collection<ExpressionResolver> getResolvers() { List<ExpressionResolver> resolvers = new ArrayList<>(); - for (ExpressionResolver resolver : ServiceContextManager.getServiceContext().getServices(ExpressionResolver.class)) { - resolvers.add(resolver); - } - Collections.sort(resolvers, RESOLVER_COMPARATOR); + resolvers.addAll(ServiceContextManager.getServiceContext().getServices(ExpressionResolver.class)); + resolvers.sort(RESOLVER_COMPARATOR); return resolvers; }
