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 2017/09/24 20:12:26 UTC

incubator-tamaya-extensions git commit: TAMAYA-310: Fixed events emit for changes.

Repository: incubator-tamaya-extensions
Updated Branches:
  refs/heads/java8 6bd7d1d87 -> bcede48d2


TAMAYA-310: Fixed events emit for changes.


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/bcede48d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/tree/bcede48d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/diff/bcede48d

Branch: refs/heads/java8
Commit: bcede48d2e8ec5d41172fb9e44e19fb5bae8136f
Parents: 6bd7d1d
Author: anatole <an...@apache.org>
Authored: Sun Sep 24 21:34:40 2017 +0200
Committer: anatole <an...@apache.org>
Committed: Sun Sep 24 21:34:40 2017 +0200

----------------------------------------------------------------------
 .../events/ConfigurationChangeBuilder.java      | 26 +++++++++-----------
 .../internal/DefaultConfigChangeObserver.java   | 15 +++++------
 2 files changed, 18 insertions(+), 23 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/bcede48d/modules/events/src/main/java/org/apache/tamaya/events/ConfigurationChangeBuilder.java
----------------------------------------------------------------------
diff --git a/modules/events/src/main/java/org/apache/tamaya/events/ConfigurationChangeBuilder.java b/modules/events/src/main/java/org/apache/tamaya/events/ConfigurationChangeBuilder.java
index 651a80d..7379e72 100644
--- a/modules/events/src/main/java/org/apache/tamaya/events/ConfigurationChangeBuilder.java
+++ b/modules/events/src/main/java/org/apache/tamaya/events/ConfigurationChangeBuilder.java
@@ -103,12 +103,10 @@ public final class ConfigurationChangeBuilder {
             String key = en.getKey();
             String previousValue = en.getValue();
             String currentValue = current.get(en.getKey());
-
-            if (currentValue == null) {
-                PropertyChangeEvent event = new PropertyChangeEvent(previous, key, previousValue, null);
-                events.put(key, event);
-            } else if (!Objects.equals(current, previous)) {
-                PropertyChangeEvent event = new PropertyChangeEvent(previous, key, currentValue, previousValue);
+            if(Objects.equals(currentValue, previousValue)){
+                continue;
+            }else {
+                PropertyChangeEvent event = new PropertyChangeEvent(previous, key, previousValue, currentValue);
                 events.put(key, event);
             }
         }
@@ -117,16 +115,16 @@ public final class ConfigurationChangeBuilder {
             String key = en.getKey();
             String previousValue = previous.get(en.getKey());
             String currentValue = en.getValue();
-
-            if (previousValue == null) {
-                PropertyChangeEvent event = new PropertyChangeEvent(current, key, null, currentValue);
-                events.put(key, event);
-            } else if (!(Objects.equals(previousValue, currentValue) && events.containsKey(key))) {
-                PropertyChangeEvent event = new PropertyChangeEvent(current, en.getKey(), previousValue, en.getValue());
-                events.put(key, event);
+            if(Objects.equals(currentValue, previousValue)){
+                continue;
+            }else{
+                if (previousValue == null) {
+                    PropertyChangeEvent event = new PropertyChangeEvent(current, key, null, currentValue);
+                    events.put(key, event);
+                }
+                // the other cases were already covered by the previous loop.
             }
         }
-
         return events.values();
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/bcede48d/modules/events/src/main/java/org/apache/tamaya/events/internal/DefaultConfigChangeObserver.java
----------------------------------------------------------------------
diff --git a/modules/events/src/main/java/org/apache/tamaya/events/internal/DefaultConfigChangeObserver.java b/modules/events/src/main/java/org/apache/tamaya/events/internal/DefaultConfigChangeObserver.java
index 9d4169c..51951de 100644
--- a/modules/events/src/main/java/org/apache/tamaya/events/internal/DefaultConfigChangeObserver.java
+++ b/modules/events/src/main/java/org/apache/tamaya/events/internal/DefaultConfigChangeObserver.java
@@ -64,20 +64,17 @@ public class DefaultConfigChangeObserver {
         FrozenConfiguration frozenConfig = FrozenConfiguration.of(ConfigurationProvider.getConfiguration());
         ConfigurationChange changes;
 
-        if (getLastConfig() == null) {
-            changes = ConfigurationChangeBuilder.of().putAll(frozenConfig.getProperties())
-                                                .build();
-        } else {
+        if (getLastConfig() != null) {
             changes = ConfigurationChangeBuilder.of(getLastConfig()).addChanges(frozenConfig)
                                                 .build();
+            if(!changes.isEmpty()) {
+                LOG.info("Identified configuration changes, publishing changes:\n" + changes);
+                ConfigEventManager.fireEvent(changes);
+            }
         }
-
         setLastConfig(frozenConfig);
 
-        if(!changes.isEmpty()) {
-            LOG.info("Identified configuration changes, publishing changes:\n" + changes);
-            ConfigEventManager.fireEvent(changes);
-        }
+
     }
 
     protected FrozenConfiguration getLastConfig() {