[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
I've created a equinox server and Eclipse-based client for showing the 
use of ECF discovery for p2 repository discovery. 
The attached project set file has the three new plugin projects.   The 
three projects are:
org.eclipse.ecf.p2.discovery.simpleserver -- This IApplication takes two 
command-line parameters...the metadatarepo service name (how the service 
appears on the network), and the metadatarepo URL...see the launch 
configuration.  Note this could be embedded in some other server 
process, or it can/could run as it's own process.
org.eclipse.ecf.p2.discovery.eclipseclient -- This is an eclipse-based 
client that uses the ECF Service Discovery view.  This service discovery 
view has an extension point called 'serviceAccessHandler' that allows 
extensions to have a method be called when the user opens the context 
menu on the given discovered service (represented in the discovery API 
by IServiceInfo instance).  The implementation of this service access 
handler is extremely simple...all it does when invoked is call the 
IMetadataRepositoryManager.addRepository(url) with the URL provided as a 
service property.  But this works, and when the user goes to the update 
manager UI the URL is now there and can be accessed.  This client is 
just a 'quick and dirty' example...I would expect that a better/more 
appropriate way would be to just have the repo appear in the existing 
Eclipse UI update manager's sites list (i.e. in some 'Discovered Sites' 
category or some such).
org.eclipse.ecf.p2.discovery.common -- A trivial plugin that has 
interfaces, classes, and constants used by both of the above.
Let me know if you want more info on these...I'll write up a wiki page 
on it and send a note to equinox dev, but may take a short while to get 
done.
Scott
<?xml version="1.0" encoding="UTF-8"?>
<psf version="2.0">
<provider id="org.eclipse.team.cvs.core.cvsnature">
<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/technology,org.eclipse.ecf/incubation/plugins/org.eclipse.ecf.p2.discovery.common,org.eclipse.ecf.p2.discovery.common"/>
<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/technology,org.eclipse.ecf/incubation/plugins/org.eclipse.ecf.p2.discovery.eclipseclient,org.eclipse.ecf.p2.discovery.eclipseclient"/>
<project reference="1.0,:extssh:dev.eclipse.org:/cvsroot/technology,org.eclipse.ecf/incubation/plugins/org.eclipse.ecf.p2.discovery.simpleserver,org.eclipse.ecf.p2.discovery.simpleserver"/>
</provider>
</psf>