karaf git commit: [KARAF-4723] Make sure satisfied activators are started synchronously

2016-09-22 Thread gnodet
Repository: karaf
Updated Branches:
  refs/heads/karaf-4.0.x abb33dc84 -> 9e615f000


[KARAF-4723] Make sure satisfied activators are started synchronously

Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/9e615f00
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/9e615f00
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/9e615f00

Branch: refs/heads/karaf-4.0.x
Commit: 9e615f0007a29d012d6d35bbf63672d4f053463e
Parents: abb33dc
Author: Guillaume Nodet 
Authored: Thu Sep 22 12:06:52 2016 +0200
Committer: Guillaume Nodet 
Committed: Thu Sep 22 12:11:57 2016 +0200

--
 .../org/apache/karaf/util/tracker/BaseActivator.java| 12 +++-
 1 file changed, 11 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/karaf/blob/9e615f00/util/src/main/java/org/apache/karaf/util/tracker/BaseActivator.java
--
diff --git 
a/util/src/main/java/org/apache/karaf/util/tracker/BaseActivator.java 
b/util/src/main/java/org/apache/karaf/util/tracker/BaseActivator.java
index 7063e2e..96949e8 100644
--- a/util/src/main/java/org/apache/karaf/util/tracker/BaseActivator.java
+++ b/util/src/main/java/org/apache/karaf/util/tracker/BaseActivator.java
@@ -71,7 +71,17 @@ public class BaseActivator implements BundleActivator, 
SingleServiceTracker.Sing
 scheduled.set(true);
 doOpen();
 scheduled.set(false);
-if (managedServiceRegistration == null && trackers.isEmpty()) {
+boolean doStart = false;
+if (managedServiceRegistration == null) {
+doStart = true;
+for (SingleServiceTracker s : trackers.values()) {
+if (s.getService() == null) {
+doStart = false;
+break;
+}
+}
+}
+if (doStart) {
 try {
 doStart();
 } catch (Exception e) {



[7/8] karaf git commit: [KARAF-4723] Make sure satisfied activators are started synchronously

2016-09-22 Thread gnodet
[KARAF-4723] Make sure satisfied activators are started synchronously

Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/bff44499
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/bff44499
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/bff44499

Branch: refs/heads/master
Commit: bff4449972dc991e572681d1278249a05d7c2166
Parents: 3062a86
Author: Guillaume Nodet 
Authored: Thu Sep 22 12:06:52 2016 +0200
Committer: Guillaume Nodet 
Committed: Thu Sep 22 12:06:52 2016 +0200

--
 .../main/java/org/apache/karaf/util/tracker/BaseActivator.java   | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/karaf/blob/bff44499/util/src/main/java/org/apache/karaf/util/tracker/BaseActivator.java
--
diff --git 
a/util/src/main/java/org/apache/karaf/util/tracker/BaseActivator.java 
b/util/src/main/java/org/apache/karaf/util/tracker/BaseActivator.java
index b6e457d..d2c09e1 100644
--- a/util/src/main/java/org/apache/karaf/util/tracker/BaseActivator.java
+++ b/util/src/main/java/org/apache/karaf/util/tracker/BaseActivator.java
@@ -71,7 +71,9 @@ public class BaseActivator implements BundleActivator, 
Runnable {
 scheduled.set(true);
 doOpen();
 scheduled.set(false);
-if (managedServiceRegistration == null && trackers.isEmpty()) {
+if (managedServiceRegistration == null
+&& trackers.values().stream()
+.allMatch(t -> t.getService() != null)) {
 try {
 doStart();
 } catch (Exception e) {