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);