river-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mark Brouwer <mark.brou...@cheiron.org>
Subject Re: How to Contribute to River
Date Thu, 17 May 2007 17:12:14 GMT
Rick Moynihan wrote:

> I'm not sure about the time commitments I'd be able to make to River, 
> but I do have some ideas about specific improvements I'd like to see. 
> Particularly with the management classes, e.g. ServiceDiscoveryManager, 
> JoinManager, LookupDiscoveryManager etc.
> Briefly, my main issue with these classes (and I guess other parts of 
> Jini) is that code which uses these classes is hard to unit test because 
> they don't have interfaces.  I feel things would be MUCH easier if these 
> classes implemented an interface that would allow developers to easily 
> create mock implementations for unit tests etc...


I agree with you that it would be nice if some of these classes had
their contract specified by an interface and not only for the reason
you stated. As an example I had to develop proprietary interfaces to
capture some of the behavior for which the implementation is provided by
a container. JoinManager and ServiceDiscoveryManager couldn't be used
directly as they expose methods that gives a client control over things
the container is in control.

LookupDiscoveryManager I don't know though as that one has most of its
contract already specified by DiscoveryGroupManagement,
DiscoveryLocatorManagement and DiscoveryManagement. Anything missing there?

This has come up during the Davis project (2002) and although IIRC Gregg
Wonderly and I saw value in standardizing interfaces too versus only a
concrete implementation such as SDM I believe not everybody was that
convinced. But with the latest trend of dependency injection maybe
he/they became a convert ...

> Also has it been decided yet whether/when River will offer its own 
> (Jini)-starter-kit?

This has not been discussed AFAIK.

View raw message