You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by jb...@apache.org on 2013/12/18 13:30:20 UTC
[29/50] git commit: [KARAF-2263] - Cellar-Cloud: discover member
removes member information which isn't re-generated
[KARAF-2263] - Cellar-Cloud: discover member removes member information which isn't re-generated
git-svn-id: https://svn.apache.org/repos/asf/karaf/cellar/branches/cellar-2.2.x@1466413 13f79535-47bb-0310-9956-ffa450edef68
Project: http://git-wip-us.apache.org/repos/asf/karaf-cellar/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf-cellar/commit/2d71c03f
Tree: http://git-wip-us.apache.org/repos/asf/karaf-cellar/tree/2d71c03f
Diff: http://git-wip-us.apache.org/repos/asf/karaf-cellar/diff/2d71c03f
Branch: refs/heads/cellar-2.2.x
Commit: 2d71c03feb64eda8881d9e0e9924fb1261250993
Parents: b49de53
Author: anierbeck <an...@13f79535-47bb-0310-9956-ffa450edef68>
Authored: Wed Apr 10 10:10:00 2013 +0000
Committer: anierbeck <an...@13f79535-47bb-0310-9956-ffa450edef68>
Committed: Wed Apr 10 10:10:00 2013 +0000
----------------------------------------------------------------------
.../karaf/cellar/core/discovery/DiscoveryTask.java | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/karaf-cellar/blob/2d71c03f/core/src/main/java/org/apache/karaf/cellar/core/discovery/DiscoveryTask.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/karaf/cellar/core/discovery/DiscoveryTask.java b/core/src/main/java/org/apache/karaf/cellar/core/discovery/DiscoveryTask.java
index ee2fdd2..c25ac3e 100644
--- a/core/src/main/java/org/apache/karaf/cellar/core/discovery/DiscoveryTask.java
+++ b/core/src/main/java/org/apache/karaf/cellar/core/discovery/DiscoveryTask.java
@@ -16,6 +16,7 @@ package org.apache.karaf.cellar.core.discovery;
import java.io.IOException;
import java.util.Collections;
import java.util.Dictionary;
+import java.util.Hashtable;
import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.List;
@@ -60,16 +61,25 @@ public class DiscoveryTask implements Runnable {
service.refresh();
Set<String> discovered = service.discoverMembers();
members.addAll(discovered);
- LOGGER.debug("CELLAR DISCOVERY: Service {} found members {}", service, discovered);
+ LOGGER.trace("CELLAR DISCOVERY: Service {} found members {}", service, discovered);
}
try {
+ LOGGER.trace("CELLAR DISCOVERY: retrieving configuration for PID={}", Discovery.PID);
Configuration configuration = configurationAdmin.getConfiguration(Discovery.PID);
Dictionary properties = configuration.getProperties();
+ if (properties == null) {
+ //this is a new configuration ...
+ LOGGER.trace("CELLAR DISCOVERY: configuration is new!");
+ properties = new Hashtable();
+ }
String newMemberText = CellarUtils.createStringFromSet(members, true);
String memberText = (String) properties.get(Discovery.MEMBERS_PROPERTY_NAME);
if (newMemberText != null && newMemberText.length() > 0 && !newMemberText.equals(memberText)) {
properties.put(Discovery.DISCOVERED_MEMBERS_PROPERTY_NAME, newMemberText);
+ LOGGER.trace("CELLAR DISCOVERY: adding a new member {} to configuration and updating it", newMemberText);
configuration.update(properties);
+ } else {
+ LOGGER.trace("CELLAR DISCOVERY: found a valid member in the configuration will skip");
}
} catch (IOException e) {
LOGGER.error("Failed to update member list", e);