I'm trying to develop a custom extension point such that the extension based upon the extension point can pass parameters at creation. I've implemented IExecutableExtension and I've been successful at getting a string passed as the data of the IExecutableExtension.setInitializationData(..), but I have not been successful getting a Map passed as data.
The Javadoc for IExecutableExtension.setInitializationData(..) describes how to do this as:
(2) by converting the attribute used to specify the executable extension to a child element of the original configuration element, and specifying the adapter data in the form of xml markup. Using this form, the example above would become
My custom extension point has been defined using this pattern, and the extension provides the data like above, but my data never gets passed. Am I missing something here? Is there some magic not mentioned in the Javadoc that must be defined for this to work? Does com.xyz.ExternalAdapter (in the example above) need to implement something else besides IExecutableExtension? Or do the <parameter> elements need to be defined in a special way?
What you described is exactly what I've done (sorry if this wasn't clear from my post).
The form: <run class="com.example.MyClass:what"/> works just fine, but the second form does not work for me. It's as if the <parameter> element is just ignored, and no data is sent in the ExecutableExtension.setInitializationData(..) call. That's what leads me to wonder if there is something about the construct missing.