<div dir="ltr">On the flip side, it seems like CompletionStage isn't quite a complete API, and if external callers can only leverage a specific impl then its more of a case where the interface does not enough.<div><br></div><div>John<br><br><div class="gmail_quote"><div dir="ltr">On Sun, Mar 6, 2016 at 1:48 PM Reza Rahman <<a href="mailto:reza_rahman@lycos.com">reza_rahman@lycos.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto"><div>Using the lowest level API possible on principal seems to be the only justification that I can see. Almost by definition that's causing a usability hazard in this case. This is easily avoided by using the more likely familiar higher level API. It introduces no complexities for implementation or standardization.</div></div><div dir="auto"><div><br>On Mar 6, 2016, at 1:39 PM, John D. Ament <<a href="mailto:john.d.ament@gmail.com" target="_blank">john.d.ament@gmail.com</a>> wrote:<br><br></div><blockquote type="cite"><div><p dir="ltr">I agree that it's a sorely missing feature. Jumping in to how to standardize it is how we got into this problem. From what I remember it was agreed to use the lowest entry point.</p>
<div class="gmail_quote">On Mar 6, 2016 12:51, "Reza Rahman" <<a href="mailto:reza_rahman@lycos.com" target="_blank">reza_rahman@lycos.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto"><div>Personally I think this is overdue for standardization, it's just that it's a rather strange API choice I'd like to at least understand a bit better. What was the thinking behind this?</div><div><br>On Mar 6, 2016, at 12:24 PM, Romain Manni-Bucau <<a href="mailto:rmannibucau@gmail.com" target="_blank">rmannibucau@gmail.com</a>> wrote:<br><br></div><blockquote type="cite"><div><div dir="ltr"><div class="gmail_extra"><div><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><br></div></div></div></div></div></div><div class="gmail_quote">2016-03-06 18:02 GMT+01:00 John D. Ament <span dir="ltr"><<a href="mailto:john.d.ament@gmail.com" target="_blank">john.d.ament@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">What I think would be even better is to see this implemented in the impls (Weld & OWB) and see how users use it, in a release that's not plastered with Alpha or Experimental all over it. While I think we were all wary about it, we need real end user input from the impl standpoint to figure out what makes sense to standardize on.<span><font color="#888888"><div><br></div></font></span></div></blockquote><div><br></div><div>Or just do the opposite and *standardize* it. We can use Rx* feedbacks but it doesnt' match event case at all which is a real small subset of the reactive programming so I guess easiness should be what drives us there and integration at least with the JVM so CFuture version sounds more natural than CStage one. Difference is very small at method level but at utility level it is.</div><div><br></div><div>Side note: a Weld or OWB release without experimental/alpha sounds worse if the spec changes later. A compromise can be an extension doing it already you can drop in any of these containers.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><span><font color="#888888"><div></div></font></span><div><span><font color="#888888">John</font></span><div><div><br><br><div class="gmail_quote"><div dir="ltr">On Sun, Mar 6, 2016 at 10:37 AM Reza Rahman <<a href="mailto:reza_rahman@lycos.com" target="_blank">reza_rahman@lycos.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto"><div>How much end user feedback has there been on this? I have to be honest that it surprises me to find this out now.</div><div><br></div><div>This to me stands out as an obvious usability problem. CompletableFuture is the obvious top level end user API, not CompletionStage. Not going with CompletableFuture is very likely to confuse most people. The last thing we need is more potential usability problems in Java EE APIs.</div></div><div dir="auto"><div><br>On Mar 6, 2016, at 9:39 AM, Romain Manni-Bucau <<a href="mailto:rmannibucau@gmail.com" target="_blank">rmannibucau@gmail.com</a>> wrote:<br><br></div><blockquote type="cite"><div><div dir="ltr">Hi guys,<div><br></div><div>as a user having a ComlpetionStage makes me loose some JDK utilities, can we move back to CompletionFuture?</div><div><br></div><div>It would allow for instance:</div><div><br></div><div>// doesn't work with CompletionStage</div><div>CompletionFuture.allOf(event1.fireAsync(...), event2.fireAsync(...))</div><div> .then(...)<br clear="all"><div><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><br><span style="font-size:small">Romain Manni-Bucau</span><br><a href="https://twitter.com/rmannibucau" target="_blank">@rmannibucau</a> | <a href="http://rmannibucau.wordpress.com" target="_blank">Blog</a> | <a href="https://github.com/rmannibucau" target="_blank">Github</a> | <a href="https://www.linkedin.com/in/rmannibucau" target="_blank">LinkedIn</a> | <a href="http://www.tomitribe.com" target="_blank">Tomitriber</a></div></div></div></div></div></div></div></div></div></div>
</div></div>
</div></blockquote><blockquote type="cite"><div><span>_______________________________________________</span><br><span>cdi-dev mailing list</span><br><span><a href="mailto:cdi-dev@lists.jboss.org" target="_blank">cdi-dev@lists.jboss.org</a></span><br><span><a href="https://lists.jboss.org/mailman/listinfo/cdi-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/cdi-dev</a></span><br><span></span><br><span>Note that for all code provided on this list, the provider licenses the code under the Apache License, Version 2 (<a href="http://www.apache.org/licenses/LICENSE-2.0.html" target="_blank">http://www.apache.org/licenses/LICENSE-2.0.html</a>). For all other ideas provided on this list, the provider waives all patent and other intellectual property rights inherent in such information.</span></div></blockquote></div>_______________________________________________<br>
cdi-dev mailing list<br>
<a href="mailto:cdi-dev@lists.jboss.org" target="_blank">cdi-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/cdi-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/mailman/listinfo/cdi-dev</a><br>
<br>
Note that for all code provided on this list, the provider licenses the code under the Apache License, Version 2 (<a href="http://www.apache.org/licenses/LICENSE-2.0.html" rel="noreferrer" target="_blank">http://www.apache.org/licenses/LICENSE-2.0.html</a>). For all other ideas provided on this list, the provider waives all patent and other intellectual property rights inherent in such information.</blockquote></div></div></div></div></div>
<br>_______________________________________________<br>
cdi-dev mailing list<br>
<a href="mailto:cdi-dev@lists.jboss.org" target="_blank">cdi-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/cdi-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/mailman/listinfo/cdi-dev</a><br>
<br>
Note that for all code provided on this list, the provider licenses the code under the Apache License, Version 2 (<a href="http://www.apache.org/licenses/LICENSE-2.0.html" rel="noreferrer" target="_blank">http://www.apache.org/licenses/LICENSE-2.0.html</a>). For all other ideas provided on this list, the provider waives all patent and other intellectual property rights inherent in such information.<br></blockquote></div><br></div></div>
</div></blockquote></div><br>_______________________________________________<br>
cdi-dev mailing list<br>
<a href="mailto:cdi-dev@lists.jboss.org" target="_blank">cdi-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/cdi-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/mailman/listinfo/cdi-dev</a><br>
<br>
Note that for all code provided on this list, the provider licenses the code under the Apache License, Version 2 (<a href="http://www.apache.org/licenses/LICENSE-2.0.html" rel="noreferrer" target="_blank">http://www.apache.org/licenses/LICENSE-2.0.html</a>). For all other ideas provided on this list, the provider waives all patent and other intellectual property rights inherent in such information.<br></blockquote></div>
</div></blockquote><blockquote type="cite"><div><span>_______________________________________________</span><br><span>cdi-dev mailing list</span><br><span><a href="mailto:cdi-dev@lists.jboss.org" target="_blank">cdi-dev@lists.jboss.org</a></span><br><span><a href="https://lists.jboss.org/mailman/listinfo/cdi-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/cdi-dev</a></span><br><span></span><br><span>Note that for all code provided on this list, the provider licenses the code under the Apache License, Version 2 (<a href="http://www.apache.org/licenses/LICENSE-2.0.html" target="_blank">http://www.apache.org/licenses/LICENSE-2.0.html</a>). For all other ideas provided on this list, the provider waives all patent and other intellectual property rights inherent in such information.</span></div></blockquote></div>_______________________________________________<br>
cdi-dev mailing list<br>
<a href="mailto:cdi-dev@lists.jboss.org" target="_blank">cdi-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/cdi-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/mailman/listinfo/cdi-dev</a><br>
<br>
Note that for all code provided on this list, the provider licenses the code under the Apache License, Version 2 (<a href="http://www.apache.org/licenses/LICENSE-2.0.html" rel="noreferrer" target="_blank">http://www.apache.org/licenses/LICENSE-2.0.html</a>). For all other ideas provided on this list, the provider waives all patent and other intellectual property rights inherent in such information.</blockquote></div></div></div>