On 4/2/2014 12:37 PM, Wim Jongman
wrote:
I'm not exactly sure what you mean. Doesn't the
distribution of this new base class give you the same problems?
No, it gives a different..but easier set of problems :).
There's now a new bundle:
org.eclipse.ecf.remoteservice.asyncproxy. This bundle exposes
three abstract classes as described in comment [1]. One of which is
now used as a superclass for
org.eclipse.ecf.remoteservice.AbstractRemoteService (the new
superclass is called AbstractAsyncProxyRemoteService). The
important method implemented by AbstractAsyncProxyRemoteService is
callFuture...which for JRE < 8 [2] needs to use only Future
(because CF doesn't exist in JRE < 8), but on JRE >= 8
can/should use CF to implement callFuture [3].
I've created two projects/two versions of
org.eclipse.ecf.remoteservice.asyncproxy...version 1.0.0 which is
for EEs < J8 and version 2.0.0 in project
org.eclipse.ecf.remoteservices.asyncproxy.j8 which is for EE >=
J8. The only difference between these two versions of this bundle
is that for 2.0 the impl of callFuture uses CF (and therefore
requires J8), while the 1.0 version uses only Future (and therefore
will run < J8).
I've tried to setup the osgi.ee capability (Require-Capability) so
that version 1.0 will only be wired/used at runtime if the
underlying runtime EE is < J8...and 2.0.0 will only be used if
the EE is >= J8. What I'm trying to get at is that if/when both
of these versions are deployed in a framework, only the JRE
appropriate one will be used...i.e. so when the
AbstractAsyncProxyRemoteService class is loaded (via
AbstractRemoteService)...the appropriate one will be used. I've
got all this checked in as per [1][2][3].
I'm now struggling with how to modify the build so that it builds
*only* the org.eclipse.ecf.remoteservice.asyncproxy.j8 with J8
compiler...but uses < J8 to compile everything else...and then
puts both versions of this asyncproxy bundle in one target repo (for
the HEAD-sdk build anyway).
Scott
[1] https://bugs.eclipse.org/bugs/show_bug.cgi?id=431756#c1
[2]
http://git.eclipse.org/c/ecf/org.eclipse.ecf.git/tree/framework/bundles/org.eclipse.ecf.remoteservice.asyncproxy/src/org/eclipse/ecf/remoteservice/asyncproxy/AbstractAsyncProxyRemoteService.java
[3]
http://git.eclipse.org/c/ecf/org.eclipse.ecf.git/tree/framework/bundles/org.eclipse.ecf.remoteservice.asyncproxy.j8/src/org/eclipse/ecf/remoteservice/asyncproxy/AbstractAsyncProxyRemoteService.java
_______________________________________________
ecf-dev mailing list
ecf-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/ecf-dev
|