Delete removed configurations on sync
diff --git a/config/src/main/java/org/apache/karaf/cellar/config/ConfigurationSynchronizer.java b/config/src/main/java/org/apache/karaf/cellar/config/ConfigurationSynchronizer.java
index 0375bfa..44a5a7a 100644
--- a/config/src/main/java/org/apache/karaf/cellar/config/ConfigurationSynchronizer.java
+++ b/config/src/main/java/org/apache/karaf/cellar/config/ConfigurationSynchronizer.java
@@ -123,7 +123,7 @@
// get configurations on the cluster to update local configurations
for (String pid : clusterConfigurations.keySet()) {
- if (isAllowed(group, Constants.CATEGORY, pid, EventType.INBOUND)) {
+ if (isAllowed(group, Constants.CATEGORY, pid, EventType.INBOUND) && shouldReplicateConfig(clusterConfigurations.get(pid))) {
Dictionary clusterDictionary = clusterConfigurations.get(pid);
try {
// update the local configuration if needed
@@ -153,7 +153,9 @@
try {
Set<String> filenames = new HashSet();
for (Properties configuration : clusterConfigurations.values()) {
- filenames.add(getKarafFilename(configuration));
+ if (shouldReplicateConfig(configuration)) {
+ filenames.add(getKarafFilename(configuration));
+ }
}
filenames.remove(null);
for (Configuration configuration : configurationAdmin.listConfigurations(null)) {