Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [ecf-dev] question about service discovery ui

On 4/11/2015 12:25 PM, Markus Alexander Kuppe wrote:
On 11.04.2015 18:02, Scott Lewis wrote:
I have a question about the ECF discovery UI...in particular the Service
Discovery view.   It seems that the Service Discovery view (the Eclipse
user interface for ECF discovery API) requires the
org.eclipse.ecf.provider.discovery bundle since if I try to show the
discovery view without including the org.eclipse.ecf.provider.discovery
bundle I get the exception below.

However, if I do include the org.eclipse.ecf.provider.discovery bundle
and open the new Endpoint Discovery view I get the same Endpoint
discovered *twice*...even though the Service Discovery view shows the
model entry only once.

Is it possible this is caused by the the composite container exposed via
org.eclipse.ecf.provider.discovery?  If so, is there any way to use the
Service Discovery view without having composite behavior (e.g. disable
the composite discovery container and/or remove the
o.e.e.provider.discovery bundle completely?)

Hi Scott,

it sounds as if your two Endpoint's IServiceIDs are no equal (as in
equal/hashCode) when they should.

The reason the Discovery UI uses the CompositeDiscoveryContainer is to
support running multiple real discovery containers simultaneously. If
two or more service ids returned by those containers are equal, they get
combined into one. Since IServiceID is supposed to abstract away the
specific provider, this should work right away.

Hmm. I'm only using the zeroconf/jmdns provider (along with the Composite Discovery Container), and so I would expect the IServiceID impl for that provider to filter this out. But apparently it's not. Strange.

I'll debug through things to see if I can determine what's going on. But another question: I shouldn't expect to receive two service discovered notifications? (i.e. for IServiceListener impls like the RSA discovery/endpoint description locator)? Is that right?


Note that you can hack
org.eclipse.ecf.discovery.ui.model.resource.ServiceResource.ServiceDiscoveryListener.ECFServiceInfoComparator
to filter on other object properties.

I don't think I want to filter on other object properties...i.e. I would just expect to receive only one serviceDiscovered notification as per above.

FWIW, I see only one entry in the Service Discovery view so I think that the o.e.e.discovery.ui.model filter is working OK.

Scott



Back to the top