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 2018/05/17 12:56:18 UTC

svn commit: r1831775 - /aries/trunk/component-dsl/component-dsl/src/main/java/org/apache/aries/component/dsl/internal/ProbeImpl.java

Author: csierra
Date: Thu May 17 12:56:18 2018
New Revision: 1831775

URL: http://svn.apache.org/viewvc?rev=1831775&view=rev
Log:
[Component-DSL] Improve ProbleImpl

to perform more complicated tests

Modified:
    aries/trunk/component-dsl/component-dsl/src/main/java/org/apache/aries/component/dsl/internal/ProbeImpl.java

Modified: aries/trunk/component-dsl/component-dsl/src/main/java/org/apache/aries/component/dsl/internal/ProbeImpl.java
URL: http://svn.apache.org/viewvc/aries/trunk/component-dsl/component-dsl/src/main/java/org/apache/aries/component/dsl/internal/ProbeImpl.java?rev=1831775&r1=1831774&r2=1831775&view=diff
==============================================================================
--- aries/trunk/component-dsl/component-dsl/src/main/java/org/apache/aries/component/dsl/internal/ProbeImpl.java (original)
+++ aries/trunk/component-dsl/component-dsl/src/main/java/org/apache/aries/component/dsl/internal/ProbeImpl.java Thu May 17 12:56:18 2018
@@ -17,6 +17,7 @@
 
 package org.apache.aries.component.dsl.internal;
 
+import org.apache.aries.component.dsl.OSGiResult;
 import org.apache.aries.component.dsl.OSGiRunnable;
 import org.apache.aries.component.dsl.Publisher;
 import org.osgi.framework.BundleContext;
@@ -36,16 +37,24 @@ public class ProbeImpl<T> extends OSGiIm
 
     private static class ProbeOperationImpl<T> implements OSGiRunnable<T> {
 
+        private OSGiResult _onClose = NOOP;
+
         @Override
         public OSGiResultImpl run(
             BundleContext bundleContext, Publisher<? super T> op) {
             _bundleContext = bundleContext;
             _op = op;
 
-            return new OSGiResultImpl(NOOP);
+            return new OSGiResultImpl(
+                () -> {_onClose.close(); _onClose = NOOP;});
         }
+
         BundleContext _bundleContext;
+
         Publisher<? super T> _op;
     }
 
+    public void onClose(OSGiResult onClose) {
+        ((ProbeOperationImpl<T>) _operation)._onClose = onClose;
+    }
 }