A discoverer must have a name and provide an implementation of the Discoverer interface to be managed by DiscoveryManager. For each discoverer, a new entry in the MoDisco menu will be added. However, each discoverer should provide a resource filter to adapt the menu depending on a single selected element.
Description of information in the contract of the discoverer extension point :
The registry of discoverers references all discoverer extensions installed in the current Eclipse platform. The DiscoveryManager provides an access to this registry. There are two methods : one to retrieve all the discoverers and one to retrieve only one discoverer using its name to identify it.
/** * Accessor to all discoverers registered in DiscoveryManager * through extensions. * * @return the list of discoverers available in registry */ public static List<? extends Discoverer> getDiscoverers()
/** * Accessor to one discoverer registered in DiscoveryManager * through extensions. * * @param discovererName name of a discoverer * @return the discoverer with specified name, * or null if there is no discoverer registered with specified name. */ public static Discoverer getDiscoverer(String discovererName)
The contextual menu will be completed dynamically when a discoverer is able to manage the selected resource. For example, when a java project is selected (instance of IJavaProject):
The launch configuration framework provides a new type of launch configuration (named MoDisco Discoverers) accessible through the “Run Configurations …” menu.
And here is an example of a discovery configuration.
As you could see in launch configuration screenshot, you are able to configure the parameters of your discoverer. However, we provide only few editors for basic types. To be able to improve editing capabilities, we provide a specific extension point to map an editor with a type (for example, a file browser for "IFile" type).
You will find a version of this plug-in in the SVN repository.
Connection parameters to the SVN repository: MoDisco/SVN.
Here are deployment instructions :
You could download it or use the update manager. See more ...
First step: in your plug-in properties (plugin.xml or META-INF/MANIFEST.MF), add a dependency to plug-in “org.eclipse.gmt.modisco.infra.discoverymanager”.
Second step: create a class in your plug-in that implements the Discoverer interface provided by the DiscoveryManager plug-in. See the javadoc of this interface for details of methods.
Third step: in your plug-in properties (plugin.xml or META-INF/MANIFEST.MF), create a “discoverers” extension.
Fourth step: in discoverers extension, a discoverer declaration has been created automatically. You will have to fill element details to validate discoverer declaration.
Congratulations, your first discoverer has been successfully defined.
If you want to add several discoverers in your plug-in, first you will have to add a discoverer in your “discoverers” extension.
Then, you will have to fill element details to obtain a second valid discoverer.
This document is maintained in a collaborative wiki. If you wish to update or modify this document please visit http://wiki.eclipse.org/MoDisco/Components/DiscoverersManager/Documentation/0.8