You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by cs...@apache.org on 2017/09/26 09:00:05 UTC

[4/4] aries-jax-rs-whiteboard git commit: Map should not be used like this

Map should not be used like this

Currently map is being called both when services come in and when they
go away. This is an undesirable side effect of the current DSL
implementation but is going to likely change in the future.


Project: http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/repo
Commit: http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/commit/a4fff1af
Tree: http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/tree/a4fff1af
Diff: http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/diff/a4fff1af

Branch: refs/heads/master
Commit: a4fff1afbb081ca0b2a29222d3ce8b92c5238194
Parents: 69d5e2d
Author: Carlos Sierra <cs...@apache.org>
Authored: Tue Sep 26 10:57:46 2017 +0200
Committer: Carlos Sierra <cs...@apache.org>
Committed: Tue Sep 26 10:57:46 2017 +0200

----------------------------------------------------------------------
 .../apache/aries/jax/rs/whiteboard/internal/Whiteboard.java    | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/a4fff1af/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/Whiteboard.java
----------------------------------------------------------------------
diff --git a/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/Whiteboard.java b/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/Whiteboard.java
index 441070d..48af331 100644
--- a/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/Whiteboard.java
+++ b/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/Whiteboard.java
@@ -668,7 +668,11 @@ public class Whiteboard {
     private static <T> OSGi<T> countChanges(
         OSGi<T> program, ChangeCounter counter) {
 
-        return program.map(t -> {counter.inc(); return t;});
+        return program.flatMap(t -> {
+            counter.inc();
+
+            return onClose(counter::inc).then(just(t));
+        });
     }
 
     private static CXFNonSpringServlet createCXFServlet(Bus bus) {