Author: pderop
Date: Sun Dec 13 23:37:54 2015
New Revision: 1719847
URL: http://svn.apache.org/viewvc?rev=1719847&view=rev
Log:
typo.
Modified:
felix/sandbox/pderop/dependencymanager-lambda/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dependencymanager/lambda/samples/future/README
felix/sandbox/pderop/dependencymanager-lambda/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dependencymanager/lambda/samples/rx/completable/ObservableCompletableFuture.java
felix/sandbox/pderop/dependencymanager-lambda/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dependencymanager/lambda/samples/rx/completable/SiteInfoImpl.java
Modified:
felix/sandbox/pderop/dependencymanager-lambda/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dependencymanager/lambda/samples/future/README
URL:
http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager-lambda/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dependencymanager/lambda/samples/future/README?rev=1719847&r1=1719846&r2=1719847&view=diff
==============================================================================
---
felix/sandbox/pderop/dependencymanager-lambda/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dependencymanager/lambda/samples/future/README
(original)
+++
felix/sandbox/pderop/dependencymanager-lambda/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dependencymanager/lambda/samples/future/README
Sun Dec 13 23:37:54 2015
@@ -8,7 +8,7 @@ and you want to wait for the async opera
but this is something you don't want to do.
So, to avoid blocking or some boilerplate code, a new (required)
CompletableFuture dependency has been added (in the dm-lambda library),
-and you can use it to block the component in the init state, until a given
"CompletableFuture" completes.
+and you can use it to make sure that the component remains in the init state
until a given "CompletableFuture" completes.
The new dependency is implemented as all other dependencies, and it extends
the org.apache.felix.dm.context.AbstractDependency class.
Now, let's describe the sample: we have a "SiteInfoImpl" component that is
using a CompletableFuture from its init method
@@ -46,7 +46,7 @@ Now let's take a look at the SiteInfoImp
CompletableFuture.supplyAsync(() ->
downloadSite(m_url))
.thenApply(this::getSiteLinks);
- component(c, builder -> builder.withFuture(", b ->
b.thenAccept(this::setLinks)));
+ component(c, builder -> builder.withFuture(links, b ->
b.thenAccept(this::setLinks)));
}
So, the "builder.withFuture(links, b -> b.thenAccept(this::setLinks))" code
simply defines a "completable future" dependency that will be available once
the
Modified:
felix/sandbox/pderop/dependencymanager-lambda/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dependencymanager/lambda/samples/rx/completable/ObservableCompletableFuture.java
URL:
http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager-lambda/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dependencymanager/lambda/samples/rx/completable/ObservableCompletableFuture.java?rev=1719847&r1=1719846&r2=1719847&view=diff
==============================================================================
---
felix/sandbox/pderop/dependencymanager-lambda/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dependencymanager/lambda/samples/rx/completable/ObservableCompletableFuture.java
(original)
+++
felix/sandbox/pderop/dependencymanager-lambda/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dependencymanager/lambda/samples/rx/completable/ObservableCompletableFuture.java
Sun Dec 13 23:37:54 2015
@@ -6,6 +6,9 @@ import io.reactivex.Observable;
import io.reactivex.disposables.Disposable;
import io.reactivex.schedulers.Schedulers;
+/**
+ * Inspired from
http://blog.krecan.net/2015/04/28/converting-rxjava-observables-to-java-8-completable-future-and-back/
+ */
class ObservableCompletableFuture<T> extends CompletableFuture<T> {
private final Disposable m_subscription;
Modified:
felix/sandbox/pderop/dependencymanager-lambda/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dependencymanager/lambda/samples/rx/completable/SiteInfoImpl.java
URL:
http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager-lambda/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dependencymanager/lambda/samples/rx/completable/SiteInfoImpl.java?rev=1719847&r1=1719846&r2=1719847&view=diff
==============================================================================
---
felix/sandbox/pderop/dependencymanager-lambda/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dependencymanager/lambda/samples/rx/completable/SiteInfoImpl.java
(original)
+++
felix/sandbox/pderop/dependencymanager-lambda/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dependencymanager/lambda/samples/rx/completable/SiteInfoImpl.java
Sun Dec 13 23:37:54 2015
@@ -92,14 +92,6 @@ public class SiteInfoImpl implements Sit
return (result);
}
- /**
- * Converts {@link rx.Observable} to {@link
java.util.concurrent.CompletableFuture}. Takes
- * only the first value produced by observable.
- *
- * @param observable
- * @param <T>
- * @return
- */
public static <T> CompletableFuture<T> toFuture(Observable<T> observable) {
return new ObservableCompletableFuture<T>(observable);
}