You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tamaya.apache.org by pl...@apache.org on 2017/02/26 10:51:50 UTC
incubator-tamaya-extensions git commit: [TAMAYA-243] Wrote some unit
tests to ensure the correct behavior after fixing a bug.
Repository: incubator-tamaya-extensions
Updated Branches:
refs/heads/master 507e21ed8 -> 946584592
[TAMAYA-243] Wrote some unit tests to ensure the correct behavior after fixing a bug.
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/94658459
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/tree/94658459
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/diff/94658459
Branch: refs/heads/master
Commit: 94658459209eeee4f1406c17b6b3789b3eb31bb6
Parents: 507e21e
Author: Oliver B. Fischer <pl...@apache.org>
Authored: Sun Feb 26 11:51:16 2017 +0100
Committer: Oliver B. Fischer <pl...@apache.org>
Committed: Sun Feb 26 11:51:16 2017 +0100
----------------------------------------------------------------------
.../internal/DefaultConfigChangeObserver.java | 16 +++++++++---
.../DefaultConfigChangeObserverTest.java | 27 ++++++++++++++++++++
2 files changed, 39 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/94658459/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 e87a748..9d4169c 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,22 +64,30 @@ public class DefaultConfigChangeObserver {
FrozenConfiguration frozenConfig = FrozenConfiguration.of(ConfigurationProvider.getConfiguration());
ConfigurationChange changes;
- if (lastConfig == null) {
+ if (getLastConfig() == null) {
changes = ConfigurationChangeBuilder.of().putAll(frozenConfig.getProperties())
.build();
} else {
- changes = ConfigurationChangeBuilder.of(lastConfig).addChanges(frozenConfig)
+ changes = ConfigurationChangeBuilder.of(getLastConfig()).addChanges(frozenConfig)
.build();
}
- lastConfig = frozenConfig;
-
+ setLastConfig(frozenConfig);
+
if(!changes.isEmpty()) {
LOG.info("Identified configuration changes, publishing changes:\n" + changes);
ConfigEventManager.fireEvent(changes);
}
}
+ protected FrozenConfiguration getLastConfig() {
+ return lastConfig;
+ }
+
+ protected void setLastConfig(FrozenConfiguration newConfiguration) {
+ lastConfig = newConfiguration;
+ }
+
public long getCheckPeriod() {
return checkPeriod;
}
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/94658459/modules/events/src/test/java/org/apache/tamaya/events/internal/DefaultConfigChangeObserverTest.java
----------------------------------------------------------------------
diff --git a/modules/events/src/test/java/org/apache/tamaya/events/internal/DefaultConfigChangeObserverTest.java b/modules/events/src/test/java/org/apache/tamaya/events/internal/DefaultConfigChangeObserverTest.java
index 6d62bd1..e0fa52b 100644
--- a/modules/events/src/test/java/org/apache/tamaya/events/internal/DefaultConfigChangeObserverTest.java
+++ b/modules/events/src/test/java/org/apache/tamaya/events/internal/DefaultConfigChangeObserverTest.java
@@ -18,6 +18,7 @@
*/
package org.apache.tamaya.events.internal;
+import org.apache.tamaya.events.FrozenConfiguration;
import org.junit.Test;
import static org.assertj.core.api.Assertions.assertThat;
@@ -47,4 +48,30 @@ public class DefaultConfigChangeObserverTest {
assertThat(sut.isMonitoring()).isFalse();
}
+ @Test
+ public void lastConfigIsSetByTheFirstCheckForChangesInTheConfiguration() {
+ DefaultConfigChangeObserver observer = new DefaultConfigChangeObserver();
+
+ assertThat(observer.getLastConfig()).describedAs("There must be no last configuration after creation.")
+ .isNull();
+
+ observer.checkConfigurationUpdate();
+
+ assertThat(observer.getLastConfig()).describedAs("After the firt check last configuration must be set.")
+ .isNotNull();
+ }
+
+ @Test
+ public void lastConfigIsUpdatedByASubSequentCheckForChangesInTheConfigration() {
+ DefaultConfigChangeObserver observer = new DefaultConfigChangeObserver();
+
+ observer.checkConfigurationUpdate();
+
+ FrozenConfiguration config1 = observer.getLastConfig();
+ observer.checkConfigurationUpdate();
+ FrozenConfiguration config2 = observer.getLastConfig();
+
+ assertThat(config1).describedAs("After the firt check last configuration must be set.")
+ .isNotEqualTo(config2);
+ }
}
\ No newline at end of file